139595292b37769053f61bb7d7e0f8ef31751477
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
4         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
5           don't walk through the plugins backwards.  Where is all this
6           reversed logic coming from ?
7
8 2005-08-25  Wim Taymans  <wim@fluendo.com>
9
10         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11         (gst_base_transform_transform_size),
12         (gst_base_transform_configure_caps),
13         (gst_base_transform_get_unit_size),
14         (gst_base_transform_buffer_alloc),
15         (gst_base_transform_change_state):
16         * gst/base/gstbasetransform.h:
17         Cache caps unit_size.
18         Make sure we cannot negotiate up and downstream at the
19         same time.
20
21 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22
23         * gst/gst.c: (init_pre), (init_post):
24           register the installed plugin path after the env var
25         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
27           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
28           directories, so the tests can prefer uninstalled over installed
29
30 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31
32         * gst/base/gstbasetransform.h:
33           comment
34         * gst/gstpad.c:
35           add to docs
36
37 2005-08-25  Wim Taymans  <wim@fluendo.com>
38
39         * gst/gstbin.c: (bin_bus_handler):
40         Be a bit more conservative about the posted message.
41         
42         * gst/gstbus.c: (gst_bus_post):
43         Some cleanups, warn wrong return values.
44
45 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
46
47         * check/gst/gstbin.c: (GST_START_TEST):
48         * gst/gstbin.c: (bin_bus_handler):
49         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
50         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
51         (gst_message_new_warning), (gst_message_new_tag),
52         (gst_message_new_state_changed), (gst_message_new_segment_start),
53         (gst_message_new_segment_done), (gst_message_new_custom):
54         * gst/gstmessage.h:
55         * tools/gst-launch.c: (event_loop):
56         * tools/gst-md5sum.c: (event_loop):
57           Revert unpopular change for GST_MESSAGE_SRC to GObject.
58
59 2005-08-25  Wim Taymans  <wim@fluendo.com>
60
61         * check/generic/states.c: (GST_START_TEST):
62         Cleanup can be done at the end.
63
64         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
65         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
66         (gst_task_get_state), (gst_task_start), (gst_task_pause):
67         Oh boy.. Thanks for finding this, Thomas. 
68
69 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
70
71         * docs/gst/gstreamer.types:
72           added missing types
73
74 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
75
76         * docs/gst/gstreamer-docs.sgml:
77         * docs/gst/gstreamer-sections.txt:
78         * docs/gst/tmpl/.cvsignore:
79         * gst/gstbin.c:
80         * gst/gstiterator.c:
81         * gst/gstutils.c:
82         * gst/registries/gstxmlregistry.h:
83           added miissing classes and symbols (123 more to go)
84           removed removed symbols from section file
85           fixed many doc-comments
86
87 2005-08-24  Wim Taymans  <wim@fluendo.com>
88
89         * check/generic/states.c: (GST_START_TEST):
90         Make sure all tasks are stopped.
91
92         * check/gst/gstbin.c: (GST_START_TEST):
93         Unref after usage for proper valgrinding.
94
95         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
96         Really wait for the task to stop before destroying the
97         mutex.
98
99         * gst/gstqueue.c: (gst_queue_sink_activate_push),
100         (gst_queue_src_activate_push):
101         Small cleanups. Don't stop the task when we did not start
102         it.
103
104         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
105         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
106         (gst_task_get_state), (gst_task_start), (gst_task_pause),
107         (gst_task_join):
108         * gst/gsttask.h:
109         Protect the stream lock with the object lock.
110         Disallow setting the stream lock when running.
111         Add cleanup_all to wait for the threadpool to finish.
112         Remove code to autoallocate a mutex if none was provided.
113         Add _join() to wait for a task to stop.
114         Protect the thread pool with a global lock.
115
116 2005-08-24  Wim Taymans  <wim@fluendo.com>
117
118         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
119         (gst_base_sink_get_times), (gst_base_sink_do_sync),
120         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
121         * gst/base/gstbasesink.h:
122         Handle newsegment events correctly.
123         Drop buffers out of the segment range.
124
125 2005-08-22  Andy Wingo  <wingo@pobox.com>
126
127         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
128         macro, implements an interface and gstimplementsinterface for a
129         new type.
130
131 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
132
133         * check/Makefile.am:
134         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
135           add a test that does a bunch of state changes on elements
136           needs some fixing for valgrind
137         * check/states/sinks.c: (gst_object_suite):
138           whitespace
139         * gst/gstcaps.h:
140           add prototype for gst_caps_is_equal_fixed
141         * gst/gstplugin.c:
142         * gst/gstregistrypool.c:
143           doc fixes
144
145 2005-08-24  Andy Wingo  <wingo@pobox.com>
146
147         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
148         convert a negative value. Doesn't make much sense. Mostly this is
149         here to force callers to ensure -1 maps to -1.
150
151 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
152
153         * docs/pwg/advanced-types.xml:
154           Well done to Michael for catching my deliberate introduction
155           of this spelling mistake. 
156         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
157         * gst/gstelement.h:
158           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
159           unlink pads before removing the element from the bin.
160
161 2005-08-24  Andy Wingo  <wingo@pobox.com>
162
163         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
164         the same thing as GST_DEBUG=*:4.
165         (parse_debug_level, parse_debug_category): New helper parsers.
166
167 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
170         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
171         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
172         (gst_base_transform_buffer_alloc),
173         (gst_base_transform_handle_buffer):
174           use gboolean return values and pointers to size so we can use the
175           full GST_BUFFER_SIZE range (guint) for buffer sizes
176           use GstPadDirection for transform_caps
177         * gst/base/gstbasetransform.h:
178           rename get_size to get_unit_size since that's what it is
179         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
180           use GstPadDirection for transform_caps
181         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
182         * gst/gstutils.h:
183           cleanup and debugging
184
185 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
186
187         * gst/gstelement.c: (gst_element_class_init),
188         (gst_element_set_state), (activate_pads),
189         (gst_element_save_thyself):
190         * tools/gst-compprep.c: (main):
191         * tools/gst-inspect.c: (print_element_properties_info):
192         * tools/gst-xmlinspect.c: (print_element_properties):
193           Fixed long standing mem-leak
194
195 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
196
197         * check/gst/gstbin.c: (GST_START_TEST):
198         * gst/gstbin.c: (bin_bus_handler):
199         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
200         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
201         (gst_message_new_warning), (gst_message_new_tag),
202         (gst_message_new_state_changed), (gst_message_new_segment_start),
203         (gst_message_new_segment_done), (gst_message_new_custom):
204         * gst/gstmessage.h:
205         * tools/gst-launch.c: (event_loop):
206         * tools/gst-md5sum.c: (event_loop):
207           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
208           that applications can sensibly post custom messages with references
209           to their own objects.
210
211 2005-08-24  Andy Wingo  <wingo@pobox.com>
212
213         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
214         already.
215
216 2005-08-24  Wim Taymans  <wim@fluendo.com>
217
218         * gst/base/gstbasetransform.c: (gst_base_transform_init),
219         (gst_base_transform_transform_caps),
220         (gst_base_transform_transform_size),
221         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
222         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
223         (gst_base_transform_handle_buffer):
224         * gst/base/gstbasetransform.h:
225         Many fixes and new features added by Thomas. Can now also do
226         transforms with variable sizes and a custom fixate_caps function.
227
228 2005-08-24  Wim Taymans  <wim@fluendo.com>
229
230         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
231         Some debugging.
232
233         * gst/gstclock.h:
234         Cast to ClockTime before formatting to time.
235
236         * gst/gstutils.h:
237         Cleanups.
238
239 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
240
241         * check/gst-libs/controller.c: (GST_START_TEST),
242         (gst_controller_suite):
243         * docs/gst/tmpl/gstcaps.sgml:
244         * docs/gst/tmpl/gstghostpad.sgml:
245         * docs/gst/tmpl/gstquery.sgml:
246         * docs/gst/tmpl/gstutils.sgml:
247         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
248         (gst_object_sink_values), (gst_object_get_value_arrays),
249         (gst_object_get_value_array):
250           gracefully handle helper method calls to objects that are not beeing
251           controlled, added test case for that          
252
253 2005-08-23  Wim Taymans  <wim@fluendo.com>
254
255         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
256         (gst_event_new_newsegment), (gst_event_parse_newsegment),
257         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
258         (gst_event_parse_qos), (gst_event_new_seek),
259         (gst_event_parse_seek):
260         * gst/gstevent.h:
261         Some more debugging output and doc cleanups.
262
263         * gst/gstqueue.c: (gst_queue_handle_sink_event):
264         Fix possible deadlock.
265
266 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
267
268         * docs/gst/gstreamer-docs.sgml:
269         * docs/gst/gstreamer-sections.txt:
270         * docs/gst/gstreamer.types:
271         * docs/gst/tmpl/.cvsignore:
272         * gst/gstbin.h:
273         * gst/gstbus.c:
274         * gst/gstelement.c:
275         * gst/gstevent.h:
276           added about 100 symbols from gstreamer-unused.txt to the right sections
277           fixed more broken comments
278           added GstBus to docs
279
280 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
281
282         * docs/gst/gstreamer-sections.txt:
283         * docs/gst/tmpl/.cvsignore:
284         * docs/gst/tmpl/gstbin.sgml:
285         * docs/gst/tmpl/gstbuffer.sgml:
286         * gst/base/gstbasesrc.c:
287         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
288         * gst/gstbuffer.c:
289         * gst/gstbuffer.h:
290         * tools/gst-launch.1.in:
291           inlined more doc comments, added missing comments and fixed comments
292           fixed typos
293
294 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
295
296         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
297           some debugging
298         * gst/gstcaps.h:
299           whitespace fixes
300         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
301           more debugging
302         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
303         * gst/gststructure.h:
304           add a fixate function for booleans; add a FIXME that these func
305           names should probably be gst_structure_fixate_*
306
307 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
308
309         * docs/gst/gstreamer-docs.sgml:
310         * docs/gst/gstreamer-sections.txt:
311         * gst/Makefile.am:
312         * gst/gstbin.c: (gst_bin_get_type),
313         (gst_bin_child_proxy_get_child_by_index),
314         (gst_bin_child_proxy_get_children_count),
315         (gst_bin_child_proxy_init):
316         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
317         (gst_child_proxy_get_child_by_index),
318         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
319         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
320         (gst_child_proxy_get), (gst_child_proxy_set_property),
321         (gst_child_proxy_set_valist), (gst_child_proxy_set),
322         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
323         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
324         * gst/gstchildproxy.h:
325         * gst/parse/grammar.y:
326         * tools/gst-inspect.c: (print_interfaces),
327         (print_element_properties_info), (print_element_info):
328          ported gstchildproxy over from 0.8
329          ported gst-inspect fixes and enhancements over from 0.8
330
331 2005-08-22  Wim Taymans  <wim@fluendo.com>
332
333         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
334         (gst_base_transform_handle_buffer):
335         Also call the transform function if we have ANY caps.
336
337         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
338         Fix debug info.
339
340 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
341
342         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
343           Don't pretend to handle seek events if the source is not seekable
344
345 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
346
347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
348           Remove extra parameter to debug output
349
350         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
351         (gst_base_src_do_seek), (gst_base_src_activate_push):
352           Fix seek event handling.
353
354         * gst/gstpipeline.c: (gst_pipeline_change_state):
355         * gst/gstqueue.c: (gst_queue_handle_sink_event),
356         (gst_queue_src_activate_push):
357           Don't start the src pad task on FLUSH_STOP if the pad
358           isn't linked.
359           Debug changes.
360
361 2005-08-22  Wim Taymans  <wim@fluendo.com>
362
363         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
364         Added check for gst_static_caps_get() refcounting.
365
366 2005-08-22  Wim Taymans  <wim@fluendo.com>
367
368         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
369         Make _static_caps_get() refcounting sane.
370         
371         * gst/gstelement.c: (gst_element_set_state):
372         Add g_return_val_if_fail() to protect against segfaults.
373
374 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
375
376         * docs/gst/tmpl/gstevent.sgml:
377         * gst/gstevent.c:
378         * gst/gstevent.h:
379           inlined remaining docs, added missing doc comments
380
381 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
382
383         * check/gst/gstbin.c: (GST_START_TEST):
384           since we don't know when preroll is done, use refcount range
385           check for the sink
386         * gst/check/gstcheck.h:
387           add macro for checking refcount range
388
389 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
390
391         * check/Makefile.am:
392           clean up environment for when registry gets built versus
393           when actual tests are run; valgrind seems to not report
394           leaks if GST_PLUGIN_PATH is set to some specific values
395         * check/gst/gstbin.c: (GST_START_TEST):
396           add more refcounting checks; maybe this exposes a
397           preroll lock bug ?
398         * common/check.mak:
399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
400         * gst/check/gstcheck.h:
401         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
402         (gst_bin_change_state):
403         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
404           add/fix debugging/whitespace
405
406 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
407
408         * check/gst/gstevent.c: (event_probe), (test_event),
409         (GST_START_TEST):
410          Er, don't call gst_bin_watch_for_state_change you idiot.
411
412 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
413
414         * check/Makefile.am:
415           Use CHECK_CFLAGS and CHECK_LIBS
416         * check/gst/gstevent.c: (event_probe), (test_event),
417         (GST_START_TEST):
418           Don't leak events.
419         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
420         (gst_base_src_start), (gst_base_src_stop),
421         (gst_base_src_activate_push), (gst_base_src_activate_pull),
422         (gst_base_src_change_state):
423           Sprinkle gst_base_src_stop liberally around error paths to fix
424           problems reusing a source after failed state changes.
425         * gst/base/gsttypefindhelper.c: (helper_find_peek),
426         (helper_find_suggest), (gst_type_find_helper):
427           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
428         * gst/gstevent.h:
429         * docs/gst/tmpl/gstevent.sgml:
430           Migrate part of the docs from the SGML file. Wait for ensonic to
431           tell me how I did it wrong ;)
432         * tools/gst-typefind.c: (main):
433           Extra robustness to state changes between files.
434
435 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
436
437         * check/Makefile.am:
438           don't valgrind the controller test - it's leaking - Stefan, HELP
439         * gst/check/gstcheck.c: (gst_check_message_error),
440         (gst_check_chain_func), (gst_check_setup_element),
441         (gst_check_teardown_element), (gst_check_setup_src_pad),
442         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
443         (gst_check_teardown_sink_pad):
444         * gst/check/gstcheck.h:
445           add a bunch of methods to set up elements, and src and sink pads
446         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
447         * check/elements/identity.c: (setup_identity), (cleanup_identity),
448         (GST_START_TEST):
449           use them
450         * gst/gstmessage.c:
451         * gst/gsttag.h:
452           whitespace/doc fixes
453
454 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
455
456         * gst/gstelement.h:
457           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
458           be handled by the application and not always printed as well
459
460 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
461
462         * check/Makefile.am:
463           set GST_TOOLS_DIR
464         * gst/check/gstcheck.c: (gst_check_message_error):
465         * gst/check/gstcheck.h:
466           add a fail_unless_equals_int
467           add fail_unless for error messages
468
469 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
470
471         * check/Makefile.am:
472         * check/gst.supp:
473         * common/Makefile.am:
474         * common/check.mak:
475         * common/gst.supp:
476           factor out some of the common stuff so we can use it
477
478 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
479
480         * check/Makefile.am:
481         * check/gst/gstiterator.c: (GST_START_TEST):
482         * check/gst/gstsystemclock.c: (GST_START_TEST),
483         (gst_systemclock_suite):
484         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
485         * gst/gstclock.c:
486           valgrind more tests
487
488 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * check/elements/.cvsignore:
491         * check/elements/gstfakesrc.c:
492           rename to name of element
493         * check/elements/identity.c: (chain_func), (event_func),
494         (setup_identity), (cleanup_identity), (GST_START_TEST),
495         (identity_suite), (main):
496           add a test for identity
497         * check/Makefile.am:
498         * pkgconfig/Makefile.am:
499         * pkgconfig/gstreamer-check.pc.in:
500         * pkgconfig/gstreamer-check-uninstalled.pc.in:
501         * gst/check:
502         * gst/Makefile.am:
503         * configure.ac:
504           move the check stuff to a library that gets installed
505         * check/gst-libs/controller.c: (GST_START_TEST):
506         * check/gst-libs/gdp.c:
507         * check/gst/gst.c: (GST_START_TEST):
508         * check/gst/gstbin.c:
509         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
510         * check/gst/gstbus.c:
511         * check/gst/gstcaps.c: (GST_START_TEST):
512         * check/gst/gstelement.c:
513         * check/gst/gstghostpad.c:
514         * check/gst/gstiterator.c:
515         * check/gst/gstmessage.c:
516         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
517         * check/gst/gstobject.c:
518         * check/gst/gstpad.c: (GST_START_TEST):
519         * check/gst/gststructure.c: (GST_START_TEST):
520         * check/gst/gstsystemclock.c: (GST_START_TEST),
521         (gst_systemclock_suite):
522         * check/gst/gsttag.c: (gst_tag_suite):
523         * check/gst/gstvalue.c:
524         * check/pipelines/cleanup.c:
525         * check/pipelines/simple_launch_lines.c:
526         * check/states/sinks.c:
527           change include statement
528
529         * docs/gst/gstreamer-sections.txt:
530         * docs/gst/tmpl/gstpad.sgml:
531           document more pad stuff
532         * gst/gstminiobject.c: (gst_mini_object_ref),
533         (gst_mini_object_unref):
534           debug refcounting
535
536 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
537
538         * docs/gst/tmpl/gst.sgml:
539         * gst/gst.c:
540           eliminate another tmpl file, fix spelling in the long-description
541
542 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
543
544         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
545         (test_event), (timediff), (gstevents_suite):
546           Should fix build on 64-bit arch's
547
548 2005-08-18  Andy Wingo  <wingo@pobox.com>
549
550         Make sure that when a pipeline goes to PLAYING, that data has
551         actually hit the sink.
552
553         * check/states/sinks.c (test_sink): A sink that doesn't get any
554         data shouldn't return SUCCESS for going to either PLAYING or
555         PAUSED. Test also the return values on the way back down.
556
557         * gst/gstelement.c (gst_element_set_state): When changing the
558         state of an element currently changing state asynchronously, go to
559         lost-state after commiting the pending state. Makes future calls
560         to get_state continue to return ASYNC.
561
562         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
563         ASYNC when going to PLAYING if we still don't have preroll, as can
564         happen with live sources.
565
566 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
567
568         * docs/pwg/advanced-types.xml:
569           Hack long paragraph into 2 chunks as a workaround for buggy
570           jadetex version in sid and breezy that loops infinitely and
571           eats all RAM.
572
573 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
574
575         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
576         (test_event), (timediff), (gstevents_suite):
577           Provide more error margin in clock measurements to allow for 
578           g_get_current_time inaccuracies.
579
580 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
581
582         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
583         (test_event), (timediff), (gstevents_suite):
584            Fix error message output so I might be able to tell why the
585            test works here but fails on the build farm.
586
587 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
588
589         * check/Makefile.am:
590         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
591         (test_event), (timediff), (gstevents_suite), (main):
592           I wrote a test!
593
594         * docs/design/part-seeking.txt:
595           Spelling correction
596
597         * docs/gst/tmpl/gstevent.sgml:
598         * docs/gst/tmpl/gstfakesrc.sgml:
599           Docs updates.
600
601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
602           Treat a buffer-without-newsegment the same as a receiving 
603           a newsegment not in time format, and disable syncing to the clock
604           with a warning.
605
606         * gst/gstbus.c: (gst_bus_set_sync_handler):
607           Assert if anyone tries to replace the existing sync_handler for bus, 
608           as only the owner should be setting it.
609
610         * gst/gstevent.h:
611           Have a fixed set of custom event enums with events identified by
612           their structure name (as in 0.8), rather than a free-for-all
613           allowing collisions between enum values from different plugins.
614
615         * gst/gstpad.c: (gst_pad_class_init):
616           Docs change.
617           
618         * gst/gstqueue.c: (gst_queue_handle_sink_event):
619           Handle out-of-band downstream events from the sending thread.
620
621 2005-08-17  Andy Wingo  <wingo@pobox.com>
622
623         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
624         play-timeout==0 to mean no timeout at all. In that case, don't
625         bother with a get_state or a warning, just return directly, even
626         if it's ASYNC.
627
628         * gst/base/gstbasetransform.c: Debug changes.
629
630         * gst/gstutils.h:
631         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
632         ensure bins post state change messages. A bit of a hack but I can't
633         think of a way to avoid it.
634
635         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
636
637 2005-08-16  Andy Wingo  <wingo@pobox.com>
638
639         * gst/base/gstadapter.h:
640         * gst/base/gstadapter.c (gst_adapter_take): New function, like
641         peek() but you own the data. Not terribly efficient atm.
642
643 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
644
645         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
646         (gst_element_found_tags):
647         * gst/gstutils.h:
648           Add two utility functions for tag handling.
649
650 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
651
652         * docs/manual/advanced-dataaccess.xml:
653         * docs/manual/basics-helloworld.xml:
654           Fix docs to use _bin_add() before _link(), which fixes the examples
655           with recent core versions (reported by Madhan Raj M
656           <raj_madan@rediffmail.com>, #313199).
657
658 2005-08-16  Wim Taymans  <wim@fluendo.com>
659
660         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
661         Added subtract checks.
662
663         * docs/design/part-events.txt:
664         Some more docs about newsegment
665
666         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
667         Fix FIXME
668
669         * gst/gstcaps.c: (gst_caps_to_string):
670         Add comments, cleanups.
671         
672         * gst/gstelement.c: (gst_element_save_thyself):
673         cleanups
674         
675         * gst/gstvalue.c: (gst_value_collect_int_range),
676         (gst_string_unwrap), (gst_value_union_int_int_range),
677         (gst_value_union_int_range_int_range),
678         (gst_value_intersect_int_int_range),
679         (gst_value_intersect_int_range_int_range),
680         (gst_value_intersect_double_double_range),
681         (gst_value_intersect_double_range_double_range),
682         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
683         (gst_value_subtract_int_range_int),
684         (gst_value_subtract_double_range_double),
685         (gst_value_subtract_double_range_double_range),
686         (gst_value_subtract_from_list), (gst_value_subtract_list),
687         (gst_value_can_compare), (gst_value_compare_fraction):
688         Cleanups, add comments, remove unneeded asserts.
689
690 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
691
692         * tools/gst-launch.c: (event_loop):
693           don't convert NULL structures to strings
694
695 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
696
697         * docs/gst/gstreamer-sections.txt:
698           made some defines private
699         * docs/gst/tmpl/gstconfig.sgml:
700         * docs/gst/tmpl/gstqueue.sgml:
701         * docs/gst/tmpl/gsttaglist.sgml:
702         * docs/gst/tmpl/gsttypes.sgml:
703         * docs/gst/tmpl/gstutils.sgml:
704         * docs/pwg/appendix-porting.xml:
705         * gst/base/gstbasesink.h:
706         * gst/base/gstbasesrc.c:
707         * gst/base/gstbasesrc.h:
708         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
709         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
710         * gst/gstelement.c: (gst_element_class_init):
711         * gst/gstpad.c: (gst_pad_class_init):
712         * gst/gstqueue.c: (gst_queue_class_init):
713         * gst/gstxml.c: (gst_xml_class_init):
714           documented all undocumented signal inline
715         * libs/gst/controller/gst-controller.h:
716           added padding
717
718 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
719
720         * docs/pwg/appendix-porting.xml:
721           Document _set_link_function -> _set_setcaps_function.
722
723 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
724
725         * check/Makefile.am:
726           add a .check target for running the check
727         * check/gst-libs/controller.c: (GST_START_TEST):
728           cosmetic fixups
729         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
730           complete checks for gstbuffer; would be nice if I could get the
731           gcov stuff to work so I can see if I actually completed gstbuffer.c
732         * check/gstcheck.h:
733           add ASSERT_BUFFER_REFCOUNT
734
735 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
736
737         * docs/gst/gstreamer-sections.txt:
738         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
739         * gst/gsttag.h:
740           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
741           spew out a warning if a tag that is already registered
742           is re-registered, unless it is re-registered with a 
743           different type (#308438).
744
745 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
746
747         * docs/pwg/appendix-porting.xml:
748         * docs/pwg/building-state.xml:
749           Add some paragraphs about state changes in 0.9 to the PWG
750           and the porting guide, in particular about the new meaning
751           of GST_STATE_PAUSED and how to write state change functions
752           with concurrent access by multiple threads in mind.
753
754 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
755
756         * docs/gst/gstreamer-docs.sgml:
757         * docs/libs/gstreamer-libs-docs.sgml:
758           added deprecation and since indexes
759         * libs/gst/controller/gst-controller.c:
760         * libs/gst/controller/gst-helper.c:
761           added since tags
762
763
764 2005-08-11  Wim Taymans  <wim@fluendo.com>
765
766         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
767         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
768         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
769         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
770         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
771         (gst_ghost_pad_set_target):
772         Actually implement (re)setting the target on a ghostpad
773         as described in the docs.
774
775 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
776
777         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
778           Check whether GST_DEBUG_NO_COLOR environment variable is
779           set and disable coloured debug output if that is the case.
780
781 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
782
783         * gst/base/gsttypefindhelper.c: (helper_find_peek),
784         (gst_type_find_helper):
785           The memory returned by gst_type_find_peek() needs to
786           stay valid until the end of a typefind function, and
787           typefind functions may keep results from different 
788           offsets around, so we can't just unref the buffer from
789           the previous _peek(), but have to save all buffers 
790           returned by _peek() until typefinding is done and only
791           free them then.
792
793 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
794
795         * docs/gst/gstreamer-sections.txt:
796         * gst/gstutils.h:
797           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
798
799 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
800
801         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
802           Fix a pretty good memleak.
803
804 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
805
806         * gst/gstiterator.h:
807           Fix wrong include and 'make distcheck'.
808
809 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
810
811         * gst/gstbin.c: (bin_bus_handler):
812           Use gst_element_post_message() instead.
813
814 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
815
816         * gst/base/gstadapter.h:
817         * gst/base/gstbasesink.h:
818         * gst/base/gstbasesrc.h:
819         * gst/base/gstbasetransform.h:
820         * gst/base/gstcollectpads.h:
821         * gst/base/gstpushsrc.h:
822         * gst/gstiterator.h:
823           Add padding to our base elements' class and instance structs and
824           to GstIterator (you will need to rebuild all plugins and apps!)
825
826 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
827
828         * gst/gstbin.c: (bin_bus_handler):
829           Make default message forwarding from child->bus to bin->bus
830           threadsafe and make it not emit warnings if the parent has no bus.
831
832 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
833
834         * gst/gstelement.c: (activate_pads):
835           On paused->ready, set pad->caps to NULL, as is the documented
836           behaviour in this state change. Fixes playback of series of
837           media files when visualization is enabled in Totem.
838
839 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
840
841         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
842           Allow NULL as filter-caps (which means "any").
843
844 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
845
846         * docs/libs/gstreamer-libs-sections.txt:
847         * libs/gst/controller/gst-controller.c:
848         * libs/gst/controller/gst-controller.h:
849         * libs/gst/controller/gst-helper.c:
850           adding more entries to the docs and fix small doc-bugs
851
852 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
853
854         * docs/gst/gstreamer-docs.sgml:
855         * docs/gst/gstreamer-sections.txt:
856         * docs/gst/gstreamer.types:
857         * docs/gst/tmpl/gstbasesink.sgml:
858         * docs/gst/tmpl/gstbasesrc.sgml:
859         * docs/gst/tmpl/gstbasetransform.sgml:
860         * docs/gst/tmpl/gstfakesrc.sgml:
861         * gst/base/gstcollectpads.c:
862         * gst/base/gstcollectpads.h:
863         * libs/gst/controller/gst-controller.c:
864         * libs/gst/controller/gst-controller.h:
865         * libs/gst/controller/gst-helper.c:
866         * libs/gst/controller/gst-interpolation.c:
867         * libs/gst/controller/lib.c:
868           added long/short desc for controller docs
869           added collectpads base class docs
870           added correct includes to base-class docs
871
872 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
873
874         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
875         (gst_test_mono_source_set_property),
876         (gst_test_mono_source_class_init), (GST_START_TEST),
877         (gst_controller_suite):
878         * docs/gst/gstreamer-docs.sgml:
879         * docs/gst/gstreamer-sections.txt:
880         * docs/gst/gstreamer.types:
881         * docs/libs/gstreamer-libs-docs.sgml:
882         * docs/libs/gstreamer-libs-sections.txt:
883         * gst/base/gstadapter.c:
884         * libs/gst/controller/gst-controller.c:
885         (gst_controlled_property_new), (gst_controlled_property_free),
886         (gst_controller_new_valist),
887         (gst_controller_remove_properties_valist),
888         (gst_controller_sink_values), (_gst_controller_finalize):
889         * libs/gst/controller/gst-controller.h:
890         * libs/gst/controller/gst-helper.c:
891         (gst_object_control_properties), (gst_object_uncontrol_properties),
892         (gst_object_get_controller), (gst_object_set_controller),
893         (gst_object_sink_values), (gst_object_get_value_arrays),
894         (gst_object_get_value_array):
895           more tests (and fixes) for the controller
896           more docs for the controller
897           integrated companies docs for the adapter 
898
899 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
900
901         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
902         (GST_START_TEST), (fakesrc_suite):
903           add tests for sizetype
904
905 2005-08-04  Andy Wingo  <wingo@pobox.com>
906
907         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
908         fixes buffer_alloc proxying among other things.
909
910         * gst/base/gstbasetransform.c:
911         * gst/base/gstbasetransform.h:
912         Revert patch to gstbasetransform from 7-28 removing
913         delay_configure.
914
915         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
916         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
917         Semantics changed, should return not the size of the output buffer
918         but the byte size of a buffer with a given caps.
919
920         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
921         debug object.
922         (gst_base_transform_configure_caps): Don't set out_size here: (in,
923         out) are not the pad caps until setcaps finishes.
924         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
925         not-in-place case as well. Deal with changing from in-place to
926         not-in-place within calling pad_alloc_buffer. Still a bit
927         concerned about the overhead here...
928
929 2005-08-03  Andy Wingo  <wingo@pobox.com>
930
931         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
932         fixating is an error.
933
934 2005-08-04  Edward Hervey  <edward@fluendo.com>
935
936         * gst/base/gstadapter.h: 
937         Added gst_adapter_get_type() to the header
938
939 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
940
941         * check/Makefile.am:
942         * check/gst-libs/controller.c:
943         * libs/gst/controller/gst-controller.c:
944         (gst_controller_new_valist):
945           added check test suite for the controller
946         * gst/base/gstpushsrc.c:
947           fixed a doc typo
948
949 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
950
951         * docs/gst/Makefile.am:
952         * docs/gst/gstreamer-docs.sgml:
953         * docs/gst/gstreamer-sections.txt:
954         * docs/gst/gstreamer.types:
955         * docs/gst/tmpl/gstfakesrc.sgml:
956         * gst/base/README:
957         * gst/base/gstbasesink.c:
958         * gst/base/gstbasesink.h:
959         * gst/base/gstbasesrc.c:
960         * gst/base/gstbasesrc.h:
961         * gst/base/gstbasetransform.c:
962         * gst/base/gstpushsrc.c:
963         * gst/base/gstpushsrc.h:
964           add short/long description docs to base classes
965           add pushsrc to the docs
966           remove consolidated doc fragments
967
968 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
969
970         * configure.ac:
971         * docs/libs/Makefile.am:
972         * docs/libs/gstreamer-libs-docs.sgml:
973         * docs/libs/gstreamer-libs-sections.txt:
974         * docs/libs/gstreamer-libs.types:
975         * examples/Makefile.am:
976         * examples/controller/.cvsignore:
977         * examples/controller/Makefile.am:
978         * examples/controller/audio-example.c: (main):
979         * libs/gst/Makefile.am:
980         * libs/gst/controller/.cvsignore:
981         * libs/gst/controller/Makefile.am:
982         * libs/gst/controller/gst-controller.c:
983         (on_object_controlled_property_changed), (gst_timed_value_compare),
984         (gst_timed_value_find),
985         (gst_controlled_property_set_interpolation_mode),
986         (gst_controlled_property_new), (gst_controlled_property_free),
987         (gst_controller_find_controlled_property),
988         (gst_controller_new_valist), (gst_controller_new),
989         (gst_controller_remove_properties_valist),
990         (gst_controller_remove_properties), (gst_controller_set),
991         (gst_controller_set_from_list), (gst_controller_unset),
992         (gst_controller_get), (gst_controller_get_all),
993         (gst_controller_sink_values), (gst_controller_get_value_arrays),
994         (gst_controller_get_value_array),
995         (gst_controller_set_interpolation_mode),
996         (_gst_controller_finalize), (_gst_controller_init),
997         (_gst_controller_class_init), (gst_controller_get_type):
998         * libs/gst/controller/gst-controller.h:
999         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1000         (g_object_uncontrol_properties), (g_object_get_controller),
1001         (g_object_set_controller), (g_object_sink_values),
1002         (g_object_get_value_arrays), (g_object_get_value_array):
1003         * libs/gst/controller/gst-interpolation.c:
1004         (gst_controlled_property_find_timed_value_node),
1005         (interpolate_none_get), (interpolate_trigger_get),
1006         (interpolate_trigger_get_value_array):
1007         * libs/gst/controller/lib.c: (gst_controller_init):
1008         * pkgconfig/Makefile.am:
1009         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1010         * pkgconfig/gstreamer-control.pc.in:
1011         * testsuite/Makefile.am:
1012         * testsuite/controller/.cvsignore:
1013         * testsuite/controller/Makefile.am:
1014         * testsuite/controller/interpolator.c: (main):
1015           added controller code
1016           removed dparam pc files
1017
1018 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1019         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1020         (gst_collectpads_stop):
1021           Broadcast the condition when shutting down, to make sure we wake all
1022           threads up. Shut down pads on finalize, for safety.
1023
1024 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1025         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1026         (gst_base_transform_handle_buffer),
1027         (gst_base_transform_change_state):
1028           Handle PAUSED->READY->PAUSED transition after negotiation
1029           occurred already.
1030         * gst/gstmessage.c: (gst_message_init):
1031           Extra piece of debug for new messages.
1032
1033 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1034
1035         * configure.ac:
1036         * docs/gst/tmpl/gstbasesrc.sgml:
1037         * docs/gst/tmpl/gstelement.sgml:
1038         * docs/gst/tmpl/gstevent.sgml:
1039         * docs/gst/tmpl/gstfakesrc.sgml:
1040         * docs/gst/tmpl/gstformat.sgml:
1041         * docs/gst/tmpl/gstghostpad.sgml:
1042         * docs/gst/tmpl/gstpad.sgml:
1043         * docs/gst/tmpl/gstquery.sgml:
1044         * docs/gst/tmpl/gststructure.sgml:
1045         * docs/gst/tmpl/gsttaglist.sgml:
1046         * docs/gst/tmpl/gstvalue.sgml:
1047         * docs/libs/gstreamer-libs-docs.sgml:
1048         * docs/libs/gstreamer-libs-sections.txt:
1049         * docs/libs/gstreamer-libs.types:
1050         * libs/gst/Makefile.am:
1051         * libs/gst/control/.cvsignore:
1052         * libs/gst/control/Makefile.am:
1053         * libs/gst/control/control.c:
1054         * libs/gst/control/control.h:
1055         * libs/gst/control/dparam.c:
1056         * libs/gst/control/dparam.h:
1057         * libs/gst/control/dparam_smooth.c:
1058         * libs/gst/control/dparam_smooth.h:
1059         * libs/gst/control/dparamcommon.h:
1060         * libs/gst/control/dparammanager.c:
1061         * libs/gst/control/dparammanager.h:
1062         * libs/gst/control/dplinearinterp.c:
1063         * libs/gst/control/dplinearinterp.h:
1064         * libs/gst/control/unitconvert.c:
1065         * libs/gst/control/unitconvert.h:
1066         * testsuite/Makefile.am:
1067         * testsuite/dynparams/.cvsignore:
1068         * testsuite/dynparams/Makefile.am:
1069         * testsuite/dynparams/dparamstest.c:
1070         * tools/Makefile.am:
1071         * tools/gst-inspect.c: (print_element_info), (main):
1072         * tools/gst-xmlinspect.c: (print_element_info), (main):
1073           deactivate and remove dparams (libgstcontrol)
1074
1075 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1076
1077         * gst/elements/gsttypefindelement.c:
1078         (gst_type_find_element_have_type), (gst_type_find_element_init),
1079         (stop_typefinding), (gst_type_find_element_handle_event),
1080         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1081         * gst/elements/gsttypefindelement.h:
1082           Set caps on all outgoing buffers, not just the first one.
1083
1084 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1085
1086         * gst/elements/gsttypefindelement.c:
1087         (gst_type_find_element_have_type),
1088         (gst_type_find_element_check_set_buffer_caps),
1089         (gst_type_find_element_init), (stop_typefinding),
1090         (gst_type_find_element_handle_event),
1091         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1092         * gst/elements/gsttypefindelement.h:
1093           Set caps on first outgoing buffer when we've found the type.
1094
1095 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1096
1097         * docs/gst/gstreamer-docs.sgml:
1098         * docs/gst/gstreamer-sections.txt:
1099         * docs/gst/tmpl/gstscheduler.sgml:
1100         * docs/gst/tmpl/gstschedulerfactory.sgml:
1101           Remove some old cruft from docs.
1102
1103 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
1104
1105         * gst/gstpad.h:
1106           Fix inline docs for GstPadLinkReturn.
1107           
1108         * gst/gststructure.c: (gst_structure_has_name):
1109         * gst/gststructure.h:
1110         * docs/gst/gstreamer-sections.txt:
1111           New API: gst_structure_has_name().
1112
1113 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
1114
1115         * configure.ac:
1116           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1117           and _LARGEFILE_SOURCE in config.h as required. Do not 
1118           export those flags in our .pc files any longer (#142209).
1119
1120           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1121
1122         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1123         (gst_file_sink_do_seek), (gst_file_sink_event),
1124         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1125           Redo seek/tell calls with large file support in mind; add some
1126           debugging messages; add log message that tells us when large
1127           file support is unavailable or not enabled for some reason.
1128
1129         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1130           Add log message that tells us when large file support 
1131           is unavailable or not enabled for some reason.
1132
1133 2005-07-29  Wim Taymans  <wim@fluendo.com>
1134
1135         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1136         Added test for removing an element with ghostpad from a bin.
1137         Fixed test as current implementation does the right thing.
1138
1139         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1140         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1141         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1142         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1143         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1144         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1145         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1146         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1147         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1148         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1149         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1150         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1151         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1152         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1153         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1154         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1155         * gst/gstghostpad.h:
1156         Clean up ghostpads, remove properties for internal stuff.
1157         Make threadsafe.
1158         Fix refcounting.
1159         Prepare for switching targets, not all use cases work yet.
1160
1161 2005-07-29  Wim Taymans  <wim@fluendo.com>
1162
1163         * docs/design/part-gstghostpad.txt:
1164         Small update.
1165
1166         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1167         (gst_bin_remove_func):
1168         Unlinking pads while holding the bin LOCK is not a good
1169         idea.
1170
1171         * gst/gstpad.c: (gst_pad_class_init),
1172         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1173         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1174         No prob setting template after creating the pad.
1175
1176 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1177
1178         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1179         (gst_bus_peek), (gst_bus_source_dispatch),
1180         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1181         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1182           gst_bus_poll may be called from other threads. Handle
1183           this nicely by not making poll_data disappear off the
1184           stack once gst_bus_poll returns.
1185           gst_bus_peek now increments the refcount on the returned
1186           message.
1187
1188 2005-07-29  Wim Taymans  <wim@fluendo.com>
1189
1190         * docs/design/part-gstghostpad.txt:
1191         Overview of current GhostPad datastructures and use
1192         cases for changing the target.
1193
1194 2005-07-28  Wim Taymans  <wim@fluendo.com>
1195
1196         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1197         Added checks for hierarchy consistency whan adding linked
1198         elements to bins.
1199
1200         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1201         Added check to test element scheduling without bin/pipeline.
1202
1203         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1204         First add elements to bin, then link.
1205         
1206         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1207         (gst_bin_remove_func):
1208         Unlink pads from elements added/removed from bin to maintain
1209         hierarchy consistency.
1210
1211 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1212
1213         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1214         (gst_base_transform_handle_buffer):
1215         * gst/base/gstbasetransform.h:
1216           Remove broken delay_configure (fixes renegotiation of software
1217           scaling pipelines); remove some leftover printf()s.
1218
1219 2005-07-28  Wim Taymans  <wim@fluendo.com>
1220
1221         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1222         Added some more tests for wrong hierarchy
1223
1224         * docs/design/part-overview.txt:
1225         Some updates.
1226
1227         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1228         Cleanups.
1229
1230         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1231         (gst_element_dispose):
1232         Some more cleanups.
1233
1234         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1235         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1236         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1237         (gst_pad_set_caps), (gst_pad_send_event):
1238         Check for correct hierarchy when linking pads. Moving to
1239         strict requirement for ghostpads when linking elements in
1240         different bins.
1241
1242         * gst/gstpad.h:
1243         Clean ups. Added WRONG_HIERARCHY return value.
1244
1245 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1246
1247         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1248           Better debug if no transform is possible.
1249
1250 2005-07-27  Wim Taymans  <wim@fluendo.com>
1251
1252         * docs/random/wtay/network-transp:
1253         Some old doc I had.
1254
1255 2005-07-27  Wim Taymans  <wim@fluendo.com>
1256
1257         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1258         (gst_dp_event_from_packet):
1259         Fix serialization of seek events.
1260
1261 2005-07-27  Wim Taymans  <wim@fluendo.com>
1262
1263         * check/gst-libs/gdp.c: (GST_START_TEST):
1264         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1265         Fix compilation and fix event serialization.
1266
1267 2005-07-27  Wim Taymans  <wim@fluendo.com>
1268
1269         * CHANGES-0.9:
1270         * docs/design/part-TODO.txt:
1271         * docs/design/part-events.txt:
1272         Some docs updates
1273
1274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1275         (gst_base_sink_event), (gst_base_sink_do_sync),
1276         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1277         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1278         (gst_base_src_do_seek), (gst_base_src_event_handler),
1279         (gst_base_src_loop):
1280         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1281         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1282         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1283         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1284         (gst_base_transform_set_passthrough),
1285         (gst_base_transform_is_passthrough):
1286         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1287         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1288         Event updates.
1289
1290         * gst/gstbuffer.h:
1291         Use faster casts.
1292
1293         * gst/gstelement.c: (gst_element_seek):
1294         * gst/gstelement.h:
1295         Update gst_element_seek.
1296
1297         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1298         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1299         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1300         (gst_event_new_eos), (gst_event_new_newsegment),
1301         (gst_event_parse_newsegment), (gst_event_new_tag),
1302         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1303         (gst_event_parse_qos), (gst_event_new_seek),
1304         (gst_event_parse_seek), (gst_event_new_navigation):
1305         * gst/gstevent.h:
1306         Make GstEvent use GstStructure. Add parsing code, make sure the
1307         API is sufficiently generic.
1308         Mark possible directions of events and serialization.
1309
1310         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1311         (_gst_message_copy), (gst_message_new_segment_start),
1312         (gst_message_new_segment_done), (gst_message_new_custom),
1313         (gst_message_parse_segment_start),
1314         (gst_message_parse_segment_done):
1315         Small cleanups.
1316
1317         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1318         (gst_pad_set_caps), (gst_pad_send_event):
1319         Update for new events. 
1320         Catch events sent in wrong directions.
1321
1322         * gst/gstqueue.c: (gst_queue_link_src),
1323         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1324         (gst_queue_handle_src_query):
1325         Event updates.
1326
1327         * gst/gsttag.c:
1328         * gst/gsttag.h:
1329         Remove event code from this file.
1330
1331         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1332         (gst_dp_event_from_packet):
1333         Event updates.
1334
1335 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1336
1337         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1338         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1339         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1340           Make debugging actually useful.
1341
1342 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1343
1344         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1345         (gst_pad_fixate_caps):
1346           Implement default fixation once again, so that gst_pad_fixate()
1347           actually does anything at all. This probably needs to be some
1348           sort of a last resort, and use profile-based fixation first, but
1349           since that doesn't exist yet, this is the best we have. Fixes
1350           visualization in Totem.
1351
1352 2005-07-22  Wim Taymans  <wim@fluendo.com>
1353
1354         * docs/design/part-events.txt:
1355         Small update.
1356
1357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1358         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1359         (gst_base_sink_activate_pull):
1360         Some more comments.
1361
1362         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1363         (gst_fake_src_create):
1364         Fix handoff marshall.
1365
1366         * gst/elements/gstidentity.c: (gst_identity_class_init),
1367         (gst_identity_transform_ip):
1368         We're a real inplace element.
1369
1370         * gst/gstbus.c: (gst_bus_post):
1371         Added some comments.
1372
1373         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1374         * tests/muxing/case1.c: (main):
1375         * tests/sched/dynamic-pipeline.c: (main):
1376         * tests/sched/interrupt1.c: (main):
1377         * tests/sched/interrupt2.c: (main):
1378         * tests/sched/interrupt3.c: (main):
1379         * tests/sched/runxml.c: (main):
1380         * tests/sched/sched-stress.c: (main):
1381         * tests/seeking/seeking1.c: (event_received), (main):
1382         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1383         (main):
1384         * tests/threadstate/threadstate3.c: (main):
1385         * tests/threadstate/threadstate4.c: (main):
1386         * tests/threadstate/threadstate5.c: (main):
1387         Fix the tests.
1388
1389 2005-07-21  Wim Taymans  <wim@fluendo.com>
1390
1391         * docs/design/part-seeking.txt:
1392         Some small additions.
1393
1394         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1395         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1396         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1397         * gst/base/gstbasesink.h:
1398         discont values are gint64, handle the math correctly.
1399
1400         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1401         Make the basesrc report error if the source pad is not linked.
1402
1403         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1404         (gst_queue_loop), (gst_queue_handle_src_query),
1405         (gst_queue_src_activate_push):
1406         Make queue collect data even if the srcpad is not linked.
1407         Start pushing out data as soon as it is linked.
1408
1409         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1410         * gst/gstutils.h:
1411         Added gst_flow_get_name() to ease error reporting.
1412
1413 2005-07-20  Wim Taymans  <wim@fluendo.com>
1414
1415         * gst/gstmessage.c: (gst_message_new_segment_start),
1416         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1417         (gst_message_parse_segment_done):
1418         * gst/gstmessage.h:
1419         Added a bunch of messages for advanced seeking.
1420
1421         * gst/parse/grammar.y:
1422         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1423         (gst_dpman_state_changed):
1424         Fix some new-pad -> pad-added signals
1425
1426 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1427
1428         * docs/manual/appendix-porting.xml:
1429         * docs/pwg/appendix-porting.xml:
1430           Document new-pad/state-change signal renames and the FixedList
1431           type rename.
1432
1433 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1434
1435         * docs/manual/advanced-autoplugging.xml:
1436         * docs/manual/basics-helloworld.xml:
1437         * docs/manual/basics-pads.xml:
1438         * docs/random/ds/0.9-suggested-changes:
1439         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1440         * gst/gstelement.h:
1441         * gst/gstevent.h:
1442         * gst/gstformat.h:
1443         * gst/gstquery.h:
1444         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1445         (gst_structure_parse_array), (gst_structure_parse_value):
1446         * gst/gstvalue.c: (gst_type_is_fixed),
1447         (gst_value_list_prepend_value), (gst_value_list_append_value),
1448         (gst_value_list_get_size), (gst_value_list_get_value),
1449         (gst_value_transform_array_string), (gst_value_serialize_array),
1450         (gst_value_deserialize_array), (gst_value_intersect_array),
1451         (gst_value_is_fixed), (_gst_value_initialize):
1452         * gst/gstvalue.h:
1453           GstElement::new-pad -> pad-added, GstElement::state-change ->
1454           state-changed, GstValueFixedList -> GstValueArray, add format and
1455           flags as their own arguments in gst_element_seek() (should improve
1456           "bindeability"), remove function generators since they don't work
1457           under a whole bunch of compilers (they were deprecated already
1458           anyway).
1459
1460 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1461
1462         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1463         (_gst_debug_register_funcptr):
1464         * gst/gstinfo.h:
1465           Fix illegal cast on some platforms (#309253).
1466
1467 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1468
1469         * gst/gstmessage.c: (gst_message_new_custom):
1470         * gst/gstmessage.h:
1471           Add _new_custom, make _new_application a macro to _new_custom.
1472
1473 2005-07-20  Wim Taymans  <wim@fluendo.com>
1474
1475         * gst/base/gstbasesrc.c: (gst_base_src_init),
1476         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1477         * gst/base/gstbasesrc.h:
1478         Add a gboolean to decide when to push out a discont.
1479
1480         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1481         (gst_queue_loop), (gst_queue_handle_src_query),
1482         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1483         (gst_queue_set_property), (gst_queue_get_property):
1484         Some cleanups.
1485
1486         * tests/threadstate/threadstate1.c: (main):
1487         Make a thread test compile and run... very silly..
1488
1489
1490 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1491
1492         * docs/manual/appendix-porting.xml:
1493           Mention removal of libgstgconf-0.9.la and existence of gconf
1494           elements.
1495
1496 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1497
1498         * docs/pwg/advanced-clock.xml:
1499         * docs/pwg/appendix-porting.xml:
1500         * docs/pwg/intro-preface.xml:
1501         * docs/pwg/other-base.xml:
1502         * docs/pwg/other-manager.xml:
1503         * docs/pwg/other-nton.xml:
1504         * docs/pwg/other-ntoone.xml:
1505         * docs/pwg/other-oneton.xml:
1506         * docs/pwg/pwg.xml:
1507           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1508           demuxer), remove n-to-n (was never written), fix some code examples
1509           and links and update the porting section to include all this.
1510
1511 2005-07-19  Wim Taymans  <wim@fluendo.com>
1512
1513         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1514         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1515         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1516         (gst_queue_src_activate_push), (gst_queue_change_state),
1517         (gst_queue_get_property):
1518         * gst/gstqueue.h:
1519         Propagate GstFlowReturn more intelligently upstream and output
1520         an ERROR/EOS when streaming stopped due to fatal error.
1521
1522 2005-07-19  Wim Taymans  <wim@fluendo.com>
1523
1524         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1525         Don't block forever for the state change to complete, the
1526         pipeline already did with a sensible timeout.
1527
1528 2005-07-19  Wim Taymans  <wim@fluendo.com>
1529
1530         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1531         Make sure we never call the create function is we
1532         got deactivated.
1533
1534 2005-07-19  Andy Wingo  <wingo@pobox.com>
1535
1536         * gst/parse/parse.l: Attempt to solve bug #172815.
1537
1538 2005-07-19  Wim Taymans  <wim@fluendo.com>
1539
1540         * docs/design/part-clocks.txt:
1541         * docs/design/part-events.txt:
1542         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1543         Small docs updates.
1544         Only update the seeking values when we are not
1545         busy streaming.
1546
1547 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1548
1549         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1550           Oops, ignore the result of gst_pad_push_event here.
1551
1552 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1553
1554         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1555         (gst_base_src_activate_push):
1556           Send discont event from the loop function, as pads
1557           aren't activated yet in the activate_push handler.
1558
1559         * gst/gstbin.c: (bin_bus_handler):
1560           Don't leak element name.
1561
1562 2005-07-18  Andy Wingo  <wingo@pobox.com>
1563
1564         * configure.ac: Use AS_LIBTOOL_TAGS.
1565
1566 2005-07-18  Wim Taymans  <wim@fluendo.com>
1567
1568         * docs/gst/gstreamer.types:
1569         Remove deleted types.
1570
1571 2005-07-18  Wim Taymans  <wim@fluendo.com>
1572
1573         * check/elements/gstfakesrc.c: (GST_START_TEST):
1574         * configure.ac:
1575         * gst/Makefile.am:
1576         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1577         (init_popt_callback):
1578         * gst/gst.h:
1579         * gst/gst_private.h:
1580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1581         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1582         * gst/gstbin.h:
1583         * gst/gstbus.h:
1584         * gst/gstconfig.h.in:
1585         * gst/gstelement.c: (gst_element_class_init),
1586         (gst_element_set_base_time), (gst_element_get_base_time),
1587         (iterator_fold_with_resync), (gst_element_change_state),
1588         (gst_element_dispose), (gst_element_get_bus):
1589         * gst/gstelement.h:
1590         * gst/gstelementfactory.h:
1591         * gst/gsterror.c: (_gst_core_errors_init):
1592         * gst/gsterror.h:
1593         * gst/gstevent.h:
1594         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1595         * gst/gstindex.c:
1596         * gst/gstinfo.c: (_gst_debug_init):
1597         * gst/gstmessage.c: (_gst_message_copy):
1598         * gst/gstmessage.h:
1599         * gst/gstminiobject.h:
1600         * gst/gstobject.c:
1601         * gst/gstobject.h:
1602         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1603         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1604         * gst/gstpad.h:
1605         * gst/gstparse.h:
1606         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1607         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1608         (gst_pipeline_get_last_stream_time):
1609         * gst/gstpipeline.h:
1610         * gst/gstpluginfeature.h:
1611         * gst/gstquery.h:
1612         * gst/gstscheduler.c:
1613         * gst/gstscheduler.h:
1614         * gst/gststructure.h:
1615         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1616         (gst_task_finalize), (gst_task_func), (gst_task_create),
1617         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1618         (gst_task_stop), (gst_task_pause):
1619         * gst/gsttask.h:
1620         * gst/gsttypefind.h:
1621         * gst/gsttypes.h:
1622         * gst/registries/gstlibxmlregistry.c: (load_feature),
1623         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1624         * gst/registries/gstxmlregistry.c:
1625         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1626         * gst/schedulers/threadscheduler.c:
1627         * libs/gst/control/dparammanager.h:
1628         * tools/gst-inspect.c: (print_element_list),
1629         (print_plugin_features), (print_element_features):
1630         * tools/gst-xmlinspect.c: (print_element_list),
1631         (print_plugin_info), (main):
1632         Removed plugable schedulers.
1633         Removed Scheduler/Manager from elements.
1634         Removed gsttypes.h, rearranged includes.
1635         Removed dependency pad<->element, element<>pipeline, and
1636         various others,  fix includes.
1637         implement gst_pad_get_parent() with gst_object_get_parent()
1638         Make GstTask sefcontained.
1639         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1640         timeout.
1641         Fix endless loop in iterator_fold_with_resync.
1642
1643
1644 2005-07-18  Wim Taymans  <wim@fluendo.com>
1645
1646         * gst/Makefile.am:
1647         * gst/gstarch.h:
1648         Remove old file.
1649
1650 2005-07-18  Wim Taymans  <wim@fluendo.com>
1651
1652         * gst/Makefile.am:
1653         No more cothreads.h
1654
1655 2005-07-18  Wim Taymans  <wim@fluendo.com>
1656
1657         * gst/cothreads.c:
1658         * gst/cothreads.h:
1659         Let's remove these.
1660
1661 2005-07-18  Wim Taymans  <wim@fluendo.com>
1662
1663         * docs/design/part-dynamic.txt:
1664         * docs/design/part-events.txt:
1665         * docs/design/part-seeking.txt:
1666         Some more docs in the works.
1667
1668         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1669         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1670         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1671         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1672         (gst_base_transform_handle_buffer),
1673         (gst_base_transform_sink_activate_push),
1674         (gst_base_transform_src_activate_pull),
1675         (gst_base_transform_set_passthrough),
1676         (gst_base_transform_is_passthrough):
1677         Refcounting fixes.
1678
1679         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1680         Cleanups.
1681
1682         * gst/gstevent.c: (gst_event_finalize):
1683         Set SRC to NULL.
1684
1685         * gst/gstutils.c: (gst_element_unlink),
1686         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1687         (gst_pad_proxy_setcaps):
1688         * gst/gstutils.h:
1689         Add _get_parent_element() to get a pads parent as an element.
1690
1691 2005-07-18  Wim Taymans  <wim@fluendo.com>
1692
1693         * check/gst/gstbin.c: (GST_START_TEST):
1694         Remove bogus test.
1695
1696 2005-07-18  Wim Taymans  <wim@fluendo.com>
1697
1698         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1699         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1700         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1701         (gst_base_sink_event), (gst_base_sink_do_sync),
1702         (gst_base_sink_chain), (gst_base_sink_loop),
1703         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1704         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1705         Refcounting fixes.
1706         Fix logic for returning ASYNC when not prerolled.
1707
1708 2005-07-18  Wim Taymans  <wim@fluendo.com>
1709
1710         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1711         Fix nasty refcount bug.
1712
1713 2005-07-16 Philippe Khalaf <burger@speedy.org>
1714         * gst/elements/gstfdsrc.c:
1715         * gst/elements/gstfdsrc.h:
1716         * gst/elements/gstelements.c:
1717         * gst/elements/Makefile.am:
1718         Ported fdsrc to 0.9.
1719
1720 2005-07-16  Wim Taymans  <wim@fluendo.com>
1721
1722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1723         (gst_base_sink_do_sync):
1724         Fix compile error.
1725
1726 2005-07-16  Wim Taymans  <wim@fluendo.com>
1727
1728         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1729         (gst_base_sink_event), (gst_base_sink_get_times),
1730         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1731         * gst/base/gstbasesink.h:
1732         Store and use discont values when syncing buffers as described
1733         in design docs.
1734         
1735         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1736         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1737         (gst_base_src_activate_push):
1738         Push discont event when starting.
1739
1740         * gst/elements/gstidentity.c: (gst_identity_transform):
1741         Small cleanups.
1742
1743         * gst/gstbin.c: (gst_bin_change_state):
1744         Small cleanups in base_time  distribution.
1745
1746         * gst/gstelement.c: (gst_element_set_base_time),
1747         (gst_element_get_base_time), (gst_element_change_state):
1748         * gst/gstelement.h:
1749         Added methods for the base_time of the element.
1750         Some MT fixes.
1751
1752         * gst/gstpipeline.c: (gst_pipeline_send_event),
1753         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1754         (gst_pipeline_get_last_stream_time):
1755         * gst/gstpipeline.h:
1756         MT fixes.
1757         Handle seeking as described in design doc, remove stream_time
1758         hack.
1759         Cleanups clock and stream_time selection code. Added accessors
1760         for the stream_time.
1761         
1762
1763 2005-07-16  Andy Wingo  <wingo@pobox.com>
1764
1765         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1766         (#305291).
1767
1768 2005-07-16  Wim Taymans  <wim@fluendo.com>
1769
1770         * check/gst/gstbin.c: (GST_START_TEST):
1771         Make elements silent as the deep_notify refs the
1772         parent, which might make the test fail.
1773
1774         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1775         Don't hold the lock for too long.
1776
1777 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1780           Don't unref the caps we passed to gst_caps_make_writable() after
1781           passing them. gst_caps_make_writable() will do that for us.
1782
1783 2005-07-15  Andy Wingo  <wingo@pobox.com>
1784
1785         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1786         (#157311).
1787
1788         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1789         own marshalling function for the handoff signal. Properly type the
1790         buffer as a buffer. Fixes some warnings. Should do a more general
1791         solution.
1792         (gst_identity_class_init): Plug into the right marshaller.
1793
1794 2005-07-15  Wim Taymans  <wim@fluendo.com>
1795
1796         * docs/design/part-TODO.txt:
1797         * docs/design/part-clocks.txt:
1798         * docs/design/part-element-sink.txt:
1799         * docs/design/part-events.txt:
1800         * docs/design/part-gstpipeline.txt:
1801         Updated docs, mostly DISCONT related.
1802
1803 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1804
1805         * docs/pwg/building-pads.xml:
1806           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1807
1808 2005-07-15  Andy Wingo  <wingo@pobox.com>
1809
1810         * tools/gst-typefind.c: Update, add copyright block.
1811
1812         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1813         Normalize and truncate caps before fixation.
1814
1815         * gst/gstcaps.h:
1816         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1817         discards all but the first structure from its argument.
1818
1819 2005-07-15  Wim Taymans  <wim@fluendo.com>
1820
1821         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1822         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1823         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1824         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1825         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1826         (gst_base_transform_chain), (gst_base_transform_change_state),
1827         (gst_base_transform_set_passthrough),
1828         (gst_base_transform_is_passthrough):
1829         * gst/base/gstbasetransform.h:
1830         Make passthrough work using the bufferpools.
1831         Changed API a bit, subclasses have to write into a buffer
1832         provided by the base class.
1833         More debug info in nego functions.
1834         
1835         * gst/elements/gstidentity.c: (gst_identity_init),
1836         (gst_identity_transform):
1837         Port to new base class.
1838
1839 2005-07-15  Wim Taymans  <wim@fluendo.com>
1840
1841         * gst/gstmessage.c: (gst_message_new_state_changed):
1842         * tools/gst-launch.c: (event_loop), (main):
1843         Totally dump messages in -launch with the -m option.
1844         Fix message name for State messages,
1845
1846 2005-07-14  Wim Taymans  <wim@fluendo.com>
1847
1848         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1849         Post error messages on errors.
1850
1851 2005-07-14  Wim Taymans  <wim@fluendo.com>
1852
1853         * gst/gstcaps.c: (gst_caps_do_simplify):
1854         Remove debug info.
1855
1856         * gst/gsterror.h:
1857         Define error for stream stopped.
1858
1859         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1860         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1861         Do proper return values.
1862
1863         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1864         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1865         (gst_pad_get_range):
1866         Better return values.
1867
1868         * gst/gstpad.h:
1869         Reorganise return values, add macro to check for fatal errors.
1870
1871         * gst/gstqueue.c: (gst_queue_chain):
1872         Return proper GstFlowReturn values,
1873
1874 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1875
1876         * docs/gst/gstreamer-sections.txt:
1877         * docs/gst/gstreamer.types:
1878         * docs/gst/tmpl/gst.sgml:
1879         * docs/gst/tmpl/gstbasesink.sgml:
1880         * docs/gst/tmpl/gstbasesrc.sgml:
1881         * docs/gst/tmpl/gstbasetransform.sgml:
1882         * docs/gst/tmpl/gstbin.sgml:
1883         * docs/gst/tmpl/gstbuffer.sgml:
1884         * docs/gst/tmpl/gstcaps.sgml:
1885         * docs/gst/tmpl/gstclock.sgml:
1886         * docs/gst/tmpl/gstcompat.sgml:
1887         * docs/gst/tmpl/gstconfig.sgml:
1888         * docs/gst/tmpl/gstelement.sgml:
1889         * docs/gst/tmpl/gstelementdetails.sgml:
1890         * docs/gst/tmpl/gstelementfactory.sgml:
1891         * docs/gst/tmpl/gstenumtypes.sgml:
1892         * docs/gst/tmpl/gsterror.sgml:
1893         * docs/gst/tmpl/gstevent.sgml:
1894         * docs/gst/tmpl/gstfakesink.sgml:
1895         * docs/gst/tmpl/gstfakesrc.sgml:
1896         * docs/gst/tmpl/gstfilesink.sgml:
1897         * docs/gst/tmpl/gstfilesrc.sgml:
1898         * docs/gst/tmpl/gstfilter.sgml:
1899         * docs/gst/tmpl/gstformat.sgml:
1900         * docs/gst/tmpl/gstghostpad.sgml:
1901         * docs/gst/tmpl/gstimplementsinterface.sgml:
1902         * docs/gst/tmpl/gstindex.sgml:
1903         * docs/gst/tmpl/gstindexfactory.sgml:
1904         * docs/gst/tmpl/gstinfo.sgml:
1905         * docs/gst/tmpl/gstiterator.sgml:
1906         * docs/gst/tmpl/gstmacros.sgml:
1907         * docs/gst/tmpl/gstmemchunk.sgml:
1908         * docs/gst/tmpl/gstminiobject.sgml:
1909         * docs/gst/tmpl/gstobject.sgml:
1910         * docs/gst/tmpl/gstpad.sgml:
1911         * docs/gst/tmpl/gstpadtemplate.sgml:
1912         * docs/gst/tmpl/gstparse.sgml:
1913         * docs/gst/tmpl/gstpipeline.sgml:
1914         * docs/gst/tmpl/gstplugin.sgml:
1915         * docs/gst/tmpl/gstpluginfeature.sgml:
1916         * docs/gst/tmpl/gstquery.sgml:
1917         * docs/gst/tmpl/gstqueue.sgml:
1918         * docs/gst/tmpl/gstregistry.sgml:
1919         * docs/gst/tmpl/gstregistrypool.sgml:
1920         * docs/gst/tmpl/gstscheduler.sgml:
1921         * docs/gst/tmpl/gstschedulerfactory.sgml:
1922         * docs/gst/tmpl/gststructure.sgml:
1923         * docs/gst/tmpl/gstsystemclock.sgml:
1924         * docs/gst/tmpl/gsttaglist.sgml:
1925         * docs/gst/tmpl/gsttagsetter.sgml:
1926         * docs/gst/tmpl/gsttrace.sgml:
1927         * docs/gst/tmpl/gsttrashstack.sgml:
1928         * docs/gst/tmpl/gsttypefind.sgml:
1929         * docs/gst/tmpl/gsttypefindfactory.sgml:
1930         * docs/gst/tmpl/gsttypes.sgml:
1931         * docs/gst/tmpl/gsturihandler.sgml:
1932         * docs/gst/tmpl/gsturitype.sgml:
1933         * docs/gst/tmpl/gstutils.sgml:
1934         * docs/gst/tmpl/gstvalue.sgml:
1935         * docs/gst/tmpl/gstversion.sgml:
1936         * docs/gst/tmpl/gstxml.sgml:
1937         * docs/libs/tmpl/gstcontrol.sgml:
1938         * docs/libs/tmpl/gstdataprotocol.sgml:
1939         * docs/libs/tmpl/gstdparam.sgml:
1940         * docs/libs/tmpl/gstdplinint.sgml:
1941         * docs/libs/tmpl/gstdpman.sgml:
1942         * docs/libs/tmpl/gstdpsmooth.sgml:
1943         * docs/libs/tmpl/gstgetbits.sgml:
1944         * docs/libs/tmpl/gstunitconvert.sgml:
1945         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1946         (gst_push_src_base_init), (gst_push_src_class_init),
1947         (gst_push_src_init), (gst_push_src_create):
1948         * gst/base/gstpushsrc.h:
1949         * gst/elements/gstelements.c:
1950         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1951         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1952         (gst_fake_sink_init), (gst_fake_sink_set_property),
1953         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1954         (gst_fake_sink_event), (gst_fake_sink_preroll),
1955         (gst_fake_sink_render), (gst_fake_sink_change_state):
1956         * gst/elements/gstfakesink.h:
1957         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1958         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1959         (gst_fake_src_base_init), (gst_fake_src_class_init),
1960         (gst_fake_src_init), (gst_fake_src_event_handler),
1961         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1962         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1963         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1964         (gst_fake_src_create_buffer), (gst_fake_src_create),
1965         (gst_fake_src_start), (gst_fake_src_stop):
1966         * gst/elements/gstfakesrc.h:
1967         * gst/elements/gstfilesink.c: (_do_init),
1968         (gst_file_sink_base_init), (gst_file_sink_class_init),
1969         (gst_file_sink_init), (gst_file_sink_dispose),
1970         (gst_file_sink_set_location), (gst_file_sink_set_property),
1971         (gst_file_sink_get_property), (gst_file_sink_open_file),
1972         (gst_file_sink_close_file), (gst_file_sink_query),
1973         (gst_file_sink_event), (gst_file_sink_render),
1974         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1975         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1976         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1977         * gst/elements/gstfilesink.h:
1978         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1979         (gst_file_src_class_init), (gst_file_src_init),
1980         (gst_file_src_finalize), (gst_file_src_set_location),
1981         (gst_file_src_set_property), (gst_file_src_get_property),
1982         (gst_file_src_map_region), (gst_file_src_map_small_region),
1983         (gst_file_src_create_mmap), (gst_file_src_create_read),
1984         (gst_file_src_create), (gst_file_src_is_seekable),
1985         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1986         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1987         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1988         (gst_file_src_uri_handler_init):
1989         * gst/elements/gstfilesrc.h:
1990           more autistic cleanliness in functions/names/defines
1991
1992 2005-07-13  Andy Wingo  <wingo@pobox.com>
1993
1994         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1995         source couldn't negotiate.
1996
1997         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1998         connections again.
1999
2000         * gst/gstutils.h:
2001         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2002         function. I am channeling Hades. Put your boots on suckers!!!
2003
2004 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2005
2006         * testsuite/caps/Makefile.am:
2007         * testsuite/caps/value_compare.c:
2008         * testsuite/caps/value_intersect.c:
2009         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2010           move two testsuite apps over to the check dir
2011
2012 2005-07-12  Wim Taymans  <wim@fluendo.com>
2013
2014         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2015         Added more debug info in the negotiate process.
2016
2017         * gst/gstmessage.h:
2018         Prepare for segment playback.
2019
2020         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2021         Better debugging.
2022
2023         * gst/gstutils.c:
2024         Some more docs.
2025
2026         * tools/gst-launch.c: (main):
2027         NULL pipeline on errors.
2028
2029 2005-07-12  Andy Wingo  <wingo@pobox.com>
2030
2031         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2032         not it comes from a malloc region. Make sure our copy gets freed.
2033
2034 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2035
2036         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2037         * check/gst/gstmessage.c: (GST_START_TEST):
2038         * check/gst/gststructure.c: (GST_START_TEST),
2039         (gst_structure_suite), (main):
2040           more testing
2041         * gst/gstelement.c: (gst_element_message_full):
2042           clean up GError and debug string now that they get copied
2043         * gst/gstmessage.c: (gst_message_new_error),
2044         (gst_message_new_warning), (gst_message_parse_error),
2045         (gst_message_parse_warning):
2046           use GST_TYPE_G_ERROR for structure_new, and take copies of
2047           arguments, so that we don't mess up refcounting
2048
2049 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2050
2051         * check/Makefile.am:
2052           add per-test valgrind targets
2053         * check/gst-libs/gdp.c: (GST_START_TEST),
2054         (gst_data_protocol_suite), (main):
2055           clean up
2056
2057 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2058
2059         * check/Makefile.am:
2060           instate more valgrindable tests
2061         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2062         (GST_START_TEST), (fakesrc_suite):
2063         * check/gst/gstpad.c: (GST_START_TEST):
2064         * check/gst/gststructure.c: (GST_START_TEST):
2065           fix test leaks
2066         * docs/gst/tmpl/gstminiobject.sgml:
2067         * gst/gstpad.c: (gst_pad_finalize):
2068           fix the static mutex leak
2069
2070 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2071
2072         * check/Makefile.am:
2073           add two more tests for valgrinding
2074         * check/gst/gstvalue.c: (GST_START_TEST):
2075           test refcount of deserialized buffer, found a leak
2076         * docs/gst/gstreamer-docs.sgml:
2077         * docs/gst/gstreamer-sections.txt:
2078         * docs/gst/gstreamer.types:
2079         * docs/gst/tmpl/gstminiobject.sgml:
2080           add miniobject to docs
2081         * gst/gstminiobject.c:
2082           add some docs
2083         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2084         (gst_string_unwrap):
2085           fix a hard-to-find invalid write for one of the tests
2086           fix a leak for deserialized buffers
2087
2088 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2089
2090         * docs/pwg/advanced-events.xml:
2091         * docs/pwg/advanced-request.xml:
2092         * docs/pwg/advanced-scheduling.xml:
2093         * docs/pwg/appendix-porting.xml:
2094         * docs/pwg/building-boiler.xml:
2095         * docs/pwg/intro-preface.xml:
2096         * docs/pwg/other-ntoone.xml:
2097           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2098           of example code and explanation for pad activation, loop() and
2099           getrange() functions and a bit more. Remove old comments pointing
2100           to loop-functions.
2101         * examples/pwg/Makefile.am:
2102           Add loop/getrange examples.
2103
2104 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2105
2106         * configure.ac:
2107           check for valgrind binary + some fixes
2108         * check/gst.supp:
2109           valgrind suppressions for the tests
2110         * check/Makefile.am:
2111           add a valgrind: target that valgrinds the unit tests
2112         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2113         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2114         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2115         * check/gst/gstghostpad.c:
2116           added some cleanup
2117         * check/gst/gstdata.c:
2118           removed
2119         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2120         (thread_unref), (gst_mini_object_suite), (main):
2121           added
2122         * gst/gst.c: (gst_deinit):
2123         * gst/gst.h:
2124           add a method to clean up.
2125         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2126         (gst_system_clock_obtain):
2127           allow for disposing the system clock.
2128         * tools/gst-launch.c: (main):
2129           deinit
2130
2131 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2132
2133         * docs/gst/tmpl/gstbasesrc.sgml:
2134         * docs/gst/tmpl/gstfakesrc.sgml:
2135         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2136         (gst_base_src_init), (gst_base_src_set_property),
2137         (gst_base_src_get_property), (gst_base_src_get_range),
2138         (gst_base_src_start):
2139         * gst/base/gstbasesrc.h:
2140           add num-buffers property
2141         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2142         (gst_fakesrc_init), (gst_fakesrc_set_property),
2143         (gst_fakesrc_get_property), (gst_fakesrc_create),
2144         (gst_fakesrc_start):
2145           remove num-buffers property
2146
2147 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2148
2149         * docs/gst/gstreamer-sections.txt:
2150         * docs/gst/tmpl/gstbasesink.sgml:
2151         * docs/gst/tmpl/gstbasesrc.sgml:
2152         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2153         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2154         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2155         (gst_base_sink_set_property), (gst_base_sink_get_property),
2156         (gst_base_sink_handle_object), (gst_base_sink_event),
2157         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2158         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2159         (gst_base_sink_loop), (gst_base_sink_deactivate),
2160         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2161         (gst_base_sink_change_state):
2162         * gst/base/gstbasesink.h:
2163         * gst/base/gstbasesrc.h:
2164         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2165         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2166         (gst_filesink_init):
2167           more macro splitting
2168
2169 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2170
2171         * gst/gstelement.c: (gst_element_get_bus):
2172           add debug
2173         * tools/gst-launch.c: (check_intr), (event_loop):
2174           fix bus leaks
2175
2176 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2177
2178         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2179           fix a caps leak
2180
2181 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2182
2183         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2184         (gst_base_src_finalize):
2185           add finalize method and clean up properly
2186         * gst/gstpipeline.c: (gst_pipeline_dispose):
2187           add debug
2188
2189 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2190
2191         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2192         (gst_bin_suite):
2193           add more things to check
2194         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2195         * gst/gstelement.c:
2196           more debug
2197
2198 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2199
2200         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2201         (GST_START_TEST), (fakesrc_suite):
2202         * check/gst-libs/gdp.c: (GST_START_TEST):
2203         * check/gst/gst.c: (GST_START_TEST):
2204         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2205         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2206         * check/gst/gstbus.c: (GST_START_TEST):
2207         * check/gst/gstcaps.c: (GST_START_TEST):
2208         * check/gst/gstdata.c: (GST_START_TEST):
2209         * check/gst/gstelement.c: (GST_START_TEST):
2210         * check/gst/gstghostpad.c: (GST_START_TEST):
2211         * check/gst/gstiterator.c: (GST_START_TEST):
2212         * check/gst/gstmessage.c: (GST_START_TEST):
2213         * check/gst/gstobject.c: (GST_START_TEST):
2214         * check/gst/gstpad.c: (GST_START_TEST):
2215         * check/gst/gststructure.c: (GST_START_TEST):
2216         * check/gst/gstsystemclock.c: (GST_START_TEST),
2217         (gst_systemclock_suite):
2218         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2219         * check/gst/gstvalue.c: (GST_START_TEST):
2220         * check/pipelines/cleanup.c: (GST_START_TEST):
2221         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2222         * check/states/sinks.c: (GST_START_TEST):
2223         * check/gstcheck.c: (gst_check_init):
2224         * check/gstcheck.h:
2225           add debugging category
2226           use GST_START_TEST now, so we add a debug line
2227
2228 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2229
2230         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2231           add test for state change message on a bin
2232         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2233           add another test
2234         * gst/gstbin.c: (gst_bin_init):
2235         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2236         * gst/gstelement.c: (gst_element_post_message),
2237         (gst_element_set_state):
2238         * gst/gstelementfactory.c: (gst_element_factory_create):
2239         * gst/gstmessage.c: (gst_message_new):
2240         * gst/gstscheduler.c:
2241           various debugging additions and cleanups
2242
2243 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2244
2245         * check/Makefile.am:
2246         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2247         (main):
2248           adding tests for elements
2249         * gst/gstelement.c: (gst_element_dispose):
2250
2251 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2252
2253         * gst/registries/gstlibxmlregistry.c: (load_feature):
2254           plug more leaks.  A simple gst_init() now is leakfree, yay.
2255
2256 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2257
2258         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2259         (gst_xml_registry_load):
2260           plug another memleak
2261
2262 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2263
2264         * configure.ac:
2265           use GST_SET_ERROR_CFLAGS
2266         * docs/faq/cvs.xml:
2267           change to ERROR_CFLAGS
2268
2269 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2270
2271         * configure.ac:
2272           make GST_ERROR_CFLAGS overridable and re-enable Werror
2273         * docs/faq/cvs.xml:
2274           add a note about error CFLAGS
2275         * docs/gst/tmpl/gstfakesrc.sgml:
2276         * gst/elements/gstfakesrc.c:
2277           comment out some unused code
2278         * gst/gst.c: (split_and_iterate):
2279         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2280         (load_feature):
2281           plug some memleaks
2282
2283 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2284
2285         * common/Makefile.am:
2286         * common/gtk-doc.mak:
2287         * docs/gst/Makefile.am:
2288           factor out gtk-doc.mak
2289
2290 2005-07-07  Wim Taymans  <wim@fluendo.com>
2291
2292         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2293         (gst_thread_scheduler_dispose):
2294         Unlock the STREAM_LOCK completely.
2295
2296 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2297
2298         * check/Makefile.am:
2299         * check/elements/.cvsignore:
2300         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2301         (START_TEST), (fakesrc_suite), (main):
2302         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2303         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2304         (gst_fakesrc_create), (gst_fakesrc_start):
2305         * gst/elements/gstfakesrc.h:
2306           adding a first element test
2307
2308 2005-07-07  Andy Wingo  <wingo@pobox.com>
2309
2310         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2311         debug message.
2312
2313 2005-07-07  Wim Taymans  <wim@fluendo.com>
2314
2315         * gst/gstquery.c:
2316         * gst/gstquery.h:
2317         Remove old types
2318
2319 2005-07-07  Wim Taymans  <wim@fluendo.com>
2320
2321         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2322         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2323         Allow subclasses to implement their own negotiation.
2324
2325 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2326
2327         * docs/design/part-gstbin.txt:
2328         * docs/design/part-gstpipeline.txt:
2329           Update design notes to reflect the movement of
2330           responsibility for bus handling from GstPipeline to
2331           GstBin
2332
2333 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2334
2335         * configure.ac:
2336           Remove unnecessary queue2/3/4 examples.
2337
2338 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2339
2340         * examples/Makefile.am:
2341         * examples/helloworld/helloworld.c: (event_loop), (main):
2342         * examples/queue/queue.c: (event_loop), (main):
2343         * examples/queue2/queue2.c: (main):
2344           Update a couple of the examples to work again.
2345
2346         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2347         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2348          Spelling corrections and extra debug.
2349         
2350         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2351         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2352         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2353         * gst/gstbin.h:
2354         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2355         (gst_pipeline_change_state):
2356         * gst/gstpipeline.h:
2357           Move the bus handler for children to the GstBin, and create a
2358           separate bus for receiving messages from children to the one the
2359           bus sends 'upwards' on.
2360
2361 2005-07-06  Wim Taymans  <wim@fluendo.com>
2362
2363         * gst/base/README:
2364         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2365         (gst_base_sink_handle_object), (gst_base_sink_loop),
2366         (gst_base_sink_change_state):
2367         * gst/base/gstbasesink.h:
2368         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2369         (gst_base_src_init), (gst_base_src_setcaps),
2370         (gst_base_src_getcaps), (gst_base_src_loop),
2371         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2372         (gst_base_src_start), (gst_base_src_change_state):
2373         * gst/base/gstbasesrc.h:
2374         Make basesrc negotiate.
2375         Handle the case where preroll fails in basesink.
2376         Update README.
2377
2378 2005-07-06  Wim Taymans  <wim@fluendo.com>
2379
2380         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2381         Implement the fixate function.
2382         Clean up acceptcaps.
2383
2384 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2385
2386         * docs/pwg/building-filterfactory.xml:
2387         * docs/pwg/pwg.xml:
2388           Remove never-written filter-factory chapter; I'll add the various
2389           base classes to part 4 ("other element types") later on.
2390
2391 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2392
2393         * docs/pwg/advanced-negotiation.xml:
2394         * docs/pwg/building-boiler.xml:
2395         * docs/pwg/building-pads.xml:
2396         * docs/pwg/pwg.xml:
2397         * examples/pwg/Makefile.am:
2398           Add a chapter on caps negotiation, simplify the original code
2399           samples a bit w.r.t. caps negotiation, add link to the advanced
2400           section. Add a bunch of examples showing different use cases of
2401           different types of caps negotiation. Upstream renegotiation isn't
2402           fully documented yet since nobody knows how that works.
2403
2404 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2405
2406         * check/gst/gstpad.c:
2407         * check/gstcheck.c:
2408         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2409           if pad has no parent, return NULL as list of internal links
2410
2411 2005-07-05  Andy Wingo  <wingo@pobox.com>
2412
2413         * gst/elements/gstfilesrc.c:
2414         * gst/elements/gstfakesrc.c: 
2415         * gst/base/gstpushsrc.c:
2416         * gst/base/gstbasesrc.h: 
2417         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2418         
2419 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2420
2421         * Makefile.am:
2422           better report generation target (lcov needs a patch)
2423
2424 2005-07-05  Andy Wingo  <wingo@pobox.com>
2425
2426         * gst/elements, testsuite: Null if we got it...
2427
2428 2005-07-05  Wim Taymans  <wim@fluendo.com>
2429
2430         * configure.ac:
2431         * libs/gst/dataprotocol/Makefile.am:
2432         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2433         * libs/gst/dataprotocol/dataprotocol.h:
2434         * pkgconfig/Makefile.am:
2435         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2436         * pkgconfig/gstreamer-dataprotocol.pc.in:
2437         Ported dataprotol to 0.9. 
2438         Added pkgconfig files.
2439
2440 2005-07-05  Andy Wingo  <wingo@pobox.com>
2441
2442         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2443         Default to returning TRUE for the case when tranform_caps returns
2444         a fixed caps, like for identity or volume.
2445
2446         * check/gst/gstbus.c (pound_bus_with_messages): 
2447         * check/gst/gstmessage.c (START_TEST): 
2448         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2449         message API change.
2450
2451         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2452         logic weaks here: always run transform_caps, trying passthrough
2453         operation only if the original caps intersects with the transform.
2454
2455         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2456         source and sink caps.
2457
2458         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2459         Intersect the peer caps with the pad template before going into
2460         transform_caps.
2461         (gst_base_transform_transform_caps): More debugging.
2462
2463         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2464         src argument.
2465
2466 2005-07-04  Edward Hervey  <edward@fluendo.com>
2467
2468         * gst/gstutils.c:
2469         * gst/gstutils.h:
2470         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2471         in bindings.
2472
2473 2005-07-04  Andy Wingo  <wingo@pobox.com>
2474
2475         * check/gst/gstpad.c: Only set explicit caps on pads.
2476
2477 2005-07-01  Andy Wingo  <wingo@pobox.com>
2478
2479         * tests/network-clock.scm: Commentary update.
2480
2481         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2482         Didn't really make sense, not implementable with basetransform,
2483         etc.
2484         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2485         attempt at implementing the sync property, needs an unlock method.
2486
2487         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2488         New func, by default returns the same caps (the identity
2489         transformation).
2490         (gst_base_transform_getcaps): Uses transform_caps to return
2491         something sensible.
2492         (gst_base_transform_setcaps): Complicated logic to get caps on
2493         both pads, even if they are different, and to call set_caps once
2494         for every time both pads get their caps set.
2495         (gst_base_transform_handle_buffer): Give the ref to the transform
2496         function. Allows in-place modification of the buffer.
2497
2498         * gst/base/gstbasetransform.h (transform_caps): New class method.
2499         Given caps on one side, what can I do on the other.
2500         (set_caps): Take two caps, one for each side of the element.
2501
2502         * gst/gstpad.h:
2503         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2504         caps in place. This is safe because we can check the mutability of
2505         the caps, and a good idea because fixate functions are just called
2506         as a matter of last resort. (Not actually implemented.)
2507         (gst_pad_set_caps): If the caps we're setting is actually the same
2508         as the existing pad caps, just update the pointer without calling
2509         setcaps. Assert that caps is either NULL or fixed, as per the
2510         docs.
2511
2512         * gst/gstghostpad.c: Update for fixate changes.
2513
2514 2005-07-02  Andy Wingo  <wingo@pobox.com>
2515
2516         * gst/gstcaps.c:
2517         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2518         two refcounts makes it immutable, which is enough. Doc more.
2519
2520 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2521
2522         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2523           Put the mini_object into GValue as a mini_object,
2524           not a gpointer, since that's how we declared
2525           the signal.
2526
2527 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2528
2529         * examples/pwg/Makefile.am:
2530           Fix buildbot again.
2531
2532 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2533
2534         * docs/pwg/building-testapp.xml:
2535           Add extra check.
2536         * examples/pwg/Makefile.am:
2537           Fix buildbot.
2538
2539 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2540
2541         * configure.ac:
2542         * examples/Makefile.am:
2543         * examples/pwg/Makefile.am:
2544         * examples/pwg/extract.pl:
2545           Enable building the PWG examples.
2546         * docs/pwg/advanced-interfaces.xml:
2547           Add URI interface stub.
2548         * docs/pwg/advanced-types.xml:
2549         * docs/pwg/other-autoplugger.xml:
2550         * docs/pwg/appendix-porting.xml:
2551         * docs/pwg/pwg.xml:
2552           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2553         * docs/pwg/building-boiler.xml:
2554         * docs/pwg/building-chainfn.xml:
2555         * docs/pwg/building-pads.xml:
2556         * docs/pwg/building-props.xml:
2557         * docs/pwg/building-state.xml:
2558         * docs/pwg/building-testapp.xml:
2559           Update the building-*.xml parts for 0.9 changes. All examples
2560           code blocks compile in examples/pwg/*.
2561
2562 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2563
2564         * docs/manual/advanced-autoplugging.xml:
2565         * docs/manual/appendix-checklist.xml:
2566         * docs/manual/appendix-integration.xml:
2567         * docs/manual/highlevel-components.xml:
2568           Fix playbin/decodebin examples, update docs a bit, mention bus
2569           instead of signals in various places, mention kmplayer and
2570           kaffeine since they have a working GStreamer backend in the KDE
2571           section.
2572
2573 2005-06-30  Wim Taymans  <wim@fluendo.com>
2574
2575         * CHANGES-0.9:
2576         * docs/design/draft-ghostpads.txt:
2577         * docs/design/draft-push-pull.txt:
2578         * docs/design/draft-query.txt:
2579         * docs/design/part-TODO.txt:
2580         * docs/design/part-query.txt:
2581         Added CHANGES-0.9 doc, updated status of other docs.
2582         
2583         * gst/gstquery.h:
2584         Remove "hmm" macro
2585
2586 2005-06-30  Wim Taymans  <wim@fluendo.com>
2587
2588         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2589         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2590         (gst_base_sink_change_state):
2591         * gst/base/gstbasesink.h:
2592         Some tweaks, only EOS and a buffer complete a preroll.
2593
2594 2005-06-30  Andy Wingo  <wingo@pobox.com>
2595
2596         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2597         activate_push down to the internal pad as well.
2598
2599 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2600
2601         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2602
2603         * gst/gsttaginterface.c:
2604           Some documentation fixes (#307394 and #307397).
2605
2606 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2607
2608         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2609
2610         * gst/gstvalue.c: (gst_value_intersect_list):
2611           Fix memleak (#309125).
2612
2613 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2614
2615         * docs/manual/advanced-dataaccess.xml:
2616           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2617         * docs/manual/basics-pads.xml:
2618           Add reference for filtered caps to above chapter.
2619
2620 2005-06-30  Wim Taymans  <wim@fluendo.com>
2621
2622         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2623         (gst_bin_change_state):
2624         Probes are gone.
2625         Lame attempt at making the state change function a bit
2626         more readable.
2627
2628 2005-06-30  Wim Taymans  <wim@fluendo.com>
2629
2630         * docs/design/part-clocks.txt:
2631         * docs/design/part-element-sink.txt:
2632         * docs/design/part-events.txt:
2633         * docs/design/part-preroll.txt:
2634         * docs/design/part-states.txt:
2635         Some more tweeks and additions to the docs.
2636
2637 2005-06-30  Wim Taymans  <wim@fluendo.com>
2638
2639         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2640         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2641         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2642         (gst_pad_check_pull_range), (gst_pad_get_range),
2643         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2644         * gst/gstpad.h:
2645         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2646         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2647         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2648         (gst_pad_remove_buffer_probe):
2649         Removed atomic operations, use existing LOCK.
2650         Move exception handling out of main code path.
2651
2652 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2653
2654         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2655         (silly_return_true_function), (gst_pad_class_init),
2656         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2657         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2658         (gst_pad_send_event):
2659           Fix accumulator, add default value by using _emitv() instead
2660           of _emit() for signal emission.
2661
2662 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2663
2664         * docs/manual/advanced-dataaccess.xml:
2665         * examples/manual/Makefile.am:
2666           Add probe example.
2667         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2668           Make work (??).
2669
2670 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/elements/gstfilesink.c: (gst_filesink_render):
2673           Simplify code so that we don't have to handle short
2674           writes and return GST_FLOW_ERROR if an error occured.
2675
2676 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2677
2678         * docs/gst/gstreamer-docs.sgml:
2679           Remove probes more.
2680
2681 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2682
2683         * docs/gst/gstreamer-sections.txt:
2684         * docs/gst/tmpl/gstpad.sgml:
2685         * docs/gst/tmpl/gstprobe.sgml:
2686         * gst/Makefile.am:
2687         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2688         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2689         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2690         (gst_pad_push_event), (gst_pad_send_event):
2691         * gst/gstpad.h:
2692         * gst/gstutils.c: (gst_pad_add_data_probe),
2693         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2694         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2695         (gst_pad_remove_buffer_probe):
2696         * gst/gstutils.h:
2697           Remove old probes, add new g-signal-based probes and some utility
2698           functions.
2699
2700 2005-06-29  Edward Hervey  <edward@fluendo.com>
2701
2702         * gst/gstelementfactory.c:
2703         * gst/gstutils.h:
2704         * gst/gstutils.c:
2705         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2706         the definition to the header file.
2707
2708 2005-06-29  Andy Wingo  <wingo@pobox.com>
2709
2710         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2711         plugins from the source directory.
2712
2713 2005-06-29  Wim Taymans  <wim@fluendo.com>
2714
2715         * docs/gst/tmpl/gstbuffer.sgml:
2716         * docs/gst/tmpl/gstclock.sgml:
2717         Some fixings for blantently wrong text.
2718
2719 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2720
2721         * check/Makefile.am:
2722         * gst/gst.c: (add_path_func), (init_pre):
2723         * gst/gstregistry.c: (gst_registry_add_path):
2724           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2725           only scan the GST_PLUGIN_PATH locations, and not add
2726           system locations
2727
2728 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2729
2730         * docs/gst/gstreamer-sections.txt:
2731         * docs/gst/tmpl/gstbasesrc.sgml:
2732         * gst/gstelement.c:
2733         * gst/gstelement.h:
2734         * gst/gstevent.c:
2735         * gst/gstutils.c:
2736           doc fixes
2737
2738 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2739
2740         * docs/manual/advanced-autoplugging.xml:
2741           Fix autoplugging example.
2742
2743 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2744
2745         * docs/manual/advanced-autoplugging.xml:
2746         * docs/manual/mime-world.fig:
2747           Try to get autoplugging working, fix type detection. Fix text
2748           in hello-world image.
2749
2750 2005-06-29  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2753         (gst_base_sink_change_state):
2754         Small debug line.
2755
2756         * gst/gstclock.h:
2757         map SIGNAL and BROADCAST to the right function.
2758
2759         * gst/gstobject.h:
2760         Remove redundant braces.
2761
2762         * gst/gstpad.c: (gst_pad_set_caps):
2763         Don't call setcaps function when reseting caps to NULL.
2764
2765         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2766         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2767         (gst_system_clock_id_unschedule):
2768         Use BROADCAST as this is what we do.
2769
2770 2005-06-29  Wim Taymans  <wim@fluendo.com>
2771
2772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2773         We are actually prerolling before commiting the state
2774         change. 
2775
2776 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2777
2778         * docs/manual/advanced-clocks.xml:
2779         * docs/manual/advanced-interfaces.xml:
2780         * docs/manual/advanced-metadata.xml:
2781         * docs/manual/advanced-position.xml:
2782         * docs/manual/advanced-schedulers.xml:
2783         * docs/manual/advanced-threads.xml:
2784         * docs/manual/appendix-porting.xml:
2785         * docs/manual/basics-bins.xml:
2786         * docs/manual/basics-bus.xml:
2787         * docs/manual/basics-elements.xml:
2788         * docs/manual/basics-helloworld.xml:
2789         * docs/manual/basics-pads.xml:
2790         * docs/manual/highlevel-components.xml:
2791         * docs/manual/manual.xml:
2792         * docs/manual/thread.fig:
2793           Update (until threads/scheduling) Application Development Manual;
2794           remove GstThread, add GstBus, add simple porting checklist, add
2795           documentation for tag writing, clocks, make all examples until this
2796           part compile and run.
2797         * examples/manual/Makefile.am:
2798           Update from changes to Application Development Manual; add bus
2799           example, remove thread example.
2800
2801 2005-06-28  Wim Taymans  <wim@fluendo.com>
2802
2803         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2804         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2805         (gst_bus_source_dispatch):
2806         Add debugging messages.
2807         Make internal methods static.
2808         Handle the case where the bus is flushed in the handler.
2809         
2810         * gst/gstelement.c: (gst_element_get_bus):
2811         Fix refcount in _get_bus();
2812
2813         * gst/gstpipeline.c: (gst_pipeline_change_state),
2814         (gst_pipeline_get_clock_func):
2815         Clock refcounting fixes.
2816         Handle the case where preroll timed out more gracefully.
2817         
2818         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2819         Clean up the internal thread in dispose. This is needed
2820         for subclasses that actually get disposed.
2821         
2822         * gst/schedulers/threadscheduler.c:
2823         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2824         (gst_thread_scheduler_dispose):
2825         Free thread pool in dispose.
2826
2827 2005-06-28  Andy Wingo  <wingo@pobox.com>
2828
2829         * tests/network-clock-utils.scm (debug, print-event): New utils.
2830
2831         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2832         (*packet-loss*): Unified loss probability.
2833         (network-time): Report out-of-band events.
2834
2835         * tests/plot-data: Add support for out-of-band events. Hack it
2836         into this script instead of passing it down the pipe; should fix
2837         this later.
2838
2839 2005-06-28  Wim Taymans  <wim@fluendo.com>
2840
2841         * docs/gst/gstreamer.types:
2842         * docs/gst/tmpl/gstbasesrc.sgml:
2843         * docs/gst/tmpl/gstpad.sgml:
2844         Docs fixes.
2845
2846 2005-06-28  Wim Taymans  <wim@fluendo.com>
2847
2848         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2849         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2850         (gst_proxy_pad_do_fixatecaps):
2851         Correctly proxy the check_pull_range function.
2852
2853 2005-06-28  Andy Wingo  <wingo@pobox.com>
2854
2855         * tests/network-clock.scm: Removed need for slib.
2856         
2857 2005-06-28  Wim Taymans  <wim@fluendo.com>
2858
2859         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2860         (gst_basesink_preroll_queue_flush):
2861         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2862         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2863         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2864         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2865         (gst_proxy_pad_set_property):
2866         * gst/gstpad.c:
2867         * gst/gstpad.h:
2868         * gst/gstqueue.c: (gst_queue_init):
2869         The deprecated pad loop function is removed now.
2870
2871 2005-06-28  Andy Wingo  <wingo@pobox.com>
2872
2873         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2874         New parameters, simulate network packet loss.
2875
2876         * tests/network-clock-utils.scm: Initialize the RNG.
2877
2878 2005-06-28  Wim Taymans  <wim@fluendo.com>
2879
2880         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2881         (gst_basesink_event), (gst_basesink_deactivate):
2882         Flushing the preroll queue always needs to unlock the waiters.
2883
2884 2005-06-28  Edward Hervey  <edward@fluendo.com>
2885
2886         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2887         Wheen a seek was successful on a pipeline, set the stream_time to the
2888         seek offset in order to have a synchronized stream_time.
2889
2890 2005-06-28  Wim Taymans  <wim@fluendo.com>
2891
2892         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2893         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2894         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2895         (gst_proxy_pad_do_fixatecaps):
2896         Call wrapper function instead of just calling the function
2897         pointers. This takes care of any locking and whatmore.
2898
2899 2005-06-28  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2902         (gst_pad_pull_range):
2903         * gst/gstpad.h:
2904         CONNECTED -> LINKED.
2905
2906 2005-06-28  Andy Wingo  <wingo@pobox.com>
2907
2908         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2909         source-munging commit!!!
2910
2911         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2912         (gst_object_sink): Take gpointer arguments, not GstObject --
2913         avoids casts. Like GLib.
2914
2915         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2916         activate.
2917
2918 2005-06-27  Andy Wingo  <wingo@pobox.com>
2919
2920         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2921         remaining buffer.
2922
2923         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2924         returns a sorted copy of the trace list.
2925         (gst_alloc_trace_print_live): New API, only prints traces with
2926         live objects. Sort the list.
2927         (gst_alloc_trace_print_all): Sort the list.
2928         (gst_alloc_trace_print): Align columns.
2929
2930         * gst/elements/gstttypefindelement.c:
2931         * gst/elements/gsttee.c:
2932         * gst/base/gstbasesrc.c:
2933         * gst/base/gstbasesink.c:
2934         * gst/base/gstbasetransform.c:
2935         * gst/gstqueue.c: Adapt for pad activation changes.
2936
2937         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2938         sched.
2939         (gst_pipeline_dispose): Drop ref on sched.
2940
2941         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2942         (gst_pad_activate_default): Push mode by default.
2943         (pre_activate_switch, post_activate_switch): New stubs, things to
2944         do before and after switching activation modes on pads.
2945         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2946         the pad's activate function to choose which mode to activate.
2947         Shortcut on deactivation and call the right function directly.
2948         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2949         mode.
2950         (gst_pad_activate_push): New API, same for push mode.
2951         (gst_pad_set_activate_function) 
2952         (gst_pad_set_activatepull_function) 
2953         (gst_pad_set_activatepush_function): Setters for new API.
2954
2955         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2956         Trace all miniobjects.
2957         (gst_mini_object_make_writable): Unref the arg if we copy, like
2958         gst_caps_make_writable.
2959
2960         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2961
2962         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2963         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2964         Adapt for new pad API.
2965
2966         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2967
2968         * gst/gstelement.h:
2969         * gst/gstelement.c (gst_element_iterate_src_pads) 
2970         (gst_element_iterate_sink_pads): New API functions.
2971         
2972         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2973         should fold into gstiterator.c in some form.
2974         (gst_element_pads_activate): Simplified via use of fold and
2975         delegation of decisions to gstpad->activate.
2976
2977         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2978         help in debugging.
2979
2980         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2981         class once in init, like gstmessage. Didn't run into this issue
2982         but it seems correct. Don't initialize a trace, gstminiobject does
2983         that.
2984
2985         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2986         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2987         to the bus.
2988         (assert_live_count): New util function, uses alloc traces to check
2989         cleanup.
2990
2991         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2992         To be modified when unlink drops the internal pad.
2993
2994 2005-06-27  Wim Taymans  <wim@fluendo.com>
2995
2996         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2997         (gst_bin_change_state):
2998         Cleanup the get_state() function a little, make sure it
2999         iterates the same set of elements.
3000         Added stub iterate_state_order().
3001
3002 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3003
3004         * docs/gst/gstreamer-docs.sgml:
3005         * docs/gst/gstreamer-sections.txt:
3006         * docs/gst/gstreamer.types:
3007         * docs/gst/tmpl/gstbasesink.sgml:
3008         * docs/gst/tmpl/gstbasesrc.sgml:
3009         * docs/gst/tmpl/gstbasetransform.sgml:
3010         * docs/gst/tmpl/gstelement.sgml:
3011         * docs/gst/tmpl/gstiterator.sgml:
3012         * gst/base/gstbasesrc.c:
3013         * gst/base/gstbasesrc.h:
3014         * gst/base/gstbasetransform.h:
3015         * gst/gstelement.c:
3016         * gst/gstiterator.h:
3017           adding basetransform and iterator docs
3018
3019 2005-06-27  Andy Wingo  <wingo@pobox.com>
3020
3021         * docs/design/part-activation.txt: Notes on how activation should
3022         work -- not quite implemented yet.
3023
3024 2005-06-25  Wim Taymans  <wim@fluendo.com>
3025
3026         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3027         At least get the chain function correct, needs more
3028         fixing.
3029
3030 2005-06-25  Wim Taymans  <wim@fluendo.com>
3031
3032         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3033         (gst_basesink_handle_object), (gst_basesink_event),
3034         (gst_basesink_do_sync), (gst_basesink_handle_event),
3035         (gst_basesink_change_state):
3036         * gst/gsttask.h:
3037         Right, two problems here: ghostpads don't take locks and
3038         glib _rec_mutex_lock_full() with depth==0 still locks.
3039         Catch illegal locking and g_warn them.
3040
3041 2005-06-25  Wim Taymans  <wim@fluendo.com>
3042
3043         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3044         Have to check for completion now...
3045
3046 2005-06-25  Wim Taymans  <wim@fluendo.com>
3047
3048         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3049         (gst_basesink_handle_object), (gst_basesink_event),
3050         (gst_basesink_do_sync), (gst_basesink_handle_event),
3051         (gst_basesink_change_state):
3052         * gst/gstpad.h:
3053         Unlock STREAM_LOCK whatever the recursion was.
3054
3055 2005-06-25  Wim Taymans  <wim@fluendo.com>
3056
3057         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3058         (gst_basesink_preroll_queue_empty),
3059         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3060         (gst_basesink_event), (gst_basesink_do_sync),
3061         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3062         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3063         (gst_basesink_change_state):
3064         Reworked the base sink, handle event and buffer serialisation
3065         correctly and removed possible deadlock.
3066         Handle EOS correctly.
3067
3068 2005-06-25  Wim Taymans  <wim@fluendo.com>
3069
3070         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3071         (gst_pipeline_change_state):
3072         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3073         Allow elements to post EOS in the state change function.
3074         Fix up -launch, make it exit the poll loop when the
3075         pipeline actually changed state.
3076         Fix up warning parsing in -launch.
3077
3078 2005-06-25  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3081         (gst_tee_sink_activate):
3082         Core takes STREAM_LOCK for us now.
3083
3084 2005-06-25  Wim Taymans  <wim@fluendo.com>
3085
3086         * gst/gstelement.c: (gst_element_get_state_func),
3087         (gst_element_set_state):
3088         * gst/gstelement.h:
3089         * gst/gstmessage.c: (gst_message_parse_error),
3090         (gst_message_parse_warning):
3091         Keep track of current target state while performing a state
3092         change so that subclasses can do something interesting.
3093         Fix parsing of warning/error messages when GError is NULL.
3094
3095 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3096
3097         * docs/gst/Makefile.am:
3098         * docs/gst/gstreamer-docs.sgml:
3099         * docs/gst/gstreamer-sections.txt:
3100         * docs/gst/gstreamer.types:
3101         * docs/gst/tmpl/gstbasesink.sgml:
3102         * docs/gst/tmpl/gstbasesrc.sgml:
3103         * docs/gst/tmpl/gstbin.sgml:
3104         * docs/gst/tmpl/gstcompat.sgml:
3105         * docs/gst/tmpl/gstfakesink.sgml:
3106         * docs/gst/tmpl/gstfakesrc.sgml:
3107         * docs/gst/tmpl/gstfilesink.sgml:
3108         * docs/gst/tmpl/gstfilesrc.sgml:
3109         * docs/gst/tmpl/gstindex.sgml:
3110         * docs/manual/appendix-quotes.xml:
3111         * gst/base/gstbasesrc.h:
3112         * gst/elements/gstfakesrc.h:
3113         * gst/gstmessage.h:
3114           start pulling in base classes and elements in our docs
3115
3116 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3117
3118         * docs/gst/Makefile.am:
3119         * docs/libs/Makefile.am:
3120           fixed make distcheck with gtk-doc 1.3
3121
3122 2005-06-23  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstelement.c: (gst_element_get_state_func),
3125         (gst_element_set_state), (gst_element_change_state):
3126         When the state did not change, also report NO_PREROLL
3127         when it matters.
3128
3129 2005-06-23  Wim Taymans  <wim@fluendo.com>
3130
3131         * gst/gstpad.c: (gst_pad_event_default):
3132         * gst/gstqueue.c: (gst_queue_loop):
3133         No unsafe task pausing please.
3134
3135 2005-06-23  Wim Taymans  <wim@fluendo.com>
3136
3137         * gst/schedulers/threadscheduler.c:
3138         (gst_thread_scheduler_task_start),
3139         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3140         Ref the task before pushing it on the threadpool. This
3141         makes sure that we have a ref when the threadfunction is
3142         actually called.
3143
3144 2005-06-23  Andy Wingo  <wingo@pobox.com>
3145
3146         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3147         offset is greater than the file's size.
3148
3149         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3150         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3151         * gst/gstobject.c (gst_object_class_init): Make the class lock
3152         recursive. Wim won't let me drop deep_notify. Decodebin works
3153         again, whoopdy doo.
3154
3155         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3156         internal pad, and hacks accordingly. Doesn't do it on the target
3157         pad because we change its caps. Probably catches all cases of
3158         interest tho.
3159         (gst_ghost_pad_set_property): Connect to notify::caps as
3160         appropritate.
3161
3162         * tests/network-clock.scm (plot-simulation): Pipe data to the
3163         elite python skript.
3164
3165         * tests/network-clock-utils.scm (define-parameter): New macro,
3166         defines a parameter that can be set via the command line.
3167         (set-parameter!, parse-parameter-arguments): Command line args
3168         parser.
3169
3170         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3171         stdin.
3172
3173 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3174
3175         * gst/elements/gsttypefindelement.c:
3176         (gst_type_find_element_handle_event):
3177           Don't restart typefinding on a discont.
3178         * gst/gstelement.c: (gst_element_set_state):
3179           Debug spelling fix.
3180         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3181           Allow changing mode of an active pad.
3182           Debug output fixes.
3183         * gst/registries/gstlibxmlregistry.c: (load_feature):
3184           Don't cast a static pad template to a normal pad template.
3185
3186 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3187
3188         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3189         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3190           remove gst_strtoll completely, since it didn't actually do
3191           anything more than what g_ascii_strtoull already does.
3192           check for range errors when deserializing
3193           do a cast for the unsigned cases; but further fixing needs
3194           a decision on what the interpretation of "(int)" and
3195           deserialization should be for values that fall outside the
3196           type's boundaries (ie, refuse, or interpret as casting)
3197
3198 2005-06-23  Wim Taymans  <wim@fluendo.com>
3199
3200         * check/Makefile.am:
3201         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3202         * docs/design/part-live-source.txt:
3203         * docs/design/part-states.txt:
3204         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3205         (gst_basesrc_set_live), (gst_basesrc_is_live),
3206         (gst_basesrc_get_range), (gst_basesrc_activate),
3207         (gst_basesrc_change_state):
3208         * gst/base/gstbasesrc.h:
3209         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3210         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3211         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3212         * gst/gstelement.c: (gst_element_get_state_func),
3213         (gst_element_set_state):
3214         * gst/gstelement.h:
3215         * gst/gsttypes.h:
3216         * tools/gst-launch.c: (event_loop), (main):
3217         Added support for live sources and other elements that
3218         cannot do preroll.
3219         Updated design docs, added live-source design doc.
3220         Implemented live source functionality in basesrc
3221         Fix error condition in _bin_get_state()
3222         Implement live source handling in -launch.
3223         Added check for live sources.
3224         Fixed case in GstBin where elements were changed state
3225         multiple times.
3226
3227
3228 2005-06-23  Andy Wingo  <wingo@pobox.com>
3229
3230         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3231         borken refcounting.
3232
3233         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3234         gst_caps_replace takes care of this for us.
3235
3236         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3237         gst_pad_set_caps on the target, not just its setcaps() function.
3238
3239         * tests/network-clock.scm: 
3240         * tests/network-clock-utils.scm: A network clock simulator.
3241         Something of an algorithmic testbed before doing something in C.
3242
3243 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3244
3245         * check/Makefile.am:
3246         * check/gst/capslist.h:
3247           copy over from 0.8, and add two with bitmasks specified with
3248           (int) 0xFF...
3249         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3250           add test to parse everything from capslist.h
3251         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3252         (main):
3253           add test for structure deserialization
3254         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3255           add tests for deserialization of strings to int types
3256         * gst/gststructure.c: (gst_structure_nth_field_name):
3257         * gst/gststructure.h:
3258           add a way to get the name of a field referenced by index
3259         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3260           instead of checking if the resulting long long lies between
3261           min and max, we check if the long long would fit into
3262           a number of bytes for the final type.
3263           This fixes cases where a string represents 2^32 - 1, which
3264           when cast to int would be the (valid) -1, but is bigger than
3265           G_MAXINT
3266
3267 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3268
3269         * gst/parse/grammar.y:
3270           add a log line for type deserialization
3271
3272 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3273
3274         * check/gst/gstvalue.c: (START_TEST):
3275         * gst/gstvalue.c: (gst_value_deserialize):
3276           return long long, not int, so gint64 deserialization actually
3277           works.  Is there any flag that makes the compiler check this ?
3278           Fixes #308559
3279
3280 2005-06-22  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/gstbuffer.h:
3283         Added convenience macros for setting buffers in GValue.
3284
3285 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3286
3287         * check/gst/.cvsignore:
3288         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3289           add a test deserializing int64, and comment part out because
3290           it fails, yay !
3291
3292 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3293
3294         * check/Makefile.am:
3295         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3296         * testsuite/Makefile.am:
3297         * testsuite/caps/Makefile.am:
3298         * testsuite/caps/value_serialize.c:
3299         * testsuite/test_gst_init.c:
3300           move a value_serialize test over
3301
3302 2005-06-20  Wim Taymans  <wim@fluendo.com>
3303
3304         * gst/gstpad.c:
3305         Small doc updates.
3306         
3307         * gst/gstvalue.c: (gst_value_compare_buffer),
3308         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3309         (gst_value_compare_flags), (gst_value_serialize_flags),
3310         (gst_value_deserialize_flags), (_gst_value_initialize):
3311         Fix serialisation of buffers, they are not boxed types anymore
3312
3313 2005-06-20  Wim Taymans  <wim@fluendo.com>
3314
3315         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3316         Testcase to show error in buffer-on-caps serialisation.
3317
3318 2005-06-20  Andy Wingo  <wingo@pobox.com>
3319
3320         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3321         will be adding to later.
3322
3323         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3324         if its socks fill with rocks.
3325         (gst_system_clock_obtain): Set the name on object construction.
3326         Avoid double-checked locking.
3327
3328 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * gst/gsturi.c: (gst_element_make_from_uri):
3331           Fix potential endless loop.
3332
3333 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3334
3335         * check/Makefile.am:
3336           add gsttag
3337         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3338         (main):
3339           move over from testsuite dir and clean up
3340         * configure.ac:
3341         * gst/gsttag.c:
3342         * testsuite/Makefile.am:
3343         * testsuite/tags/.cvsignore:
3344         * testsuite/tags/Makefile.am:
3345         * testsuite/tags/merge.c:
3346           remove testsuite/tags
3347
3348 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3349
3350         * docs/gst/gstreamer-sections.txt:
3351         * docs/gst/tmpl/gstenumtypes.sgml:
3352         * win32/gstenumtypes.c:
3353           clean up documentation build a little
3354
3355 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3356
3357         * check/gstcheck.h:
3358           add macros for checking refcounts on objects and caps
3359         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3360           add some more unit tests
3361         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3362         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3363           fix leaked refcounts (I hope :)) so unittest works
3364         * gst/gstpad.h:
3365           whitespace removal
3366
3367 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3368
3369         * configure.ac: back to HEAD
3370
3371 === release 0.9.1 ===
3372
3373 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3374
3375         * NEWS:
3376         * RELEASE:
3377           updated
3378
3379 2005-06-17  Andy Wingo  <wingo@pobox.com>
3380
3381         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3382         assert; it's always possible that the pad gets deactivated in
3383         between the checks in gstpad.c and the implementation. Rely on
3384         finish_preroll() to return a FLUSHING or similar instead of on the
3385         assert.
3386         
3387         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3388         clock and post an EOS message if we come out of finish_preroll in
3389         the playing state.
3390
3391 2005-06-16  David Schleef  <ds@schleef.org>
3392
3393         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3394         (gst_capsfilter_set_property): Allow NULL as possible value
3395         for filter_caps property, indicating GST_CAPS_ANY.
3396
3397 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3398
3399         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3400           fix debug output
3401         * gst/schedulers/Makefile.am:
3402           use libgst prefix
3403         * gstreamer.spec.in:
3404           fix spec for it
3405
3406 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3407
3408         * gstreamer.spec.in:
3409           clean up
3410
3411 2005-06-08  Andy Wingo  <wingo@pobox.com>
3412
3413         * gst/gstutils.c: RPAD fixes all around.
3414         (gst_element_link_pads): Refcounting fixes.
3415
3416         * tools/gst-inspect.c:
3417         * tools/gst-xmlinspect.c:
3418         * parse/grammar.y:
3419         * gst/base/gsttypefindhelper.c:
3420         * gst/base/gstbasesink.c:
3421         * gst/gstqueue.c: RPAD fixes.
3422
3423         * gst/gstghostpad.h:
3424         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3425         pads. The tricky thing is they provide both source and sink
3426         interfaces, since they proxy the internal pad for the external
3427         pad, and vice versa. Implement with lower-level ProxyPad objects,
3428         with the interior proxy pad as a child of the exterior ghost pad.
3429         Should write a doc on this.
3430         
3431         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3432         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3433         gst_object API.
3434         
3435         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3436         pads are real pads. No ghost pads in this file. Not documenting
3437         the myriad s/RPAD/PAD/ and REALIZE fixes.
3438         (gst_pad_class_init): Add properties for "direction" and
3439         "template". Both are construct-only, so they can't change during
3440         the life of the pad. Fixes properly deriving from GstPad.
3441         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3442         derived objects, just set properties when creating the objects via
3443         g_object_new.
3444         (gst_pad_get_parent): Implement as a function, return NULL if the
3445         parent is not an element.
3446         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3447         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3448         
3449         * gst/gstobject.c (gst_object_class_init): Make name a construct
3450         property. Don't set it in the object init.
3451
3452         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3453         with UNKNOWN direction.
3454         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3455         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3456         (gst_element_remove_pad): Remove ghost-pad special cases.
3457         (gst_element_pads_activate): Remove rpad cruft.
3458
3459         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3460         catch the pad's-parent-not-an-element case.
3461
3462         * gst/gst.h: Include gstghostpad.h.
3463
3464         * gst/gst.c (init_post): No more real, ghost pads.
3465
3466         * gst/Makefile.am: Add gstghostpad.[ch].
3467
3468         * check/Makefile.am:
3469         * check/gst/gstbin.c:
3470         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3471         into a bin creates ghost pads, and that the refcounts are right.
3472         Partly moved from gstbin.c.
3473
3474 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3475
3476         * check/gst-libs/.cvsignore:
3477         * check/gst/.cvsignore:
3478         * check/pipelines/.cvsignore:
3479           ignore more
3480         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3481         (START_TEST), (cleanup_suite), (main):
3482           add some tests related to cleanup after running pipelines
3483
3484 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3485
3486         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3487           add a testsuite for GstBuffer
3488
3489 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3490
3491         * gst/gstminiobject.h:
3492           add defines for accessing the refcount
3493
3494 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3495
3496         * Makefile.am: added support for html unit test coverage reports
3497
3498 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3499
3500         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3501           Free existing caps if the capsfilter changes. Add a FIXME about
3502           setting those caps on the pads.
3503
3504         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3505           Before adding a ghost pad to a parent bin, check that there isn't
3506           already one for the element on the bin. Prevents infinite recursion
3507           when using decodebin in parse pipelines. Andy says he'll rewrite the
3508           way this works anyway, so ignore the hack.
3509
3510 2005-06-02  Andy Wingo  <wingo@pobox.com>
3511
3512         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3513         file size, pass it on to the type find helper.
3514
3515         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3516         segment_start and segment_end properly according to the seek
3517         method. Segment_end is still a bit flaky because offset can be
3518         negative for CUR and END cases, but it takes -1 as an "unset"
3519         value.
3520
3521 2005-06-02  Wim Taymans  <wim@fluendo.com>
3522
3523         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3524         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3525         (gst_basesink_activate):
3526         * gst/base/gstbasesink.h:
3527         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3528         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3529         (gst_pad_query), (gst_pad_start_task):
3530         * gst/gstpad.h:
3531         * gst/gstqueue.c: (gst_queue_bufferalloc),
3532         (gst_queue_handle_sink_event), (gst_queue_chain):
3533         Bufferalloc: return GstFlowReturn to more accuratly report
3534         why allocation failed.
3535
3536 2005-06-02  Wim Taymans  <wim@fluendo.com>
3537
3538         * gst/gstpipeline.c: (gst_pipeline_send_event):
3539         Take snapshot of state without blocking.
3540
3541 2005-06-02  Wim Taymans  <wim@fluendo.com>
3542
3543         * docs/design/part-TODO.txt:
3544         * docs/design/part-caps.txt:
3545         * docs/design/part-clocks.txt:
3546         * docs/design/part-negotiation.txt:
3547         * docs/design/part-preroll.txt:
3548         Small doc updates 
3549
3550 2005-05-30  Wim Taymans  <wim@fluendo.com>
3551
3552         * gst/elements/gstidentity.c: (gst_identity_event),
3553         (gst_identity_transform), (gst_identity_get_property):
3554         Protect last_message property as it is accessed from
3555         multiple threads.
3556
3557 2005-05-30  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/gstelement.c: (gst_element_init),
3560         (gst_element_pads_activate), (gst_element_change_state):
3561         Slicker pad activation code.
3562
3563 2005-05-30  Wim Taymans  <wim@fluendo.com>
3564
3565         * gst/Makefile.am:
3566         * gst/gstelement.h:
3567         * gst/gstelementfactory.h:
3568         * gst/gsttypes.h:
3569         Move elementfactory methods to separate .h file.
3570
3571 2005-05-30  Wim Taymans  <wim@fluendo.com>
3572
3573         * docs/design/part-overview.txt:
3574         * gst/gstsystemclock.h:
3575         Small typo fixes, doc updates.
3576
3577 2005-05-30  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3580         (init_popt_callback):
3581         Remove cpu-opt flag.
3582
3583 2005-05-30  Wim Taymans  <wim@fluendo.com>
3584
3585         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3586         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3587         * gst/gstbuffer.h:
3588         Avoid typechecking in places where not needed.
3589         Added accessor for malloc_data.
3590
3591 2005-05-30  Wim Taymans  <wim@fluendo.com>
3592
3593         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3594         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3595         (gst_pad_configure_sink), (gst_pad_configure_src),
3596         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3597         (gst_pad_start_task):
3598         Propagate errors from _set_caps() in configure_src/sink
3599         functions instead of returning TRUE.
3600         FLUSH events can travel up and downstream
3601
3602
3603 2005-05-30  Wim Taymans  <wim@fluendo.com>
3604
3605         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3606         (gst_basesink_activate):
3607         Handle EOS in preroll.
3608
3609 2005-05-30  Wim Taymans  <wim@fluendo.com>
3610
3611         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3612         (gst_queue_loop), (gst_queue_handle_src_event):
3613         Remove old pieces of code
3614         Flushing the queue in an upstream event is a very bad idea.
3615
3616 2005-05-26  Andy Wingo  <wingo@pobox.com>
3617
3618         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3619         gst_value_set_mini_object so as to add a ref on the object (which
3620         will be removed when the value is unset).
3621
3622         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3623         arg type in ::handoff.
3624
3625         * gst/gstelement.c (gst_element_change_state): Also deactivate
3626         pads in READY->NULL, just in case the element didn't make it to
3627         PAUSED. Wingo tested, Wim approved.
3628
3629 2005-05-26  Wim Taymans  <wim@fluendo.com>
3630
3631         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3632         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3633         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3634         A flushing pad cannot be used to alloc_buffer from.
3635
3636 2005-05-26  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3639         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3640         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3641         (gst_bus_create_watch), (gst_bus_add_watch_full):
3642         * gst/gstbus.h:
3643         Implement a real GSource and use g_main_context_wakeup() to
3644         signal new messages instead of the socketpair.
3645
3646 2005-05-25  Wim Taymans  <wim@fluendo.com>
3647
3648         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3649         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3650         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3651         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3652         (gst_pad_send_event), (gst_pad_start_task):
3653         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3654         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3655         (gst_queue_sink_activate), (gst_queue_src_activate),
3656         (gst_queue_change_state):
3657         * gst/gstqueue.h:
3658         Fix state changes for non sinks. We now change sinks, then elements
3659         with unconnected srcpads, then the rest.
3660         More efficient queue unlocking in flush and state changes.
3661         Set the pad activate mode even if it does not have an activate
3662         function.
3663
3664 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3665
3666         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3667           Don't go in pull mode for non-seekable sources.
3668         * gst/elements/gsttypefindelement.h:
3669         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3670         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3671         (free_entry), (stop_typefinding),
3672         (gst_type_find_element_handle_event), (find_peek),
3673         (gst_type_find_element_chain), (do_pull_typefind),
3674         (gst_type_find_element_change_state):
3675           Allow typefinding (w/o seeking) in push-mode, simplified version
3676           of what was in 0.8.
3677         * gst/gstutils.c: (gst_buffer_join):
3678         * gst/gstutils.h:
3679           gst_buffer_join() from 0.8.
3680
3681 2005-05-25  Wim Taymans  <wim@fluendo.com>
3682
3683         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3684         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3685         (gst_pad_send_event), (gst_pad_start_task):
3686         Disable attempt at mode switching until it is figured out.
3687
3688 2005-05-25  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3691         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3692         (gst_basesink_finish_preroll), (gst_basesink_chain),
3693         (gst_basesink_loop), (gst_basesink_activate),
3694         (gst_basesink_change_state):
3695         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3696         (gst_basesrc_get_range), (gst_basesrc_loop),
3697         (gst_basesrc_activate):
3698         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3699         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3700         (gst_real_pad_init), (gst_real_pad_set_property),
3701         (gst_real_pad_get_property), (gst_pad_set_active),
3702         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3703         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3704         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3705         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3706         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3707         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3708         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3709         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3710         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3711         (gst_pad_stop_task):
3712         * gst/gstpad.h:
3713         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3714         (gst_queue_loop), (gst_queue_src_activate):
3715         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3716         (gst_task_get_state):
3717         * gst/gsttask.h:
3718         * gst/schedulers/threadscheduler.c:
3719         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3720         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3721         in task function.
3722         Remove ACTIVE pad flag, use FLUSHING everywhere
3723         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3724         functions.
3725         Add locks around IS_FLUSHING when reading.
3726         Take STREAM lock in chain(), get_range() functions so plugins
3727         don't need to take it anymore.
3728         
3729
3730
3731 2005-05-25  Wim Taymans  <wim@fluendo.com>
3732
3733         * tools/gst-launch.c: (event_loop):
3734         Unref message after using its contents instead of
3735         before.
3736
3737 2005-05-24  Wim Taymans  <wim@fluendo.com>
3738
3739         * docs/design/draft-ghostpads.txt:
3740         * docs/design/draft-push-pull.txt:
3741         * docs/design/draft-query.txt:
3742         * docs/design/part-overview.txt:
3743         Docs updates, added general overview doc.
3744
3745 2005-05-21  David Schleef  <ds@schleef.org>
3746
3747         * docs/gst/tmpl/old/GstBin.sgml:
3748         * docs/gst/tmpl/old/GstBuffer.sgml:
3749         * docs/gst/tmpl/old/GstCaps.sgml:
3750         * docs/gst/tmpl/old/GstClock.sgml:
3751         * docs/gst/tmpl/old/GstCompat.sgml:
3752         * docs/gst/tmpl/old/GstData.sgml:
3753         * docs/gst/tmpl/old/GstElement.sgml:
3754         * docs/gst/tmpl/old/GstEvent.sgml:
3755         * docs/gst/tmpl/old/GstIndex.sgml:
3756         * docs/gst/tmpl/old/GstStructure.sgml:
3757         * docs/gst/tmpl/old/GstTag.sgml:
3758         * docs/gst/tmpl/old/cothreads.sgml:
3759         * docs/gst/tmpl/old/cothreads_compat.sgml:
3760         * docs/gst/tmpl/old/gettext.sgml:
3761         * docs/gst/tmpl/old/gobject2gtk.sgml:
3762         * docs/gst/tmpl/old/grammar.tab.sgml:
3763         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3764         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3765         * docs/gst/tmpl/old/gst_private.sgml:
3766         * docs/gst/tmpl/old/gstaggregator.sgml:
3767         * docs/gst/tmpl/old/gstarch.sgml:
3768         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3769         * docs/gst/tmpl/old/gstbufferstore.sgml:
3770         * docs/gst/tmpl/old/gstdata_private.sgml:
3771         * docs/gst/tmpl/old/gstdisksink.sgml:
3772         * docs/gst/tmpl/old/gstdisksrc.sgml:
3773         * docs/gst/tmpl/old/gstelementfactory.sgml:
3774         * docs/gst/tmpl/old/gstextratypes.sgml:
3775         * docs/gst/tmpl/old/gstfakesink.sgml:
3776         * docs/gst/tmpl/old/gstfakesrc.sgml:
3777         * docs/gst/tmpl/old/gstfdsink.sgml:
3778         * docs/gst/tmpl/old/gstfdsrc.sgml:
3779         * docs/gst/tmpl/old/gstfilesink.sgml:
3780         * docs/gst/tmpl/old/gstfilesrc.sgml:
3781         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3782         * docs/gst/tmpl/old/gstidentity.sgml:
3783         * docs/gst/tmpl/old/gstindexfactory.sgml:
3784         * docs/gst/tmpl/old/gstmarshal.sgml:
3785         * docs/gst/tmpl/old/gstmd5sink.sgml:
3786         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3787         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3788         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3789         * docs/gst/tmpl/old/gstpipefilter.sgml:
3790         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3791         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3792         * docs/gst/tmpl/old/gstshaper.sgml:
3793         * docs/gst/tmpl/old/gstspider.sgml:
3794         * docs/gst/tmpl/old/gstspideridentity.sgml:
3795         * docs/gst/tmpl/old/gststatistics.sgml:
3796         * docs/gst/tmpl/old/gsttee.sgml:
3797         * docs/gst/tmpl/old/gsttimecache.sgml:
3798         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3799         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3800         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3801         * docs/gst/tmpl/old/types.sgml:
3802           I didn't intend to add these or check them in.
3803
3804 2005-05-19  David Schleef  <ds@schleef.org>
3805
3806         * configure.ac: Use -no-common everywhere.  In a sane world, it
3807           would be the default in libtool, because without it, you can't
3808           build DLLs on Windows.
3809         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3810         * docs/gst/gstreamer-sections.txt:
3811         * docs/gst/tmpl/gstcpu.sgml:
3812         * docs/gst/tmpl/gstdata.sgml:
3813         * docs/gst/tmpl/gstthread.sgml:
3814
3815 2005-05-19  David Schleef  <ds@schleef.org>
3816
3817         * gst/gstminiobject.c: (gst_value_set_mini_object),
3818         (gst_value_take_mini_object), (gst_value_get_mini_object):
3819         * gst/gstminiobject.h: Add GValue set/get functions.
3820
3821 2005-05-19  Wim Taymans  <wim@fluendo.com>
3822
3823         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3824         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3825         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3826         * gst/gstbuffer.h:
3827         * gst/gstbus.c: (gst_bus_post):
3828         * gst/gstelement.c: (gst_element_get_random_pad):
3829         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3830         Make subbufer unref the parent in finalize.
3831         some more debugging info.
3832
3833
3834 2005-05-19  Wim Taymans  <wim@fluendo.com>
3835
3836         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3837         (gst_basesink_init), (gst_basesink_finalize),
3838         (gst_basesink_activate), (gst_basesink_change_state):
3839         Don't free preroll queue too early.
3840
3841 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3842
3843         * gst/Makefile.am:
3844         * gst/ROADMAP:
3845           Hi, I'm outdated. Please shoot me.
3846
3847 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3848
3849         * gst/gstpipeline.c: (gst_pipeline_send_event):
3850           Do not access variables after they have been deleted.
3851
3852 2005-05-19  Wim Taymans  <wim@fluendo.com>
3853
3854         * tools/gst-inspect.c: (print_plugin_features):
3855         A plugin feature does unfortunatly not use the
3856         object name yet...
3857
3858 2005-05-18  Wim Taymans  <wim@fluendo.com>
3859
3860         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3861         Port _span() functions to new subbuffers.
3862
3863 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3864
3865         * gst/gstbin.c: (gst_bin_add_func):
3866           Fix clock settery in bins when adding kids after the clock has
3867           been selected.
3868
3869 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3870
3871         * gst/elements/gstidentity.c: (gst_identity_class_init):
3872           Workaround until signals support GstMiniObject.
3873
3874 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3875
3876         * gst/gstbuffer.c:
3877         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3878
3879 2005-05-18  Wim Taymans  <wim@fluendo.com>
3880
3881         * gst/base/Makefile.am:
3882         * gst/base/gstadapter.c: (gst_adapter_base_init),
3883         (gst_adapter_class_init), (gst_adapter_init),
3884         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3885         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3886         (gst_adapter_flush), (gst_adapter_available),
3887         (gst_adapter_available_fast):
3888         * gst/base/gstadapter.h:
3889         Ported and added adapter to the base classes.
3890
3891 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3892
3893         * gst/gst.c:
3894         * gst/gstmessage.c:
3895           Make sure the class is reffed/unreffed once before threads can be
3896           used.  Fixes #304551.
3897
3898 2005-05-17  Wim Taymans  <wim@fluendo.com>
3899
3900         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3901         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3902         * gst/gstminiobject.c: (gst_mini_object_get_type),
3903         (gst_mini_object_free):
3904         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3905         (gst_pad_push), (gst_pad_push_event):
3906         * gst/gstqueue.c: (gst_queue_change_state):
3907         Don't queue buffers in basesink when we are flushing.
3908         Unref buffer when flushing in basesink.
3909         Flush queue when going to READY
3910         Unref buffer when _push() returns an error.
3911         Don't free MiniObject instance when refcount is incremented
3912         in _finalize() so that we can recover objects.
3913
3914 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3915
3916         * docs/manual/advanced-schedulers.xml:
3917         * docs/manual/appendix-checklist.xml:
3918         * docs/pwg/advanced-clock.xml:
3919         * docs/pwg/advanced-interfaces.xml:
3920         * docs/pwg/advanced-request.xml:
3921         * docs/pwg/advanced-types.xml:
3922         * docs/pwg/intro-preface.xml:
3923         * examples/plugins/example.c: (gst_example_get_type),
3924         (gst_example_class_init), (gst_example_chain),
3925         (gst_example_set_property), (gst_example_get_property),
3926         (gst_example_change_state), (plugin_init):
3927         * examples/plugins/example.h:
3928           small doc fixes
3929
3930 2005-05-17  Wim Taymans  <wim@fluendo.com>
3931
3932         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3933         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3934         * gst/gstqueue.c: (gst_queue_change_state):
3935         Clear queue when going to READY.
3936         Remove IN_SETCAPS flag too.
3937
3938 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3939
3940         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3941           Remove implicit cast from gboolean to GstElementStateReturn;
3942           make sure we still return failure in paused => ready case if
3943           the parent class fails to change state and our own stop 
3944           vfunc succeeds.
3945
3946 2005-05-17  Wim Taymans  <wim@fluendo.com>
3947
3948         * tools/gst-launch.c: (event_loop):
3949         Message was unreffed too soon.
3950
3951 2005-05-16  Andy Wingo  <wingo@pobox.com>
3952
3953         * gst/gstbin.c (sink_iterator_filter): Err... um...
3954
3955         * check/gst/gstbin.c (test_ghost_pads): New test for the
3956         ghosting-if-elements-not-in-same-bin behavior.
3957
3958 2005-05-16  David Schleef  <ds@schleef.org>
3959
3960         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3961         accessing refcount directly.
3962
3963 2005-05-15  David Schleef  <ds@schleef.org>
3964
3965         * check/Makefile.am: remove GstData checks
3966         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3967         * gst/Makefile.am: add miniobject, remove data
3968         * gst/gst.h: add miniobject, remove data
3969         * gst/gstdata.c: remove
3970         * gst/gstdata.h: remove
3971         * gst/gstdata_private.h: remove
3972         * gst/gsttypes.h: remove GstEvent and GstMessage
3973         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3974         * gst/gstmarshal.list: change BOXED -> OBJECT
3975
3976         Implement GstMiniObject.
3977         * gst/gstminiobject.c:
3978         * gst/gstminiobject.h:
3979
3980         Modify to be subclasses of GstMiniObject.
3981         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3982         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3983         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3984         (gst_subbuffer_get_type), (gst_subbuffer_init),
3985         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3986         (gst_buffer_span):
3987         * gst/gstbuffer.h:
3988         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3989         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3990         (_gst_event_copy), (gst_event_new):
3991         * gst/gstevent.h:
3992         * gst/gstmessage.c: (_gst_message_initialize),
3993         (gst_message_get_type), (gst_message_class_init),
3994         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3995         (gst_message_new), (gst_message_new_error),
3996         (gst_message_new_warning), (gst_message_new_tag),
3997         (gst_message_new_state_changed), (gst_message_new_application):
3998         * gst/gstmessage.h:
3999         * gst/gstprobe.c: (gst_probe_perform),
4000         (gst_probe_dispatcher_dispatch):
4001         * gst/gstprobe.h:
4002         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4003         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4004         (_gst_query_copy), (gst_query_new):
4005
4006         Update elements for GstData -> GstMiniObject changes
4007         * gst/gstquery.h:
4008         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4009         (gst_queue_chain), (gst_queue_loop):
4010         * gst/elements/gstbufferstore.c:
4011         (gst_buffer_store_add_buffer_func),
4012         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4013         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4014         (gst_fakesink_render):
4015         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4016         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4017         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4018         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4019         (gst_filesrc_create_read):
4020         * gst/elements/gstidentity.c: (gst_identity_class_init):
4021         * gst/elements/gsttypefindelement.c:
4022         (gst_type_find_element_src_event), (free_entry_buffers),
4023         (gst_type_find_element_handle_event):
4024         * libs/gst/dataprotocol/dataprotocol.c:
4025         (gst_dp_header_from_buffer):
4026         * libs/gst/dataprotocol/dataprotocol.h:
4027         * libs/gst/dataprotocol/dp-private.h:
4028
4029 2005-05-15  David Schleef  <ds@schleef.org>
4030
4031         * gst/elements/gstelements.c: Don't include headers that were
4032         just removed.
4033
4034 2005-05-15  David Schleef  <ds@schleef.org>
4035
4036         * gst/elements/Makefile.am: Remove some elements that don't
4037         need to be in the core (or even exist at all).
4038         * gst/elements/gstaggregator.c:
4039         * gst/elements/gstaggregator.h:
4040         * gst/elements/gstmd5sink.c:
4041         * gst/elements/gstmd5sink.h:
4042         * gst/elements/gstmultifilesrc.c:
4043         * gst/elements/gstmultifilesrc.h:
4044         * gst/elements/gstpipefilter.c:
4045         * gst/elements/gstpipefilter.h:
4046         * gst/elements/gstshaper.c:
4047         * gst/elements/gstshaper.h:
4048         * gst/elements/gststatistics.c:
4049         * gst/elements/gststatistics.h:
4050         * po/POTFILES.in: Remove above files.
4051
4052 2005-05-14  Andy Wingo  <wingo@pobox.com>
4053
4054         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4055         so as to get the refs right.
4056         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4057         unreffing objects that don't pass the filter.
4058
4059         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4060         gst_element_set_bus.
4061         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4062         normal cases, this will destroy the bus.
4063
4064         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4065         object.
4066
4067         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4068         has no sinks.
4069
4070 2005-05-13  Andy Wingo  <wingo@pobox.com>
4071
4072         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4073         gst_pad_link, call pad_link_maybe_ghosting,
4074         (pad_link_maybe_ghosting): Links pads, making sure that the
4075         elements being linked are in the same bin.
4076         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4077         Helpers for pad_link_maybe_ghosting.
4078
4079 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4080
4081         * configure.ac:
4082           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4083
4084 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4085
4086         * docs/design/part-element-source.txt:
4087           Mention GstPushSrc
4088
4089 2005-05-12  Wim Taymans  <wim@fluendo.com>
4090
4091         * gst/base/gstbasesink.c: (gst_basesink_init),
4092         (gst_basesink_activate):
4093         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4094         (gst_basesrc_is_seekable):
4095         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4096         (bin_element_is_sink), (gst_bin_change_state):
4097         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4098         * gst/gstelement.h:
4099         Identify sinks by their flag to avoid overly complicated
4100         checks (fow now).
4101         Do state changes even for elements not reachable from the
4102         sinks.
4103         BaseSink is a sink now :)
4104         Some more debugging info in the basesrc.
4105
4106
4107 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4108
4109         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4110           Implement _query on a bin, similar to _send_event.
4111
4112 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
4113
4114         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4115           Discont event offset format should be GST_FORMAT_BYTES,
4116           not GST_FORMAT_TIME.
4117
4118 2005-05-12  Wim Taymans  <wim@fluendo.com>
4119
4120         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4121         Same fix as Ronald's but without the signal. 
4122
4123 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4124
4125         * gst/gstutils.c: (gst_element_query_position):
4126           No, an element is not a pad.
4127
4128 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4129
4130         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4131         (gst_bin_get_state):
4132           If a child is removed from a bin while we remove the child from
4133           the bin and while we're retrieving its state, signal this to the
4134           get_state function so we abort the wait (instead of waiting for
4135           a timeout) and can immediately re-iterate over all other elements.
4136
4137 2005-05-12  Wim Taymans  <wim@fluendo.com>
4138
4139         * gst/base/Makefile.am:
4140         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4141         (gst_basesrc_start):
4142         * gst/base/gstbasesrc.h:
4143         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4144         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4145         (gst_pushsrc_init), (gst_pushsrc_create):
4146         * gst/base/gstpushsrc.h:
4147         Added is_seekable to BaseSrc
4148         Added simple PushSrc.
4149
4150 2005-05-11  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4153         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4154         (gst_element_link_pads), (gst_element_query_position),
4155         (gst_element_query_convert), (intersect_caps_func),
4156         (gst_pad_query_position), (gst_pad_query_convert):
4157         Fix refcounting in utils function.
4158         No point in trying to activate a pad when it's added, it could
4159         be added from the state change function and then we deadlock, the
4160         element has to decide what to do.
4161
4162 2005-05-10  Andy Wingo  <wingo@pobox.com>
4163
4164         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4165         *all* the arguments.
4166
4167         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4168         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4169         lock (according to the docs -- if this is wrong change the docs).
4170
4171         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4172         flush messages in the NULL state.
4173
4174         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4175         message immediately and return.
4176         (gst_bus_set_flushing): New function. If a bus is flushing, it
4177         flushes out any queued messages and immediately unrefs new
4178         messages. This is so when an element goes to NULL, all of the
4179         unhandled messages coming from it can be freed, and their
4180         references to the element dropped. In other words: message source
4181         ref considered harmful :P
4182
4183         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4184         we're finished with it.
4185
4186         * gst/gstmessage.c (gst_message_new_state_changed): 
4187
4188 2005-05-10  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/gstvalue.c: (gst_value_compare_flags),
4191         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4192         (_gst_value_initialize):
4193         Added flags serialize/deserialize/compare code.
4194
4195 2005-05-09  Andy Wingo  <wingo@pobox.com>
4196
4197         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4198         Intersect the peer's caps with our caps.
4199
4200 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4201
4202         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4203         * gst/elements/gsttypefindelement.c: (find_peek):
4204           Handle negative offsets better. Fixes decodebin.
4205
4206 2005-05-09  Wim Taymans  <wim@fluendo.com>
4207
4208         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4209         (gst_base_transform_event):
4210         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4211         Implement accept_caps.
4212         Fix silly lock/unlock mismatch in base class.
4213
4214 2005-05-09  Wim Taymans  <wim@fluendo.com>
4215
4216         * docs/design/draft-push-pull.txt:
4217         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4218         * gst/elements/gstfilesink.c: (gst_filesink_init),
4219         (gst_filesink_query):
4220         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4221         (gst_type_find_handle_src_query), (find_element_get_length):
4222         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4223         * gst/gstelement.h:
4224         * gst/gstmessage.c:
4225         * gst/gstmessage.h:
4226         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4227         (gst_real_pad_get_caps_unlocked),
4228         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4229         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4230         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4231         (gst_real_pad_dispose), (gst_real_pad_finalize),
4232         (gst_pad_load_and_link), (gst_pad_save_thyself),
4233         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4234         (gst_pad_check_pull_range), (gst_pad_pull_range),
4235         (gst_pad_template_get_type), (gst_pad_template_class_init),
4236         (gst_pad_template_init), (gst_pad_template_dispose),
4237         (name_is_valid), (gst_static_pad_template_get),
4238         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4239         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4240         (gst_pad_get_element_private), (gst_pad_start_task),
4241         (gst_pad_pause_task), (gst_pad_stop_task),
4242         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4243         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4244         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4245         (gst_ghost_pad_new):
4246         * gst/gstpad.h:
4247         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4248         (gst_query_new_position), (gst_query_set_position),
4249         (gst_query_parse_position), (gst_query_new_convert),
4250         (gst_query_set_convert), (gst_query_parse_convert):
4251         * gst/gstquery.h:
4252         * gst/gstqueryutils.c:
4253         * gst/gstqueryutils.h:
4254         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4255         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4256         (gst_queue_handle_src_query):
4257         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4258         (gst_element_query_position), (gst_element_query_convert),
4259         (intersect_caps_func), (gst_pad_query_position),
4260         (gst_pad_query_convert):
4261         * gst/gstutils.h:
4262         * tools/gst-inspect.c: (print_pad_info):
4263         * tools/gst-xmlinspect.c: (print_element_info):
4264         Remove old query functions. Ported old code.
4265         Added position/convert helper functions to gstutils.
4266         Reordered gstpad.c code, grouping relevant things.
4267         Remove gst_message_new(), always need to speficy a specific
4268         message.
4269
4270
4271 2005-05-09  Andy Wingo  <wingo@pobox.com>
4272
4273         * gst/gstiterator.h: Add some includes.
4274
4275         * gst/gstqueryutils.h: Include more headers.
4276
4277         * gst/gstpad.h:
4278         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4279         some uses of gst_pad_query.
4280
4281         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4282         NULL out parameters.
4283         (gst_query_new_position): New proc, allocates a new position
4284         query.
4285
4286         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4287         gstqueryutils.c to the build.
4288
4289         * gst/gststructure.c (gst_structure_set_valist): Implement with
4290         the generic G_VALUE_COLLECT.
4291         
4292 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4293
4294         * gst/Makefile.am: (gst_headers):
4295         Added gstqueryutils.h to the list of headers to install, that was
4296         a 'nachty' move wingo :)
4297
4298 2005-05-06  Andy Wingo  <wingo@pobox.com>
4299
4300         * gst/gstquery.h
4301         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4302         GstData, init a memchunk.
4303         (standard_definitions): Add a few query types, deprecate a few.
4304         (gst_query_get_type): New proc.
4305         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4306         implementation.
4307         (gst_query_new_application, gst_query_get_structure): New public
4308         procs.
4309
4310         * docs/design/draft-query.txt: Removed LINKS from the query types,
4311         because all the rest can be dispatched to other pads -- seemed
4312         ugly to have a query that couldn't be dispatched. internal_links
4313         is fine as a pad method.
4314
4315         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4316         in gstpad.c, but maintain binary compatibility for the moment.
4317         Will fix before 0.9 is out.
4318
4319         * gst/gstqueryutils.c: 
4320         * gst/gstqueryutils.h: New files, implement 3 methods for each
4321         query type: parse_query, parse_response, and set. Probably need an
4322         allocator as well.
4323
4324         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4325
4326         * gst/elements/gstfilesink.c (gst_filesink_query2):
4327         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4328         query_types, and formats methods.
4329
4330         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4331         (gst_pad_set_query2_function): New functions.
4332         (gst_real_pad_init): Set query2_default as the default query2
4333         function. Basically just dispatches to internally linked pads.
4334
4335         Needs review!
4336         
4337         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4338         without using the atomic operations. Only one thread can possibly
4339         be accessing the data at this point. Changed so as to avoid
4340         gst_atomic operations.
4341
4342 2005-05-06  Wim Taymans  <wim@fluendo.com>
4343
4344         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4345         Also set caps if we use the fallback buffer alloc.
4346
4347 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4348
4349         * docs/gst/Makefile.am:
4350         * docs/gst/gstreamer-docs.sgml:
4351         * docs/gst/gstreamer-sections.txt:
4352         * docs/gst/tmpl/gstatomic.sgml:
4353         * docs/gst/tmpl/gstmemchunk.sgml:
4354         * testsuite/elements/struct_i386.h:
4355         * win32/GStreamer.vcproj:
4356         * win32/Makefile:
4357           Purge GstAtomic stuff from docs and win32 makefiles as well
4358
4359 2005-05-06  Wim Taymans  <wim@fluendo.com>
4360
4361         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4362         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4363         * gst/gstpad.c: (gst_pad_peer_get_caps):
4364         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4365         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4366         (gst_queue_src_activate), (gst_queue_change_state):
4367         * gst/gstqueue.h:
4368         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4369         (intersect_caps_func):
4370         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4371         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4372         Some fixes for the peer_get_caps() change.
4373
4374 2005-05-06  Wim Taymans  <wim@fluendo.com>
4375
4376         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4377         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4378         (gst_basesink_activate):
4379         Actually do something with error codes returned from the push
4380         functions.
4381
4382 2005-05-06  Wim Taymans  <wim@fluendo.com>
4383
4384         * docs/design/part-element-sink.txt:
4385         * docs/design/part-element-source.txt:
4386         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4387         (gst_basesink_event), (gst_basesink_activate):
4388         * gst/base/gstbasesink.h:
4389         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4390         (gst_basesrc_activate):
4391         * gst/base/gstbasesrc.h:
4392         * gst/gstelement.c: (gst_element_pads_activate):
4393         Some more documentation.
4394         Fixed scheduling decision in _pads_activate().
4395
4396 2005-05-05  Andy Wingo  <wingo@pobox.com>
4397
4398         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4399         the test suite.
4400
4401 2005-05-05  Wim Taymans  <wim@fluendo.com>
4402
4403         * gst/base/Makefile.am:
4404         * gst/base/gstbasesink.h:
4405         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4406         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4407         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4408         (gst_collectpads_class_init), (gst_collectpads_init),
4409         (gst_collectpads_finalize), (gst_collectpads_new),
4410         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4411         (find_pad), (gst_collectpads_remove_pad),
4412         (gst_collectpads_is_active), (gst_collectpads_collect),
4413         (gst_collectpads_collect_range), (gst_collectpads_start),
4414         (gst_collectpads_stop), (gst_collectpads_peek),
4415         (gst_collectpads_pop), (gst_collectpads_available),
4416         (gst_collectpads_read), (gst_collectpads_flush),
4417         (gst_collectpads_chain):
4418         * gst/base/gstcollectpads.h:
4419         * gst/elements/Makefile.am:
4420         * gst/elements/gstelements.c:
4421         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4422         (gst_fakesink_get_times), (gst_fakesink_event),
4423         (gst_fakesink_preroll), (gst_fakesink_render):
4424         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4425         (gst_filesink_init), (gst_filesink_set_location),
4426         (gst_filesink_open_file), (gst_filesink_close_file),
4427         (gst_filesink_pad_query), (gst_filesink_event),
4428         (gst_filesink_render), (gst_filesink_change_state):
4429         * gst/elements/gstfilesink.h:
4430         Added object to help in making collect pad based elements.
4431         Ported filesink.
4432         Make event function in sink baseclass return gboolean.
4433
4434 2005-05-05  Wim Taymans  <wim@fluendo.com>
4435
4436         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4437         (gst_bin_get_by_name):
4438         * gst/gstbuffer.h:
4439         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4440         (gst_clock_finalize):
4441         * gst/gstdata.c: (gst_data_replace):
4442         * gst/gstdata.h:
4443         * gst/gstelement.c: (gst_element_request_pad),
4444         (gst_element_pads_activate):
4445         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4446         (gst_object_unref):
4447         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4448         (gst_pad_set_checkgetrange_function),
4449         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4450         (gst_pad_check_pull_range), (gst_pad_pull_range),
4451         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4452         (gst_pad_pause_task), (gst_pad_stop_task):
4453         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4454         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4455         Fix name lookup in GstBin.
4456         Added _data_replace() function and _buffer_replace()
4457         Use finalize method to clean up clock.
4458         Fix refcounting on request pads.
4459         Fix pad schedule mode error.
4460         Some more object refcounting debug info,
4461
4462
4463 2005-05-04  Andy Wingo <wingo@pobox.com>
4464
4465         * check/Makefile.am:
4466         * docs/gst/tmpl/gstatomic.sgml:
4467         * docs/gst/tmpl/gstplugin.sgml:
4468         * gst/base/gstbasesink.c: (gst_basesink_activate):
4469         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4470         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4471         (gst_basesrc_query), (gst_basesrc_set_property),
4472         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4473         (gst_basesrc_activate):
4474         * gst/base/gstbasesrc.h:
4475         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4476         (gst_base_transform_src_activate):
4477         * gst/elements/gstelements.c:
4478         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4479         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4480         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4481         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4482         (gst_type_find_element_checkgetrange),
4483         (gst_type_find_element_activate):
4484         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4485         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4486         (gst_caps_load_thyself):
4487         * gst/gstelement.c: (gst_element_pads_activate),
4488         (gst_element_save_thyself), (gst_element_restore_thyself):
4489         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4490         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4491         * gst/gstpad.h:
4492         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4493         (gst_xml_parse_file), (gst_xml_parse_memory),
4494         (gst_xml_get_element), (gst_xml_make_element):
4495         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4496         (_file_index_id_save_xml), (gst_file_index_commit):
4497         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4498         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4499         (load_paths):
4500         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4501         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4502         * tools/gst-complete.c: (main):
4503         * tools/gst-compprep.c: (main):
4504         * tools/gst-inspect.c: (print_element_properties_info):
4505         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4506         * tools/gst-xmlinspect.c: (print_element_properties):
4507         GCC 4 fixen.
4508         
4509 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4510
4511         * gst/gstplugin.c: (gst_plugin_check_module),
4512         (gst_plugin_check_file), (gst_plugin_load_file):
4513             apply patch from #172526 to make register work on MacOSX
4514
4515 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4516
4517         * docs/gst/tmpl/gstconfig.sgml:
4518         * gst/gstconfig.h.in:
4519           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4520         * testsuite/debug/printf_extension.c: (main):
4521           Do not use GST_PTR_FORMAT on pointers to types with
4522           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4523         * testsuite/elements/property.h:
4524           use correct printf format
4525
4526 2005-05-02  Wim Taymans  <wim@fluendo.com>
4527
4528         * docs/design/draft-push-pull.txt:
4529         * docs/design/draft-query.txt:
4530         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4531         (gst_basesrc_start):
4532         Added draft for new query API.
4533         Added draft for better selecting scheduling methods.
4534         Make basesrc ignore length if the subclass does not support
4535         it.
4536
4537 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4538
4539         * gst/Makefile.am:
4540           possible fixes for automake-1.5 - _LIBADD is reserved
4541
4542 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4543
4544         * docs/faq/Makefile.am:
4545         * docs/manual/Makefile.am:
4546         * docs/manuals.mak:
4547         * docs/pwg/Makefile.am:
4548         * gst/Makefile.am:
4549           possible fixes for automake-1.5
4550
4551 2005-04-28  Wim Taymans  <wim@fluendo.com>
4552
4553         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4554         (gst_basesink_pad_getcaps), (gst_basesink_init),
4555         (gst_basesink_do_sync):
4556         * gst/gstclock.c: (gst_clock_entry_new):
4557         * gst/gstevent.c: (gst_event_discont_get_value):
4558         * gst/gstpipeline.c: (pipeline_bus_handler),
4559         (gst_pipeline_change_state):
4560         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4561         Better debugging of clocking info.
4562         Allow NULL values when getting discont values.
4563
4564 2005-04-27  Wim Taymans  <wim@fluendo.com>
4565
4566         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4567         * check/gst/gstpad.c: (gst_pad_suite):
4568         Increase timeout for checks.
4569
4570 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4571
4572         * check/Makefile.am:
4573           fix the broken rule for cleanup.  Apparently this rule is
4574           only needed on FC2, so maybe this warrants further autotool
4575           inspection.
4576
4577 2005-04-26  Wim Taymans  <wim@fluendo.com>
4578
4579         * gst/gsttrashstack.h:
4580         Ooohh. a nasty one! After having a failed pop() from the stack,
4581         it's possible that the stack is empty. In that case, don't
4582         follow the NULL pointer.
4583
4584 2005-04-25  Wim Taymans  <wim@fluendo.com>
4585
4586         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4587         (gst_pad_set_checkgetrange_function),
4588         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4589         (gst_pad_check_pull_range), (gst_pad_pull_range),
4590         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4591         (gst_pad_pause_task), (gst_pad_stop_task):
4592         * gst/gstplugin.c: (gst_plugin_load):
4593         * gst/gstplugin.h:
4594         Remove gst_library_load as it does more harm than good with
4595         the new g_module flags.
4596         Revert bogus caps template check in pad linking, pad caps
4597         are important when linking not the template, which is more
4598         general than the current caps.
4599
4600 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4601
4602         * gst/autoplug/.cvsignore:
4603         * gst/autoplug/Makefile.am:
4604         * gst/autoplug/gstsearchfuncs.c:
4605         * gst/autoplug/gstsearchfuncs.h:
4606         * gst/autoplug/gstspider.c:
4607         * gst/autoplug/gstspider.h:
4608         * gst/autoplug/gstspideridentity.c:
4609         * gst/autoplug/gstspideridentity.h:
4610         * gst/autoplug/spidertest.c:
4611           Die, spider, die.
4612
4613 2005-04-25  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4616         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4617         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4618         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4619         * gst/gstpad.h:
4620         Added stubs for unimplemented functions. 
4621
4622 2005-04-24  David Schleef  <ds@schleef.org>
4623
4624         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4625         please fix.
4626
4627 2005-04-24  David Schleef  <ds@schleef.org>
4628
4629         Convert everything from GstAtomicInt to g_atomic_int_*, and
4630         remove gstatomic.
4631         * gst/Makefile.am:
4632         * gst/gstatomic.c:
4633         * gst/gstatomic.h:
4634         * gst/gstatomic_impl.h:
4635         * gst/gstbuffer.c:
4636         * gst/gstcaps.c:
4637         * gst/gstcaps.h:
4638         * gst/gstclock.c:
4639         * gst/gstclock.h:
4640         * gst/gstdata.c:
4641         * gst/gstdata.h:
4642         * gst/gstdata_private.h:
4643         * gst/gstevent.c:
4644         * gst/gstinfo.c:
4645         * gst/gstinfo.h:
4646         * gst/gstmessage.c:
4647         * gst/gstobject.c:
4648         * gst/gstobject.h:
4649         * gst/gststructure.c:
4650         * gst/gststructure.h:
4651         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4652         * gst/gstutils.h:
4653
4654 2005-04-24  David Schleef  <ds@schleef.org>
4655
4656         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4657         make the regressions tests work.  Remove some code that is no
4658         longer true.
4659         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4660         Disable warning for pads without templates.
4661
4662 2005-04-24  David Schleef  <ds@schleef.org>
4663
4664         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4665         functions that handle filtered links.
4666         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4667         removed functions.
4668         * gst/gstutils.c: Fix/remove utility functions that handle
4669         filtered caps.
4670         * gst/gstutils.h:
4671         * gst/gstvalue.c: Add serialization/deserialization of caps
4672         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4673         requires fixing so that the filter caps notation creates
4674         a capsfilter element and sets the filter_caps property.  I
4675         think everyone probably wants to keep the shorthand notation.
4676         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4677         * docs/gst/tmpl/gstpad.sgml:
4678
4679         * gst/elements/gstelements.c: Register capsfilter element.
4680         * gst/Makefile.am: fix spacing
4681         * docs/random/ds/0.9-suggested-changes: random
4682
4683 2005-04-23  David Schleef  <ds@schleef.org>
4684
4685         * gst/elements/Makefile.am:
4686         * gst/elements/gstcapsfilter.c: New element that acts like an
4687         identity, but filters caps.  Will eventually replace filtered
4688         caps in pad linking.
4689         * gst/gstutils.c: (gst_element_create_all_pads): New function
4690         to create all the ALWAYS pads that are registered with an
4691         element class.  This functionality should eventually be
4692         merged in with GstElement initialization.
4693         * gst/gstutils.h:
4694         * testsuite/trigger/README: part of trigger test code that should
4695         have been checked in a long time ago.
4696
4697 2005-04-23  David Schleef  <ds@schleef.org>
4698
4699         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4700         needed with new versions of libtool (nobody will confirm this),
4701         and hard to carry around.
4702         * gst/autoplug/Makefile.am:
4703         * gst/base/Makefile.am:
4704         * gst/elements/Makefile.am:
4705         * gst/indexers/Makefile.am:
4706         * gst/schedulers/Makefile.am:
4707         * libs/gst/bytestream/Makefile.am:
4708         * libs/gst/control/Makefile.am:
4709         * libs/gst/dataprotocol/Makefile.am:
4710         * libs/gst/getbits/Makefile.am:
4711
4712 2005-04-21  Wim Taymans  <wim@fluendo.com>
4713
4714         * docs/design/draft-push-pull.txt:
4715         * docs/design/part-MT-refcounting.txt:
4716         * docs/design/part-TODO.txt:
4717         * docs/design/part-caps.txt:
4718         * docs/design/part-events.txt:
4719         * docs/design/part-gstbus.txt:
4720         * docs/design/part-gstpipeline.txt:
4721         * docs/design/part-messages.txt:
4722         * docs/design/part-push-pull.txt:
4723         * docs/design/part-query.txt:
4724         Some more docs.
4725
4726 2005-04-21  Wim Taymans  <wim@fluendo.com>
4727
4728         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4729         (gst_message_new), (gst_message_new_error),
4730         (gst_message_new_warning), (gst_message_new_tag),
4731         (gst_message_new_state_changed), (gst_message_new_application),
4732         (gst_message_get_structure):
4733         * gst/gstmessage.h:
4734         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4735         (gst_structure_copy_conditional):
4736         Use parent refcount in GstMessage to ensure GstStructure
4737         consistency.
4738         Cleaned up headers a bit.
4739         
4740
4741 2005-04-20  Wim Taymans  <wim@fluendo.com>
4742
4743         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4744         (gst_basesink_pad_getcaps), (gst_basesink_init),
4745         (gst_basesink_chain_unlocked):
4746         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4747         (gst_type_find_helper):
4748         * gst/elements/gsttypefindelement.c:
4749         (gst_type_find_element_have_type), (gst_type_find_element_init),
4750         (stop_typefinding), (gst_type_find_element_handle_event),
4751         (find_suggest), (gst_type_find_element_chain),
4752         (gst_type_find_element_checkgetrange),
4753         (gst_type_find_element_getrange), (do_typefind),
4754         (gst_type_find_element_activate):
4755         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4756         (gst_buffer_default_free), (gst_buffer_default_copy),
4757         (gst_buffer_set_caps):
4758         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4759         (gst_caps_replace):
4760         * gst/gstmessage.c: (gst_message_new),
4761         (gst_message_new_state_changed):
4762         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4763         (gst_pad_set_checkgetrange_function),
4764         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4765         (gst_pad_set_caps), (gst_pad_check_pull_range),
4766         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4767         * gst/gstpad.h:
4768         * gst/gsttypefind.c: (gst_type_find_register):
4769         Make gst_caps_replace() work like other _replace() functions.
4770         Use _caps_replace() where possible.
4771         Make sure _message_new() initialises its field.
4772         Add gst_static_pad_template_get_caps()
4773
4774
4775 2005-04-18  Andy Wingo  <wingo@pobox.com>
4776
4777         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4778         on the peer, not the pad. I think that was a typo. Pass an extra
4779         arg to see if random access is possible. Activate the pads as
4780         PULL_RANGE if possible.
4781
4782         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4783
4784         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4785         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4786         to PROP_....
4787
4788 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4789
4790         * docs/faq/using.xml:
4791           Add note on gstreamer-properties (#154996).
4792
4793 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4794
4795         * docs/random/bbb/optional-properties:
4796           Some analysis on optional properties.
4797
4798 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4799
4800         * docs/gst/tmpl/gstelementfactory.sgml:
4801         * gst/gstelement.h:
4802         * gst/gstelementfactory.c: (gst_element_factory_init),
4803         (gst_element_factory_cleanup), (gst_element_register),
4804         (__gst_element_factory_add_static_pad_template),
4805         (gst_element_factory_get_static_pad_templates),
4806         (gst_element_factory_can_src_caps),
4807         (gst_element_factory_can_sink_caps):
4808         * gst/registries/Makefile.am:
4809         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4810         (gst_xml_registry_class_init), (gst_xml_registry_init),
4811         (gst_xml_registry_new), (gst_xml_registry_set_property),
4812         (gst_xml_registry_get_property), (get_time), (make_dir),
4813         (gst_xml_registry_get_perms_func),
4814         (plugin_times_older_than_recurse), (plugin_times_older_than),
4815         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4816         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4817         (add_to_char_array), (read_string), (read_uint), (read_enum),
4818         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4819         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4820         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4821         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4822         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4823         (gst_xml_registry_rebuild):
4824         * gst/registries/gstlibxmlregistry.h:
4825         * tools/gst-compprep.c: (main):
4826         * tools/gst-inspect.c: (print_pad_templates_info):
4827         * tools/gst-xmlinspect.c: (print_element_info):
4828           Use libxml2 for registry parsing, use staticpadtemplates in
4829           elementfactories. Makes gst_init() +/- 10x faster.
4830
4831 2005-04-12  Wim Taymans  <wim@fluendo.com>
4832
4833         * gst/base/Makefile.am:
4834         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4835         (gst_basesink_pad_getcaps), (gst_basesink_init),
4836         (gst_basesink_event), (gst_basesink_change_state):
4837         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4838         (gst_basesrc_init), (gst_basesrc_query),
4839         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4840         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4841         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4842         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4843         (gst_basesrc_stop), (gst_basesrc_activate),
4844         (gst_basesrc_change_state):
4845         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4846         (helper_find_suggest), (gst_type_find_helper):
4847         * gst/base/gsttypefindhelper.h:
4848         * gst/elements/Makefile.am:
4849         * gst/elements/gstelements.c:
4850         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4851         (gst_fakesink_get_times), (gst_fakesink_event),
4852         (gst_fakesink_preroll), (gst_fakesink_render):
4853         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4854         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4855         (gst_fakesrc_get_property), (gst_fakesrc_create),
4856         (gst_fakesrc_start), (gst_fakesrc_stop):
4857         * gst/elements/gstfakesrc.h:
4858         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4859         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4860         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4861         (gst_filesrc_create_read), (gst_filesrc_create),
4862         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4863         (gst_filesrc_start):
4864         * gst/elements/gsttypefindelement.c:
4865         (gst_type_find_element_have_type), (gst_type_find_element_init),
4866         (start_typefinding), (stop_typefinding), (push_buffer_store),
4867         (gst_type_find_element_handle_event),
4868         (gst_type_find_element_chain),
4869         (gst_type_find_element_checkgetrange),
4870         (gst_type_find_element_getrange), (do_typefind),
4871         (gst_type_find_element_activate),
4872         (gst_type_find_element_change_state):
4873         * gst/elements/gsttypefindelement.h:
4874         * gst/gstpipeline.c: (pipeline_bus_handler):
4875         Added typefind helper.
4876         Small preroll fix in the base sink.
4877         Disable typefind code in basesrc.
4878         Crude port of typefindelement.
4879         Fakesrc cleanups.
4880
4881
4882 2005-04-11  Wim Taymans  <wim@fluendo.com>
4883
4884         * check/gst/gstbus.c: (gstbus_suite):
4885         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4886         * check/gstcheck.h:
4887           Fix up the timeout so that the test does not fail.
4888
4889 2005-04-06  Wim Taymans  <wim@fluendo.com>
4890
4891         * gst/base/README:
4892         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4893         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4894         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4895         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4896         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4897         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4898         (gst_basesrc_stop), (gst_basesrc_activate),
4899         (gst_basesrc_change_state), (basesrc_find_peek),
4900         (basesrc_find_suggest), (gst_basesrc_type_find):
4901         * gst/base/gstbasesrc.h:
4902         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4903         (gst_filesrc_class_init), (gst_filesrc_init),
4904         (gst_filesrc_finalize), (gst_filesrc_set_location),
4905         (gst_filesrc_set_property), (gst_filesrc_get_property),
4906         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4907         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4908         (gst_filesrc_create_read), (gst_filesrc_create),
4909         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4910         * gst/elements/gstfilesrc.h:
4911         * gst/gstelement.c: (gst_element_get_state_func),
4912         (gst_element_lost_state), (gst_element_pads_activate):
4913         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4914         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4915         (gst_pad_pull_range):
4916         * gst/gstpad.h:
4917         More work on the generic source base class, implement seeking,
4918         query.
4919         Make filesrc extend the base source class.
4920         Added gst_pad_set_checkgetrange_function to GstPad.
4921
4922 2005-04-06  Andy Wingo  <wingo@pobox.com>
4923
4924         * pkgconfig/gstreamer-base.pc.in:
4925         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4926
4927         * pkgconfig/Makefile.am:
4928         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4929
4930 2005-04-04  Wim Taymans  <wim@fluendo.com>
4931
4932         * gst/base/Makefile.am:
4933         * gst/base/README:
4934         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4935         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4936         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4937         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4938         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4939         (gst_basesrc_base_init), (gst_basesrc_class_init),
4940         (gst_basesrc_init), (gst_basesrc_get_formats),
4941         (gst_basesrc_get_query_types), (gst_basesrc_query),
4942         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4943         (gst_basesrc_set_property), (gst_basesrc_get_property),
4944         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4945         (gst_basesrc_loop), (gst_basesrc_activate),
4946         (gst_basesrc_change_state):
4947         * gst/base/gstbasesrc.h:
4948         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4949         (gst_fakesrc_class_init), (gst_fakesrc_init),
4950         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4951         (gst_fakesrc_get_property), (gst_fakesrc_create):
4952         * gst/elements/gstfakesrc.h:
4953         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4954         (gst_filesrc_open_file), (gst_filesrc_loop),
4955         (gst_filesrc_activate), (filesrc_find_peek),
4956         (gst_filesrc_type_find):
4957         Made base source class, make fakesrc extend it.
4958         Add comments to basesink class.
4959         Some filesrc cleanup.
4960
4961 2005-03-31  David Schleef  <ds@schleef.org>
4962
4963         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4964         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4965         expected to link against libgstreamer.
4966         * gst/base/Makefile.am: link against libgstreamer
4967         * gst/elements/Makefile.am: same
4968
4969 2005-03-31  Andy Wingo  <wingo@pobox.com>
4970
4971         * tests/instantiate/Makefile.am:
4972         * tests/instantiate/caps.c: Add test to test speed of caps copy
4973         and free.
4974
4975         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4976         GMemChunk to be fair.
4977
4978         * gst/gsttrashstack.h: Remove warning about using the fallback
4979         trash stack implementation, it's still faster than malloc.
4980
4981 2005-03-30  Andy Wingo  <wingo@pobox.com>
4982
4983         * tests/complexity.c: Add a copyright.
4984
4985 2005-03-31  Wim Taymans  <wim@fluendo.com>
4986
4987         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4988         (gst_base_transform_class_init), (gst_base_transform_init),
4989         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4990         (gst_base_transform_get_property),
4991         (gst_base_transform_sink_activate),
4992         (gst_base_transform_src_activate),
4993         (gst_base_transform_change_state):
4994         * gst/base/gstbasetransform.h:
4995         * gst/elements/gstidentity.c: (gst_identity_class_init),
4996         (gst_identity_event), (gst_identity_check_perfect),
4997         (gst_identity_transform), (gst_identity_start),
4998         (gst_identity_stop):
4999         Added start/stop methods to transform base class so subclasses 
5000         don't need to deal with state changes even.
5001
5002 2005-03-31  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5005         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5006         * gst/gstevent.h:
5007         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5008         (gst_pad_pull_range):
5009         Added rate to the discont event to prepare for variable speed
5010         and reverse playback.
5011
5012 2005-03-29  David Schleef  <ds@schleef.org>
5013
5014         * configure.ac:
5015         * testsuite/trigger/Makefile.am:
5016         * testsuite/trigger/trigger.c: A little example program to show
5017         how trigger-based elements can work.
5018
5019 2005-03-29  Wim Taymans  <wim@fluendo.com>
5020
5021         * gst/base/Makefile.am:
5022         * gst/base/README:
5023         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5024         (gst_basesink_base_init), (gst_basesink_class_init),
5025         (gst_basesink_pad_getcaps), (gst_basesink_init),
5026         (gst_basesink_activate), (gst_basesink_change_state):
5027         * gst/base/gstbasesink.h:
5028         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5029         (gst_base_transform_base_init), (gst_base_transform_finalize),
5030         (gst_base_transform_class_init), (gst_base_transform_init),
5031         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5032         (gst_base_transform_event), (gst_base_transform_getrange),
5033         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5034         (gst_base_transform_set_property),
5035         (gst_base_transform_get_property),
5036         (gst_base_transform_sink_activate),
5037         (gst_base_transform_src_activate),
5038         (gst_base_transform_change_state):
5039         * gst/base/gstbasetransform.h:
5040         * gst/elements/gstidentity.c: (gst_identity_finalize),
5041         (gst_identity_class_init), (gst_identity_init),
5042         (gst_identity_event), (gst_identity_check_perfect),
5043         (gst_identity_transform), (gst_identity_set_property),
5044         (gst_identity_get_property), (gst_identity_change_state):
5045         * gst/elements/gstidentity.h:
5046         * gst/gstelement.c: (gst_element_get_state_func),
5047         (gst_element_lost_state), (gst_element_pads_activate):
5048         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5049         (gst_pad_check_pull_range), (gst_pad_pull_range):
5050         * gst/gstpad.h:
5051         Simplify pad activation.
5052         Added function to check if pull_range can be performed.
5053         Error out when pulling inactive or flushing pads.
5054         Removed const from refcounted types as it does not make sense.
5055         Simplify pad templates in basesink
5056         Added base class for simple 1-to-1 transforms.
5057         Make identity subclass the base transform.
5058
5059 2005-03-29  Andy Wingo  <wingo@pobox.com>
5060
5061         * docs/libs/gstreamer-libs-overrides.txt: 
5062         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5063         really don't understand what's going on, but like whatever. I want
5064         green buildbot!
5065
5066         * docs/gst/Makefile.am:
5067         * docs/libs/Makefile.am: Dist the overrides files.
5068
5069         * check/Makefile.am (clean-local): Remove .libs directories.
5070
5071         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5072         elements to EXTRA_DIST, so po/ files are happy.
5073
5074         * po/POTFILES.in: Er, remove it here.
5075
5076         * po/POTFILES: Remove gstspider.c.
5077
5078         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5079
5080         * docs/libs/gstreamer-libs-docs.sgml: 
5081         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5082         bytestream.
5083
5084         * tests/complexity.c (main): Set the length of the preroll queue
5085         on the sinks to prevent a lockup.
5086
5087         * libs/gst/dataprotocol/Makefile.am: 
5088         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5089         the same as the one in check/gst-libs/gdp.c.
5090
5091         * po/, docs/gst/: Commit automatic changes to docs and po files.
5092
5093         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5094         the versioned libgstbase.
5095
5096         * check/Makefile.am: Depend on an unversioned gst-register, seems
5097         to make autoconf happier.
5098
5099         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5100
5101 2005-03-28  Wim Taymans  <wim@fluendo.com>
5102
5103         * configure.ac:
5104         * docs/design/part-gstelement.txt:
5105         * docs/design/part-negotiation.txt:
5106         * docs/design/part-preroll.txt:
5107         * docs/design/part-scheduling.txt:
5108         * docs/design/part-states.txt:
5109         * gst/Makefile.am:
5110         * gst/base/Makefile.am:
5111         * gst/base/README:
5112         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5113         (gst_basesink_base_init), (gst_basesink_class_init),
5114         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5115         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5116         (gst_basesink_set_pad_functions),
5117         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5118         (gst_basesink_set_property), (gst_basesink_get_property),
5119         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5120         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5121         (gst_basesink_preroll_queue_push),
5122         (gst_basesink_preroll_queue_empty),
5123         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5124         (gst_basesink_event), (gst_basesink_get_times),
5125         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5126         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5127         (gst_basesink_loop), (gst_basesink_activate),
5128         (gst_basesink_change_state):
5129         * gst/base/gstbasesink.h:
5130         * gst/elements/Makefile.am:
5131         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5132         (gst_fakesink_class_init), (gst_fakesink_init),
5133         (gst_fakesink_set_property), (gst_fakesink_get_property),
5134         (gst_fakesink_get_times), (gst_fakesink_event),
5135         (gst_fakesink_preroll), (gst_fakesink_render),
5136         (gst_fakesink_change_state):
5137         * gst/elements/gstfakesink.h:
5138         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5139         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5140         * gst/gstelement.c: (gst_element_add_pad),
5141         (gst_element_get_state_func), (gst_element_abort_state),
5142         (gst_element_commit_state), (gst_element_lost_state),
5143         (gst_element_set_state), (gst_element_pads_activate):
5144         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5145         * gst/gstpipeline.c: (gst_pipeline_send_event),
5146         (gst_pipeline_change_state):
5147         Added state change code.
5148         Added/updated docs.
5149         Added sink base class, make fakesink extend the base class.
5150         Small cleanups in GstPipeline.
5151
5152 2005-03-26  David Schleef  <ds@schleef.org>
5153
5154         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5155         is broken and should be implemented in a different library.
5156         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5157         * gst/gst.h: remove gstcpu.h
5158         * gst/gstcpu.c: remove
5159         * gst/gstcpu.h: remove
5160         * gst/Makefile.am.future: Remove this file.  It's ancient.
5161
5162 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5163
5164         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5165         (gst_bin_send_event):
5166           Add default event/set_manager handlers. The set_manager handler
5167           takes care that the manager is distributed over kids that were
5168           already in the bin before the manager was set. The event handler
5169           is a utility virtual function that sends the event over all sinks,
5170           so that gst_element_send_event (bin, event); has the expected
5171           behaviour.
5172         * gst/gstpad.c: (gst_pad_event_default):
5173           Re-install default event handling for discontinuities, so that
5174           seeking works without requiring hacks in applications or extra
5175           code in sinks.
5176         * gst/gstpipeline.c: (gst_pipeline_class_init),
5177         (gst_pipeline_send_event):
5178           Half hack, half utility: set a pipeline to PAUSED for seek events,
5179           since that is the only way we can guarantee a/v sync. Means that
5180           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5181           and it "just works".
5182
5183 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5184
5185         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5186           Lock/unlock mismatch.
5187
5188 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5189
5190         * docs/faq/gst-uninstalled:
5191           add gst-plugins-base
5192         * docs/gst/Makefile.am:
5193           don't error out until docs are fixed
5194         * docs/gst/gstreamer.types:
5195           remove thread
5196
5197 2005-03-22  Wim Taymans  <wim@fluendo.com>
5198
5199         * check/Makefile.am:
5200         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5201         * gst/gststructure.c: (gst_structure_set_valist),
5202         (gst_structure_copy_conditional):
5203         Activated more tests.
5204         Added message test.
5205         Added G_TYPE_POINTER to GstStructure.
5206         
5207
5208 2005-03-22  Wim Taymans  <wim@fluendo.com>
5209
5210         * docs/design/part-TODO.txt:
5211         * docs/design/part-events.txt:
5212         * docs/design/part-gstbin.txt:
5213         * docs/design/part-gstbus.txt:
5214         * docs/design/part-gstpipeline.txt:
5215         * docs/design/part-messages.txt:
5216         * gst/gstbus.c:
5217         * gst/gstmessage.c:
5218         Docs updates
5219
5220 2005-03-21  Wim Taymans  <wim@fluendo.com>
5221
5222         * gst/gstbus.c: (gst_bus_post):
5223         Fix copy-and-paste error.
5224
5225 2005-03-21  Wim Taymans  <wim@fluendo.com>
5226
5227         * check/Makefile.am:
5228         * gst/Makefile.am:
5229         * gst/elements/Makefile.am:
5230         * gst/elements/gstelements.c:
5231         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5232         (gst_fakesink_event), (gst_fakesink_chain):
5233         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5234         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5235         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5236         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5237         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5238         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5239         (gst_fakesrc_loop), (gst_fakesrc_activate),
5240         (gst_fakesrc_change_state):
5241         * gst/elements/gstfakesrc.h:
5242         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5243         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5244         (gst_filesrc_open_file), (gst_filesrc_loop),
5245         (gst_filesrc_activate), (gst_filesrc_change_state),
5246         (filesrc_find_peek), (filesrc_find_suggest),
5247         (gst_filesrc_type_find):
5248         * gst/elements/gstidentity.c: (gst_identity_finalize),
5249         (gst_identity_class_init), (gst_identity_init),
5250         (gst_identity_proxy_getcaps), (identity_queue_push),
5251         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5252         (gst_identity_getrange), (gst_identity_chain),
5253         (gst_identity_sink_loop), (gst_identity_src_loop),
5254         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5255         (gst_identity_set_property), (gst_identity_get_property),
5256         (gst_identity_change_state):
5257         * gst/elements/gstidentity.h:
5258         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5259         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5260         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5261         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5262         (gst_tee_sink_activate):
5263         * gst/elements/gsttee.h:
5264         * gst/gst.c: (gst_register_core_elements), (init_post):
5265         * gst/gst.h:
5266         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5267         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5268         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5269         (gst_bin_change_state):
5270         * gst/gstbin.h:
5271         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5272         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5273         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5274         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5275         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5276         (bus_watch_callback), (bus_watch_destroy),
5277         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5278         (poll_timeout), (gst_bus_poll):
5279         * gst/gstbus.h:
5280         * gst/gstcaps.h:
5281         * gst/gstdata.h:
5282         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5283         (gst_element_post_message), (gst_element_message_full),
5284         (gst_element_get_state_func), (gst_element_get_state),
5285         (gst_element_abort_state), (gst_element_commit_state),
5286         (gst_element_lost_state), (gst_element_set_state),
5287         (gst_element_pads_activate), (gst_element_change_state),
5288         (gst_element_dispose), (gst_element_set_manager_func),
5289         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5290         (gst_element_set_manager), (gst_element_get_manager),
5291         (gst_element_set_bus), (gst_element_get_bus),
5292         (gst_element_set_scheduler), (gst_element_get_scheduler):
5293         * gst/gstelement.h:
5294         * gst/gstevent.c: (gst_event_new_segment_seek),
5295         (gst_event_new_flush):
5296         * gst/gstevent.h:
5297         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5298         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5299         (gst_message_new_eos), (gst_message_new_error),
5300         (gst_message_new_warning), (gst_message_new_tag),
5301         (gst_message_new_state_changed), (gst_message_new_application),
5302         (gst_message_get_structure), (gst_message_parse_tag),
5303         (gst_message_parse_state_changed), (gst_message_parse_error),
5304         (gst_message_parse_warning):
5305         * gst/gstmessage.h:
5306         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5307         (gst_real_pad_set_property), (gst_pad_set_active),
5308         (gst_pad_is_active), (gst_pad_set_blocked_async),
5309         (gst_pad_set_blocked), (gst_pad_is_blocked),
5310         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5311         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5312         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5313         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5314         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5315         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5316         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5317         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5318         (gst_pad_set_caps), (gst_pad_configure_sink),
5319         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5320         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5321         (gst_real_pad_dispose), (gst_real_pad_finalize),
5322         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5323         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5324         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5325         * gst/gstpad.h:
5326         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5327         (pipeline_bus_handler), (gst_pipeline_change_state),
5328         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5329         * gst/gstpipeline.h:
5330         * gst/gstprobe.h:
5331         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5332         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5333         (gst_queue_link_src), (gst_queue_bufferalloc),
5334         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5335         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5336         (gst_queue_loop), (gst_queue_handle_src_event),
5337         (gst_queue_handle_src_query), (gst_queue_src_activate),
5338         (gst_queue_change_state):
5339         * gst/gstqueue.h:
5340         * gst/gstscheduler.c: (gst_scheduler_init),
5341         (gst_scheduler_dispose), (gst_scheduler_create_task),
5342         (gst_scheduler_factory_create):
5343         * gst/gstscheduler.h:
5344         * gst/gststructure.c: (gst_structure_get_type),
5345         (gst_structure_copy_conditional):
5346         * gst/gststructure.h:
5347         * gst/gsttaginterface.h:
5348         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5349         (gst_task_init), (gst_task_dispose), (gst_task_create),
5350         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5351         (gst_task_pause):
5352         * gst/gsttask.h:
5353         * gst/gstthread.c:
5354         * gst/gstthread.h:
5355         * gst/gsttypes.h:
5356         * gst/schedulers/Makefile.am:
5357         * gst/schedulers/cothreads_compat.h:
5358         * gst/schedulers/entryscheduler.c:
5359         * gst/schedulers/faircothreads.c:
5360         * gst/schedulers/faircothreads.h:
5361         * gst/schedulers/fairscheduler.c:
5362         * gst/schedulers/gstbasicscheduler.c:
5363         * gst/schedulers/gstoptimalscheduler.c:
5364         * gst/schedulers/gthread-cothreads.h:
5365         * gst/schedulers/threadscheduler.c:
5366         (gst_thread_scheduler_task_get_type),
5367         (gst_thread_scheduler_task_class_init),
5368         (gst_thread_scheduler_task_init),
5369         (gst_thread_scheduler_task_start),
5370         (gst_thread_scheduler_task_stop),
5371         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5372         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5373         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5374         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5375         (plugin_init):
5376         * libs/gst/Makefile.am:
5377         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5378         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5379         (gst_file_pad_parent_set):
5380         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5381         (gst_dp_event_from_packet):
5382         * tests/complexity.c: (main):
5383         * tests/mass_elements.c: (main):
5384         * testsuite/states/locked.c: (message_received), (main):
5385         * testsuite/states/parent.c: (main):
5386         * tools/gst-inspect.c: (print_element_flag_info),
5387         (print_implementation_info), (print_pad_info):
5388         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5389         (main):
5390         * tools/gst-md5sum.c: (event_loop), (main):
5391         * tools/gst-typefind.c: (main):
5392         * tools/gst-xmlinspect.c: (print_element_info):
5393         Next big merge.
5394         Added GstBus for mainloop integration.
5395         Added GstMessage for sending notifications on the bus.
5396         Added GstTask as an abstraction for pipeline entry points.
5397         Removed GstThread.
5398         Removed Schedulers.
5399         Simplified GstQueue for multithreaded core.
5400         Made _link threadsafe, removed old capsnego.
5401         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5402         Added pad blocking functions.
5403         Reworked scheduling functions in GstPad to prepare for
5404         scheduling updates soon.
5405         Moved events out of data stream.
5406         Simplified GstEvent types.
5407         Added return values to push/pull.
5408         Removed clocking from GstElement.
5409         Added prototypes for state change function for next merge.
5410         Removed iterate from bins and state change management.
5411         Fixed some elements, disabled others for now.
5412         Fixed -inspect and -launch.
5413         Added check for GstBus.
5414
5415 2005-03-10  Wim Taymans  <wim@fluendo.com>
5416
5417         * docs/design/part-MT-refcounting.txt:
5418         * docs/design/part-clocks.txt:
5419         * docs/design/part-gstelement.txt:
5420         * docs/design/part-gstobject.txt:
5421         * docs/design/part-standards.txt:
5422         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5423         (gst_bin_remove_func), (gst_bin_remove):
5424         * gst/gstbin.h:
5425         * gst/gstbuffer.c:
5426         * gst/gstcaps.h:
5427         * testsuite/clock/clock1.c: (main):
5428         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5429         (main):
5430         * testsuite/dlopen/loadgst.c: (do_test):
5431         * testsuite/refcounting/bin.c: (add_remove_test1),
5432         (add_remove_test2), (main):
5433         * testsuite/refcounting/element.c: (main):
5434         * testsuite/refcounting/element_pad.c: (main):
5435         * testsuite/refcounting/pad.c: (main):
5436         * tools/gst-launch.c: (sigint_handler_sighandler):
5437         * tools/gst-typefind.c: (main):
5438         Doc updates.
5439         Added doc about clock.
5440         removed gst_bin_iterate_recurse_up(), marked methods
5441         for removal.
5442         Fix more testsuites.
5443
5444 2005-03-09  Wim Taymans  <wim@fluendo.com>
5445
5446         * gst/gstpad.c: (gst_pad_get_direction),
5447         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5448         (gst_pad_collect_valist):
5449         * testsuite/bins/interface.c: (main):
5450         * testsuite/caps/audioscale.c: (test_caps):
5451         * testsuite/caps/caps.c: (test1), (test2), (test3):
5452         * testsuite/caps/deserialize.c: (main):
5453         * testsuite/caps/enumcaps.c: (main):
5454         * testsuite/caps/filtercaps.c: (main):
5455         * testsuite/caps/intersect2.c: (main):
5456         * testsuite/caps/random.c: (main):
5457         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5458         * testsuite/caps/sets.c: (check_caps):
5459         * testsuite/caps/simplify.c: (check_caps), (main):
5460         * testsuite/caps/subtract.c: (check_caps):
5461         Fix _pad_get_direction wrt ghostpads.
5462         Fix caps testsuite.
5463
5464 2005-03-09  Wim Taymans  <wim@fluendo.com>
5465
5466         * check/Makefile.am:
5467         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5468         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5469         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5470         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5471         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5472         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5473         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5474         (bin_element_is_sink), (gst_bin_iterate_sinks),
5475         (gst_bin_iterate_all_by_interface):
5476         * gst/gstbin.h:
5477         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5478         (gst_element_change_state), (gst_element_dispose),
5479         (gst_element_finalize), (gst_element_set_loop_function):
5480         * gst/gstelement.h:
5481         * gst/gstiterator.c: (find_custom_fold_func):
5482         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5483         (gst_pad_collectv), (gst_pad_collect_valist),
5484         (gst_pad_template_new):
5485         * gst/gstpipeline.c: (gst_pipeline_class_init),
5486         (gst_pipeline_dispose), (gst_pipeline_set_property),
5487         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5488         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5489         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5490         * gst/gstutils.h:
5491         * gst/schedulers/entryscheduler.c:
5492         * gst/schedulers/gstbasicscheduler.c:
5493         (gst_basic_scheduler_cothreaded_chain),
5494         (gst_basic_scheduler_chain_add_element):
5495         * testsuite/bins/interface.c: (main):
5496         Added GstBin test.
5497         Added GstSystemClock test.
5498         Implemented clock distribution code in GstBin.
5499         Implemented iterate sinks method for future use.
5500         Rearranged gstelement.h
5501         Fix GstIterator comparison bug.
5502         Moved some code to GstPipeline, mostly clocking related.
5503
5504 2005-03-09  Wim Taymans  <wim@fluendo.com>
5505
5506         * configure.ac:
5507         * gst/gst_private.h:
5508         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5509         (gst_bin_remove_func), (gst_bin_remove),
5510         (gst_bin_get_by_name_recurse_up):
5511         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5512         (gst_clock_id_compare_func), (gst_clock_id_wait),
5513         (gst_clock_id_wait_async), (gst_clock_init),
5514         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5515         * gst/gstelement.h:
5516         * gst/gstinfo.c: (_gst_debug_init):
5517         * gst/gstobject.h:
5518         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5519         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5520         * gst/gstpad.h:
5521         Bump version number, we're now 0.9.0
5522         Add future debugging category.
5523         Fix NULL _unref() in _get_by_name_recurse_up
5524         Rearrange gstpad.h.
5525         Update some docs.
5526
5527 2005-03-08  Wim Taymans  <wim@fluendo.com>
5528
5529         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5530         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5531         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5532         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5533         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5534         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5535         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5536         * gst/elements/gstidentity.c: (gst_identity_class_init):
5537         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5538         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5539         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5540         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5541         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5542         (gst_tee_link):
5543         * gst/gstelement.c: (gst_element_class_init),
5544         (gst_element_base_class_init), (gst_element_init),
5545         (gst_element_get_random_pad), (gst_element_wait_state_change),
5546         (gst_element_change_state), (gst_element_dispose),
5547         (gst_element_finalize), (gst_element_set_loop_function):
5548         * gst/gstelement.h:
5549         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5550         * gst/gstthread.c: (gst_thread_class_init),
5551         (gst_thread_release_children_locks), (gst_thread_change_state):
5552         * gst/schedulers/gstbasicscheduler.c:
5553         (gst_basic_scheduler_loopfunc_wrapper),
5554         (gst_basic_scheduler_chain_wrapper),
5555         (gst_basic_scheduler_src_wrapper),
5556         (gst_basic_scheduler_remove_element):
5557         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5558         Remove threadsafe properties. Fix elements because GObject
5559         complains when installing a property before declaring a
5560         set/get_property handler.
5561         Rearrange gstelement.h file, use STATE macros for state locks.
5562         Free mutexes in the finalize method instead of dispose.
5563
5564 2005-03-08  Wim Taymans  <wim@fluendo.com>
5565
5566         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5567         * gst/gstthread.c: (gst_thread_release_children_locks):
5568         Added parentage check.
5569         Fix build og GstThread again.
5570
5571 2005-03-08  Wim Taymans  <wim@fluendo.com>
5572
5573         * docs/design/part-MT-refcounting.txt:
5574         * docs/design/part-conventions.txt:
5575         * docs/design/part-gstobject.txt:
5576         * docs/design/part-relations.txt:
5577         * docs/design/part-standards.txt:
5578         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5579         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5580         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5581         (gst_bin_iterate_all_by_interface):
5582         * gst/gstbuffer.h:
5583         * gst/gstclock.h:
5584         * gst/gstelement.c: (gst_element_class_init),
5585         (gst_element_change_state), (gst_element_set_loop_function):
5586         * gst/gstelement.h:
5587         * gst/gstiterator.c:
5588         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5589         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5590         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5591         (gst_object_set_parent), (gst_object_unparent),
5592         (gst_object_check_uniqueness):
5593         * gst/gstobject.h:
5594         Docs updates, clean up some headers.
5595
5596 2005-03-07  Wim Taymans  <wim@fluendo.com>
5597
5598         * check/.cvsignore:
5599         * check/Makefile.am:
5600         * check/gst-libs/.cvsignore:
5601         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5602         * check/gst/.cvsignore:
5603         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5604         (START_TEST), (gstbus_suite), (main):
5605         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5606         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5607         (gst_data_suite), (main):
5608         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5609         (add_fold_func), (gstiterator_suite), (main):
5610         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5611         (thread_name_object), (thread_name_object_default),
5612         (gst_object_name_compare), (gst_object_suite), (main):
5613         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5614         (gst_pad_suite), (main):
5615         * check/gstcheck.c: (gst_check_log_message_func),
5616         (gst_check_log_critical_func), (gst_check_init):
5617         * check/gstcheck.h:
5618         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5619         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5620         Added checks.
5621
5622 2005-03-07  Wim Taymans  <wim@fluendo.com>
5623
5624         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5625         (gst_list_iterator_next), (gst_list_iterator_resync),
5626         (gst_list_iterator_free), (gst_iterator_new_list),
5627         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5628         (gst_iterator_free), (gst_iterator_push), (filter_next),
5629         (filter_resync), (filter_uninit), (filter_free),
5630         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5631         (gst_iterator_foreach), (find_custom_fold_func),
5632         (gst_iterator_find_custom):
5633         * gst/gstiterator.h:
5634         Added missing files.
5635
5636 2005-03-07  Wim Taymans  <wim@fluendo.com>
5637
5638         * Makefile.am:
5639         * configure.ac:
5640         * docs/design/part-MT-refcounting.txt:
5641         * docs/design/part-conventions.txt:
5642         * docs/design/part-gstobject.txt:
5643         * docs/design/part-relations.txt:
5644         * examples/mixer/mixer.c: (main):
5645         * examples/thread/thread.c: (eos), (main):
5646         * gst/Makefile.am:
5647         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5648         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5649         (gst_spider_plug_from_srcpad):
5650         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5651         (gst_spider_identity_change_state),
5652         (gst_spider_identity_sink_loop_type_finding):
5653         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5654         * gst/elements/gstidentity.c: (gst_identity_init):
5655         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5656         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5657         * gst/elements/gsttypefindelement.c: (free_entry):
5658         * gst/gst.c:
5659         * gst/gst.h:
5660         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5661         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5662         (gst_bin_set_index), (gst_bin_set_element_sched),
5663         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5664         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5665         (gst_bin_iterate_elements), (iterate_child_recurse),
5666         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5667         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5668         (compare_interface), (gst_bin_get_by_interface),
5669         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5670         * gst/gstbin.h:
5671         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5672         (gst_buffer_default_free), (gst_buffer_default_copy),
5673         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5674         (gst_buffer_create_sub):
5675         * gst/gstbuffer.h:
5676         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5677         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5678         (gst_caps_unref), (gst_static_caps_get),
5679         (gst_caps_remove_and_get_structure), (gst_caps_append),
5680         (gst_caps_append_structure), (gst_caps_remove_structure),
5681         (gst_caps_copy_nth), (gst_caps_set_simple),
5682         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5683         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5684         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5685         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5686         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5687         (gst_caps_structure_figure_out_union),
5688         (gst_caps_switch_structures), (gst_caps_do_simplify),
5689         (gst_caps_replace), (gst_caps_from_string),
5690         (gst_caps_copy_conditional):
5691         * gst/gstcaps.h:
5692         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5693         (_gst_clock_id_free), (gst_clock_id_unref),
5694         (gst_clock_id_compare_func), (gst_clock_id_wait),
5695         (gst_clock_id_wait_async), (gst_clock_class_init),
5696         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5697         (gst_clock_get_time), (gst_clock_set_time_adjust),
5698         (gst_clock_set_property), (gst_clock_get_property):
5699         * gst/gstclock.h:
5700         * gst/gstcompat.h:
5701         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5702         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5703         * gst/gstdata.h:
5704         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5705         (gst_element_requires_clock), (gst_element_provides_clock),
5706         (gst_element_set_clock), (gst_element_clock_wait),
5707         (gst_element_wait), (gst_element_set_time_delay),
5708         (gst_element_is_indexable), (gst_element_add_pad),
5709         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5710         (pad_compare_name), (gst_element_get_static_pad),
5711         (gst_element_request_pad), (gst_element_get_request_pad),
5712         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5713         (gst_element_class_get_pad_template_list),
5714         (gst_element_class_get_pad_template), (gst_element_error_func),
5715         (gst_element_get_random_pad), (gst_element_get_event_masks),
5716         (gst_element_send_event), (gst_element_seek),
5717         (gst_element_get_query_types), (gst_element_query),
5718         (gst_element_get_formats), (gst_element_convert),
5719         (gst_element_is_locked_state), (gst_element_set_locked_state),
5720         (gst_element_sync_state_with_parent), (gst_element_change_state),
5721         (gst_element_finalize), (gst_element_yield),
5722         (gst_element_interrupt), (gst_element_set_scheduler),
5723         (gst_element_get_scheduler), (gst_element_set_loop_function):
5724         * gst/gstelement.h:
5725         * gst/gstevent.h:
5726         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5727         (gst_format_get_by_nick), (gst_format_get_details),
5728         (gst_format_iterate_definitions):
5729         * gst/gstformat.h:
5730         * gst/gstindex.c: (gst_index_gtype_resolver):
5731         * gst/gstinfo.c:
5732         * gst/gstinfo.h:
5733         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5734         (gst_mem_chunk_free):
5735         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5736         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5737         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5738         (gst_object_dispatch_properties_changed),
5739         (gst_object_set_name_default), (gst_object_set_name),
5740         (gst_object_get_name), (gst_object_set_name_prefix),
5741         (gst_object_get_name_prefix), (gst_object_set_parent),
5742         (gst_object_get_parent), (gst_object_unparent),
5743         (gst_object_check_uniqueness), (gst_object_save_thyself),
5744         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5745         (gst_object_set_property), (gst_object_get_property),
5746         (gst_object_get_path_string):
5747         * gst/gstobject.h:
5748         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5749         (gst_real_pad_init), (gst_real_pad_get_property),
5750         (gst_pad_custom_new), (gst_pad_get_direction),
5751         (gst_pad_set_active), (gst_pad_is_active),
5752         (gst_pad_set_event_function), (gst_pad_is_linked),
5753         (gst_pad_link_free), (gst_pad_link_intersect),
5754         (gst_pad_link_fixate), (gst_pad_set_caps),
5755         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5756         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5757         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5758         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5759         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5760         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5761         (gst_pad_realize), (gst_pad_get_allowed_caps),
5762         (gst_real_pad_dispose), (gst_real_pad_finalize),
5763         (gst_pad_collectv), (gst_pad_collect_valist),
5764         (gst_pad_template_dispose), (gst_pad_template_new),
5765         (gst_pad_get_internal_links):
5766         * gst/gstpad.h:
5767         * gst/gstpipeline.c: (gst_pipeline_dispose),
5768         (gst_pipeline_change_state):
5769         * gst/gstpipeline.h:
5770         * gst/gstplugin.c:
5771         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5772         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5773         * gst/gstpluginfeature.h:
5774         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5775         * gst/gstquery.c: (_gst_query_type_initialize),
5776         (gst_query_type_register), (gst_query_type_get_by_nick),
5777         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5778         * gst/gstquery.h:
5779         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5780         * gst/gstscheduler.c: (gst_scheduler_add_element),
5781         (gst_scheduler_factory_create):
5782         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5783         (gst_structure_free), (gst_structure_set_name),
5784         (gst_structure_id_set_value), (gst_structure_set_value),
5785         (gst_structure_set_valist), (gst_structure_remove_field),
5786         (gst_structure_remove_fields),
5787         (gst_structure_remove_fields_valist),
5788         (gst_structure_remove_all_fields), (gst_structure_foreach),
5789         (gst_structure_map_in_place),
5790         (gst_caps_structure_fixate_field_nearest_int),
5791         (gst_caps_structure_fixate_field_nearest_double):
5792         * gst/gststructure.h:
5793         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5794         (gst_system_clock_init), (gst_system_clock_dispose),
5795         (gst_system_clock_async_thread),
5796         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5797         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5798         * gst/gstsystemclock.h:
5799         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5800         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5801         * gst/gsttaginterface.c:
5802         * gst/gstthread.c: (gst_thread_dispose),
5803         (gst_thread_release_children_locks), (gst_thread_change_state),
5804         (gst_thread_main_loop):
5805         * gst/gsttrashstack.h:
5806         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5807         * gst/gsttypes.h:
5808         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5809         (gst_element_request_pad), (gst_element_get_pad_from_template),
5810         (gst_element_request_compatible_pad),
5811         (gst_element_get_compatible_pad_filtered),
5812         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5813         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5814         (gst_element_link_many), (gst_element_link),
5815         (gst_element_link_pads), (gst_element_unlink_pads),
5816         (gst_element_unlink_many), (gst_element_unlink),
5817         (gst_pad_can_link_filtered), (gst_pad_can_link),
5818         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5819         (gst_object_default_error), (gst_bin_add_many),
5820         (gst_bin_remove_many), (gst_element_populate_std_props),
5821         (gst_element_class_install_std_props), (gst_buffer_merge),
5822         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5823         (link_fold_func), (gst_pad_proxy_setcaps):
5824         * gst/gstutils.h:
5825         * gst/gstvalue.c: (gst_value_deserialize_string):
5826         * gst/parse/grammar.y:
5827         * gst/schedulers/gstbasicscheduler.c:
5828         (gst_basic_scheduler_cothreaded_chain),
5829         (gst_basic_scheduler_chain_recursive_add),
5830         (gst_basic_scheduler_pad_link):
5831         * gst/schedulers/gstoptimalscheduler.c:
5832         (get_group_schedule_function),
5833         (gst_opt_scheduler_state_transition),
5834         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5835         * libs/gst/bytestream/bytestream.c:
5836         * libs/gst/dataprotocol/dataprotocol.c:
5837         (gst_dp_header_from_buffer):
5838         * po/nb.po:
5839         * po/ru.po:
5840         * tests/threadstate/threadstate2.c: (eos):
5841         * tools/gst-compprep.c: (main):
5842         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5843         (print_pad_info), (print_children_info):
5844         * tools/gst-launch.c: (idle_func), (main):
5845         * tools/gst-md5sum.c: (idle_func), (main):
5846         * tools/gst-xmlinspect.c: (print_element_info):
5847         First THREADED backport attempt, focusing on adding locks and
5848         making sure the API is threadsafe. Needs more work. More docs
5849         follow this week.
5850
5851 2005-02-24  Andy Wingo  <wingo@pobox.com>
5852
5853         * tests/bench-complexity.scm:
5854         * tests/complexity.gnuplot: New files, good for running complexity
5855         benchmarks.
5856
5857         * tests/Makefile.am:
5858         * tests/complexity.c: New test, sets up N elements, at each level
5859         teeing into M streams per element. Eeeenteresting.
5860
5861         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5862         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5863         running bench-mass_elements.scm.
5864
5865         * tests/bench-mass_elements.scm: New script, runs mass_elements
5866         for various numbers of identities, outputting the results to a
5867         file. Requires guile 1.6. Just for testing.
5868
5869 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5870
5871         * gst/schedulers/fairscheduler.c:
5872           compile with debug disabled
5873
5874 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * configure.ac:
5877           hunting season on 0.9 is now OPEN
5878
5879 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5880
5881         * docs/libs/tmpl/gstcontrol.sgml:
5882         * docs/libs/tmpl/gstdparam.sgml:
5883         * docs/libs/tmpl/gstdplinint.sgml:
5884         * docs/libs/tmpl/gstdpman.sgml:
5885         * docs/libs/tmpl/gstdpsmooth.sgml:
5886         * docs/libs/tmpl/gstunitconvert.sgml:
5887           more docs for the state of dparams
5888
5889 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5890
5891         * gst/gstelementfactory.c: (gst_element_factory_create):
5892         * gst/gstobject.c: (gst_object_init),
5893         (gst_object_set_name_default), (gst_object_set_name):
5894           name objects by default, not in gst_element_factory_create. Allows
5895           using elements created with g_object_new. (fixes #167283)
5896
5897 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5898
5899         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5900           make the time that debugging functions print relative to when
5901           gst_init was called
5902
5903 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5904
5905         * gst/gsttaginterface.c:
5906           Fix inline docs: tag setter vararg functions are NULL-terminated,
5907           GST_TAG_INVALID doesn't exist any more.
5908
5909 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5910
5911         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5912         Allocate the 1 byte more memory that was forgotten!!!!!
5913         fixes memory corruption on 64bit platforms
5914
5915 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5916
5917         * docs/pwg/building-pads.xml:
5918         * docs/pwg/intro-basics.xml:
5919           fixed a few typos, relabeled introductionary list of types
5920         * docs/random/ensonic/dparams.txt:
5921           more notes abut dparam changes
5922         * libs/gst/control/dparam.c: (gst_dparam_attach):
5923         * libs/gst/control/dparammanager.c:
5924         * libs/gst/control/dparammanager.h:
5925           - many comments and notes on dparam implementation
5926           - new dparams are were not initialized to the default value
5927             from param spec
5928
5929 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5930
5931         submitted by: Peter Astakhov
5932
5933         * po/LINGUAS:
5934         * po/ru.po:
5935           adding Russian translation
5936
5937 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * configure.ac:
5940         * docs/gst/Makefile.am:
5941         * docs/libs/Makefile.am:
5942           make sure popt is added to gtk-doc flags.  Fixes #147782.
5943
5944 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5945
5946         * docs/faq/using.xml:
5947           Fix typo in FAQ (artssink => artsdsink)
5948
5949 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5950
5951         * tools/gst-launch.1.in:
5952           Fix typo (#166699).
5953
5954 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5955
5956         * docs/faq/using.xml:
5957           Add -v argument to fakesrc/fakesink gst-launch line,
5958           so that the promised output will actually show up.
5959
5960 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5961
5962         * gst/gstthread.c: (gst_thread_change_state):
5963           Implement state-change error handling (#166073).
5964
5965 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5966
5967         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5968           Release interrupt after handling (#166250).
5969
5970 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5971
5972         * configure.ac:
5973           back to HEAD
5974
5975 === release 0.8.9 ===
5976
5977 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5978
5979         * NEWS:
5980         * RELEASE:
5981         * configure.ac:
5982           releasing 0.8.9, "Like Eating Glass"
5983
5984 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5985
5986         submitted by: Clytie Siddall
5987
5988         * po/vi.po: Added Vietnamese translation
5989
5990 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5991
5992         patch by: Tim Philipp-Müller
5993
5994         * configure.ac:
5995         * gst/gstpad.c:
5996           unref data when probe function returns FALSE.  Fixes #166362
5997
5998 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5999
6000         * gst/gst.c: (gst_init_get_popt_table):
6001           Fix typo (#166269).
6002
6003 2005-02-04  Andy Wingo  <wingo@pobox.com>
6004
6005         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6006         the debugging on whether the caps are compatible.
6007
6008 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6009
6010         * docs/manual/basics-elements.xml:
6011           Fix two typos.
6012
6013 2005-02-02  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6016         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6017         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6018         Remove some FIXMEs after analysing and commenting why they
6019         are not issues.
6020
6021 2005-02-02  Wim Taymans  <wim@fluendo.com>
6022
6023         * gst/schedulers/gstoptimalscheduler.c:
6024         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6025         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6026         (get_invalid_call), (chain_invalid_call),
6027         (get_group_schedule_function), (loop_group_schedule_function),
6028         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6029         (gst_opt_scheduler_state_transition),
6030         (gst_opt_scheduler_add_element),
6031         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6032         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6033         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6034         (gst_opt_scheduler_show):
6035         Added lock to protect scheduler data structures.
6036
6037 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6038
6039         * testsuite/threads/threadi.c: (cb_data):
6040           Fix buglet in test.
6041
6042 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6043
6044         * testsuite/threads/Makefile.am:
6045         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6046           On Wim's request, split the test in three separately-compiled
6047           tests that each test a very specific bug. Two of them still fail,
6048           will create bugs for those. threadi.c indicates why they fail.
6049
6050 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6051
6052         * gst/schedulers/gstoptimalscheduler.c:
6053         (get_group_schedule_function):
6054           Try to work with the threading mess that queue_link is.
6055
6056 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6057
6058         * gst/gstbin.c: (gst_bin_remove_func):
6059           Explicitely make an element release locks in a group when being
6060           remove from a bin.
6061         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6062           If there's no scheduler, always return immediately (similar to
6063           gst_element_interrupt).
6064
6065 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6066
6067         * gst/gstbin.c: (gst_bin_child_state_change_func):
6068           Remove a piece of code that could never be reached.
6069         * docs/gst/gstreamer-sections.txt:
6070         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6071         (gst_pad_call_get_function):
6072         * gst/gstpad.h:
6073         * testsuite/pad/Makefile.am:
6074           Fix #150546, enable tests.
6075
6076 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * docs/pwg/advanced-types.xml:
6079           Fix description for buffer-frames=0.
6080         * docs/gst/tmpl/gstbin.sgml:
6081         * gst/gstbin.c: (gst_bin_child_state_change_func),
6082         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6083         * gst/gstbin.h:
6084         * testsuite/threads/Makefile.am:
6085         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6086         (cb_state), (cb_play), (main):
6087           Fix non-recursive state changes to *really* change the state
6088           of the object, and not just call parent_class->state_change.
6089           Fix a lot of lockups caused by this. Fixes #132775. Add test
6090           for the problem. Also enable test to show #142588 (fixed).
6091         * gst/gstthread.c: (gst_thread_change_state),
6092         (gst_thread_child_state_change):
6093           Don't exit the thread if we go to NULL and are inside thread
6094           context. Instead, return control to the main thread context
6095           and exit from there.
6096         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6097           Don't unset virtual functions, since those may still be used.
6098           That's not necessarily correct, but suffices for now.
6099         * configure.ac:
6100         * testsuite/Makefile.am:
6101         * testsuite/pad/Makefile.am:
6102         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6103         (gst_test_sink_base_init), (gst_test_sink_chain),
6104         (gst_test_sink_init), (main):
6105         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6106         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6107         (main):
6108         * testsuite/pad/link.c: (gst_test_element_class_init),
6109         (gst_test_element_base_init), (gst_test_src_get),
6110         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6111         (gst_test_filter_loop), (gst_test_filter_init),
6112         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6113         (cb_error), (main):
6114           Add tests to show #150546. Pass, but should fail (currently
6115           disabled from the testsuite).
6116         * gst/gstscheduler.c: (gst_scheduler_dispose):
6117           Dereference child schedulers on dispose (#94464).
6118         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6119           Fix typo.
6120         * testsuite/threads/thread.c: (main):
6121           Add more debug.
6122
6123 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6124
6125         * gst/gstpad.c: (gst_pad_push):
6126           Oops, revert previous commit, broke testsuite...
6127
6128 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6129
6130         * gst/gstpad.c: (gst_pad_push):
6131           Add check that the pad on which the push is performed is not a
6132           get-based pad (#150546).
6133
6134 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6135
6136         * gst/elements/gsttypefindelement.c:
6137         (gst_type_find_element_handle_event):
6138           Fix buffer pushing if stream EOSes during typefinding.
6139
6140 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6141
6142         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6143
6144         * gst/gstvalue.c: (gst_string_wrap):
6145           Allow NULL-strings as argument (#165365).
6146
6147 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6148
6149         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6150
6151         * gst/schedulers/faircothreads.c:
6152         (gst_fair_scheduler_cothread_queue_show):
6153           Fix build without debug enabled.
6154
6155 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6156
6157         * docs/gst/gstreamer-sections.txt:
6158         * docs/libs/gstreamer-libs-docs.sgml:
6159         * docs/libs/gstreamer-libs-sections.txt:
6160         * docs/libs/tmpl/gstcontrol.sgml:
6161         * docs/libs/tmpl/gstdparam.sgml:
6162         * docs/libs/tmpl/gstdplinint.sgml:
6163         * docs/libs/tmpl/gstdpman.sgml:
6164         * docs/libs/tmpl/gstdpsmooth.sgml:
6165         * docs/libs/tmpl/gstputbits.sgml:
6166         * docs/libs/tmpl/gstunitconvert.sgml:
6167         * libs/gst/control/dparam.c:
6168         * libs/gst/control/dparam.h:
6169         * libs/gst/control/dparammanager.c:
6170         (gst_dpman_add_required_dparam_callback),
6171         (gst_dpman_add_required_dparam_direct),
6172         (gst_dpman_add_required_dparam_array),
6173         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6174         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6175         (gst_dpman_get_manager)
6176           restructured DParam docs
6177
6178 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
6179
6180         * gst-element-check.m4:
6181           Only check for gst-inspect if we haven't already
6182           found it in previous element check runs
6183
6184 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6185
6186         * docs/gst/Makefile.am:
6187         * docs/libs/Makefile.am:
6188           fixed install rules to treat style.css as optional
6189
6190 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6191
6192         * docs/gst/Makefile.am:
6193         * docs/libs/Makefile.am:
6194           install style.css along with docs
6195         * docs/gst/tmpl/gstbin.sgml:
6196         * docs/gst/tmpl/gstclock.sgml:
6197         * docs/gst/tmpl/gstdata.sgml:
6198         * docs/gst/tmpl/gstelement.sgml:
6199         * gst/gstbin.h:
6200         * gst/gstelement.c: (gst_element_class_init):
6201         * gst/gstelement.h:
6202           fixing incomplete docs
6203
6204 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
6205
6206         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6207           Don't unref seek event twice when fflush() fails
6208           
6209 2005-01-22  David Schleef  <ds@schleef.org>
6210
6211         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6212
6213 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * docs/gst/Makefile.am:
6216         * docs/libs/Makefile.am:
6217           added params for deprecation guards
6218         * gst/gst.c:
6219         * gst/gst.h:
6220         * gst/gsterror.c: (_gst_resource_errors_init),
6221         (_gst_stream_errors_init):
6222         * gst/gsterror.h:
6223           documented some more enums
6224
6225 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6226         * gst/autoplug/gstspideridentity.c:
6227         Cosmetic fix - spider_find_peek should be static
6228         * gst/parse/parse.l:
6229         Applying fix for #164261
6230
6231 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6232
6233         * docs/gst/gstreamer-sections.txt:
6234         * docs/gst/tmpl/gstplugin.sgml:
6235         * docs/libs/gstreamer-libs-sections.txt:
6236         * docs/libs/tmpl/gstcontrol.sgml:
6237         * gst/gstbuffer.h:
6238         * gst/gsttag.h:
6239         * gst/gstvalue.c:
6240           added docs for the TAG defines
6241
6242 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6243
6244         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6245           Only unref entry if there is an entry.
6246
6247 2005-01-17  Wim Taymans  <wim@fluendo.com>
6248
6249         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6250         (remove_from_group), (schedule_group), (normalize_group),
6251         (gst_opt_scheduler_iterate):
6252         Also ref/unref decoupled elements before iterating the
6253         group since they are not added to the list of elements.
6254
6255 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6256
6257         * docs/manual/highlevel-components.xml:
6258           Add subtitle/streamselection as new features to playbin.
6259
6260 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6261
6262         * docs/manual/manual.xml:
6263           Re-enable dataaccess docs (oops).
6264
6265 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6266
6267         * docs/pwg/advanced-types.xml:
6268         * docs/random/mimetypes:
6269           Add documentation on libsndfile types (#163309), by Steve Baker
6270           <steve@stevebaker.org>.
6271         * gst/gstelement.c: (gst_element_release_request_pad):
6272           If an element has no explicit function, just remove the pad.
6273
6274 2005-01-17  Luca Ognibene  <luogni@tin.it>
6275
6276         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6277
6278         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6279           Fix memleak (#163801).
6280
6281 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6282
6283         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6284           I think this is actually more correct...
6285
6286 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6287
6288         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6289           Another workaround for memory access while destroyed in callback.
6290           Please, someone with refcount knowledge, have a look at this.
6291
6292 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6293
6294         * docs/faq/faq.xml:
6295         * docs/faq/legal.xml:
6296           move the legal Q&A here
6297
6298 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6299
6300         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6301         (gst_tee_request_new_pad):
6302           Fix negotiation.
6303
6304 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6305
6306         * docs/random/omega/caps2:
6307         * testsuite/caps/caps_strings:
6308           replace framerate aproximations by their real value
6309           (24000/1001, 30000/1001, 60000/1001)
6310           Partially fixes bug #164049
6311
6312 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6313
6314         * docs/gst/Makefile.am:
6315           don't fail on the stupid GstPoptOption
6316
6317 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6318
6319         * gst/gstpad.h:
6320         * gst/gstprobe.c:
6321           allow probes to work on ghost pads by realizing the pad
6322           probe debugging
6323
6324 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6325
6326         * docs/gst/gstreamer-sections.txt:
6327         * docs/gst/tmpl/gstpad.sgml:
6328         * gst/gstpad.c: (gst_pad_set_active_recursive):
6329         * gst/gstpad.h:
6330           Add gst_pad_set_active_recursive().
6331
6332 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6333
6334         * docs/random/release:
6335           updates
6336         * gst/gst_private.h:
6337         * gst/gstinfo.c:
6338         * gst/gstobject.c:
6339           move deep_notify logging to a new category
6340         * gst/gstprobe.c:
6341         * gst/gstprobe.h:
6342           add stuff so bindings can wrap probes
6343
6344 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6345
6346         * gst/gstplugin.c: (gst_plugin_load):
6347           Fix plugin loading if plugin/lib was already loaded. Fixes
6348           #163383
6349
6350 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6351
6352         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6353
6354         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6355           Protect plugin loading by a mutex so it's threadsafe. Fixes
6356           #163234.
6357
6358 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6359
6360         * gst/gstevent.c: (_gst_event_copy):
6361           Reference source object when copying events, since it'll be
6362           dereferenced on event dereferencing as well.
6363
6364 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6365
6366         * docs/gst/gstreamer-sections.txt:
6367         * docs/gst/tmpl/gstevent.sgml:
6368         * gst/gstevent.c: (gst_event_new_filler_stamped),
6369         (gst_event_filler_get_duration):
6370         * gst/gstevent.h:
6371           Add two new functions for filler events (which are used to
6372           synchronize streams if one of them is not having any data
6373           for a while) without interrupting the actual data-stream.
6374           Basically a no-op.
6375         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6376         (gst_queue_link_sink), (gst_queue_link_src),
6377         (gst_queue_change_state):
6378           Allow for renegotiation while filled. Required for stream
6379           switching while playing.
6380
6381 2005-01-08  Benjamin Otte  <otte@gnome.org>
6382
6383         * gst/gstelement.c: (gst_element_link_many):
6384           fix up g_return_if_fail's
6385         * po/LINGUAS:
6386         * po/de.po:
6387           add German translation, that was somehow not included
6388
6389 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6390
6391         * docs/random/mimetypes:
6392           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6393           do not add them to riff-lib as they are not common
6394
6395 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6396
6397         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6398           Check for existence of probe after performing the probe before
6399           re-accessing it to prevent segfaults caused by removal of the
6400           probe in the callback.
6401
6402 2005-01-05  David Schleef  <ds@schleef.org>
6403
6404         * testsuite/registry/Makefile.am:
6405         * testsuite/registry/gst-print-formats.c:
6406         (print_pad_templates_info), (print_element_list),
6407         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6408         (g_list_uniqify), (get_pad_templates_info),
6409         (get_element_mime_list), (print_mime_list), (main): A little
6410         program that looks through the registry to find elements of
6411         a given type.  Not particularly interesting as a test, except
6412         that there's no other test covering the same area.
6413
6414 2005-01-05  David Schleef  <ds@schleef.org>
6415
6416         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6417         (fault_handler_sigaction), (fault_spin),
6418         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6419         in signal.h-type signal handlers by not calling forbidden functions,
6420         including gst_element_set_state().
6421
6422 2005-01-05  David Schleef  <ds@schleef.org>
6423
6424         * gst/gstvalue.h: Mark _gst_reserved[] as private
6425
6426 2005-01-05  David Schleef  <ds@schleef.org>
6427
6428         * gst/gstvalue.c: Fix doc build problem.
6429
6430 2005-01-05  David Schleef  <ds@schleef.org>
6431
6432         * gst/gstvalue.c: Add some documentation
6433
6434 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6435
6436         * docs/README:
6437           another shell oneliner for empty return value docs
6438         * gst/gstcaps.c:
6439         * gst/gstvalue.c:
6440         * libs/gst/control/dparam.c:
6441           more doc fixes (parameters and return values)
6442
6443 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6444
6445         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6446
6447         * gst/gstregistry.h:
6448         * gst/registries/gstxmlregistry.c:
6449           Fix macro's for Mingw (fixes #162276).
6450
6451 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6452
6453         * docs/README:
6454           quick shell oneliner to find undocumented members
6455         * docs/gst/tmpl/gstplugin.sgml:
6456         * docs/gst/tmpl/gstscheduler.sgml:
6457         * docs/gst/tmpl/gstthread.sgml:
6458           more enumtypes cleanup
6459         * gst/gsterror.h:
6460           activated documentation comments, now someone needs to document
6461           the enums :(
6462
6463 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6464
6465         * docs/manual/manual.xml:
6466           Add dataaccess part (doh!).
6467
6468 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6469
6470         * docs/manual/advanced-autoplugging.xml:
6471           Fix typo (intiate -> initiate).
6472
6473 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6474
6475         * docs/random/bbb/streamselection:
6476           Add some notes on how to handle multi-subtitle/-audio streams.
6477
6478 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6479
6480         * docs/gst/gstreamer-docs.sgml:
6481         * docs/gst/gstreamer-sections.txt:
6482         * docs/gst/tmpl/gstenumtypes.sgml:
6483         * docs/gst/tmpl/gsterror.sgml:
6484         * docs/gst/tmpl/gstevent.sgml:
6485         * docs/gst/tmpl/gstpad.sgml:
6486         * docs/gst/tmpl/gstpadtemplate.sgml:
6487         * docs/gst/tmpl/gstthread.sgml:
6488           removed gstenumtypes section from docs and put all the enums into
6489           their sections
6490
6491 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6492
6493         * gst/gstplugin.c:
6494           document gst_library_load a bit more (riff special case + return
6495           value if already loaded)
6496         * testsuite/bytestream/filepadsink.c:
6497           plugin name is 'gstbytestream', not 'bytestream'
6498
6499 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6500
6501         * docs/random/bbb/subtitles:
6502           Add some first mind rumblings on proper subtitle support.
6503
6504 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6505
6506         * po/ca.po:
6507         * po/sv.po:
6508           updated translations
6509
6510 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6511
6512         * docs/manual/advanced-dataaccess.xml:
6513           Add section on how to use fakesrc/fakesink/identity in your
6514           application, plus section on how to embed plugins. Also mention
6515           probes.
6516         * docs/manual/appendix-checklist.xml:
6517         * docs/manual/appendix-debugging.xml:
6518         * docs/manual/appendix-gnome.xml:
6519         * docs/manual/appendix-integration.xml:
6520           Debug -> checklist, GNOME -> integration, add sections on Linux,
6521           KDE integration and add other things useful for application
6522           development.
6523         * docs/manual/manual.xml:
6524           Remove some fixmes, update some file pointers.
6525         * docs/pwg/appendix-checklist.xml:
6526           Fix typo.
6527         * docs/pwg/building-boiler.xml:
6528           Remove ugly header and add commented fixme.
6529         * docs/pwg/pwg.xml:
6530           Add fixme.
6531         * examples/manual/Makefile.am:
6532           Add example for added docs.
6533
6534 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6535
6536         * configure.ac:
6537           back to HEAD
6538
6539 === release 0.8.8 ===
6540
6541 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6542
6543         * NEWS:
6544         * RELEASE:
6545         * configure.ac:
6546           Releasing 0.8.8, "I'll Take Care Of You"
6547
6548 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6549
6550         * configure.ac:
6551           second prerelease
6552
6553 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6554
6555         patch by: Wim Taymans
6556
6557         * gst/gstbin.c:
6558           Fix for #159852 - make iterate emission threadsafe
6559
6560 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6561
6562         * docs/faq/cvs.xml:
6563           notes about new fdo account request
6564
6565 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6566
6567         * docs/gst/gstreamer-docs.sgml:
6568         * docs/gst/tmpl/gstenumtypes.sgml:
6569         * docs/gst/tmpl/gstplugin.sgml:
6570         * docs/libs/gstreamer-libs-docs.sgml:
6571           Added missing short docs. Added ids for navigation.
6572
6573 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6574
6575         * docs/manual/advanced-autoplugging.xml:
6576         * docs/manual/advanced-schedulers.xml:
6577         * docs/manual/advanced-threads.xml:
6578           Rewrites. Remove cothreads, go a bit into opt specifically,
6579           document threads and their gotchas, and do some technical stuff
6580           on autoplugging plus add some working examples. Fixes #157395.
6581         * examples/manual/Makefile.am:
6582           Add typefind/autoplugger example (one that actually works).
6583           Remove queue example since it's a duplicate of the thread one.
6584
6585 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6586
6587         * gst/gstvalue.c: (gst_value_deserialize_string):
6588           use deprecated g_value_set_string_take_ownership to keep compatible
6589           with glib 2.2
6590
6591 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6592
6593         * gst/gstvalue.c: (gst_value_deserialize_string):
6594           revert last patch, only dom a g_utf8_validate now before accepting
6595           the string - caps parsing strips " from strings so we can't rely on
6596           them
6597         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6598           disable a test that tested the above and comment it
6599
6600 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6601
6602         Patch reviewed by David Schleef  <ds@schleef.org>
6603
6604         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6605         bug #153882)
6606         * win32/gstenumtypes.h: same
6607
6608 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6609
6610         * gst/gstpad.c: (gst_pad_query):
6611           Do query on realized pad, similar to how convert/send_event handle
6612           this. Also makes sense, since this pad belongs to the function to
6613           which this query will be sent. Fixes #158163.
6614
6615 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6616
6617         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6618
6619 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6620
6621         * docs/faq/general.xml: fix pipeline to actually work
6622
6623 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6624
6625         * gst/gstvalue.c: (gst_value_deserialize_string):
6626           check that a simple string that gets deserialized does not contain
6627           invalid characters
6628         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6629           remove a test that tested a wring behaviour
6630
6631 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6632
6633         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6634
6635         * docs/manual/intro-motivation.xml:
6636           Fix typos.
6637
6638 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6639
6640         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6641
6642         * docs/gst/tmpl/gstprobe.sgml:
6643           Fix documentation of probe callback - it is supposed to return
6644           FALSE, not TRUE, to remove data from the stream (#159087).
6645
6646 2004-12-16  Daniel Gazard  <dany42@free.fr>
6647
6648         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6649
6650         * gst/gstelementfactory.c: (gst_element_factory_create):
6651           Fix compile failure if compiling without libxml2 support (#149936).
6652
6653 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6654
6655         * docs/manual/advanced-autoplugging.xml:
6656         * docs/manual/highlevel-components.xml:
6657           Move spider from autoplugging to components. Autoplugging is for
6658           internals, not for solutions. ;-).
6659
6660 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6661
6662         * docs/random/ds/0.9-suggested-changes:
6663           Make note on device/location/uri property names.
6664
6665 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6666
6667         * docs/manual/advanced-autoplugging.xml:
6668         * docs/manual/advanced-clocks.xml:
6669         * docs/manual/advanced-interfaces.xml:
6670         * docs/manual/advanced-metadata.xml:
6671         * docs/manual/advanced-position.xml:
6672         * docs/manual/advanced-schedulers.xml:
6673         * docs/manual/advanced-threads.xml:
6674         * docs/manual/appendix-gnome.xml:
6675         * docs/manual/appendix-programs.xml:
6676         * docs/manual/appendix-quotes.xml:
6677         * docs/manual/autoplugging.xml:
6678         * docs/manual/basics-bins.xml:
6679         * docs/manual/basics-data.xml:
6680         * docs/manual/basics-elements.xml:
6681         * docs/manual/basics-helloworld.xml:
6682         * docs/manual/basics-init.xml:
6683         * docs/manual/basics-pads.xml:
6684         * docs/manual/basics-plugins.xml:
6685         * docs/manual/bins-api.xml:
6686         * docs/manual/bins.xml:
6687         * docs/manual/buffers-api.xml:
6688         * docs/manual/buffers.xml:
6689         * docs/manual/clocks.xml:
6690         * docs/manual/components.xml:
6691         * docs/manual/cothreads.xml:
6692         * docs/manual/debugging.xml:
6693         * docs/manual/dparams-app.xml:
6694         * docs/manual/dynamic.xml:
6695         * docs/manual/elements-api.xml:
6696         * docs/manual/elements.xml:
6697         * docs/manual/factories.xml:
6698         * docs/manual/gnome.xml:
6699         * docs/manual/goals.xml:
6700         * docs/manual/helloworld.xml:
6701         * docs/manual/helloworld2.xml:
6702         * docs/manual/highlevel-components.xml:
6703         * docs/manual/highlevel-xml.xml:
6704         * docs/manual/init-api.xml:
6705         * docs/manual/intro-basics.xml:
6706         * docs/manual/intro-motivation.xml:
6707         * docs/manual/intro-preface.xml:
6708         * docs/manual/intro.xml:
6709         * docs/manual/links-api.xml:
6710         * docs/manual/links.xml:
6711         * docs/manual/manual.xml:
6712         * docs/manual/motivation.xml:
6713         * docs/manual/pads-api.xml:
6714         * docs/manual/pads.xml:
6715         * docs/manual/plugins-api.xml:
6716         * docs/manual/plugins.xml:
6717         * docs/manual/programs.xml:
6718         * docs/manual/queues.xml:
6719         * docs/manual/quotes.xml:
6720         * docs/manual/schedulers.xml:
6721         * docs/manual/states-api.xml:
6722         * docs/manual/states.xml:
6723         * docs/manual/threads.xml:
6724         * docs/manual/typedetection.xml:
6725         * docs/manual/win32.xml:
6726         * docs/manual/xml.xml:
6727           Try 2. This time, include a short preface as a "general
6728           introduction", also add code blocks around all code samples
6729           so they get compiled. We still need a way to tell readers
6730           the filename of the code sample. In some cases, don't show
6731           all code in the documentation, but do include it in the generated
6732           code. This allows for focussing on specific bits in the docs,
6733           while still having a full test application available.
6734         * examples/manual/Makefile.am:
6735           Fix up examples for new ADM. Add several of the new examples that
6736           were either added or were missing from the build system.
6737         * examples/manual/extract.pl:
6738           Allow nameless blocks.
6739
6740 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6741
6742         * docs/manual/elements-api.xml:
6743         * docs/manual/helloworld.xml:
6744         * examples/manual/extract.pl:
6745           fix last example.  Add example of adding code blocks that are not
6746           shown in docbook output.
6747
6748 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6749
6750         * docs/manual/dynamic.xml:
6751         * docs/manual/elements-api.xml:
6752         * docs/manual/gnome.xml:
6753         * docs/manual/helloworld2.xml:
6754         * docs/manual/init-api.xml:
6755         * docs/manual/queues.xml:
6756         * docs/manual/threads.xml:
6757         * docs/manual/xml.xml:
6758         * examples/manual/extract.pl:
6759           Make it possible to extract example code from separate blocks.
6760           Should make Ronald happy.
6761
6762 2004-12-15  Wim Taymans  <wim@fluendo.com>
6763
6764         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6765         (remove_from_group), (group_elements_set_visited),
6766         (normalize_group), (gst_opt_scheduler_iterate):
6767         Fix bug where a flag was not updated on a decoupled entry point 
6768         because we were just checking the group element list and decoupled
6769         elements are not in that list..
6770
6771 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6772
6773         * docs/manual/advanced-autoplugging.xml:
6774         * docs/manual/advanced-clocks.xml:
6775         * docs/manual/advanced-dparams.xml:
6776         * docs/manual/advanced-interfaces.xml:
6777         * docs/manual/advanced-metadata.xml:
6778         * docs/manual/advanced-position.xml:
6779         * docs/manual/advanced-schedulers.xml:
6780         * docs/manual/advanced-threads.xml:
6781         * docs/manual/appendix-debugging.xml:
6782         * docs/manual/appendix-gnome.xml:
6783         * docs/manual/appendix-programs.xml:
6784         * docs/manual/appendix-quotes.xml:
6785         * docs/manual/appendix-win32.xml:
6786         * docs/manual/autoplugging.xml:
6787         * docs/manual/basics-bins.xml:
6788         * docs/manual/basics-data.xml:
6789         * docs/manual/basics-elements.xml:
6790         * docs/manual/basics-helloworld.xml:
6791         * docs/manual/basics-init.xml:
6792         * docs/manual/basics-pads.xml:
6793         * docs/manual/basics-plugins.xml:
6794         * docs/manual/bins-api.xml:
6795         * docs/manual/bins.xml:
6796         * docs/manual/buffers-api.xml:
6797         * docs/manual/buffers.xml:
6798         * docs/manual/clocks.xml:
6799         * docs/manual/components.xml:
6800         * docs/manual/cothreads.xml:
6801         * docs/manual/debugging.xml:
6802         * docs/manual/dparams-app.xml:
6803         * docs/manual/dynamic.xml:
6804         * docs/manual/elements-api.xml:
6805         * docs/manual/elements.xml:
6806         * docs/manual/factories.xml:
6807         * docs/manual/gnome.xml:
6808         * docs/manual/goals.xml:
6809         * docs/manual/helloworld.xml:
6810         * docs/manual/helloworld2.xml:
6811         * docs/manual/highlevel-components.xml:
6812         * docs/manual/highlevel-xml.xml:
6813         * docs/manual/init-api.xml:
6814         * docs/manual/intro-motivation.xml:
6815         * docs/manual/intro-preface.xml:
6816         * docs/manual/intro.xml:
6817         * docs/manual/links-api.xml:
6818         * docs/manual/links.xml:
6819         * docs/manual/manual.xml:
6820         * docs/manual/motivation.xml:
6821         * docs/manual/pads-api.xml:
6822         * docs/manual/pads.xml:
6823         * docs/manual/plugins-api.xml:
6824         * docs/manual/plugins.xml:
6825         * docs/manual/programs.xml:
6826         * docs/manual/queues.xml:
6827         * docs/manual/quotes.xml:
6828         * docs/manual/schedulers.xml:
6829         * docs/manual/states-api.xml:
6830         * docs/manual/states.xml:
6831         * docs/manual/threads.xml:
6832         * docs/manual/typedetection.xml:
6833         * docs/manual/win32.xml:
6834         * docs/manual/xml.xml:
6835           First try at rewriting the ADM. Needs lotsamore work, but some
6836           parts might already be somewhat useful.
6837         * docs/pwg/advanced-interfaces.xml:
6838           Remove properties interface, it never actually existed (except for
6839           on my HD...).
6840
6841 2004-12-13  David Schleef  <ds@schleef.org>
6842
6843         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6844         be NULL (bug #160220).
6845
6846 2004-12-13  David Schleef  <ds@schleef.org>
6847
6848         * configure.ac: remove all mmx stuff, because it's not used.
6849         * docs/random/ds/0.9-suggested-changes: additional notes
6850         * include/Makefile.am: we don't use these anymore
6851         * include/mmx.h: remove
6852         * include/sse.h: remove
6853
6854 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6855
6856         * docs/random/mimetypes:
6857           Add FOURCC code for h264 codec (VSSH)
6858           Add alternate FOURCC codes for h263 related codecs
6859
6860 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6861
6862         * docs/manual/programs.xml:
6863           Added more gst-launch examples.
6864
6865 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6866
6867         * gst/gstqueue.c: (gst_queue_handle_src_query):
6868           Check for availability again.
6869
6870 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6871
6872         * gst/gstcaps.c: (gst_caps_compare_structures):
6873           Simple caps go first. This has the nice side-effect of fixing an
6874           obscure warning.
6875
6876 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6877
6878         * gst/gstversion.h.in:
6879           Protect header.
6880
6881 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6882
6883         * gst/schedulers/gstoptimalscheduler.c:
6884         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6885         (gst_opt_scheduler_get_wrapper):
6886           When we're recursing into a chain run, only run the directly
6887           related group, not all queued ones. This will fix a possible
6888           deadlock in chains with more than two groups.
6889
6890 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6891
6892         * autogen.sh:
6893           remove patch if autopoint fails
6894
6895 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6896
6897         * docs/gst/gstreamer-sections.txt:
6898           Document Thomas' addition, fix build, make Luis the sheriff happy.
6899
6900 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6901
6902         * gst/gstplugin.c:
6903         * gst/gstplugin.h:
6904           add accessor for version field
6905
6906 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6907
6908         submitted by: Luca Ferretti <elle.uca@infinito.it>
6909
6910         * po/LINGUAS:
6911         * po/it.po:
6912           New tranlation added: Italian
6913
6914 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6915
6916         * gst/gstpad.c: (gst_pad_is_negotiated),
6917         (gst_pad_get_negotiated_caps):
6918           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6919           it doesn't actually check the contents), so be sure to hand it
6920           a RealPad else we'll crash.
6921
6922 2004-12-03  Wim Taymans  <wim@fluendo.com>
6923
6924         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6925         (gst_queue_link), (gst_queue_handle_src_query):
6926         Reverted to 1.110 until this makes the testsuite and various
6927         apps work.
6928
6929 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6930
6931         * docs/upload.mak: fix included CVS conflict strings
6932
6933 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6934
6935         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6936
6937         * gst/gstelement.c: (gst_element_error_full):
6938           Use g_error_new_literal because error text may have
6939           percentage signs in it. Fixes #160019.
6940
6941 2004-12-01  Benjamin Otte  <otte@gnome.org>
6942
6943         * gst/elements/gstbufferstore.c:
6944         (gst_buffer_store_add_buffer_func):
6945           don't try to make subbuffers bigger than they can be. (fixes
6946           #159970)
6947
6948 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6949
6950         * docs/gst/gstreamer-sections.txt:
6951         * docs/gst/tmpl/gstvalue.sgml:
6952           Add new function to docs to fix build.
6953
6954 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6955
6956         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6957         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6958         (_gst_pad_default_fixate_foreach):
6959         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6960         * gst/gstvalue.h:
6961           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6962           in some cases (arrays), the fixedness depends on the content.
6963         * gst/gstqueue.c: (gst_queue_handle_src_query):
6964           Check for availability before doing something.
6965
6966 2004-11-29  Wim Taymans  <wim@fluendo.com>
6967
6968         * testsuite/threads/Makefile.am:
6969         * testsuite/threads/signals.c: (gst_test_get_type),
6970         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6971         (gst_test_set_property), (gst_test_get_property),
6972         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6973         (gst_test_do_prop), (run_thread), (main):
6974         Added a bunch of testcases that show threadsafety bugs in glib.
6975
6976 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6977
6978         * docs/manual/programs.xml:
6979           Added a first batch of gst-launch examples, as provided by Ronald
6980           and others from the devel-mlist
6981
6982 2004-11-28  Benjamin Otte  <otte@gnome.org>
6983
6984         * gst/gstelement.c: (gst_element_negotiate_pads):
6985           simplify
6986         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6987         (gst_value_serialize_string), (gst_value_deserialize_string):
6988           add unwrapping of previously wrapped strings. Fix bug in wrapping
6989           while at it.
6990         * testsuite/caps/value_serialize.c: (test1),
6991         (test_string_serialization), (test_string_deserialization), (main):
6992           add tests for string (de)serialization
6993
6994 2004-11-26  Wim Taymans  <wim@fluendo.com>
6995
6996         * testsuite/threads/159566.c: (object_deep_notify), (main):
6997         * testsuite/threads/Makefile.am:
6998         Added testsuite to show bug #159566
6999
7000 2004-11-25  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7003         (gst_thread_child_state_change), (gst_thread_main_loop):
7004         Ref the thread object in the GThread mainloop. Break out of the
7005         thread mainloop if it holds the last ref. This properly exits
7006         the threads when disposing the thread from its own context. It
7007         also avoids possible deadlocks in the dispose function.
7008
7009 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7010
7011         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7012         it is necessary to wait.
7013
7014 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7015
7016         * docs/pwg/building-boiler.xml:
7017           Make description somewhat clearer.
7018
7019 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7020
7021         * docs/upload.mak:
7022           Apparently docs changed location on FDO's server.
7023
7024 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7025
7026         * docs/pwg/appendix-checklist.xml:
7027           Add some random notes on things to check when writing an element.
7028           This list can be extended as people see fit.
7029
7030 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7031
7032         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7033         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7034         pad. The queue will now wait until it is empty and forward the new
7035         caps to the source.
7036         * gst/gstbin.c (gst_bin_set_element_sched)
7037         (gst_bin_unset_element_sched): Make sure that all elements and
7038         links are registered and unregistered with the scheduler exactly
7039         once. This elaborates on a fix by Benjamin Otte, but
7040         guarantees that decoupled elements are also registered.
7041
7042 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7043
7044         * docs/manual/quotes.xml:
7045           add a quote
7046         * configure.ac:
7047         * gst/gst.c:
7048         * gst/gstinfo.c:
7049           add LIBDIR and move init message higher up so it's at the start
7050
7051 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7052
7053         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7054         * gstreamer.spec.in: add fair
7055
7056 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7057
7058         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7059         * gst/elements/gstidentity.c: (gst_identity_class_init):
7060           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7061           <teuf@gnome.org> (#157263).
7062         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7063         (gst_type_find_handle_src_query):
7064           Subtract size of internally stored data from position queries.
7065
7066 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7067
7068         * gst/schedulers/fairscheduler.c:
7069         * gst/schedulers/faircothreads.c:
7070         * gst/schedulers/faircothreads.h:
7071         New cothread based scheduler: Fair scheduler.
7072         * gst/schedulers/gthread-cothreads.h: 
7073         Add the standard #if around the whole file.
7074         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7075         compilation of the functions defined in this file. This is
7076         necessary to be able to use this file as a normal header.
7077         * gst/schedulers/Makefile.am: Add compiling support for fair
7078         scheduler.
7079         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7080         scheduler cothreads layer from documentation generation.
7081
7082 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7083
7084         * gst/autoplug/gstspideridentity.c:
7085         (gst_spider_identity_sink_loop_type_finding):
7086           Don't crash if that function is not implemented.
7087
7088 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7089
7090         * docs/pwg/advanced-types.xml:
7091           Another typo.
7092
7093 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7094
7095         * docs/pwg/intro-preface.xml:
7096           Hm, ok, so the brackets weren't really useful...
7097         * docs/pwg/other-ntoone.xml:
7098           Fix embarassing typo.
7099
7100 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7101
7102         * docs/pwg/intro-preface.xml:
7103           Rewrite preface.
7104
7105 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7106
7107         * docs/pwg/advanced-scheduling.xml:
7108         * docs/pwg/advanced-tagging.xml:
7109         * docs/pwg/advanced-types.xml:
7110         * docs/pwg/building-boiler.xml:
7111         * docs/pwg/building-chainfn.xml:
7112         * docs/pwg/building-signals.xml:
7113         * docs/pwg/building-state.xml:
7114         * docs/pwg/building-testapp.xml:
7115         * docs/pwg/intro-basics.xml:
7116         * docs/pwg/other-manager.xml:
7117         * docs/pwg/other-source.xml:
7118           Typo fixes.
7119         * docs/pwg/other-manager.xml:
7120           Add some first content. No example code yet.
7121         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7122           Remove double newlines.
7123
7124 2004-11-04  Wim Taymans  <wim@fluendo.com>
7125
7126         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7127         (remove_from_group), (normalize_group), (group_migrate_connected),
7128         (gst_opt_scheduler_iterate):
7129         * testsuite/schedulers/.cvsignore:
7130         * testsuite/schedulers/Makefile.am:
7131         * testsuite/schedulers/queue_link.c: (main):
7132         Added testcase for scheduler segfault.
7133         Fix scheduler segfault when removing a decoupled
7134         entry point as the last element from a group.
7135
7136 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7137
7138         * gst/gstmarshal.list: add missing marshaller, fixes build
7139
7140 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7141
7142         * docs/random/signal: added notes about using BOXED for GstBuffer
7143         signal marshallers, not POINTER
7144
7145 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7146
7147         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7148         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7149         POINTER=>BOXED changes to marshal GstBuffers
7150
7151 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7152
7153         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7154         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7155
7156 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7157
7158         * docs/gst/gstreamer-sections.txt:
7159         * docs/gst/tmpl/gstcaps.sgml:
7160         * docs/gst/tmpl/gsterror.sgml:
7161         * docs/gst/tmpl/gstinfo.sgml:
7162         * docs/gst/tmpl/gstmacros.sgml:
7163         * docs/gst/tmpl/gstutils.sgml:
7164         * docs/random/ensonic/interfaces.txt:
7165         * gst/gstinfo.h:
7166           added some more docs, removed two obsolete defines
7167
7168 2004-11-02  Kjartan Maraas <as at gnome.org>
7169
7170         reviewed by: Wim Taymans, Ronald Bultje.
7171
7172         * gst/cothreads.c: (cothread_create):
7173         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7174         (gst_bin_child_state_change_func):
7175         * gst/gstbuffer.c: (gst_buffer_span):
7176         * gst/gstelement.c: (gst_element_get_index),
7177         (gst_element_get_event_masks), (gst_element_get_query_types),
7178         (gst_element_get_formats):
7179         * gst/gsterror.c: (_gst_core_errors_init),
7180         (_gst_library_errors_init), (_gst_resource_errors_init),
7181         (_gst_stream_errors_init):
7182         * gst/gstobject.c: (gst_object_default_deep_notify):
7183         * gst/gstpad.c: (gst_pad_get_event_masks),
7184         (gst_pad_get_internal_links_default):
7185         * gst/gstplugin.c: (gst_plugin_register_func),
7186         (gst_plugin_get_module):
7187         * gst/gststructure.c: (gst_structure_get_string),
7188         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7189         (gst_structure_to_abbr):
7190         * gst/gstutils.c: (gst_print_element_args):
7191         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7192         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7193         Aplied part of patch #157127: Cleanup of issues reported by 
7194         sparse.
7195         Also do not try to use cothreads when there is no cothread
7196         context yet.
7197
7198 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7199
7200         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7201         (gst_opt_scheduler_iterate):
7202         Applied patch #154061. Running a pipeline in which an element 
7203         calls GST_ELEMENT_ERROR in the chain function, the opt 
7204         scheduler doesn't unref the chain so it never gets freed.
7205
7206 2004-11-02  Wim Taymans  <wim@fluendo.com>
7207
7208         * gst/gststructure.c: (gst_structure_get_abbrs),
7209         (gst_structure_from_abbr), (gst_structure_to_abbr):
7210         Remove that ugly if-then thing in the code that converts
7211         between strings and types.
7212
7213 2004-11-02  Wim Taymans  <wim@fluendo.com>
7214
7215         * gst/gstscheduler.c: (gst_scheduler_add_element),
7216         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7217         Aplied clock distribution patch, this should fix bug
7218         #148787.
7219
7220 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7221
7222         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7223
7224         * po/LINGUAS:
7225         * po/nb.po:
7226           Added Norwegian Bokmaal translation
7227
7228 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7229
7230         * tools/gst-inspect.c: (print_signal_info):
7231           print signal arguments as pointers if they are
7232
7233 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7234
7235         * docs/pwg/building-boiler.xml:
7236           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7237
7238 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7239
7240         * gst/parse/parse.l:
7241         * testsuite/parse/parse1.c: (main):
7242         Since parse can do 'element name=a:b' make 'a:b.' work as
7243         well. 
7244         Added testcase to verify fix.
7245
7246 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7247
7248         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7249         Use the realpad when printing the direction.
7250         Add extra \n when printing extensions of typefind factories.
7251
7252 2004-10-13  David Schleef  <ds@schleef.org>
7253
7254         * examples/manual/Makefile.am: $< isn't portable in Makefile
7255         rules.
7256
7257 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7258
7259         * docs/gst/tmpl/gstobject.sgml:
7260         * docs/gst/tmpl/gstplugin.sgml:
7261         * docs/gst/tmpl/gstpluginfeature.sgml:
7262         * docs/gst/tmpl/gstregistry.sgml:
7263         * docs/gst/tmpl/gstversion.sgml:
7264         * gst/gstbin.c:
7265           more api documentation
7266         * gst/gstplugin.c: (gst_plugin_register_func),
7267         (gst_plugin_check_file), (gst_plugin_load_file):
7268           better error signaling and logging
7269
7270 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7271
7272         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7273           Subtract current queue contents from position queries.
7274
7275 2004-10-11  Johan Dahlin  <johan@gnome.org>
7276
7277         * gst/gsturi.c (gst_uri_get_location): unescape string
7278         (gst_uri_construct): escape string.
7279
7280 2004-10-11  Benjamin Otte  <otte@gnome.org>
7281
7282         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7283         (gst_pad_try_set_caps_nonfixed):
7284           allow renegotiation of unconnected pads (as inside spider). Simply
7285           return OK if unconnected - mimic try_set_caps there.
7286
7287 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7288
7289         * gst/gstbin.c: (gst_bin_sync_children_state):
7290           Add missing break.
7291
7292 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7293
7294         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7295         Set element to EOS before sending EOS event
7296
7297 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7298
7299         * gst/elements/gsttypefindelement.c:
7300         (gst_type_find_element_handle_event):
7301         Handle EOS events when doing the transition from
7302         typefind to data passing. This should fix the
7303         infinite loops in short files.
7304
7305 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7306
7307         * gst/gstthread.c: (gst_thread_change_state),
7308         (gst_thread_child_state_change):
7309         Make sure no iteration happens while performing
7310         the state change as it could mess up the internal
7311         consistency of the thread state.
7312
7313 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7314
7315         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7316         (gst_thread_change_state), (gst_thread_child_state_change):
7317         Do not try to grab the iterate lock in the state change method
7318         when we are in the same thread as the iterate or else we
7319         could deadlock. Some other cleanups.
7320
7321 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7322
7323         * configure.ac:
7324           bump nano to cvs
7325
7326 === release 0.8.7 ===
7327
7328 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7329
7330         * configure.ac:
7331         * NEWS:
7332         * RELEASE:
7333         * configure.ac:
7334           releasing 0.8.7, "A Cruise"
7335
7336 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7337
7338         * docs/random/mimetypes:
7339         Add an entry for Sony ATRAC3 audio format with mime-type
7340         used by rmdemux et riff-read
7341
7342 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7343
7344         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7345         Push the buffer store instead of clearing it in case that
7346         the stream is not seekable.
7347
7348 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7349
7350         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7351         (gst_thread_main_loop):
7352         Lock the iteration and the state change so that automatic
7353         negotiation and fixation does not happen at the same time
7354         as the in stream negotiation.
7355
7356 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7357
7358         * configure.ac:
7359           bump nano to cvs
7360
7361 === release 0.8.6 ===
7362
7363 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7364
7365         * configure.ac:
7366         * NEWS:
7367         * RELEASE:
7368         * configure.ac:
7369           releasing 0.8.6, "Narc"
7370
7371 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7372
7373         * configure.ac:
7374           prerel bump
7375
7376 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7377
7378         patch by: Steve Lhomme
7379
7380         * gst/elements/gstfakesrc.c:
7381         * gst/elements/gstidentity.c:
7382         * gst/gstthread.c:
7383           Fix for #153881
7384
7385 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7386
7387         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7388         Fix threadsafety of the crc checking function.
7389
7390 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7391
7392         patch by: Ronald Bultje
7393
7394         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7395         (gst_type_find_element_handle_event),
7396         (gst_type_find_element_chain):
7397         * gst/elements/gsttypefindelement.h:
7398          #153657.
7399          Filter out discont event from seekable sources when typefind
7400          asks them to seek.  Fixes typefind with demuxers for
7401          avi, asf and matroska.
7402
7403 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7404
7405         * docs/gst/gstreamer-sections.txt:
7406         * gst/gstcaps.c:
7407         * gst/gstcaps.h:
7408         * gst/gstpad.c:
7409           Revert preferred caps: (#147789)
7410
7411 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7412
7413         * win32/dirent.c:
7414           fix a memory leak
7415
7416 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7417
7418         * configure.ac:
7419           bump for prerelease
7420
7421 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         * docs/Makefile.am:
7424         * docs/manual/elements-api.xml:
7425           restructure so that common stuff is shown first
7426         * docs/manual/init-api.xml:
7427           convert to examples
7428         * docs/manual/manual.xml:
7429         * docs/manuals.mak:
7430         * docs/url.entities:
7431           link to API on the website, possibly override later in build
7432         * examples/manual/.cvsignore:
7433           ignore more
7434         * examples/manual/Makefile.am:
7435           add more examples
7436         * examples/manual/extract.pl:
7437           error out on failure
7438
7439 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * docs/gst/tmpl/gstthread.sgml:
7442         * docs/manual/init-api.xml:
7443         * examples/manual/Makefile.am:
7444           convert two code bits to examples
7445
7446 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7447
7448         * gst/gstelement.c: (gst_element_change_state):
7449           Well, actually, I was about to remove this insane assert when
7450           I noticed Wim already did that. A warning is nice so we can
7451           fix actual ugs (using --g-fatal-warnings and backtraces), so
7452           I added that instead.
7453
7454 2004-09-06  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7457         (gst_element_threadsafe_properties_post_run),
7458         (gst_element_set_state), (gst_element_change_state):
7459         Added extra refcounting around various places. 
7460
7461 2004-09-06  Wim Taymans  <wim@fluendo.com>
7462
7463         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7464         Fix debug info.
7465
7466 2004-09-06  Wim Taymans  <wim@fluendo.com>
7467
7468         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7469         (remove_from_group):
7470         Some more debug info.
7471
7472 2004-09-03  Wim Taymans  <wim@fluendo.com>
7473
7474         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7475         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7476         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7477         (gst_fakesrc_get), (gst_fakesrc_change_state):
7478         * gst/elements/gstfakesrc.h:
7479         * gst/elements/gstidentity.c: (gst_identity_class_init),
7480         (gst_identity_init), (gst_identity_chain),
7481         (gst_identity_set_property), (gst_identity_get_property),
7482         (gst_identity_change_state):
7483         * gst/elements/gstidentity.h:
7484         Added datarate properties to limit the datarate.
7485
7486 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7487
7488         * gst/autoplug/gstspider.c: (plugin_init):
7489           don't set a rank. We don't want to autoplug by inserting spiders.
7490
7491 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7492
7493         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7494         (gst_spider_identity_plug):
7495           add a template for spider's sink
7496         * gst/gst.c: (gst_register_core_elements):
7497           queue's rank should be NULL, we don't want spider to add it.
7498
7499 2004-08-18  David Schleef  <ds@schleef.org>
7500
7501         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7502         * docs/libs/Makefile.am: same
7503         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7504         * docs/random/ds/0.9-planning: random additions
7505         * docs/random/ds/0.9-suggested-changes: same
7506         * gst/gstxml.h: remove vestigal GstXMLNs definition
7507
7508         Preferred caps: (#147789)
7509         * docs/gst/gstreamer-sections.txt: Add symbols
7510         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7511         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7512         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7513         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7514         (gst_caps_get_preferred), (gst_caps_set_preferred),
7515         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7516         (gst_caps_use_preferred): Handle caps preferences
7517         * gst/gstcaps.h: Add caps preferences
7518         * gst/gstpad.c: (gst_pad_link_get_preferred),
7519         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7520         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7521         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7522         negotiation.
7523
7524 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7525
7526         * gst/autoplug/gstspideridentity.c:
7527         (gst_spider_identity_request_new_pad):
7528         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7529         (gst_aggregator_init):
7530         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7531         (gst_fakesink_init):
7532         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7533         (gst_fakesrc_init):
7534         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7535         (gst_fdsink_init):
7536         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7537         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7538         (gst_filesink_init):
7539         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7540         (gst_filesrc_init):
7541         * gst/elements/gstidentity.c: (gst_identity_base_init),
7542         (gst_identity_init):
7543         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7544         (gst_multifilesrc_init):
7545         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7546         (gst_pipefilter_init):
7547         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7548         (gst_statistics_init):
7549         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7550         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7551           s/gst_pad_new/&_from_template/
7552           register pad templates in the base_init function
7553           add static pad template definitions
7554
7555 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7556
7557         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7558         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7559         * testsuite/refcounting/pad.c: (main):
7560         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7561           s/gst_pad_new/&_from_template/
7562           prepare deprecation of gst_pad_new
7563
7564 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7565
7566         patch by: Luca Ognibene <skaboy81@virgilio.it>
7567
7568         * gst/gstcaps.c:
7569         * gst/gstelement.c:
7570         * gst/gstpad.c:
7571         * gst/gstxml.c:
7572           fix memleaks.  Fixes #150001
7573
7574 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7575
7576         * docs/random/ds/0.9-suggested-changes:
7577           add notes - mostly about pad templates
7578
7579 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7580
7581         * win32/GStreamer.vcproj:
7582           temporary locale files are .gmo not .mo
7583
7584 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7585
7586         * configure.ac: bump nano to cvs
7587
7588 === release 0.8.5 ===
7589
7590 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7591
7592         * configure.ac:
7593           releasing 0.8.5, "Stuttgart"
7594         * NEWS:
7595         * RELEASE:
7596         * configure.ac:
7597         * docs/random/release:
7598           updates for release
7599
7600 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         patch by: Wim Taymans (wim@fluendo.com)
7603
7604         * gst/gstbuffer.c:
7605         * gst/gstindex.h:
7606         * libs/gst/dataprotocol/dataprotocol.c:
7607           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7608
7609 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7610
7611         * Makefile.am:
7612         * win32/MANIFEST:
7613           add win32 dir to the build.  Fixes #149981.
7614
7615 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7616
7617         * configure.ac:
7618           bump libtool versioning
7619         * gst/gststructure.c:
7620           mark function as static
7621         * po/af.po:
7622         * po/az.po:
7623         * po/ca.po:
7624         * po/cs.po:
7625         * po/en_GB.po:
7626         * po/fr.po:
7627         * po/nl.po:
7628         * po/sq.po:
7629         * po/sr.po:
7630         * po/sv.po:
7631         * po/tr.po:
7632         * po/uk.po:
7633           translations update
7634         * win32/README.txt:
7635           trademark protection
7636
7637 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7638
7639         * configure.ac:
7640           fix GST_ORIGIN
7641           set GST_PACKAGE to source, and distinguish between release and other
7642         * tools/gst-inspect.c:
7643           print out plugin an element factory is part of so we see this info
7644
7645 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7646
7647         * docs/gst/gstreamer-sections.txt:
7648         * docs/gst/tmpl/gstbuffer.sgml:
7649         * docs/gst/tmpl/gstschedulerfactory.sgml:
7650           reorder docs a little, make GstBuffer's more sensible.
7651         * gst/gstbuffer.h:
7652           API: added GST_BUFFER_FLAG_DELTA_UNIT
7653         * gst/gstscheduler.c:
7654           comment API addition
7655
7656 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7657
7658         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7659           work with non-regular files that can be mmapped (like /dev/zero)
7660         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7661           get rid of typefinds that require a seek when we can't seek instead
7662           of trying them over and over again
7663         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7664           return non-zero failure value when the pipeline was interrupted or
7665           an error occurred
7666
7667 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7668
7669         * win32/config.h:
7670         * win32/GStreamer.vcproj:
7671           compile and install the locales
7672
7673 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7674
7675         * gst/gstvalue.c:
7676           fix a possible memory leak under Windows
7677
7678 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7679
7680         * win32/GStreamer.vcproj:
7681           fix a memory leak that occured under Windows
7682         * win32/gstreamer.def:
7683           add gst_scheduler_register
7684
7685 2004-08-11  Benjamin Otte  <otte@gnome.org>
7686
7687         * docs/gst/gstreamer-sections.txt:
7688         * gst/gstscheduler.c: (gst_scheduler_register):
7689         * gst/gstscheduler.h:
7690           API:
7691           add gst_scheduler_register shortcut similar to gst_element_register
7692         * gst/schedulers/entryscheduler.c: (plugin_init):
7693         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7694         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7695           use it
7696
7697 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7698
7699         * gst/gstvalue.h:
7700           fix a memory leak that occured under Windows
7701
7702 2004-08-10  Colin Walters  <walters@redhat.com>
7703
7704         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7705         Don't use O_EXCL to open temporary registry.  It will prevent
7706         registry creation if a temporary one already exists, which
7707         is unnecessary.
7708
7709 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7710
7711         * docs/gst/gstreamer-sections.txt:
7712         * docs/gst/tmpl/gstvalue.sgml:
7713           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7714
7715 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7716
7717         * win32/gstbytestream.vcproj:
7718         * win32/gstelements.vcproj:
7719         * win32/gstgetbits.vcproj:
7720         * win32/gst-inspect.vcproj:
7721         * win32/gst-launch.vcproj:
7722         * win32/gstoptimalscheduler.vcproj:
7723         * win32/GStreamer.vcproj:
7724         * win32/gst-register.vcproj:
7725         * win32/gstspider.vcproj:
7726           update the include and lib dirs to fit standard libraries as
7727           described in the Win32 manual
7728
7729 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7730
7731         * win32/config.h:
7732         * win32/gstversion.h:
7733           enable NLS again, push the version number for the coming 0.8.5 release
7734
7735 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7736
7737         * gst/gstvalue.h:
7738           export gst_type_XXX for windows DLLs
7739
7740 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * docs/faq/gst-uninstalled:
7743           fix PKG_CONFIG_PATH and PYTHONPATH
7744         * gst/schedulers/Makefile.am:
7745           cleanup
7746         * libs/gst/bytestream/bytestream.c:
7747           remove newline
7748         * po/LINGUAS:
7749         * po/sq.po:
7750           adding Albanian translation (Laurent Dhima)
7751         * po/cs.po:
7752           updated
7753
7754 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7755
7756         * po/ca.po:
7757         * po/sv.po:
7758           updated translations
7759
7760 2004-08-04  Benjamin Otte  <otte@gnome.org>
7761
7762         * tests/mass_elements.c: (main):
7763           allow specifying src and sink element explicitly, so I can test
7764           videotestsrc instead of fakesrc
7765
7766 2004-08-04  Benjamin Otte  <otte@gnome.org>
7767
7768         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7769         (gst_structure_id_empty_new), (gst_structure_empty_new),
7770         (gst_structure_copy):
7771           add gst_structure_id_empty_new_with_size to allow preallocating
7772           value array sizes. Use this in gst_structure_copy to get rid of
7773           reallocs.
7774           don't do quark=>string=>quark when copying structures
7775
7776 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7777
7778         * docs/manual/win32.xml:
7779         * win32/README.txt:
7780           update documentation with the clean version of dependencies
7781
7782 2004-08-03  Benjamin Otte  <otte@gnome.org>
7783
7784         * gst/schedulers/entryscheduler.c:
7785         (gst_entry_scheduler_remove_element):
7786           fix for GST_DISABLE_DEBUG
7787         * tools/gst-launch.c: (print_tag):
7788           fixes for G_DISABLE_ASSERT
7789
7790 2004-08-03  Benjamin Otte  <otte@gnome.org>
7791
7792         * gst/gst.c: (gst_register_core_elements):
7793           fix for G_DISABLE_ASSERT
7794         * gst/gstinfo.c: (__gst_in_valgrind):
7795           add for GST_DISABLE_DEBUG
7796
7797 2004-08-03  Benjamin Otte  <otte@gnome.org>
7798
7799         * gst/parse/parse.l:
7800           fix for G_DISABLE_ASSERT
7801
7802 2004-08-03  Wim Taymans  <wim@fluendo.com>
7803
7804         * gst/gstbin.c: (gst_bin_get_type),
7805         (gst_bin_child_state_change_func):
7806         * gst/gstthread.c: (gst_thread_change_state):
7807         Backported some debug logging from a reverted patch
7808         Don't try to destroy the thread twice. Added some more
7809         debugging in GstThread. Unlock and signal even if we
7810         are in the thread context.
7811
7812 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7813
7814         * po/uk.po:
7815           updated translation
7816
7817 2004-07-30  David Schleef  <ds@schleef.org>
7818
7819         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7820
7821 2004-07-29  David Schleef  <ds@schleef.org>
7822
7823         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7824         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7825
7826 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7827
7828         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7829         (gst_bin_add_func), (gst_bin_remove_func),
7830         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7831         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7832         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7833         (gst_bin_sync_children_state):
7834         * gst/gstbin.h:
7835         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7836         (gst_thread_change_state):
7837         * testsuite/states/Makefile.am:
7838           revert state change patches as agreed so we can rework them
7839           gradually
7840
7841 2004-07-29  Benjamin Otte  <otte@gnome.org>
7842
7843         * libs/gst/control/Makefile.am:
7844           link to libgstreamer (fixes Debian bug 262019, see
7845           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7846
7847 2004-07-29  Wim Taymans  <wim@fluendo.com>
7848
7849         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7850         (check_from_fraction_convert), (transform_test), (main):
7851         Make the test less pedantic about float roundoff errors.
7852
7853 2004-07-29  Benjamin Otte  <otte@gnome.org>
7854
7855         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7856         (gst_filesrc_srcpad_event):
7857           make seek events to before start/after end of file not fail, but
7858           seek to start/end instead
7859         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7860           add more output
7861
7862 2004-07-29  Benjamin Otte  <otte@gnome.org>
7863
7864         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7865           check that caps are fixed
7866         * gst/gstpad.c: (gst_pad_template_new):
7867           don't try to simplify caps, costs too much time on gst_init
7868         * gst/gstplugin.c: (gst_plugin_add_feature):
7869           G_ERROR if features are added twice
7870         * gst/gsttypefind.c: (gst_type_find_register):
7871         * gst/gstelementfactory.c: (gst_element_register):
7872           don't add features twice
7873         * docs/random/ds/0.9-suggested-changes:
7874           add note about possible gst_init optimization
7875
7876 2004-07-28  David Schleef  <ds@schleef.org>
7877
7878         * testsuite/elements/Makefile.am:
7879         * testsuite/elements/struct_i386.h:
7880         * testsuite/elements/struct_size.c: (main):  A little test
7881         to keep distcheck from working if someone changes a structure
7882         size accidentally.
7883
7884 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         * docs/libs/Makefile.am:
7887         * docs/libs/gstreamer-libs-docs.sgml:
7888         * docs/libs/gstreamer-libs-sections.txt:
7889         * docs/libs/tmpl/gstbytestream.sgml:
7890         * docs/libs/tmpl/gstcontrol.sgml:
7891         * docs/libs/tmpl/gstdataprotocol.sgml:
7892         * docs/libs/tmpl/gstgetbits.sgml:
7893         * libs/gst/bytestream/Makefile.am:
7894         * libs/gst/bytestream/bytestream.c:
7895         * libs/gst/bytestream/bytestream.h:
7896         * libs/gst/control/Makefile.am:
7897         * libs/gst/dataprotocol/Makefile.am:
7898         * libs/gst/getbits/Makefile.am:
7899         * libs/gst/getbits/getbits.h:
7900           various doc and style fixes, adding bytestream to libs docs.
7901
7902 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7903
7904         * docs/gst/gstreamer-docs.sgml:
7905         * docs/libs/Makefile.am:
7906         * docs/libs/gstreamer-libs-docs.sgml:
7907         * docs/libs/gstreamer-libs-sections.txt:
7908         * libs/gst/control/dparam.c:
7909           more doc fixes.  gst-libs docs now build the same way as gst.
7910
7911 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7912
7913         * configure.ac:
7914         * testsuite/Makefile.am:
7915         * testsuite/bins/Makefile.am:
7916         * testsuite/caps/Makefile.am:
7917         * testsuite/cleanup/Makefile.am:
7918         * testsuite/clock/Makefile.am:
7919         * testsuite/debug/Makefile.am:
7920         * testsuite/dlopen/Makefile.am:
7921         * testsuite/dynparams/Makefile.am:
7922         * testsuite/elements/.cvsignore:
7923         * testsuite/elements/Makefile.am:
7924         * testsuite/enumcaps/Makefile.am:
7925         * testsuite/enumcaps/enumcaps.c:
7926         * testsuite/ghostpads/Makefile.am:
7927         * testsuite/indexers/Makefile.am:
7928         * testsuite/negotiation/Makefile.am:
7929         * testsuite/parse/Makefile.am:
7930         * testsuite/plugin/Makefile.am:
7931         * testsuite/refcounting/Makefile.am:
7932         * testsuite/schedulers/.cvsignore:
7933         * testsuite/states/Makefile.am:
7934         * testsuite/tags/Makefile.am:
7935         * testsuite/threads/Makefile.am:
7936           fold enumcaps into caps dir
7937           clean up Makefile.am's for testsuite
7938
7939 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7940
7941         * docs/gst/Makefile.am:
7942         * docs/libs/Makefile.am:
7943           clean up docs build.  Fixes needless rebuilding of template files.
7944
7945 2004-07-28  Wim Taymans  <wim@fluendo.com>
7946
7947         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7948         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7949         Make sure that a bin state change tries to keep the children
7950         in sync. 
7951         Added debug logging to the thread.
7952
7953 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7954
7955         * win32/GStreamer.vcproj:
7956         * win32/gstreamer.def:
7957           more exports for the plugins
7958
7959 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7960
7961         * win32/gstgetbits.vcproj:
7962         * win32/gstgetbits.def:
7963         * win32/msvc71.sln:
7964           add support for the getbits plugin
7965
7966 2004-07-27  Wim Taymans  <wim@fluendo.com>
7967
7968         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7969         (gst_value_transform_fraction_double), (_gst_value_initialize):
7970         * testsuite/caps/Makefile.am:
7971         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7972         (check_from_fraction_convert), (transform_test), (main):
7973         Added transform functions between double and fraction.
7974         Added testcase to verify transforms
7975
7976 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7977
7978         * win32/GStreamer.vcproj:
7979           rename GStreamer-0.8.lib to libgstreamer.lib
7980
7981 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7982
7983         * win32/gstelements.vcproj:
7984         * win32/gstoptimalscheduler.vcproj:
7985           fixes for the Release build
7986
7987 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7988
7989         * win32/config.h:
7990           update the version number
7991
7992 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7993
7994         * win32/GStreamer.vcproj:
7995           add gstinterface to the build
7996
7997 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7998
7999         * win32/gstreamer.def:
8000           add many definitions needed by plugins,
8001           GST_CAT_DEFAULT only available in the Debug build ?
8002
8003 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8004
8005         * gst/gstelement.c: (gst_element_set_eos_recursive):
8006           various whitespace fixes.
8007           doc fix, fixes #148497
8008
8009 2004-07-25  Benjamin Otte  <otte@gnome.org>
8010
8011         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8012           don't delay links on the sink elements, it causes unnegotiated
8013           links.
8014         * gst/elements/gsttypefindelement.c:
8015         (gst_type_find_element_base_init):
8016           add our padtemplates, we indeed do have some.
8017         * gst/elements/gsttypefindelement.c:
8018         (gst_type_find_element_handle_event),
8019         (gst_type_find_element_chain):
8020           don't push data when typefinding failed.
8021         * gst/gstpad.c: (gst_pad_link_fixate):
8022           check that no fixate function returns empty caps.
8023         * gst/gstpad.c: (gst_pad_push):
8024           check that the link is negotiated before data gets pushed.
8025         * tools/gst-register.c: (main):
8026           don't assert (fixes #148283)
8027
8028 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8029
8030         * docs/gst/gstreamer-sections.txt:
8031         * docs/gst/tmpl/gstconfig.sgml:
8032           add GST_PLUGIN_EXPORT definition
8033
8034 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8035
8036         * gst/gstplugin.h:
8037         * gst/gstconfig.h.in:
8038         * win32/gstconfig.h:
8039         * win32/gstelements.def:
8040         * win32/gstelements.vcproj:
8041         * win32/gstoptimalscheduler.def:
8042         * win32/gstoptimalscheduler.vcproj:
8043         * win32/gstspider.def:
8044         * win32/gstspider.vcproj:
8045           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8046
8047 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * docs/gst/gstreamer-sections.txt:
8050           remove GST_CAT_DEFAULT because the type has changed
8051
8052 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8053
8054         * win32/gstbytestream.vcproj:
8055         * win32/gstelements.vcproj:
8056         * win32/gst-inspect.vcproj:
8057         * win32/gst-launch.vcproj:
8058         * win32/gstoptimalscheduler.vcproj:
8059         * win32/GStreamer.vcproj:
8060         * win32/gst-register.vcproj:
8061         * win32/gstspider.vcproj:
8062         * win32/msvc71.sln:
8063           Copy the files where needed after building, The testsuite will be
8064           built separately
8065
8066 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8067
8068         * win32/config.h:
8069         * win32/README.txt:
8070         * docs/manual/win32.xml:
8071         Fixed the plugin and GStreamer location
8072
8073 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8074
8075         * win32/gstreamer.def:
8076         More exports for the plugins
8077
8078 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8079
8080         * gst/gstinfo.h:
8081         Marc was right, we need to export literally GST_CAT_DEFAULT
8082
8083 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8084
8085         * win32/config.h:
8086         NLS crashes in gettext, disabled until this is solved
8087
8088 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8089
8090         * win32/gst-inspect.vcproj:
8091         * win32/gst-launch.vcproj:
8092         Should use NLS when available
8093
8094 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8095
8096         * gst/registries/gstxmlregistry.c:
8097         removing the file doesn't seem to be a good idea on Linux
8098
8099 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8100
8101         * gst/registries/gstxmlregistry.c:
8102         Remove the registry before renaming the tempfile (needed for Windows)
8103
8104 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8105
8106         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8107         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8108         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8109         * gst/elements/gstmultifilesrc.h:
8110         Added newmedia property so it generates newmedia events between each
8111         file when property is set, as well as fixed eos handling
8112
8113 2004-07-22  David Schleef  <ds@schleef.org>
8114
8115         * gst/gststructure.c: (gst_structure_id_empty_new),
8116         (gst_structure_empty_new):  Set type field correctly.
8117         * gst/gststructure.h: Check type field correctly.
8118         * testsuite/caps/Makefile.am:
8119         * testsuite/caps/structure.c: (test1), (main): Add a very small
8120         test for structures.
8121
8122 2004-07-22  David Schleef  <ds@schleef.org>
8123
8124         * docs/random/ds/0.9-suggested-changes: more comments
8125         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8126
8127 2004-07-22  Benjamin Otte  <otte@gnome.org>
8128
8129         * gst/gstelementfactory.c: (gst_element_register):
8130           set the factory in the class struct, so gst_element_get_factory
8131           actually works
8132         * gst/parse/grammar.y:
8133           set element to playing when it gets unlocked as we can't rely on the
8134           bin state - all elements in the bin state might still be locked in
8135           NULL)
8136
8137 2004-07-22  Benjamin Otte  <otte@gnome.org>
8138
8139         * gst/gstelement.c: (gst_element_set_state_func):
8140           make this a static function
8141
8142 2004-07-22  Wim Taymans  <wim@fluendo.com>
8143
8144         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8145         (gst_opt_scheduler_pad_link):
8146         fix 147894-2 and the group_link problem.
8147
8148 2004-07-22  Wim Taymans  <wim@fluendo.com>
8149
8150         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8151         (handoff_identity), (main):
8152         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8153         (handoff_identity), (main):
8154         * testsuite/schedulers/Makefile.am:
8155         * testsuite/schedulers/group_link.c: (main):
8156         Show bug in scheduler when linking chain and loop based element 
8157         where the chain based element was not yet in a group.
8158
8159 2004-07-21  Benjamin Otte  <otte@gnome.org>
8160
8161         * gst/.cvsignore:
8162         * gst/autoplug/.cvsignore:
8163         * gst/elements/.cvsignore:
8164         * gst/indexers/.cvsignore:
8165         * libs/gst/bytestream/.cvsignore:
8166         * libs/gst/control/.cvsignore:
8167         * libs/gst/getbits/.cvsignore:
8168         * testsuite/states/.cvsignore:
8169         * testsuite/threads/.cvsignore:
8170           keep this up to date, since I seem to be the only one who cares
8171           about not missing files on commits (editor's note: no you don't,
8172           but feel free to change them at the time you add stuff instead
8173           of later on)
8174
8175 2004-07-21  Benjamin Otte  <otte@gnome.org>
8176
8177         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8178         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8179         (gst_bin_child_state_change_func), (set_kid_state_func),
8180         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8181           make state changes work correctly and reentrant (so removing
8182           elements from bins during state changes of bins doesn't cause
8183           segfaults or even wrong states)
8184           add debugging category and debugging output to print children states
8185         * gst/gstbin.c: (gst_bin_dispose): 
8186           add some assertion checks
8187         * gst/gstbin.h:
8188         * gst/gstbin.c: (gst_bin_sync_children_state):
8189           deprecate this function - it just does gst_bin_set_state (bin,
8190           GST_STATE (bin)) 
8191         * testsuite/threads/queue.c: (main):
8192           don't use gst_bin_sync_children_state anymore
8193         * testsuite/states/Makefile.am:
8194         * testsuite/states/bin.c:
8195           test that the state changes of bins work as expected
8196         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8197           some adjustments to change states correctly, too
8198         * gst/gstthread.c: (gst_thread_change_state):
8199           don't enable/disable "threadsafe" properties, they're unused and
8200           cause random segfaults
8201         * testsuite/threads/Makefile.am:
8202           the queue check randomly passes now, ignore it
8203
8204 2004-07-21  Benjamin Otte  <otte@gnome.org>
8205
8206         * gst/gstpad.c:
8207           check if data is NULL before outputting debug info. (fixes #145100)
8208
8209 2004-07-21  Benjamin Otte  <otte@gnome.org>
8210
8211         * gst/schedulers/entryscheduler.c:
8212         (gst_entry_scheduler_loop_wrapper),
8213         (gst_entry_scheduler_chain_wrapper),
8214         (gst_entry_scheduler_get_wrapper):
8215           reset the state when the cothread starts, so we don't get assertion
8216           failures on restarting of cothreads
8217
8218 2004-07-20  Benjamin Otte  <otte@gnome.org>
8219
8220         * gst/gstelement.c: (gst_element_link_pads_filtered):
8221           use correct sinkpad, if only sinkpad is specified, but not srcpad
8222           (fixes #147889)
8223         * gst/gstelement.c: (gst_element_set_state_func),
8224         (gst_element_change_state): ref/unref the element, signal handlers
8225         could get rid of the element otherwise
8226
8227 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8228
8229         * docs/random/ds/0.9-suggested-changes:
8230           Make note about renaming fixed-list to array.
8231         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8232         (_gst_value_initialize):
8233           Add array intersections.
8234         * testsuite/caps/intersect2.c: (main):
8235           Add test for array intersections.
8236
8237 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8238
8239         * configure.ac: back to cvs
8240
8241 === release 0.8.4 ===
8242
8243 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8244
8245         * configure.ac:
8246           releasing 0.8.4, "Paella"
8247           bump libtool versioning
8248
8249 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * po/LINGUAS:
8252         * po/ca.po:
8253           adding Catalan translation (Jordi Mallach)
8254
8255 2004-07-20  Wim Taymans  <wim@fluendo.com>
8256
8257         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8258         (handoff_identity), (main):
8259         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8260         (handoff_identity), (main):
8261         * testsuite/schedulers/Makefile.am:
8262         Added failing testcase for variant of #147894
8263
8264 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8265
8266         patch by: David Moore
8267
8268         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8269         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8270         (group_migrate_connected):
8271         * testsuite/schedulers/Makefile.am:
8272           fix for #142813 (Deadlock in optimal scheduler)
8273
8274 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8275
8276         patch by: Wim Taymans
8277
8278         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8279         (gst_opt_scheduler_schedule_run_queue),
8280         (gst_opt_scheduler_get_wrapper), (get_group),
8281         (group_migrate_connected):
8282         * testsuite/schedulers/Makefile.am:
8283           fix for #147819 (Add some checks in the opt scheduler)
8284
8285 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8286
8287         patch by: Benjamin Otte
8288
8289         * gst/gstelementfactory.c: (__gst_element_details_set):
8290           fix for #147929: running gst-register in non-utf8 locale can cause
8291           invalid registry
8292
8293 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         patch by: Wim Taymans
8296
8297         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8298         (group_has_element), (element_get_reachables_func),
8299         (group_migrate_connected):
8300           fix for #147894 (opt scheduler decoupled elements mismanagement)
8301         * testsuite/schedulers/Makefile.am:
8302           testsuite app now passes
8303
8304 2004-07-19  Wim Taymans  <wim@fluendo.com>
8305
8306         * testsuite/schedulers/147819.c: (handoff_identity1),
8307         (handoff_identity2), (main):
8308         * testsuite/schedulers/Makefile.am:
8309         Added testcase for bug 147819
8310
8311 2004-07-19  Wim Taymans  <wim@fluendo.com>
8312
8313         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8314         (handoff_identity), (main):
8315         * testsuite/schedulers/Makefile.am:
8316         Added testcase for bug 147894
8317
8318 2004-07-16  Wim Taymans  <wim@fluendo.com>
8319
8320         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8321         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8322         * testsuite/schedulers/Makefile.am:
8323         Added testsuite for bug 142183 in its two incarnations. Refcount
8324         is not increased for scheduled elements and threadsafe properties
8325         mutexes are not properly unlocked.
8326
8327 2004-07-16  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8330         (create_chain), (destroy_chain), (create_group), (destroy_group),
8331         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8332         (group_dec_link), (gst_opt_scheduler_pad_link),
8333         (group_inc_links_for_element), (group_migrate_connected):
8334         Call group_inc_link with the proper src->sink ordering -- 
8335         break this, and we break sort_chain. patch from wingo for bug
8336         147713.
8337         Partially revert patch 1.89. When adding a loop based element to 
8338         the scheduler, the links to other groups are automatically followed
8339         and incremented. This should not happen because the bin will call
8340         pad_link explicitly for those connection, resulting in them counted 
8341         twice. Results in assertion failure on pipeline cleanup.
8342
8343 2004-07-16  Wim Taymans  <wim@fluendo.com>
8344
8345         * testsuite/schedulers/143777-2.c: (main):
8346         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8347         (main):
8348         * testsuite/schedulers/Makefile.am:
8349         Added cleanup code to testcase 143777-2.
8350         Added testcase to show bug 147713, does not really show the
8351         deadlock as I can't figure out how to trigger it, but it does
8352         demonstrate bad ordering in the scheduler.
8353
8354 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8355
8356         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8357           change strndup to g_strndup.  Fixes #147707
8358
8359 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8360
8361         * po/af.po:
8362         * po/az.po:
8363         * po/cs.po:
8364         * po/en_GB.po:
8365         * po/fr.po:
8366         * po/nl.po:
8367         * po/sr.po:
8368         * po/sv.po:
8369         * po/tr.po:
8370         * po/uk.po:
8371           updated translations
8372
8373 2004-07-16  Benjamin Otte  <otte@gnome.org>
8374
8375         * gst/gstvalue.c: (gst_greatest_common_divisor):
8376           use ints and return ints, fractions only use ints, too, so this
8377           avoids accidently casting multiplications to unsigned
8378         (gst_value_lcopy_fraction): it's ints, not uint32
8379         (gst_value_set_fraction): disallow minint, multiplying and negation
8380           are broken with it
8381         (gst_value_fraction_multiply): fix to make large numbers work and get
8382         rid of the assumption that the multiplication of two ints fits an
8383         int64 - dunno if that's true for all systems
8384         * testsuite/caps/Makefile.am:
8385         * testsuite/caps/fraction-multiply-and-zero.c:
8386         (check_multiplication), (check_equal), (zero_test), (main):
8387           add tests for all the stuff above
8388         * testsuite/caps/value_compare.c: (test1):
8389           fix comment
8390         * tests/.cvsignore:
8391         * testsuite/caps/.cvsignore:
8392         * testsuite/debug/.cvsignore:
8393         * testsuite/dlopen/.cvsignore:
8394         * testsuite/states/.cvsignore:
8395           get up to date
8396
8397 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8398
8399         * docs/manual/bins-api.xml:
8400         * docs/manual/factories.xml:
8401         * docs/manual/helloworld.xml:
8402         * docs/manual/links-api.xml: 
8403           fixes for out of date info, incorrect info and grammar
8404
8405 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8406
8407         * docs/manual/pads.xml:
8408         * docs/manual/pads-api.xml: grammar fix
8409
8410 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8411
8412         * docs/manual/pads-api.xml: typo + grammar fix
8413
8414 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * docs/gst/gstreamer-sections.txt:
8417           add new symbols
8418         * docs/gst/tmpl/gstelement.sgml:
8419         * docs/gst/tmpl/gstpad.sgml:
8420         * docs/gst/tmpl/gsttypes.sgml:
8421         * docs/gst/tmpl/gstvalue.sgml:
8422           update docs
8423         * gst/gststructure.c: (gst_structure_set_valist),
8424         (gst_structure_from_abbr), (gst_structure_to_abbr):
8425         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8426         (gst_greatest_common_divisor), (gst_value_init_fraction),
8427         (gst_value_copy_fraction), (gst_value_collect_fraction),
8428         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8429         (gst_value_get_fraction_numerator),
8430         (gst_value_get_fraction_denominator),
8431         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8432         (gst_value_deserialize_fraction),
8433         (gst_value_transform_fraction_string),
8434         (gst_value_transform_string_fraction),
8435         (gst_value_compare_fraction), (_gst_value_initialize):
8436         * gst/gstvalue.h:
8437           adding GstFraction GValue type, get/set, and multiply
8438         * testsuite/caps/Makefile.am:
8439         * testsuite/caps/fraction.c: (test), (main):
8440         * testsuite/caps/string-conversions.c: (main):
8441         * testsuite/caps/value_compare.c: (test1), (main):
8442           add regression tests for GstFraction
8443
8444 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8445         
8446         * docs/manual/init-api.xml: Grammar fix
8447
8448 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8449
8450         * docs/manual/states.xml: Fix inconsistent information
8451
8452 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * gst/gstelement.c: (gst_element_set_state):
8455         * gst/gstpad.c: (gst_pad_try_set_caps):
8456         * gst/gststructure.c:
8457         * gst/gstthread.c: (gst_thread_child_state_change):
8458         * gst/gstvalue.c: (gst_value_compare_double):
8459         * gst/gstvalue.h:
8460         * testsuite/parse/parse1.c: (main):
8461           debugging additions and style cleanups
8462
8463 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8464
8465         * docs/manual/states.xml: Grammar fix
8466
8467 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8468
8469         * docs/manual/pads.xml: Grammar fix
8470
8471 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8472
8473         * docs/manual/elements.xml: Fixed image reference
8474
8475 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8476
8477         * docs/manual/goals.xml: Grammar fix
8478
8479 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8480
8481         * docs/manual/motivation.xml:
8482         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8483
8484 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8485
8486         * docs/manual/motivation.xml: Fix spelling
8487
8488 2004-07-15  Benjamin Otte  <otte@gnome.org>
8489
8490         * gst/gstelement.h: 
8491           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8492           strings.
8493         * gst/gstelement.c (gst_element_class_init):
8494           GError's are boxed, not objects
8495         * gst/gstmarshal.list:
8496           update list for the fixed error signal
8497
8498 2004-07-14  Andy Wingo  <wingo@pobox.com>
8499
8500         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8501         there all along, but the function wasn't. (guile-gstreamer's build
8502         system uses the address of the function -- I wasn't actually
8503         trying to use this.)
8504
8505 2004-07-14  Andy Wingo  <wingo@pobox.com>
8506
8507         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8508         as gst_pad_proxy_pad_link) just link to every other pad when they
8509         are called. In the case where the graph has cycles, this will mean
8510         that a call to try_set_caps will recurse. Allow this recursion
8511         and return OK, while we wait for the first try_set_caps to give a
8512         proper return value.
8513         (gst_pad_link_call_link_functions): Since this function is the
8514         only one to set the NEGOTIATING flag on a pad, if the flag is set
8515         it means that the link functions have indirectly recursed. If this
8516         happens, error out to avoid infinite recursion and an eventual
8517         SEGV.
8518         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8519         (gst_pad_proxy_getcaps): Intersect the result with the template
8520         caps to ensure that the return value is valid.
8521
8522 2004-07-14  Andy Wingo  <wingo@pobox.com>
8523
8524         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8525         one refcount, the calling function is the owner of the buffer.
8526
8527 2004-07-14  Wim Taymans  <wim@fluendo.com>
8528
8529         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8530         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8531         Fix stupid warning when an element is to be migrated but
8532         is already migrated.
8533
8534 2004-07-14  Wim Taymans  <wim@fluendo.com>
8535
8536         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8537         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8538         Make sure that a single non-loop-based element does not 
8539         end up in a group. This fixes the testsuite again.
8540
8541 2004-07-14  Wim Taymans  <wim@fluendo.com>
8542
8543         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8544         (add_to_group), (merge_groups), (schedule_group),
8545         (gst_opt_scheduler_get_wrapper), (group_elements),
8546         (group_dec_link), (gst_opt_scheduler_pad_link),
8547         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8548         (gst_opt_scheduler_iterate):
8549         move isolated groups to a new chain.
8550         Emit a warning instead of segfaulting in some error cases.
8551         Fix a bug where the link count between groups was not calculated 
8552         correctly. Fixes #144510.
8553
8554 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8555         * gst/elements/gstfilesrc.c:
8556           Binary files support under Windows now OK
8557       
8558 2004-07-13  Benjamin Otte  <otte@gnome.org>
8559
8560           compatibility fixes for Solaris 8/gcc 2.95
8561         * configure.ac:
8562           include libintl libs in LDFLAGS
8563         * gstvalue.c (gst_value_deserialize_buffer):
8564           cast isxdigit stuff to int to silence compiler warning
8565
8566 2004-07-12  Benjamin Otte  <otte@gnome.org>
8567
8568         * gst/gsttypes.h:
8569           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8570           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8571           just causes support madness
8572         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8573           make it work without this
8574         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8575         (gst_file_index_commit):
8576           glib IO channels don't want binary mode
8577         * testsuite/bytestream/filepadsink.c: (main):
8578         * testsuite/bytestream/test1.c: (read_param_file):
8579           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8580
8581 2004-07-12  Benjamin Otte  <otte@gnome.org>
8582
8583         * gst/gstelement.c: (gst_element_class_init),
8584         (gst_element_set_state), (gst_element_set_state_func):
8585           virutalize gst_element_set_state, use set_state member in class
8586           struct that was already added in 0.7 for this.
8587         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8588         (gst_bin_change_state):
8589           make gst_bin_foreach works similar to other foreach functions, plug
8590           memleaks in it. Make functions using it work with the new approach.
8591           Document gst_bin_foreach, so it can be exported if we want to
8592         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8593           use virtualized set_state to make set_state on bins set the state of
8594           all its children.
8595
8596 2004-07-12  Benjamin Otte  <otte@gnome.org>
8597
8598         * configure.ac:
8599           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8600           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8601         * gst/gstpad.c: (gst_pad_alloc_buffer):
8602           allow buffer_alloc functions to return NULL and allocate a normal
8603           buffer in that case
8604
8605 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8606         * gst/elements/gstfilesink.c:
8607         * gst/elements/gstfilesrc.c:
8608         * gst/indexers/gstfileindex.c:
8609         * gst/gsttypes.h:
8610         * testsuite/bytestream/filepadsink.c:
8611         * testsuite/bytestream/test1.c:
8612           Handle binary files under Windows
8613
8614 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8615         * docs/manual/win32.xml:
8616         * win32/config.h:
8617         * win32/gst-register.vcproj:
8618         * win32/gstreamer.def:
8619           Update to another gettext public build
8620
8621 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8622         * gst/gstplugin.c:
8623           Fix an impossible C syntax
8624         * win32/config.h:
8625           Disable i18n under Windows for the moment
8626         * win32/gst-register.vcproj:
8627           Use this configuration
8628
8629 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8630         * docs/manual/quotes.xml:
8631           Keep the quotes file alive
8632         * docs/random/ds/0.9-suggested-changes:
8633           Add the suggestion of including a 'rowstride' as part of video
8634           format caps
8635
8636 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8637
8638         * gst/gstelement.c: (gst_element_set_state),
8639         (gst_element_change_state):
8640           d'oh.  Set PENDING state correctly before forcing bin to change.
8641         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8642         (gst_structure_parse_fixed_list):
8643         * gst/schedulers/gstoptimalscheduler.c:
8644         (gst_opt_scheduler_state_transition):
8645         * testsuite/states/parent.c: (main):
8646           remove comment now that it's fixed.
8647
8648 2004-07-11  Benjamin Otte  <otte@gnome.org>
8649
8650         * gst/gstclock.h:
8651           GST_SECOND shouldn't cause a conversion to unsigned.
8652         * testsuite/clock/.cvsignore:
8653         * testsuite/clock/Makefile.am:
8654         * testsuite/clock/signedness.c: (main):
8655           make sure it never will again
8656
8657 2004-07-11  Andy Wingo  <wingo@pobox.com>
8658
8659         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8660         whose state is higher than the bin state, raise the bin state to
8661         ensure that bin state := highest child state.
8662         
8663 2004-07-11  Andy Wingo  <wingo@pobox.com>
8664
8665         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8666         procedure on the children of a bin. Assumes that the procedure can
8667         change the set of children.
8668         (set_kid_state_func): New static function.
8669         (gst_bin_change_state): Use gst_bin_foreach to call
8670         set_kid_state_func. Fixes a bug: if a child had a state-change
8671         handler that removes it from the bin, there would be a segfault.
8672         Hopefully it should also work in the case where the state-change
8673         handler on one child adds or removes other children. In any case,
8674         fixes should go to gst_bin_foreach.
8675
8676 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8677
8678         * gst/gstelement.c: (gst_element_set_state):
8679           compatibility fix for latest plugins release.  Change loop back
8680           to while {}
8681
8682 2004-07-09  Wim Taymans  <wim@fluendo.com>
8683
8684         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8685         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8686         (gst_thread_main_loop):
8687         Since remove is virtual in GstBin we must not assume the 
8688         elements GList to have anothing useful.
8689         Add some more logging to GstThread and be a bit more paranoid
8690         when resetting the scheduler.
8691         Set the state of the bin to NULL before removing the children.
8692
8693 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8694
8695         * testsuite/threads/Makefile.am:
8696         * testsuite/threads/threadg.c:
8697           added test to check if problem when removing all elements from a
8698           GstThread before setting GstThread state to NULL
8699
8700 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8701
8702         * docs/gst/tmpl/gstelement.sgml:
8703         * docs/gst/tmpl/gsttypes.sgml:
8704         * gst/gstbin.c: (gst_bin_change_state):
8705         * gst/gstelement.c: (gst_element_set_state),
8706         (gst_element_change_state):
8707           rework so that for bins we try to set the state on all children
8708           as well even if the bin is in the correct state already.
8709           change while to do so at least one iteration is done.
8710           For regular elements, we fall back to the previous behaviour for
8711           now since we first need a new plugins release.
8712         * testsuite/states/parent.c: (main):
8713           test for this case
8714           Fixes #123774
8715
8716 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8717
8718         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8719         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8720         (gst_queue_release_locks), (gst_queue_change_state),
8721         (gst_queue_set_property):
8722           add proper lock debugging.  Change dispose to finalize, since
8723           we're freeing mutexes and other stuff which should happen only once.
8724
8725 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8726
8727         * docs/gst/tmpl/gstelement.sgml:
8728         * docs/gst/tmpl/gstplugin.sgml:
8729         * docs/gst/tmpl/gsttypes.sgml:
8730         * docs/pwg/building-state.xml:
8731         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8732         * gst/gstelement.c: (gst_element_change_state):
8733         * gst/gstthread.c: (gst_thread_change_state):
8734           catch wrong state changes in element base class.
8735
8736 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8737
8738         * gst/gstinfo.h:
8739           clean up layout a little.
8740
8741 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8742
8743         * configure.ac:
8744         * testsuite/Makefile.am:
8745         * testsuite/states/Makefile.am:
8746         * testsuite/states/parent.c: (main):
8747           re-enable states testsuite dir.  Add test for state changes and
8748           parent behaviour
8749
8750 2004-07-09  Wim Taymans  <wim@fluendo.com>
8751
8752         * gst/schedulers/gstoptimalscheduler.c:
8753         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8754         (element_get_reachables_func), (element_get_reachables),
8755         (debug_element), (rechain_group), (group_migrate_connected),
8756         (gst_opt_scheduler_pad_unlink):
8757         Do not try to migrate decoupled elements to a new group since
8758         they are not added to groups.
8759
8760 2004-07-08  Benjamin Otte  <otte@gnome.org>
8761
8762         * gst/gstelement.c: (gst_element_error_func):
8763           make reentrant (= allow removing elements in error handler)
8764
8765 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8766
8767         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8768         (gst_pad_send_event), (gst_pad_call_chain_function):
8769           events sent to elements below PAUSED cannot be handled, so
8770           don't try to
8771
8772 2004-07-08  Wim Taymans  <wim@fluendo.com>
8773
8774         * gst/schedulers/gstoptimalscheduler.c:
8775         (chain_recursively_migrate_group), (create_group),
8776         (schedule_group), (gst_opt_scheduler_pad_link),
8777         (group_elements_set_visited), (element_get_reachables_func),
8778         (element_get_reachables), (group_can_reach_group), (debug_element),
8779         (rechain_group), (group_migrate_connected),
8780         (gst_opt_scheduler_pad_unlink):
8781         * testsuite/schedulers/Makefile.am:
8782         Implemented group splitting and rechaining.
8783         Fixes 143777 and 143777-2 in the testsuite.
8784
8785 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8786
8787         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8788           extra debugging
8789         * gst/gstevent.h:
8790         * gst/gstinfo.c: (gst_debug_log_default):
8791           print time nicely.  add thread pointer until someone figures out
8792           a completely portable way of getting at thread id's.
8793         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8794         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8795         (gst_pad_call_chain_function):
8796           extra debugging
8797         * gst/schedulers/gstoptimalscheduler.c:
8798         (get_group_schedule_function), (loop_group_schedule_function),
8799         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8800         (pad_clear_queued), (gst_opt_scheduler_iterate):
8801           rename BUFPEN and friends to DATAPEN since that's what they are.
8802
8803 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8804
8805         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8806         * gst/gstbuffer.h:
8807         * gst/gstpad.c:
8808           cleanups and debugging
8809
8810 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8811
8812         * configure.ac:
8813         * gst/gstvalue.c: (gst_value_compare_enum),
8814         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8815         (gst_value_can_compare), (gst_value_compare):
8816         * testsuite/Makefile.am:
8817         * testsuite/enumcaps/Makefile.am:
8818         * testsuite/enumcaps/enumcaps.c:
8819           Fix enum serialization, deserialization, comparison in caps, add
8820           a test to ensure that this continues working in the future.
8821
8822 2004-07-06  David Schleef  <ds@schleef.org>
8823
8824         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8825         Fix memleak.
8826
8827 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8828
8829         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8830         * gst/gstplugin.h:
8831         * gst/registries/gstxmlregistry.c:
8832         (plugin_times_older_than_recurse), (plugin_times_older_than),
8833         (gst_xml_registry_parse_padtemplate):
8834           only rebuild registry when actual plugins have a newer time than
8835           the registry.  Fixes #145520
8836
8837 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8838
8839         * docs/manual/manual.xml:
8840         * docs/manual/win32.xml:
8841           add chapter on win32 building.  fixes #142422
8842
8843 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8844
8845         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8846
8847         * gst/autoplug/gstspider.c: (gst_spider_init),
8848         (gst_spider_dispose):
8849           fix spider memleaks.  fixes #137863
8850
8851 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8852
8853         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8854
8855         * gst/schedulers/gstoptimalscheduler.c:
8856         (gst_opt_scheduler_pad_unlink):
8857           fix SIGBUS error, fixes #145338
8858
8859 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8860
8861         * gst/gstobject.c: (gst_object_replace):
8862         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8863         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8864           clean up clock lifecycle.  Fixes #109831
8865
8866 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8867
8868         * po/LINGUAS:
8869         * po/cs.po:
8870           added Czech translation (Miloslav Trmac)
8871
8872 2004-07-04  David Schleef  <ds@schleef.org>
8873
8874         * tools/Makefile.am:
8875         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8876
8877 2004-07-04  David Schleef  <ds@schleef.org>
8878
8879         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8880
8881 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8882
8883         * gst/gstbin.c: (gst_bin_restore_thyself):
8884           chain to parent restore so the bins get restored correctly
8885           in the editor
8886
8887 2004-07-03  David Schleef  <ds@schleef.org>
8888
8889         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8890         Actually do something in these functions, like before the big
8891         caps change.  (bug #145137)
8892
8893 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8894
8895         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8896         (gst_element_get_compatible_pad_filtered):
8897         * gst/gstthread.c: (gst_thread_main_loop):
8898           more debugging
8899
8900 2004-07-02  David Schleef  <ds@schleef.org>
8901
8902         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8903         * gst/gstobject.h:
8904         * gst/gstparse.h:
8905         * gst/gsttrace.h:
8906         * gst/gstxml.h:
8907
8908 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8909
8910         * gst/gstpad.c: (gst_pad_check_schedulers),
8911         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8912         (gst_pad_link_prepare):
8913           revert until testsuite is fixed
8914
8915 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8916
8917         * testsuite/Makefile.am:
8918         * testsuite/caps/filtercaps.c: (main):
8919         * testsuite/clock/clock1.c: (main):
8920         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8921           fix some more tests
8922
8923 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8924
8925         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8926         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8927         * testsuite/cleanup/cleanup4.c: (main):
8928           fix testsuite
8929
8930 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8931
8932         * libs/gst/control/control.c:
8933         * libs/gst/control/dparam.c:
8934         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8935         * libs/gst/control/dparammanager.c:
8936         * libs/gst/control/dparammanager.h:
8937         * testsuite/dynparams/Makefile.am:
8938         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8939         (gst_dptest_change_state), (gst_dptest_chain), (main):
8940           fix testcase for dparams
8941           add debugging category
8942
8943 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8944
8945         * testsuite/Rules:
8946           change path
8947
8948 2004-07-02  Benjamin Otte  <otte@gnome.org>
8949
8950         * tests/.cvsignore:
8951         * tests/Makefile.am:
8952         * tests/mass_elements.c: (gst_get_current_time), (main):
8953           add simple benchmark to test various speeds of fakesrc ! identity !
8954           identity ! ... ! fakesink.
8955           Usage: mass_elements [num_identities] [num_buffers]
8956           If not specified they default to 1000.
8957
8958 2004-07-02  Benjamin Otte  <otte@gnome.org>
8959
8960         * gst/gstpad.c: (gst_pad_check_schedulers),
8961         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8962         (gst_pad_link_prepare):
8963           check that pads that get linked belong to the same manager. The old
8964           code allowed linking elements before putting them into bins, so it
8965           worked to link them and then put them in different threads, which
8966           lead to weird behaviour.
8967           Since this effectively disallows linking elements before putting
8968           them in a bin, some applications might not work after this and error
8969           out. If these applications are too critical, we might need to revert
8970           that patch. Please test this before the next release...
8971
8972 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8973
8974         * gst/gstpad.c: (gst_pad_get_caps):
8975           throw an error if the getcaps function does not return a subset of
8976           the template caps.
8977         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8978           make disconts without position info an error in debugging
8979         * tests/spidey_bench.c: (handoff), (main):
8980           don't count first try when averaging
8981
8982 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8983
8984         * gst/gstplugin.c: (gst_plugin_load_file):
8985           figure out problem with dynamic test
8986
8987 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8988
8989         * docs/gst/Makefile.am:
8990           fix docs build
8991
8992 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8993
8994         * po/POTFILES.in:
8995         * po/af.po:
8996         * po/az.po:
8997         * po/en_GB.po:
8998         * po/fr.po:
8999         * po/nl.po:
9000         * po/sr.po:
9001         * po/sv.po:
9002         * po/tr.po:
9003         * po/uk.po:
9004         * tools/gst-register.c: (plugin_added_func), (main):
9005           i18n-ize -register, fix plural
9006
9007 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9008
9009         * gst/elements/gstidentity.c: (gst_identity_class_init),
9010         (gst_identity_init), (gst_identity_chain),
9011         (gst_identity_set_property), (gst_identity_get_property):
9012         * gst/elements/gstidentity.h:
9013           check for perfect stream
9014
9015 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9016
9017         * gst/elements/gstidentity.c: (gst_identity_chain):
9018           print offset_end
9019
9020 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9021
9022         * docs/gst/Makefile.am:
9023         * docs/gst/gstreamer-docs.sgml:
9024           doc fixes
9025
9026 2004-06-24  David Schleef  <ds@schleef.org>
9027
9028         * autogen.sh:  Remove call to env, since the buildbot isn't
9029         broken anymore.
9030
9031 2004-06-24  Wim Taymans  <wim@fluendo.com>
9032
9033         * gst/elements/Makefile.am:
9034         * gst/elements/gstelements.c:
9035         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9036         (gst_multifdsink_class_init), (gst_multifdsink_init),
9037         (gst_multifdsink_add), (gst_multifdsink_remove),
9038         (gst_multifdsink_clear), (gst_multifdsink_chain),
9039         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9040         * gst/elements/gstmultifdsink.h:
9041         Added an element that writes to multiple filedescriptors at once.
9042
9043 2004-06-24  Benjamin Otte  <otte@gnome.org>
9044
9045         * gst/parse/grammar.y:
9046           don't try to link elements before they have been added to bins
9047
9048 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9049
9050         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9051         (gst_file_pad_get_length):
9052         * libs/gst/bytestream/filepad.h:
9053           add 2 new functions
9054
9055 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9056
9057         * docs/gst/gstreamer-sections.txt:
9058         remove from docs, the define that Benjamin removed from gstelement.h
9059
9060 2004-06-22  Benjamin Otte  <otte@gnome.org>
9061
9062         * gst/gstelement.h:
9063           remove define that referenced a nonexisting GstElement struct member
9064
9065 2004-06-20  Benjamin Otte  <otte@gnome.org>
9066
9067         * gst/gstdata.c: (gst_data_is_writable):
9068           whoops, return values were wrong, so writable data was marked as
9069           non-writable and vice versa. (fixes #143953, spotted by Francis
9070           Labonte)
9071           Shows how rarely we need to copy data ;)
9072
9073 2004-06-20  Benjamin Otte  <otte@gnome.org>
9074
9075         * testsuite/schedulers/.cvsignore:
9076         * testsuite/schedulers/Makefile.am:
9077         * testsuite/schedulers/143777-2.c: (main):
9078           add test for opt breakage in bug #143777
9079
9080 2004-06-20  Benjamin Otte  <otte@gnome.org>
9081
9082         * gst/gstpad.c: (gst_pad_call_chain_function):
9083           check for if we were unlinked while inside the chainfunction (fixes
9084           entrygthread having issues with #143777)
9085         * testsuite/schedulers/143777.c: (main):
9086         * testsuite/schedulers/Makefile.am:
9087           add a test for that fix
9088
9089 2004-06-20  Benjamin Otte  <otte@gnome.org>
9090
9091         * gst/gstvalue.c: (gst_value_set_int_range):
9092           test that start is smaller then end
9093         * libs/gst/bytestream/Makefile.am:
9094         * libs/gst/bytestream/filepad.c: 
9095         * libs/gst/bytestream/filepad.h:
9096           add GstFilePad - a pad that behaves like a FILE*
9097         * testsuite/bytestream/.cvsignore:
9098         * testsuite/bytestream/Makefile.am:
9099         * testsuite/bytestream/filepadsink.c: 
9100           test for the GstFilePad
9101
9102 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9103
9104         * gst/elements/gstidentity.c: (gst_identity_class_init),
9105         (gst_identity_init), (gst_identity_set_clock),
9106         (gst_identity_chain), (gst_identity_set_property),
9107         (gst_identity_get_property):
9108         * gst/elements/gstidentity.h:
9109         * gst/gstclock.c: (gst_clock_id_wait):
9110           add a "sync" property to sync to the clock
9111
9112 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9113
9114         * gst/gstelementfactory.c: (gst_element_factory_create):
9115           make the freakin "elementfactory bla has no type" message more
9116           useful. So we actually can do something when someone shows up
9117           complaining about it.
9118
9119 2004-06-15  Johan Dahlin  <johan@gnome.org>
9120
9121         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9122         found. This matches the old behavior better. Thanks to Thomas for
9123         pointing out.
9124
9125 2004-06-14  David Schleef  <ds@schleef.org>
9126
9127         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9128         -fomit-frame-pointer.  Appears to generate correct code in
9129         other cases as well.
9130
9131 2004-06-14  Johan Dahlin  <johan@gnome.org>
9132
9133         * tools/gst-inspect.c (main): Add two new command line options: -a
9134         to print all elements and -n to print the name on each line. Also
9135         fix some error reporting.
9136         (main): Simplify, remove -n and always print names if -a is specified
9137
9138 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9139
9140         * win32/gstconfig.h:
9141         * win32/GSTreamer.vcproj:
9142         * win32/Makefile:
9143         * gst/gstconfig.h.in:
9144         * gst/gst.h:
9145         * gst/gstbin.h:
9146         * gst/gstelement.h:
9147         * gst/gstevent.h:
9148         * gst/gstobject.h:
9149         * gst/gstpad.h:
9150         * docs/gst/gstreamer-sections.txt:
9151         * docs/gst/tmpl/gstconfig.sgml:
9152           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9153
9154 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9155         * docs/gst/gstreamer-sections.txt:
9156         * docs/gst/tmpl/gstconfig.sgml:
9157         Add the GSTREAMER_EXPORT macro to the docs
9158
9159 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9160
9161         * tools/gst-compprep.c: (handle_xmlerror), (main):
9162         Add a check for the version that introduced SetStructuredError to fix
9163         the build on FC1
9164
9165 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9166
9167         * win32/msvc71.sln:
9168         * win32/testsuite/:
9169           prepare to compile the testsuite with MSVC
9170
9171 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9172
9173         * docs/manual/win32.xml:
9174           attempt to transform the Win32 README into an XML doc
9175
9176 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9177
9178         * gst/gst.c:
9179         * gst/gstbin.*:
9180         * gst/config.h.in:
9181         * gst/gstelement.*:
9182         * gst/gstevent.h:
9183         * gst/gstobject.*:
9184         * gst/gstpad.h:
9185         * tools/gst-register.c:
9186         * win32/gstreamer.def:
9187           extern symbols are now exported for the Windows DLL
9188
9189 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9190
9191         * gst/gstinfo.h:
9192           fix a problem to enable/disable DEBUG under MSVC
9193
9194 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9195
9196         * win32/:
9197           enable more debug code in DEBUG build
9198
9199 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9200
9201         * win32/config.h:
9202         * gst/gst-i18n-app.h:
9203           enable NLS under Windows
9204
9205 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9206         * tools/gst-compprep.c: (handle_xmlerror), (main):
9207           Make an error that baffled me a bit clearer
9208
9209 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * gst/gstqueue.c:
9212           don't use g_queue_get_length () because it's 2.4, use ->length
9213
9214 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9215
9216         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9217
9218         * tools/gst-inspect.c: (print_signal_info):
9219           don't free random data twice. (fixes #144185)
9220
9221 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9222
9223         * gst/gstqueue.c:
9224         * gst/gstqueue.h:
9225           fix removing from the wrong queue on event timeout
9226           fix disposing of the event queue by casting correctly
9227           add mutexes for handling the event queue
9228           someone was sleeping when fixing queue last time around :)
9229
9230 2004-06-10  Johan Dahlin  <johan@gnome.org>
9231
9232         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9233         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9234
9235 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9236
9237         * docs/random/gdp:
9238         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9239         * libs/gst/dataprotocol/dataprotocol.c:
9240         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9241         (gst_dp_buffer_from_header):
9242         * libs/gst/dataprotocol/dataprotocol.h:
9243         * libs/gst/dataprotocol/dp-private.h:
9244           rev version to 0.1, add buffer flags and copy them
9245
9246 2004-06-09  Johan Dahlin  <johan@gnome.org>
9247
9248         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9249         the flags from the buffer we're copying.
9250
9251 2004-06-09  Wim Taymans  <wim@fluendo.com>
9252
9253         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9254         * gst/elements/gstidentity.c: (gst_identity_init),
9255         (gst_identity_chain):
9256         Print more buffer info in fakesink.
9257         Make identity output similar to fakesink.
9258
9259 2004-06-07  Daniel Gazard  <dany42@free.fr>
9260
9261         reviewed by Benjamin Otte  <otte@gnome.org>
9262
9263         * configure.ac:
9264           fix cross compiling not working. (fixes #143741)
9265
9266 2004-06-07  Benjamin Otte  <otte@gnome.org>
9267
9268         * gst/gstelement.c: (gst_element_set_time_delay):
9269           add failure check
9270         * gst/gstinfo.h:
9271           put brackets around macro arguments of GST_TIME_ARGS, add note to
9272           move it to correct header in 0.9
9273
9274 2004-06-07  Benjamin Otte  <otte@gnome.org>
9275
9276         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9277         (gst_file_index_load), (_file_index_id_save_entries),
9278         (gst_file_index_commit), (gst_file_index_add_association),
9279         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9280         (gst_file_index_plugin_init):
9281           make debugging use a default category
9282
9283 2004-06-06  David Moore  <dcm@acm.org>
9284
9285         reviewed by Benjamin Otte  <otte@gnome.org>
9286
9287         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9288         (gst_fdsrc_change_state):
9289           reset offset counter when going READY => PAUSED. (fixes #142903)
9290
9291 2004-06-06  ed@catmur.co.uk
9292
9293         reviewed by Benjamin Otte  <otte@gnome.org>
9294
9295         * gst/registries/gstxmlregistry.c:
9296         (gst_xml_registry_rebuild_recurse):
9297           don't rely on g_dir_open to figure out if a file is a directory, use
9298           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9299           directories. (fixes #142850)
9300
9301 2004-06-06  Benjamin Otte  <otte@gnome.org>
9302
9303         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9304           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9305         * libs/gst/bytestream/adapter.c:
9306         * libs/gst/bytestream/adapter.h:
9307           fix copyright in header and typo in debugging category name
9308
9309 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9310
9311         * configure.ac:
9312           bump nano to cvs
9313
9314 === release 0.8.3 ===
9315
9316 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9317
9318         * configure.ac:
9319           update libtool versioning
9320           do a new release
9321         * docs/gst/tmpl/gstelement.sgml:
9322         * docs/gst/tmpl/gsttypes.sgml:
9323         * gst/gstinfo.c: (_gst_debug_init):
9324           put back GST_CAT_DATAFLOW to fix API breakage
9325
9326 2004-06-04  David Schleef  <ds@schleef.org>
9327
9328         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9329
9330 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9331
9332         * configure.ac:
9333           bump nano to cvs
9334
9335 === release 0.8.2 ===
9336
9337 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9340           check GST_DEBUG environment variable which is parsed the same way
9341           as --gst-debug=
9342
9343 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9344
9345         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9346                             gstmd5sink.c gstshaper.c gsttee.c
9347                             gsttypefindelement.c
9348         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9349
9350           - removing trailing commas at end of enums
9351             it is correct C99 code but C90 compilers would complain
9352             (AIX, Forte, ...)
9353             ('should' fix #143290, at least partially)
9354
9355 2004-05-27  Wim Taymans  <wim@fluendo.com>
9356
9357         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9358         (chain_group_set_enabled), (create_group), (add_to_group),
9359         (merge_groups), (setup_group_scheduler), (group_elements),
9360         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9361         Don't try to follow the pad connections with other groups
9362         when a loop based element is added to the scheduler because
9363         the bin will inform the scheduler about the pad links a little
9364         later.
9365
9366 2004-05-27  Wim Taymans  <wim@fluendo.com>
9367
9368         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9369         (remove_from_chain), (chain_group_set_enabled),
9370         (setup_group_scheduler), (group_element_set_enabled),
9371         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9372         (gst_opt_scheduler_show):
9373         Elements without a group can do a state change as well, just wait
9374         with the setup of the scheduling function when it is added to a
9375         chain.
9376
9377 2004-05-27  Wim Taymans  <wim@fluendo.com>
9378
9379         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9380         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9381         (merge_groups), (setup_group_scheduler),
9382         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9383         (gst_opt_scheduler_show):
9384         Fixes to maintain internal consistency of the scheduler data
9385         structures. 
9386          - adding an enabled group to a chain should increment the
9387            number of enabled elements in that chain.
9388          - removing an enabled group from a chain could disable the
9389            chain.
9390          - removing a disabled group from a chain could enable the
9391            chain.
9392          - add g_assert when internal inconsistency is detected.
9393          - adding an element to a group could increase the number of
9394            links this group has with other groups.
9395          - merging two groups also merges the chains.
9396          - also show group links in the _show method.
9397            
9398
9399 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9400
9401         * gst/gstcaps.c: (gst_caps_structure_simplify):
9402           don't print error messages when there is no error
9403         * gst/gstvalue.c: (gst_value_compare_int_range):
9404           compare the second value, too
9405         * testsuite/caps/Makefile.am:
9406         * testsuite/caps/random.c: (assert_on_error), (main):
9407           add tests to make sure the two things above are checked for
9408
9409 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * configure.ac:
9412         * libs/gst/dataprotocol/Makefile.am:
9413         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9414         * libs/gst/dataprotocol/dataprotocol.h:
9415           wrap header in GST_ENABLE_NEW.  make code use it
9416
9417 2004-05-23  Johan Dahlin  <johan@gnome.org>
9418
9419         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9420         so verbose and print GstElement signal names all the time.
9421
9422 2004-05-22  David Schleef  <ds@schleef.org>
9423
9424         * gst/registries/gstxmlregistry.c:
9425         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9426         (bug #142957)
9427
9428 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9429
9430         * configure.ac:
9431           scrub cflags for glib2 so gcc doesn't complain when glib is in
9432           /usr/local
9433
9434 2004-05-21  Johan Dahlin  <johan@gnome.org>
9435
9436         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9437         __GNUC__, patch from Brian Cameron, fixes bug #142804
9438
9439 2004-05-20  David Schleef  <ds@schleef.org>
9440
9441         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9442         comparison code.  (bug #142819)
9443
9444 2004-05-20  Wim Taymans  <wim@fluendo.com>
9445
9446         * gst/gstbuffer.c: (gst_buffer_default_copy):
9447         * gst/gstbuffer.h:
9448         Added Comment to a flag.
9449         copy relevant flags in _buffer_copy.
9450
9451 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         reviewed by: Wim Taymans <wim at fluendo dot com>
9454
9455         * gst/gstbuffer.h:
9456           add GST_BUFFER_IN_CAPS buffer flag
9457         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9458         (gst_structure_parse_any_list), (gst_structure_parse_list),
9459         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9460         * gst/gstvalue.c: (gst_value_serialize_any_list),
9461         (gst_value_transform_any_list_string),
9462         (gst_value_list_prepend_value), (gst_value_list_append_value),
9463         (gst_value_list_get_size), (gst_value_list_get_value),
9464         (gst_value_transform_list_string),
9465         (gst_value_transform_fixed_list_string),
9466         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9467         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9468         (_gst_value_initialize):
9469         * gst/gstvalue.h:
9470           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9471           < , > as a format.
9472         * testsuite/caps/string-conversions.c: (main):
9473           add regression tests for < >
9474
9475 2004-05-20  Johan Dahlin  <johan@gnome.org>
9476
9477         * docs/gst/Makefile.am (all-local): Re-add
9478
9479 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9480
9481         * docs/gst/Makefile.am:
9482         * docs/gst/gstreamer-docs.sgml:
9483         * docs/libs/Makefile.am:
9484         * docs/libs/gstreamer-libs-docs.sgml:
9485           fix distcheck issues
9486
9487 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9488
9489         * libs/gst/dataprotocol/Makefile.am:
9490           add to autotest
9491
9492 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9493
9494         * libs/gst/dataprotocol/Makefile.am:
9495         * libs/gst/dataprotocol/dataprotocol.c:
9496         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9497         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9498         * libs/gst/dataprotocol/dp-private.h:
9499           use GST macros to read/write fixed length ints
9500           add some more asserts
9501
9502 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * docs/libs/gstreamer-libs-docs.sgml:
9505         * docs/libs/gstreamer-libs-sections.txt:
9506           remove idct and putbits
9507         * configure.ac:
9508         * docs/libs/tmpl/gstdataprotocol.sgml:
9509         * libs/gst/Makefile.am:
9510         * libs/gst/dataprotocol/Makefile.am:
9511         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9512         (buffer_test), (caps_test), (event_test), (main):
9513         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9514         (gst_dp_dump_byte_array), (gst_dp_init),
9515         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9516         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9517         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9518         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9519         (gst_dp_validate_header), (gst_dp_validate_payload),
9520         (gst_dp_validate_packet), (plugin_init):
9521         * libs/gst/dataprotocol/dataprotocol.h:
9522         * libs/gst/dataprotocol/dp-private.h:
9523           add dataprotocol
9524
9525 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9526
9527         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9528           fix int variable deserialization and add a helper so we can actually
9529           debug this.
9530
9531 2004-05-18  David Schleef  <ds@schleef.org>
9532
9533         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9534           argv[0].  Calling yourself is probably not the best way to
9535           construct a test like this, btw.
9536
9537 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9538
9539         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9540           don't claim to be more intelligent than a scheduler when the
9541           scheduler claims the pipeline is stopped
9542         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9543         (safe_cothread_destroy),
9544         (gst_entry_scheduler_remove_all_cothreads),
9545         (gst_entry_scheduler_reset), (_remove_cothread),
9546         (gst_entry_scheduler_state_transition):
9547           hold off cothread destruction if we're not in main cothread
9548         * configure.ac:
9549         * testsuite/Makefile.am:
9550           add new test dir
9551         * testsuite/schedulers/.cvsignore:
9552         * testsuite/schedulers/Makefile.am:
9553           add tests
9554         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9555           check relinking and adding/removing elements from a running pipeline
9556         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9557           check unlinking in a running pipeline
9558         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9559           check unreffing a running pipeline
9560         * testsuite/schedulers/useless_iteration.c: (main):
9561           check iterating a pipeline that contains running threads works
9562
9563 2004-05-18  David Schleef  <ds@schleef.org>
9564
9565         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9566           is false.
9567
9568 2004-05-18  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9571         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9572         Fixed an error introduced with patch for 1.63. When setting
9573         a get based element as the entry point in a group, make sure
9574         to mark the group as GET based.
9575
9576 2004-05-18  Wim Taymans  <wim@fluendo.com>
9577
9578         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9579         (setup_group_scheduler), (loop_group_schedule_function),
9580         (gst_opt_scheduler_pad_link):
9581         Added some more debug info and fixed a bug where the group
9582         type was set to LOOP but it was in fact unknown.
9583
9584 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9585
9586         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9587           make resetting scheduler work twice in a row
9588
9589 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9590
9591         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9592         (CREATE_USERIALIZATION), (_gst_value_initialize),
9593         (gst_value_compare_float), (gst_value_serialize_float),
9594         (gst_value_deserialize_float), (gst_value_compare_enum),
9595         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9596           add serialization and comparison functions for long, int64, enum and
9597           float values
9598         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9599           use best serialization function in type hierarchy instead of only a
9600           matching one. This is required for enums to work.
9601         * gst/parse/grammar.y:
9602           use gst_caps_deserialize
9603         * testsuite/parse/Makefile.am:
9604           parse1 now works
9605         * testsuite/parse/parse1.c: (main):
9606           remove aggregator check, aggregator is broken, this test works now
9607           but fails because of bug #138012
9608         * testsuite/parse/parse2.c: (main):
9609           s/xvideosink/xvimagesink - this test looks a lot like we should
9610           disable it
9611
9612 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9613
9614         * gst/gstelement.c: (gst_element_class_init):
9615           whoops, store the signal id correctly
9616         * gst/schedulers/gstbasicscheduler.c:
9617         (gst_basic_scheduler_chain_wrapper):
9618           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9619           chain function isn't linked
9620
9621 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9622         * configure.ac:
9623         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9624         support until we decide where the flags should be used
9625         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9626         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9627         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9628         Output refused caps in the debug info
9629
9630 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * gst/elements/gstidentity.c: (gst_identity_chain):
9633           add duration debug
9634         * gst/gstinfo.c: (gst_debug_log_default):
9635           add timestamp
9636
9637 2004-05-13  Benjamin Otte  <otte@gnome.org>
9638
9639         * gst/gstpipeline.c: (gst_pipeline_dispose),
9640         (gst_pipeline_change_state):
9641           call gst_scheduler_reset on dispose (fixes #141416)
9642
9643 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9644
9645         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9646           compute mapsize correctly
9647         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9648           use correct datatypes when calling a varargs function
9649         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9650           push a DISCONT event as first thing
9651         * gst/gst_private.h:
9652         * gst/gstinfo.c: (_gst_debug_init):
9653           remove GST_DATAFLOW debugging category
9654         * gst/gstbin.c: (gst_bin_iterate):
9655           use GST_SCHEDULING category
9656         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9657         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9658         (gst_pad_call_get_function):
9659           add GST_DATAFLOW to easily track flow of buffers or events.
9660         * gst/gstqueue.c: (gst_queue_get_type),
9661         (gst_queue_handle_pending_events), (gst_queue_chain),
9662         (gst_queue_get), (gst_queue_handle_src_event):
9663           use own static debugging category GST_DATAFLOW for dataflow,
9664           use DEBUG category for showing which path events go, use LOG
9665           category for buffers.
9666
9667 2004-05-10  David Schleef  <ds@schleef.org>
9668
9669         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9670
9671 2004-05-10  David Schleef  <ds@schleef.org>
9672
9673         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9674         symbols, because otherwise we don't know what they are.  Thanks,
9675         the GStreamer team.
9676         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9677
9678 2004-05-10  David Schleef  <ds@schleef.org>
9679
9680         (from Steve Lhomme)
9681         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9682         are deleted.  Fix.
9683         * win32/Makefile.inspect:
9684         * win32/Makefile.launch:
9685         * win32/Makefile.register:
9686
9687 2004-05-10  David Schleef  <ds@schleef.org>
9688
9689         * gst/gstinfo.h: Add missing inline function.
9690         * gst/gsttrace.c: add include
9691         * gst/parse/grammar.y: remove unused code
9692         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9693         more portable.
9694         * tools/gst-register.c: wrap unistd.h
9695         
9696         More additions/fixes from Steve for the MSVC build.
9697         * win32/GStreamer.vcproj:
9698         * win32/Makefile:
9699         * win32/Makefile.inspect:
9700         * win32/Makefile.launch:
9701         * win32/Makefile.register:
9702         * win32/README.txt:
9703         * win32/gst-inspect.vcproj:
9704         * win32/gst-launch.vcproj:
9705         * win32/gst-register.vcproj:
9706         * win32/gstbytestream.def:
9707         * win32/gstbytestream.vcproj:
9708         * win32/gstconfig.h:
9709         * win32/gstelements.def:
9710         * win32/gstelements.vcproj:
9711         * win32/gstenumtypes.c:
9712         * win32/gstenumtypes.h:
9713         * win32/gstoptimalscheduler.def:
9714         * win32/gstoptimalscheduler.vcproj:
9715         * win32/gstreamer.def:
9716         * win32/gstspider.def:
9717         * win32/gstspider.vcproj:
9718         * win32/gstversion.h:
9719         * win32/msvc71.sln:
9720
9721 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9722
9723         * gst/gstelement.c: (gst_element_class_init),
9724         (gst_element_no_more_pads):
9725         * gst/gstelement.h:
9726           add gst_element_no_more_pads and the "no-more-pads" signal
9727
9728 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9729
9730         * gst/gstregistry.c: (gst_registry_add_plugin):
9731           refuse to add plugins when a plugin with same name is already
9732           registered. Fixes a bunch of "How to remove plugins?" issues.
9733           May lead to other problems though, let's test
9734
9735 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9736
9737         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9738         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9739         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9740
9741 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9742
9743         * tests/Makefile.am: fix am16 issue
9744
9745 2004-05-09  Benjamin Otte  <otte@gnome.org>
9746
9747         * libs/gst/bytestream/Makefile.am:
9748           we should indeed add .c files to makefiles or they won't be built
9749           (d'oh)
9750
9751 2004-05-08  Benjamin Otte  <otte@gnome.org>
9752
9753         * gst/gstpad.c: (gst_pad_proxy_fixate):
9754           really reduce the set of caps
9755
9756 2004-05-08  Benjamin Otte  <otte@gnome.org>
9757
9758         * tests/Makefile.am:
9759         * tests/spidey_bench.c: (handoff), (main):
9760           add benchmark to test how long spider needs to create a pipeline
9761
9762 2004-05-08  Benjamin Otte  <otte@gnome.org>
9763
9764         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9765           mark links as unengaged when unnegotiating instead of deactivating.
9766           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9767
9768 2004-05-08  Benjamin Otte  <otte@gnome.org>
9769
9770         * docs/manual/helloworld.xml:
9771           s/audiosink/osssink (patch by Patrick Guimond)
9772
9773 2004-05-07  David Schleef  <ds@schleef.org>
9774
9775         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9776         since it contains important stuff.
9777
9778 2004-05-07  David Schleef  <ds@schleef.org>
9779
9780         * testsuite/caps/caps.c: (test3), (main): A check for appending
9781         ANY caps.
9782
9783 2004-05-07  David Schleef  <ds@schleef.org>
9784
9785         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9786         which may contain commas.  Fixes detection of -Wa,-mregnames
9787
9788 2004-05-06  David Schleef  <ds@schleef.org>
9789
9790         Changes to handle compilers that don't have variadic macro
9791         support.  In particular, glib headers define some inlines
9792         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9793         builds.
9794         * gst/Makefile.am:
9795         * gst/cothreads.c:
9796         * gst/elements/gstfdsink.c:
9797         * gst/elements/gstfdsrc.c:
9798         * gst/elements/gstfilesink.c:
9799         * gst/elements/gstfilesrc.c:
9800         * gst/gst_private.h:
9801         * gst/gstatomic.c:
9802         * gst/gstcaps.c: (gst_caps_append):
9803         * gst/gstcpu.c: (gst_cpuid_i386):
9804         * gst/gstelement.c:
9805         * gst/gsterror.c:
9806         * gst/gstfilter.c:
9807         * gst/gstinfo.h:
9808         * gst/gstprobe.c:
9809         * gst/gstquery.c:
9810         * gst/gstregistry.c:
9811         * gst/gststructure.c:
9812         * gst/gsttaginterface.c:
9813         * gst/gsttrace.c: (gst_trace_new):
9814         * gst/gsttrashstack.c:
9815         * gst/gsturi.c:
9816         * gst/gstvalue.c:
9817         * gst/parse/grammar.y:
9818         * gst/parse/parse.l:
9819         * tools/gst-inspect.c: (main):
9820         * tools/gst-launch.c: (main):
9821         * tools/gst-xmlinspect.c: (PUT_STRING):
9822
9823 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9824
9825         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9826         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9827         * gst/elements/gstfilesrc.h:
9828           send NEW_MEDIA events correctly
9829         * gst/elements/gsttypefindelement.c: (start_typefinding),
9830         (gst_type_find_element_handle_event):
9831           restart typefinding when we get a NEW_MEDIA event
9832         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9833         (gst_bin_dispose):
9834           don't die when someone removes elements in callbacks
9835         * gst/gstelement.c: (gst_element_change_state):
9836           improve debugging
9837         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9838           we need a NEW_MEDIA event to engage a link
9839         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9840           don't g_print debugging stuff
9841         * testsuite/caps/simplify.c: (check_caps):
9842
9843 2004-05-04  Benjamin Otte  <otte@gnome.org>
9844
9845         * gst/parse/grammar.y:
9846           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9847
9848 2004-05-04  Benjamin Otte  <otte@gnome.org>
9849
9850         * testsuite/caps/renegotiate.c: (main):
9851           improve output in error case
9852
9853 2004-05-04  Benjamin Otte  <otte@gnome.org>
9854
9855         * gst/parse/grammar.y:
9856           fix assert to not trigger when there's no error argument
9857         * gst/parse/parse.l:
9858           fix definition of caps to allow more than two structures
9859         * testsuite/caps/Makefile.am:
9860         * testsuite/caps/renegotiate.c: (main):
9861           it's sinesrc and works in that case
9862
9863 2004-05-04  Wim Taymans  <wim@fluendo.com>
9864
9865         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9866         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9867         when removing an element from a group, we always need to
9868         decrement the link count that this group had with other 
9869         groups through the element.
9870         added an extra assert to catch inconsistencies when decrementing
9871         the link count.
9872
9873 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9874
9875         * configure.ac:
9876         * docs/gst/Makefile.am:
9877         * docs/gst/gstreamer-sections.txt:
9878         * docs/gst/tmpl/gstcompat.sgml:
9879         * examples/appreader/Makefile.am:
9880         * examples/cutter/Makefile.am:
9881         * examples/events/Makefile.am:
9882         * examples/helloworld/Makefile.am:
9883         * examples/helloworld2/Makefile.am:
9884         * examples/launch/Makefile.am:
9885         * examples/manual/Makefile.am:
9886         * examples/mixer/Makefile.am:
9887         * examples/pingpong/Makefile.am:
9888         * examples/plugins/Makefile.am:
9889         * examples/queue/Makefile.am:
9890         * examples/queue2/Makefile.am:
9891         * examples/queue3/Makefile.am:
9892         * examples/queue4/Makefile.am:
9893         * examples/retag/Makefile.am:
9894         * examples/thread/Makefile.am:
9895         * examples/typefind/Makefile.am:
9896         * examples/xml/Makefile.am:
9897         * gst/Makefile.am:
9898         * gst/autoplug/Makefile.am:
9899         * gst/elements/Makefile.am:
9900         * gst/gstcompat.h:
9901         * gst/indexers/Makefile.am:
9902         * gst/parse/Makefile.am:
9903         * gst/registries/Makefile.am:
9904         * gst/schedulers/Makefile.am:
9905         * libs/gst/bytestream/Makefile.am:
9906         * libs/gst/control/Makefile.am:
9907         * libs/gst/getbits/Makefile.am:
9908         * po/af.po:
9909         * po/az.po:
9910         * po/en_GB.po:
9911         * po/fr.po:
9912         * po/nl.po:
9913         * po/sr.po:
9914         * po/sv.po:
9915         * po/tr.po:
9916         * po/uk.po:
9917         * tests/Makefile.am:
9918         * tests/bufspeed/Makefile.am:
9919         * tests/instantiate/Makefile.am:
9920         * tests/memchunk/Makefile.am:
9921         * tests/muxing/Makefile.am:
9922         * tests/negotiation/Makefile.am:
9923         * tests/probes/Makefile.am:
9924         * tests/sched/Makefile.am:
9925         * tests/seeking/Makefile.am:
9926         * tests/threadstate/Makefile.am:
9927         * testsuite/caps/Makefile.am:
9928         * testsuite/cleanup/Makefile.am:
9929         * testsuite/dlopen/Makefile.am:
9930         * testsuite/dynparams/Makefile.am:
9931         * testsuite/plugin/Makefile.am:
9932         * testsuite/states/Makefile.am:
9933         * tools/Makefile.am:
9934           reorganize compile/link flags to be consistent
9935           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9936
9937 2004-05-04  David Schleef  <ds@schleef.org>
9938
9939         The "once more, with feeling" check-in.
9940         * testsuite/caps/Makefile.am: dist caps_strings
9941         * testsuite/caps/renegotiate.c: (main): This test triggers a
9942           segfault in the core.  Marking as failing.
9943
9944 2004-05-03  David Schleef  <ds@schleef.org>
9945
9946         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9947           by the build bots.
9948         * testsuite/caps/renegotiate.c: (main): Same.
9949
9950 2004-05-03  David Schleef  <ds@schleef.org>
9951
9952         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9953
9954 2004-05-03  David Schleef  <ds@schleef.org>
9955
9956         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9957           variable to find our source file.
9958
9959 2004-05-03  David Schleef  <ds@schleef.org>
9960
9961         * configure.ac:  Link plugins with libgstreamer and dependent
9962           libraries
9963         * testsuite/caps/Makefile.am:
9964         * testsuite/caps/caps_strings:
9965         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9966           through a file of caps strings and test each one
9967
9968 2004-05-04  Benjamin Otte  <otte@gnome.org>
9969
9970         * libs/gst/bytestream/Makefile.am:
9971         * libs/gst/bytestream/adapter.c: 
9972         * libs/gst/bytestream/adapter.h:
9973           add GstAdapter, similar to bytestream, but doesn't require ugly event
9974           handling or uglier loopbased elements
9975
9976 2004-05-03  David Schleef  <ds@schleef.org>
9977
9978         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9979         * testsuite/caps/erathostenes.c:
9980         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9981
9982 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9983
9984         * docs/pwg/pwg.xml:
9985           remove hardcoded stylesheet path (duh)
9986         * docs/random/release:
9987         * docs/gst/gstreamer-sections.txt:
9988         * gst/Makefile.am:
9989         * gst/gst.h:
9990         * gst/gst_private.h:
9991         * gst/gstcaps.c:
9992         * gst/gstevent.c:
9993         * gst/gstformat.c:
9994         * gst/gstinfo.c:
9995         * gst/gstinfo.h:
9996         * gst/gstinterface.c:
9997         * gst/gstmemchunk.c:
9998         * gst/gstprobe.c:
9999         * gst/gstquery.c:
10000         * gst/gstregistry.c:
10001         * gst/gstregistrypool.c:
10002         * gst/gststructure.c:
10003         * gst/gsttaginterface.c:
10004         * gst/gstthread.c:
10005         * gst/gsttrace.c:
10006         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10007         * gst/gsturi.c:
10008         * gst/gstvalue.c:
10009           deprecate gst_info; remove gstlog.h
10010    
10011
10012 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10013
10014         * Makefile.am:
10015         * po/en_GB.po:
10016         * po/sv.po:
10017         * po/uk.po:
10018           updated translations
10019
10020 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10021
10022         * gst/gstbin.c: (gst_bin_dispose):
10023           better debugging
10024
10025 2004-05-03  Johan Dahlin  <johan@gnome.org>
10026
10027         * gst/schedulers/gstoptimalscheduler.c
10028         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10029         really is a GstElement. Avoids critical when running gst-launch -v
10030         and a oggdemux/decoding pipeline.
10031
10032 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10033
10034         * docs/gst/tmpl/gstpipeline.sgml :
10035         * docs/manual/elements-api.xml :
10036                 doc fix by Patrick Guimond (Protector) from devel ML
10037                 reviewed by ronald
10038
10039 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10040
10041         * docs/gst/Makefile.am :
10042         * docs/libs/Makefile.am :
10043                 apply a patch from Arwed v. Merkatz so that gtk-doc
10044                 generated docs install (same for .devhelp file)
10045                 (fixes part 1 of #138836)
10046
10047 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10048
10049         * docs/faq/dependencies.xml: typo
10050         * docs/faq/getting.xml :
10051             - fix download URL for new gstreamer site
10052             - hide sf.net download page as latest version aren't there
10053             - fix apt URLs
10054             - fill "get via CVS" paragraph (link to dev page on the site)
10055         * docs/faq/general.xml:
10056             hide status tables as they no more exists
10057             change case on plugins license file to reflect reality
10058         * docs/faq/troubleshooting.xml:
10059             remove the wiki question/answer as there is no more wiki
10060
10061 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10062
10063         * gst/gsterror.h:
10064           include the headers needed for declarations used in this header
10065
10066 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10067
10068         * docs/random/uraeus/gstreamer_and_midi.txt :
10069           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10070           (fixes #132288)
10071
10072 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10073
10074         reviewed by Benjamin Otte  <otte@gnome.org>
10075
10076         * gst/schedulers/gthread-cothreads.h:
10077           free allocated data for main cothread, too when destroying context
10078           (fixes #141417)
10079
10080 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10081
10082         * docs/manual/goals.xml : remove duplicated paragraph at end 
10083         of doc page (fixes #141448)
10084
10085 2004-04-29  David Schleef  <ds@schleef.org>
10086
10087         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10088         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10089
10090 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10091
10092         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10093           fix property
10094         * gst/gstcaps.c:
10095           fix doc string
10096         * po/POTFILES.in:
10097           rename typefind source file
10098
10099 2004-04-28  David Schleef  <ds@schleef.org>
10100
10101         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10102         * win32/GStreamer.vcproj:
10103         * win32/Makefile:
10104         * win32/config.h:
10105         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10106         (_trewinddir), (_ttelldir), (_tseekdir):
10107         * win32/dirent.h:
10108         * win32/gst-inspect.vcproj:
10109         * win32/gst-launch.vcproj:
10110         * win32/gst-register.vcproj:
10111         * win32/gstbytestream.vcproj:
10112         * win32/gstelements.vcproj:
10113         * win32/gstoptimalscheduler.vcproj:
10114         * win32/gstspider.vcproj:
10115         * win32/gtchar.h:
10116         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10117         * win32/mman.h:
10118         * win32/mman.inl:
10119         * win32/msvc71.sln:
10120
10121 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10122
10123         * gst/gst.c: (init_post):
10124         * gst/gstinfo.c:
10125           remove useless _gst_progname stuff
10126         * tools/gst-inspect.c: (print_field), (print_caps):
10127           improve caps output
10128
10129 2004-04-28  David Schleef  <ds@schleef.org>
10130
10131         Disable parsing of a lot of files that aren't part of the
10132         exported API.  Move corresponding template files to old/,
10133         waiting for removal when they don't contain anything
10134         interesting.
10135         * docs/gst/Makefile.am:
10136         * docs/gst/gstreamer-sections.txt:
10137         * docs/gst/tmpl/cothreads.sgml:
10138         * docs/gst/tmpl/cothreads_compat.sgml:
10139         * docs/gst/tmpl/gettext.sgml:
10140         * docs/gst/tmpl/gobject2gtk.sgml:
10141         * docs/gst/tmpl/grammar.tab.sgml:
10142         * docs/gst/tmpl/gst-i18n-app.sgml:
10143         * docs/gst/tmpl/gst-i18n-lib.sgml:
10144         * docs/gst/tmpl/gst_private.sgml:
10145         * docs/gst/tmpl/gstaggregator.sgml:
10146         * docs/gst/tmpl/gstarch.sgml:
10147         * docs/gst/tmpl/gstatomic_impl.sgml:
10148         * docs/gst/tmpl/gstbufferstore.sgml:
10149         * docs/gst/tmpl/gstdata_private.sgml:
10150         * docs/gst/tmpl/gstdisksink.sgml:
10151         * docs/gst/tmpl/gstdisksrc.sgml:
10152         * docs/gst/tmpl/gstelementfactory.sgml:
10153         * docs/gst/tmpl/gstextratypes.sgml:
10154         * docs/gst/tmpl/gstfakesink.sgml:
10155         * docs/gst/tmpl/gstfakesrc.sgml:
10156         * docs/gst/tmpl/gstfdsink.sgml:
10157         * docs/gst/tmpl/gstfdsrc.sgml:
10158         * docs/gst/tmpl/gstfilesink.sgml:
10159         * docs/gst/tmpl/gstfilesrc.sgml:
10160         * docs/gst/tmpl/gsthttpsrc.sgml:
10161         * docs/gst/tmpl/gstidentity.sgml:
10162         * docs/gst/tmpl/gstindexfactory.sgml:
10163         * docs/gst/tmpl/gstmarshal.sgml:
10164         * docs/gst/tmpl/gstmd5sink.sgml:
10165         * docs/gst/tmpl/gstmultidisksrc.sgml:
10166         * docs/gst/tmpl/gstmultifilesrc.sgml:
10167         * docs/gst/tmpl/gstpadtemplate.sgml:
10168         * docs/gst/tmpl/gstpipefilter.sgml:
10169         * docs/gst/tmpl/gstschedulerfactory.sgml:
10170         * docs/gst/tmpl/gstsearchfuncs.sgml:
10171         * docs/gst/tmpl/gstshaper.sgml:
10172         * docs/gst/tmpl/gstspider.sgml:
10173         * docs/gst/tmpl/gstspideridentity.sgml:
10174         * docs/gst/tmpl/gststatistics.sgml:
10175         * docs/gst/tmpl/gsttee.sgml:
10176         * docs/gst/tmpl/gsttimecache.sgml:
10177         * docs/gst/tmpl/gsttypefind.sgml:
10178         * docs/gst/tmpl/gsttypefindfactory.sgml:
10179         * docs/gst/tmpl/gstxmlregistry.sgml:
10180         * docs/gst/tmpl/gthread-cothreads.sgml:
10181         * docs/gst/tmpl/old/cothreads.sgml:
10182         * docs/gst/tmpl/old/cothreads_compat.sgml:
10183         * docs/gst/tmpl/old/gettext.sgml:
10184         * docs/gst/tmpl/old/gobject2gtk.sgml:
10185         * docs/gst/tmpl/old/grammar.tab.sgml:
10186         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10187         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10188         * docs/gst/tmpl/old/gst_private.sgml:
10189         * docs/gst/tmpl/old/gstaggregator.sgml:
10190         * docs/gst/tmpl/old/gstarch.sgml:
10191         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10192         * docs/gst/tmpl/old/gstbufferstore.sgml:
10193         * docs/gst/tmpl/old/gstdata_private.sgml:
10194         * docs/gst/tmpl/old/gstdisksink.sgml:
10195         * docs/gst/tmpl/old/gstdisksrc.sgml:
10196         * docs/gst/tmpl/old/gstelementfactory.sgml:
10197         * docs/gst/tmpl/old/gstextratypes.sgml:
10198         * docs/gst/tmpl/old/gstfakesink.sgml:
10199         * docs/gst/tmpl/old/gstfakesrc.sgml:
10200         * docs/gst/tmpl/old/gstfdsink.sgml:
10201         * docs/gst/tmpl/old/gstfdsrc.sgml:
10202         * docs/gst/tmpl/old/gstfilesink.sgml:
10203         * docs/gst/tmpl/old/gstfilesrc.sgml:
10204         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10205         * docs/gst/tmpl/old/gstidentity.sgml:
10206         * docs/gst/tmpl/old/gstindexfactory.sgml:
10207         * docs/gst/tmpl/old/gstmarshal.sgml:
10208         * docs/gst/tmpl/old/gstmd5sink.sgml:
10209         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10210         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10211         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10212         * docs/gst/tmpl/old/gstpipefilter.sgml:
10213         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10214         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10215         * docs/gst/tmpl/old/gstshaper.sgml:
10216         * docs/gst/tmpl/old/gstspider.sgml:
10217         * docs/gst/tmpl/old/gstspideridentity.sgml:
10218         * docs/gst/tmpl/old/gststatistics.sgml:
10219         * docs/gst/tmpl/old/gsttee.sgml:
10220         * docs/gst/tmpl/old/gsttimecache.sgml:
10221         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10222         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10223         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10224         * docs/gst/tmpl/old/types.sgml:
10225         * docs/gst/tmpl/types.sgml:
10226
10227         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10228         gtkdoc-scan doesn't like files with the same name in different
10229         directories.
10230         * gst/elements/Makefile.am:
10231         * gst/elements/gstelements.c:
10232         * gst/elements/gsttypefind.c: 
10233         * gst/elements/gsttypefind.h:
10234         * gst/elements/gsttypefindelement.c:
10235         * gst/elements/gsttypefindelement.h:
10236
10237 2004-04-28  David Schleef  <ds@schleef.org>
10238
10239         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10240         patch (bug #141317):
10241         * gst/gst-i18n-lib.h: Allow disabling gettext.
10242         * gst/gstatomic_impl.h: disable warning when it's dumb.
10243         * gst/gstclock.c: fix include
10244         * gst/gstcompat.h: fix variadic macro
10245         * gst/gstinfo.c: fix include
10246         * gst/gstmacros.h: add defines for inlines on MSVC
10247         * gst/gstplugin.c: fix includes
10248         * gst/gstregistry.c: fix includes
10249         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10250         * gst/gstsystemclock.c: fix include
10251         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10252         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10253         * gst/registries/gstxmlregistry.c:
10254         (gst_xml_registry_parse_element_factory): fix use of non-portable
10255         functions
10256         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10257         * libs/gst/control/dparammanager.h: same
10258
10259 2004-04-28  David Schleef  <ds@schleef.org>
10260
10261         Move a bunch of unused files to old/ with names that are
10262         not case-insensitive-unique.  These files still contain some
10263         useful information that needs to be merged into gstbin.sgml,
10264         etc., so they shouldn't be deleted yet.
10265         * docs/gst/tmpl/GstBin.sgml:
10266         * docs/gst/tmpl/GstBuffer.sgml:
10267         * docs/gst/tmpl/GstCaps.sgml:
10268         * docs/gst/tmpl/GstClock.sgml:
10269         * docs/gst/tmpl/GstCompat.sgml:
10270         * docs/gst/tmpl/GstData.sgml:
10271         * docs/gst/tmpl/GstElement.sgml:
10272         * docs/gst/tmpl/GstEvent.sgml:
10273         * docs/gst/tmpl/GstIndex.sgml:
10274         * docs/gst/tmpl/GstStructure.sgml:
10275         * docs/gst/tmpl/GstTag.sgml:
10276         * docs/gst/tmpl/old/GstBin.sgml:
10277         * docs/gst/tmpl/old/GstBuffer.sgml:
10278         * docs/gst/tmpl/old/GstCaps.sgml:
10279         * docs/gst/tmpl/old/GstClock.sgml:
10280         * docs/gst/tmpl/old/GstCompat.sgml:
10281         * docs/gst/tmpl/old/GstData.sgml:
10282         * docs/gst/tmpl/old/GstElement.sgml:
10283         * docs/gst/tmpl/old/GstEvent.sgml:
10284         * docs/gst/tmpl/old/GstIndex.sgml:
10285         * docs/gst/tmpl/old/GstStructure.sgml:
10286         * docs/gst/tmpl/old/GstTag.sgml:
10287
10288 2004-04-28  David Schleef  <ds@schleef.org>
10289
10290         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10291         (gst_caps_append), (gst_caps_append_structure),
10292         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10293         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10294         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10295         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10296         (gst_caps_intersect), (gst_caps_normalize),
10297         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10298         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10299         * gst/gstcaps.h: use GST_IS_CAPS().
10300
10301 2004-04-26  David Schleef  <ds@schleef.org>
10302
10303         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10304         assembly.  gcc doesn't handle it correctly. (bug #141083)
10305         * gst/gsttrashstack.h: same
10306
10307 2004-04-25  Benjamin Otte  <otte@gnome.org>
10308
10309         * gst/gstelement.c: (gst_element_change_state):
10310           fix assertion to do an int comparison
10311
10312 2004-04-25  Benjamin Otte  <otte@gnome.org>
10313
10314         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10315           better debugging output on error
10316
10317 2004-04-25  Benjamin Otte  <otte@gnome.org>
10318
10319         * gst/gstcaps.c: (gst_caps_subtract):
10320           fix memleak
10321
10322 2004-04-23  Benjamin Otte  <otte@gnome.org>
10323
10324         * gst/gstvalue.c: (gst_value_compare_buffer),
10325         (_gst_value_initialize):
10326           add comparison function for buffers
10327
10328 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10329
10330         * docs/pwg/pwg.xml:
10331           Just found out that this so-called "ima-wav" format is really
10332           just "dvi adpcm" (according to the MS WAV documentation). So
10333           renaming it. We didn't use it yet anyway.
10334
10335 2004-04-23  Benjamin Otte  <otte@gnome.org>
10336
10337         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10338           call gst_caps_is_subset
10339
10340 2004-04-23  Benjamin Otte  <otte@gnome.org>
10341
10342         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10343         (gst_caps_is_subset):
10344           add documentation
10345
10346 2004-04-23  Benjamin Otte  <otte@gnome.org>
10347           
10348         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10349         (gst_caps_structure_subtract), (gst_caps_subtract),
10350         (gst_caps_structure_figure_out_union),
10351         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10352           fix simplifying and subtracting not working correctly with optional
10353           properties
10354           solve assorted problems that make it now simplify ebven more
10355         * docs/gst/tmpl/gstcaps.sgml:
10356         * gst/gstcaps.h:
10357           make gst_caps_do_simplify return a bool to indicate if it simplified
10358         * testsuite/caps/simplify.c: (main):
10359           add more checks. The tests is quite a bit useless right now because
10360           the core is heavily simplifying itself.
10361         * testsuite/caps/caps.h:
10362           fix caps to contain all optional properties
10363
10364 2004-04-22  Benjamin Otte  <otte@gnome.org>
10365
10366         * docs/gst/tmpl/gstcaps.sgml:
10367         * docs/gst/tmpl/gstfilesrc.sgml:
10368         * docs/gst/tmpl/gststructure.sgml:
10369         * docs/gst/tmpl/gstvalue.sgml:
10370           update for recent API changes
10371         * gst/gstcaps.c: (gst_caps_do_simplify):
10372           fix to stop trying with a freed structure
10373         * gst/gstpad.c: (gst_pad_link_fixate):
10374           simplify caps
10375         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10376           remove C++ comment
10377         * gst/gstpad.h:
10378           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10379         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10380         (gst_structure_to_string):
10381           keep the correct type when using lists of ranges
10382         * gst/gstvalue.c: (gst_value_list_prepend_value),
10383         (gst_value_list_append_value):
10384           copy the value before adding to the list (d'oh)
10385         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10386         (gst_value_subtract_int_range_int_range):
10387           handle overflows correctly
10388         * gst/gstvalue.c: (gst_value_subtract_from_list):
10389           fix memleak
10390         * testsuite/caps/caps.h:
10391           add a caps that caused segfaults
10392
10393 2004-04-22  Benjamin Otte  <otte@gnome.org>
10394
10395         * testsuite/refcounting/pad.c: (main):
10396           fix test
10397
10398 2004-04-22  Benjamin Otte  <otte@gnome.org>
10399
10400         * gst/gstcaps.c: (gst_caps_subtract):
10401           allow subtracting ANY and EMPTY from ANY caps
10402
10403 2004-04-22  Benjamin Otte  <otte@gnome.org>
10404
10405         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10406         (gst_caps_union):
10407           only simplify in functions that create new caps. Simplifying in
10408           gst_caps_append breaks tests.
10409
10410 2004-04-22  Benjamin Otte  <otte@gnome.org>
10411
10412         * gst/gstcaps.c: (gst_caps_structure_simplify):
10413           unset GValue after use
10414         * gst/gstcaps.c: (gst_caps_append), 
10415         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10416           use gst_caps_simplify (reduces registry size by 30%)
10417         * gst/gstpad.c: (gst_pad_template_new):
10418           don't allow NULL caps
10419
10420 2004-04-22  Benjamin Otte  <otte@gnome.org>
10421
10422         * docs/gst/gstreamer-sections.txt:
10423           add gst_caps_do_simplify
10424         * gst/gstcaps.c:
10425           add documentation for gst_caps_do_simplify
10426         * gst/gstvalue.h:
10427           fix typo in gst_value_register_subtract_func declaration for gst-doc
10428
10429 2004-04-22  Benjamin Otte  <otte@gnome.org>
10430
10431         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10432           fix bug when converting from empty string.
10433         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10434         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10435           use gst_caps_new_empty to allocate a new caps. Only that function
10436           allocates memory for caps now.
10437         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10438         (gst_caps_remove_structure):
10439           add ability to remove one structure (but not to header yet)
10440         * gst/gstcaps.c: (gst_caps_compare_structures),
10441         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10442         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10443         * gst/gstcaps.h:
10444           add gst_caps_do_simplify that tries to simplify a caps in place.
10445           Deprecate old gst_caps_simplify function.
10446         * testsuite/caps/caps.h:
10447           add caps.h containing a common set of caps to test against.
10448         * testsuite/caps/sets.c: (check_caps), (main):
10449           use it.
10450         * testsuite/caps/.cvsignore:
10451         * testsuite/caps/Makefile.am:
10452         * testsuite/caps/simplify.c: (check_caps), (main):
10453           add test to check correctness and efficency of caps simplification.
10454
10455 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10456
10457         reviewed by Benjamin Otte  <otte@gnome.org>
10458
10459         * gst/gstparse.c: (_gst_parse_escape):
10460           Free the GString used in _gst_parse_escape()
10461
10462 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10463
10464         * gst/gstpad.c: (gst_pad_link_negotiate):
10465           refuse to link if the link is not possible
10466         * configure.ac:
10467         * testsuite/Makefile.am:
10468         * testsuite/negotiation/.cvsignore:
10469         * testsuite/negotiation/Makefile.am:
10470         * testsuite/negotiation/pad_link.c: (main):
10471           add test that checks the above behaviour
10472
10473 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10474
10475         * docs/gst/gstreamer-sections.txt:
10476           add newly added API
10477
10478 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10481         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10482         (gst_filesrc_open_file), (gst_filesrc_close_file),
10483         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10484         * gst/elements/gstfilesrc.h:
10485           add support for non-regular files (#140734)
10486
10487 2004-04-21  Benjamin Otte  <otte@gnome.org>
10488
10489         * gst/gstpad.c: (gst_pad_link_fixate):
10490           add sophisticated error checking code to see if fixation functions
10491           did their fixation right
10492
10493 2004-04-21  Benjamin Otte  <otte@gnome.org>
10494
10495         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10496           check for ANY caps before appending/unioning
10497         * gst/gstcaps.c: (gst_caps_is_subset),
10498         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10499         (gst_caps_structure_subtract), (gst_caps_subtract):
10500         * gst/gstcaps.h:
10501           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10502           the API. deprecate gst_caps_is_equal_fixed
10503         * gst/gstpad.c: (gst_pad_try_set_caps):
10504         * gst/gstqueue.c: (gst_queue_link):
10505           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10506         * gst/gststructure.c: (gst_structure_get_name_id):
10507         * gst/gststructure.h:
10508           add function gst_structure_get_name_id
10509         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10510         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10511         (gst_value_subtract_int_range_int_range),
10512         (gst_value_subtract_double_double_range),
10513         (gst_value_subtract_double_range_double),
10514         (gst_value_subtract_double_range_double_range),
10515         (gst_value_subtract_from_list), (gst_value_subtract_list),
10516         (gst_value_can_intersect), (gst_value_subtract),
10517         (gst_value_can_subtract), (gst_value_register_subtract_func),
10518         (_gst_value_initialize):
10519         * gst/gstvalue.h:
10520           add support for subtracting values from each other. Note that
10521           subtracting means subtracting as in set theory. Required for caps
10522           stuff above.
10523         * testsuite/caps/.cvsignore:
10524         * testsuite/caps/Makefile.am:
10525         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10526         * testsuite/caps/sets.c: (check_caps), (main):
10527         * testsuite/caps/subtract.c: (check_caps), (main):
10528           add tests for subtraction and equality code.
10529
10530 2004-04-20  David Schleef  <ds@schleef.org>
10531
10532         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10533         * gst/indexers/Makefile.am:
10534         * gst/schedulers/Makefile.am:
10535         * libs/gst/bytestream/Makefile.am:
10536         * libs/gst/control/Makefile.am:
10537         * libs/gst/getbits/Makefile.am:
10538
10539 2004-04-20  David Schleef  <ds@schleef.org>
10540
10541         * common/as-libtool.mak: Fine-tune DLL building.
10542         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10543         (like gst-plugins)
10544         * examples/plugins/Makefile.am: remove plugindir
10545         * gst/autoplug/Makefile.am: DLL building fixes
10546         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10547         Windows.
10548         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10549         * gst/indexers/Makefile.am: DLL building fixes
10550         * gst/schedulers/Makefile.am: DLL building fixes.
10551         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10552         * libs/gst/control/Makefile.am: same
10553         * libs/gst/getbits/Makefile.am: same
10554         * testsuite/Makefile.am: New dlopen directory
10555         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10556         when dlopened.
10557         * testsuite/dlopen/dlopen_gst.c: (main): same
10558         * testsuite/dlopen/loadgst.c: (do_test): same
10559
10560 2004-04-20  David Schleef  <ds@schleef.org>
10561
10562         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10563         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10564
10565 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10566
10567         * gst/gstelement.c: (gst_element_wait),
10568         (gst_element_set_time_delay), (gst_element_change_state):
10569           Use GST_TIME_*
10570
10571 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10572
10573         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10574         (gst_spider_identity_plug):
10575           improve debugging messages
10576         * gst/gstbin.c: (gst_bin_remove_func):
10577           make sure the state_change function is only called with simple state
10578           transitions
10579
10580 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10581
10582         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10583         (gst_fakesink_set_property), (gst_fakesink_chain):
10584         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10585         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10586         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10587         * gst/elements/gstidentity.c: (gst_identity_chain),
10588         (gst_identity_set_property):
10589         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10590         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10591           add warnings to _set_property for unknown arguments
10592           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10593
10594 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10595
10596         * Makefile.am:
10597         * docs/manuals.mak:
10598           add .po file download snippet
10599           fix a bug in the doc makefile
10600
10601 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10602
10603         * Makefile.am:
10604         * po/LINGUAS:
10605         * po/en_GB.po:
10606           Added en_GB translation (Gareth Owen)
10607
10608 2004-04-20  Johan Dahlin  <johan@gnome.org>
10609
10610         * gst/gstpad.c (_invent_event): Clean up
10611
10612 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10613
10614         * testsuite/caps/filtercaps.c: (main):
10615           fix test to test things correctly (caps are complicated)
10616
10617 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10618
10619         * testsuite/caps/Makefile.am:
10620         * testsuite/caps/filtercaps.c: (main):
10621           add test (that doesn't work right now, but should)
10622
10623 2004-04-19  David Schleef  <ds@schleef.org>
10624
10625         * configure.ac: Add test for allowing unaligned access.  Add define
10626         to put in gstconfig.h.
10627         * docs/gst/gstreamer-sections.txt: New symbols
10628         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10629         * docs/gst/tmpl/gstfilesrc.sgml:
10630         * docs/gst/tmpl/gstparse.sgml:
10631         * docs/gst/tmpl/gsttypes.sgml:
10632         * docs/gst/tmpl/gstutils.sgml:
10633         * docs/gst/tmpl/gstvalue.sgml:
10634         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10635         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10636         on most !i386/!powerpc architectures.  From Daniel Gazard
10637         <daniel.gazard@free.fr>.  (bug #140156)
10638         * po/af.po: Check in changes made by gettext.
10639         * po/az.po:
10640         * po/fr.po:
10641         * po/nl.po:
10642         * po/sr.po:
10643         * po/sv.po:
10644
10645 2004-04-20  Benjamin Otte  <otte@gnome.org>
10646
10647         * gst/schedulers/entryscheduler.c: 
10648         (gst_entry_scheduler_yield):
10649           refuse to yield when decoupled elements insist on doing that.
10650           At least it's better than crashing
10651
10652 2004-04-19  David Schleef  <ds@schleef.org>
10653
10654         * docs/libs/Makefile.am: Change sinclude to include
10655         * docs/gst/Makefile.am: same
10656         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10657
10658 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10659
10660         * po/LINGUAS:
10661         * po/uk.po:
10662           Added Ukrainian translation (Maxim V. Dziumanenko)
10663
10664 2004-04-19  Johan Dahlin  <johan@gnome.org>
10665
10666         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10667         checking here, do it before calling the function.
10668         Clean up, use for loops instead of while loops while iterating
10669         over lists.
10670
10671         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10672         in debug message.
10673         (gst_spider_create_and_plug): Improve debug message.
10674         General: Replace while loops which iterates over GLists with for
10675         loops. Which are much cleaner, improves readability, especially
10676         for gst_spider_identity_plug
10677
10678         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10679         fixes bug 140477
10680
10681 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10682
10683         * po/LINGUAS:
10684         * po/tr.po:
10685           Added Turkish translation (Baris Cicek)
10686
10687 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10688
10689         * docs/faq/troubleshooting.xml:
10690           Mention gst-register in the FAQ (fixes 139045).
10691
10692 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10693
10694         * docs/gst/gstreamer-sections.txt:
10695
10696 2004-04-17  Benjamin Otte  <otte@gnome.org>
10697
10698         * gst/gstelement.c: (gst_element_dispose):
10699           simplify
10700         * gst/gstpad.c: (gst_pad_call_chain_function):
10701           don't create loads of events due to bad macro usage
10702
10703 2004-04-16  David Schleef  <ds@schleef.org>
10704
10705         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10706         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10707         * gst/gstvalue.c: (gst_value_serialize_buffer),
10708         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10709         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10710         to indicate types that are fixed wrt caps or not.  Switching to
10711         this function fixes (bug #140298).
10712         * gst/gstvalue.h:
10713
10714 2004-04-16  David Schleef  <ds@schleef.org>
10715
10716         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10717         for GST_UNALIGNED_ACESS, since we essentially know which archs
10718         are ok.
10719
10720 2004-04-17  Benjamin Otte  <otte@gnome.org>
10721
10722         * docs/gst/Makefile.am:
10723           ignore gst/parse directory when building docs (fixes #140205)
10724
10725 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10726
10727         * testsuite/refcounting/mem.c: (vmsize):
10728           do error checking
10729
10730 2004-04-16  Johan Dahlin  <johan@gnome.org>
10731
10732         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10733         and gst_pad_call_get_function.
10734
10735 2004-04-15  David Schleef  <ds@schleef.org>
10736
10737         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10738         checks if we can access unaligned memory.
10739         * configure.ac: Use it.
10740
10741 2004-04-16  Benjamin Otte  <otte@gnome.org>
10742
10743         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10744         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10745         * gst/elements/gstfilesrc.h:
10746           s/seek_happened/need_discont/ and require discont before sending any
10747           data
10748
10749 2004-04-15  David Schleef  <ds@schleef.org>
10750
10751         * gst/gstvalue.c: (gst_value_serialize_buffer),
10752         (gst_value_deserialize_buffer), (_gst_value_initialize):
10753         Register these types as fundamental types. (bug #140015)
10754
10755 2004-04-16  Benjamin Otte  <otte@gnome.org>
10756
10757         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10758         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10759         (gst_pad_pull):
10760           implement enforcing discont events before buffers are passed. This
10761           allows state changes of only some elements and later correctly going
10762           on where they left off (or in short: you can now set audio sinks to
10763           NULL to release the device when the pipeline is paused)
10764         * gst/gstpad.c: (gst_pad_call_chain_function),
10765         (gst_pad_call_get_function):
10766         * gst/gstpad.h:
10767           add gst_pad_call_chain_function and gst_pad_call_get_function for
10768           scheduler interaction. They are required because of the changes
10769           above.
10770         * gst/schedulers/entryscheduler.c: (get_buffer),
10771         (gst_entry_scheduler_chain_wrapper),
10772         (gst_entry_scheduler_get_wrapper),
10773         (gst_entry_scheduler_state_transition),
10774         (gst_entry_scheduler_pad_link):
10775         * gst/schedulers/gstbasicscheduler.c:
10776         (gst_basic_scheduler_chain_wrapper),
10777         (gst_basic_scheduler_src_wrapper),
10778         (gst_basic_scheduler_chainhandler_proxy),
10779         (gst_basic_scheduler_gethandler_proxy),
10780         (gst_basic_scheduler_cothreaded_chain),
10781         (gst_basic_scheduler_chain_elements):
10782         * gst/schedulers/gstoptimalscheduler.c:
10783         (get_group_schedule_function), (pad_clear_queued),
10784         (gst_opt_scheduler_pad_link):
10785           use the new functions instead of calling get/chain-functions
10786           directly.
10787
10788 2004-04-15  David Schleef  <ds@schleef.org>
10789
10790         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10791         * docs/gst/tmpl/gstinfo.sgml: same
10792         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10793         gtk-doc put here.
10794         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10795         * examples/queue/queue.c: (main):  We iterate pipelines, not
10796         bins.  (bug #139996)
10797
10798 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10799
10800         * docs/pwg/advanced-types.xml:
10801           Add MS RLE support. Also document Qt RLE although I have no sample
10802           files for that yet. And document an extra property for ADPCM.
10803
10804 2004-04-15  David Schleef  <ds@schleef.org>
10805
10806         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10807         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10808         Windows.
10809
10810 2004-04-15  David Schleef  <ds@schleef.org>
10811
10812         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10813         symbol names to not conflict with new gstinfo.h symbols.
10814         * gst/gstinfo.h: Add inline functions for all those crazy
10815         compilers that don't know how to handle variadic macros (MSVC).
10816
10817 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10818
10819         * configure.ac: bump nano to 1
10820
10821 === release 0.8.1 ===
10822
10823 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * NEWS:
10826         * RELEASE:
10827         * configure.ac:
10828           releasing 0.8.1, "Snow Brigade"
10829
10830 2004-04-14  David Schleef  <ds@schleef.org>
10831
10832         * testsuite/Makefile.am: define tests_ignore
10833         * testsuite/Rules: Added new tests_ignore, which get compiled,
10834         but not run (generally because they're inconsistent or have
10835         heisenbugs).  Now we can ensure all the .c files compile in
10836         testsuite/.
10837         * testsuite/bins/Makefile.am: define tests_ignore
10838         * testsuite/bytestream/Makefile.am:
10839         * testsuite/caps/Makefile.am:
10840         * testsuite/clock/Makefile.am:
10841         * testsuite/debug/Makefile.am:
10842         * testsuite/debug/global.c: (gst_debug_log_one),
10843         (gst_debug_log_two): Fix compilation problem.
10844         * testsuite/dynparams/Makefile.am:
10845         * testsuite/elements/Makefile.am:
10846         * testsuite/ghostpads/Makefile.am:
10847         * testsuite/indexers/Makefile.am:
10848         * testsuite/parse/Makefile.am:
10849         * testsuite/plugin/Makefile.am:
10850         * testsuite/refcounting/Makefile.am:
10851         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10852         results, because it's not calculated correctly.
10853         * testsuite/refcounting/pad.c: (main): same
10854         * testsuite/states/Makefile.am:
10855         * testsuite/tags/Makefile.am:
10856         * testsuite/threads/Makefile.am:
10857
10858 2004-04-14  David Schleef  <ds@schleef.org>
10859
10860         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10861         generating bad code around the cpu detection asm code.
10862
10863 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10864
10865         * tools/gst-inspect.c: (print_element_info):
10866           print numeric version of rank as well, since we added some - 1
10867           rank values to elements
10868
10869 2004-04-13  David Schleef  <ds@schleef.org>
10870
10871         * configure.ac:  Disable various code when compiling for MinGW.
10872         * gst/elements/Makefile.am:
10873         * gst/elements/gstelements.c:
10874         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10875         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10876         * gst/registries/gstxmlregistry.c: (make_dir):
10877
10878 2004-04-13  David Schleef  <ds@schleef.org>
10879
10880         * gst/Makefile.am:
10881         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10882         assembly.
10883         * gst/gstcpuid_i386.s: remove
10884
10885 2004-04-13  David Schleef  <ds@schleef.org>
10886
10887         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10888         seems to think it needs to be done.
10889         * docs/gst/tmpl/gstfakesink.sgml:
10890         * docs/gst/tmpl/gstfakesrc.sgml:
10891         * docs/gst/tmpl/gstfdsink.sgml:
10892         * docs/gst/tmpl/gstfdsrc.sgml:
10893         * docs/gst/tmpl/gstfilesink.sgml:
10894         * docs/gst/tmpl/gstfilesrc.sgml:
10895         * docs/gst/tmpl/gstidentity.sgml:
10896         * docs/gst/tmpl/gstmd5sink.sgml:
10897         * docs/gst/tmpl/gstmultifilesrc.sgml:
10898         * docs/gst/tmpl/gstpipefilter.sgml:
10899         * docs/gst/tmpl/gstshaper.sgml:
10900         * docs/gst/tmpl/gstspider.sgml:
10901         * docs/gst/tmpl/gstspideridentity.sgml:
10902         * docs/gst/tmpl/gststatistics.sgml:
10903         * docs/gst/tmpl/gsttee.sgml:
10904         * docs/gst/tmpl/gsttypefind.sgml:
10905         * docs/gst/tmpl/gstutils.sgml:
10906
10907 2004-04-13  David Schleef  <ds@schleef.org>
10908
10909         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10910         and to build DLLs on Windows.
10911         * gst/Makefile.am:
10912         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10913         (gst_filesrc_open_file):
10914         * gst/schedulers/Makefile.am:
10915
10916 2004-04-13  David Schleef  <ds@schleef.org>
10917
10918         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10919         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10920         fixating lists.
10921
10922 2004-04-12  David Schleef  <ds@schleef.org>
10923
10924         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10925         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10926         to using it.
10927         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10928         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10929         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10930         * gst/gststructure.c: (gst_structure_set_valist),
10931         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10932         support for buffers.
10933         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10934         intended to be const.
10935         * gst/gsttag.h: same
10936         * gst/gstvalue.c: (gst_value_serialize_buffer),
10937         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10938         to (de)serialize buffers.
10939         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10940         * testsuite/caps/string-conversions.c: (main):
10941         * testsuite/caps/value_serialize.c: add new test
10942
10943 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10944
10945         * docs/pwg/advanced-types.xml:
10946           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10947
10948 2004-04-11  Benjamin Otte  <otte@gnome.org>
10949
10950         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10951           rename categories to basic_*
10952         * gst/schedulers/gstbasicscheduler.c: 
10953         (gst_basic_scheduler_chain_wrapper),
10954         (gst_basic_scheduler_chainhandler_proxy),
10955         (gst_basic_scheduler_gethandler_proxy),
10956         (gst_basic_scheduler_eventhandler_proxy):
10957           debugging category fixes - put common stuff in log category
10958         * gst/schedulers/gstbasicscheduler.c: 
10959         (gst_basic_scheduler_chain_elements):
10960           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10961           active and linking two active chains
10962
10963 2004-04-10  Benjamin Otte  <otte@gnome.org>
10964
10965         * docs/pwg/intro-preface.xml:
10966           fix dead links and remove reference to Wiki
10967
10968 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10969
10970         * gst/schedulers/gstbasicscheduler.c:
10971           make sure we can switch back to the main function if we're still in
10972           the main function (supposed to fix #139617)
10973         * gst/schedulers/gthread-cothreads.h:
10974           don't throw an error when switching to the same cothread
10975
10976 2004-04-09  Benjamin Otte  <otte@gnome.org>
10977
10978         * gst/gstbin.c: (gst_bin_get_type):
10979         * gst/gstclock.c: (gst_clock_get_type):
10980         * gst/gstindex.c: (gst_index_get_type):
10981         * gst/gstobject.c: (gst_object_get_type),
10982         (gst_signal_object_get_type):
10983         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10984         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10985         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10986         * gst/gstqueue.c: (gst_queue_get_type):
10987         * gst/gstregistry.c: (gst_registry_get_type):
10988         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10989         * gst/gstthread.c: (gst_thread_get_type):
10990           don't use memchunks for these objects, use malloc instead
10991
10992 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10993
10994         * docs/gst/.cvsignore:
10995         * docs/gst/Makefile.am:
10996         * docs/gst/gstreamer-sections.txt:
10997         * docs/gst/tmpl/gstaggregator.sgml:
10998         * docs/gst/tmpl/gstbuffer.sgml:
10999         * docs/gst/tmpl/gstclock.sgml:
11000         * docs/gst/tmpl/gstelement.sgml:
11001         * docs/gst/tmpl/gstfakesink.sgml:
11002         * docs/gst/tmpl/gstfakesrc.sgml:
11003         * docs/gst/tmpl/gstfdsink.sgml:
11004         * docs/gst/tmpl/gstfdsrc.sgml:
11005         * docs/gst/tmpl/gstfilesink.sgml:
11006         * docs/gst/tmpl/gstfilesrc.sgml:
11007         * docs/gst/tmpl/gstidentity.sgml:
11008         * docs/gst/tmpl/gstindex.sgml:
11009         * docs/gst/tmpl/gstinfo.sgml:
11010         * docs/gst/tmpl/gstmd5sink.sgml:
11011         * docs/gst/tmpl/gstmultifilesrc.sgml:
11012         * docs/gst/tmpl/gstpad.sgml:
11013         * docs/gst/tmpl/gstpipefilter.sgml:
11014         * docs/gst/tmpl/gstpipeline.sgml:
11015         * docs/gst/tmpl/gstpluginfeature.sgml:
11016         * docs/gst/tmpl/gstqueue.sgml:
11017         * docs/gst/tmpl/gstregistry.sgml:
11018         * docs/gst/tmpl/gstscheduler.sgml:
11019         * docs/gst/tmpl/gstshaper.sgml:
11020         * docs/gst/tmpl/gstspider.sgml:
11021         * docs/gst/tmpl/gstspideridentity.sgml:
11022         * docs/gst/tmpl/gststatistics.sgml:
11023         * docs/gst/tmpl/gstsystemclock.sgml:
11024         * docs/gst/tmpl/gsttee.sgml:
11025         * docs/gst/tmpl/gstthread.sgml:
11026         * docs/gst/tmpl/gsttypefind.sgml:
11027         * docs/gst/tmpl/gstutils.sgml:
11028           further doc build fixes
11029
11030 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * docs/gst/Makefile.am:
11033           make docs exit on scanning problems
11034           fix nonsrcdir build issues
11035         * docs/gst/gstreamer-sections.txt:
11036           adding stuff from -unused
11037         * gst/gstqueue.h:
11038           create GstQueueSize
11039         * gst/schedulers/cothreads_compat.h:
11040           fix cothread warnings
11041
11042 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11043
11044         * docs/gst/gstreamer-sections.txt:
11045           remove defines deprecated by Benjamin
11046
11047 2004-04-07  Benjamin Otte  <otte@gnome.org>
11048
11049         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11050           when the buffer is complete, don't check if other buffers are needed
11051         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11052           check that the offset is >0 so we don't try to read before the
11053           beginning of the file
11054         * gst/gstpad.c: (gst_pad_set_pad_template):
11055           sink the template, so we don't end up with 130k pad templates
11056
11057 2004-04-06  Benjamin Otte  <otte@gnome.org>
11058
11059         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11060           don't ref the element, adding already reffed it. And we didn't unref
11061           it later anyway... (huge memleak when you used many spider elements)
11062         * gst/gstelement.c: (gst_element_base_class_finalize):
11063         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11064         (gst_element_register):
11065         * gst/gsturi.c: (gst_element_make_from_uri):
11066           use gst_object_(un)ref instead of g_object(un)ref
11067
11068 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11069
11070         * gst/gstbuffer.h:
11071           remove macro that wouldn't work anymore because struct member has
11072           been removed.
11073         * gst/schedulers/entryscheduler.c: (schedule_forward):
11074           fix segfault for unconnected pads
11075         
11076 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11077
11078         reviewed by David Schleef <ds@schleef.org>
11079
11080         * gst/gstinfo.h:
11081           *_FORMAT modifiers should require putting a % in front of them for
11082           consistency reasons.
11083
11084 2004-04-05  Colin Walters  <walters@redhat.com>
11085
11086         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11087         space.
11088
11089 2004-04-05  Benjamin Otte  <otte@gnome.org>
11090
11091         * configure.ac:
11092         * gst/Makefile.am:
11093         * gst/gst_private.h:
11094         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11095           add support for detecting if GStreamer runs inside valgrind.
11096           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11097           print a big message in valgrind that GStreamer has detected it's
11098           running inside and might now use different code.
11099         * gst/gstmemchunk.c: (populate), (free_area),
11100         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11101         (gst_mem_chunk_free):
11102           flag memchunks for valgrind, so it can detect leaking of chunks.
11103           This allows detecting leaks of GstBuffer and GstEvent correctly
11104           inside valgrind.
11105
11106 2004-04-05  David Schleef  <ds@schleef.org>
11107
11108         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11109           jensgr@gmx.net (Jens Granseuer)
11110
11111 2004-04-05  David Schleef  <ds@schleef.org>
11112
11113         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11114         (gst_buffer_default_free), (gst_buffer_default_copy),
11115         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11116         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11117         structures in one place.
11118
11119 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11120
11121         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11122           (GST_TIME_FORMAT, GST_TIME_ARGS)
11123
11124 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11125
11126         * testsuite/elements/Makefile.am:
11127           disable test until it stops breaking make distcheck
11128
11129 2004-04-05  Johan Dahlin  <johan@gnome.org>
11130
11131         * po/sv.po: Updated translation
11132
11133 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11134
11135         * gst/gstplugin.c: (gst_plugin_load_file):
11136           fix segfault for when original plugin was loaded statically
11137
11138 2004-04-05  Benjamin Otte  <otte@gnome.org>
11139
11140         * testsuite/debug/category.c: (main):
11141         * testsuite/debug/commandline.c: (main):
11142         * testsuite/debug/output.c: (main):
11143           fix tests to work again with debugging enabled
11144
11145 2004-04-05  Benjamin Otte  <otte@gnome.org>
11146
11147         * gst/schedulers/gstbasicscheduler.c:
11148         (gst_basic_scheduler_pad_link):
11149           fix to work with recent scheduling changes
11150
11151 2004-04-05  Benjamin Otte  <otte@gnome.org>
11152
11153         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11154         prepareChangeLog doesn't work when cvs indents):
11155           don't throw an error when no element can be scheduled, there's too
11156           many weird reasons why it doesn't work. Return STOPPED instead.
11157           decoupled elemts' schedulability doesn't depend on bufpens.
11158
11159 2004-04-04  Benjamin Otte  <otte@gnome.org>
11160
11161         * gst/schedulers/gstbasicscheduler.c:
11162         (gst_basic_scheduler_pad_select):
11163           fix uninitialized variable warnings
11164
11165 2004-04-04  Benjamin Otte  <otte@gnome.org>
11166
11167         * gst/gstpad.c: (gst_pad_collect_valist):
11168           fix uninitialized variable warning
11169         * gst/schedulers/entryscheduler.c: (schedule_forward):
11170           fix shadowed variable
11171
11172 2004-04-04  Benjamin Otte  <otte@gnome.org>
11173
11174         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11175         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11176         (gst_pad_select):
11177         * gst/gstpad.h:
11178         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11179         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11180         * gst/gstscheduler.h:
11181           implement gst_pad_collect as replacement for gst_pad_select.
11182           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11183           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11184           new pad_select, lock and unlock calls.
11185         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11186         * gst/cothreads.h:
11187         * gst/schedulers/cothreads_compat.h:
11188         * gst/schedulers/gthread-cothreads.h:
11189           remove unused cothread_lock and cothread_unlock calls
11190         * gst/schedulers/entryscheduler.c:
11191         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11192         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11193         (gst_entry_scheduler_pad_select):
11194           update to new API
11195         * gst/schedulers/gstbasicscheduler.c:
11196         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11197         (gst_basic_scheduler_pad_select):
11198           remove useless lock and unlock calls, update pad_select to new API
11199           (untested)
11200         * gst/schedulers/gstoptimalscheduler.c:
11201         (gst_opt_scheduler_class_init):
11202           remove useless select, lock and unlock function calls
11203         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11204           use gst_pad_collect instead of gst_pad_select
11205
11206 2004-04-04  Benjamin Otte  <otte@gnome.org>
11207
11208         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11209         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11210         (schedule_next_element), (print_entry):
11211           add can_schedule_pad to handle element states.
11212           add schedule_forward to select the correct entry to schedule next
11213
11214 2004-04-03  Benjamin Otte  <otte@gnome.org>
11215
11216         * gst/schedulers/entryscheduler.c: 
11217           remove unused variable, fix error inside Rb, fix compile warning in
11218           unreachable code
11219
11220 2004-04-03  Benjamin Otte  <otte@gnome.org>
11221
11222         * gst/schedulers/entryscheduler.c:
11223           completely revamp the inner workings, so it's a lot easier to
11224           understand and extend
11225
11226 2004-04-03  Andy Wingo  <wingo@pobox.com>
11227
11228         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11229         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11230         This allows better introspection of pipeline topology.
11231         (add_to_chain): Don't do trickery to put loop elements first;
11232         rather, queue a chain sort by marking the chain as dirty.
11233         (remove_from_chain): Mark the chain dirty.
11234         (sort_chain): New function. Sorts the group list so that terminal
11235         sinks are first. This means elements on the sink side will be
11236         preferentially sscheduled before elements on the src side of the
11237         pipeline.
11238         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11239         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11240         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11241         (group_inc_link): Change argument and variable names to match the
11242         new link structure member names (src and sink).
11243         (group_dec_link): Add some description
11244
11245 2004-04-03  Benjamin Otte  <otte@gnome.org>
11246
11247         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11248         * gst/gstinfo.h:
11249         * testsuite/debug/category.c: (main):
11250         * testsuite/debug/commandline.c: (main):
11251         * testsuite/debug/output.c: (main):
11252         * testsuite/debug/printf_extension.c: (main):
11253           fix to successfully build and test with --disable-gst-debug
11254           configure switch (fixes #138705)
11255
11256 2004-04-03  Benjamin Otte  <otte@gnome.org>
11257
11258         * docs/pwg/building-boiler.xml:
11259           add cvs login line and s/anonymous/anoncvs/
11260
11261 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11262
11263         reviewed by Benjamin Otte  <otte@gnome.org>
11264
11265         * gst/gststructure.c: (gst_structure_free):
11266           memleak fix: free fields array (partial fix for #134839)
11267
11268 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11269
11270         * docs/random/ds/0.9-suggested-changes:
11271           Add a note to change handoff use in fakesrc to be usable in
11272           a more generic way (fakesrc should be renamed to appsrc or so).
11273         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11274           Change signal type to scope, so we can fill the buffer in the
11275           handoff handler (that's the whole use of this signal...).
11276
11277 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11278
11279         * docs/pwg/other-ntoone.xml:
11280           Document muxers and n-to-1 elements.
11281
11282 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11283
11284         * gst/registries/gstxmlregistry.c
11285         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11286         determine if a file is a G_MODULE. The old one discards paths
11287         containing "so" somewhere in the middle. My home directory is
11288         called "soto". Go figure...
11289
11290 2004-03-31  David Schleef  <ds@schleef.org>
11291
11292         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11293         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11294         * gst/gstbuffer.h:
11295
11296 2004-03-31  David Schleef  <ds@schleef.org>
11297
11298         * gst/gstvalue.c: (gst_value_union_int_int_range),
11299         (gst_value_union_int_range_int_range), (gst_value_can_union),
11300         (gst_value_union), (_gst_value_initialize):  Add some union
11301         implementations.  We didn't have any previously.
11302         * testsuite/caps/Makefile.am:
11303         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11304         (gst_audioscale_getcaps), (test_caps), (main): A little test
11305         that is the same as the caps manipulation in audioscale.
11306
11307 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11308
11309         * docs/faq/general.xml:
11310           add entry about "does gst support format X?"
11311
11312 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11313
11314         * gst/gstthread.c:
11315           fix docs
11316         * gst/gstutils.h:
11317           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11318
11319 2004-03-30  Benjamin Otte  <otte@gnome.org>
11320
11321         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11322           set the offset of the buffer to the requested offset
11323         * gst/elements/gsttypefind.c: (stop_typefinding):
11324           revert patch 1.18 (which I unfortunately don't know the reason for).
11325           This is needed to allow downstream elements to seek. Otherwise
11326           typefind might overwrite a previous seek by downstream elements.
11327           This lead to errors with id3tag and typefind on some mp3s.
11328         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11329         (gst_entry_scheduler_iterate):
11330           be more verbose when debugging
11331
11332 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11333
11334         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11335           make sure we don't get NULL strings
11336
11337 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11338
11339         * gst/gstcaps.c:
11340         * gst/gstelement.c:
11341         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11342         * gst/gstindex.c: (gst_index_resolver_get_type),
11343         (gst_index_get_type), (gst_index_factory_get_type):
11344         * gst/gstinfo.c:
11345         * gst/gstpad.c:
11346         * gst/gstplugin.c:
11347         * gst/gsturi.c: (gst_uri_handler_get_type):
11348         * gst/gstvalue.c:
11349           first batch of documentation fixes
11350
11351 2004-03-29  David Schleef  <ds@schleef.org>
11352
11353         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11354         * docs/gst/gstreamer-docs.sgml:  More hacking
11355         * docs/gst/gstreamer-sections.txt:
11356         * docs/gst/tmpl/cothreads_compat.sgml:
11357         * docs/gst/tmpl/gstcaps.sgml:
11358         * docs/gst/tmpl/gstclock.sgml:
11359         * docs/gst/tmpl/gstelement.sgml:
11360         * docs/gst/tmpl/gstevent.sgml:
11361         * docs/gst/tmpl/gstpad.sgml:
11362         * docs/gst/tmpl/gstutils.sgml:
11363         * docs/gst/tmpl/gstxml.sgml:
11364         * docs/gst/tmpl/gthread-cothreads.sgml:
11365         * docs/random/ds/0.9-suggested-changes:
11366         * gst/elements/gstfakesink.h: doc fixes
11367         * gst/elements/gstfakesrc.h: doc fixes
11368         * gst/gstcaps.c: doc fixes
11369         * gst/gstcaps.h: doc fixes
11370         * gst/gstelement.c: doc fixes
11371         * gst/gstelement.h: doc fixes
11372         * gst/gstindex.c: doc fixes
11373         * gst/gstinfo.c: doc fixes
11374         * gst/gstpad.c: doc fixes
11375         * gst/gstpad.h: doc fixes
11376         * gst/gstplugin.c: doc fixes
11377         * gst/gsttypefind.h: doc fixes
11378         * gst/gsturi.c: doc fixes
11379         * gst/gstvalue.c: doc fixes
11380
11381 2004-03-29  Colin Walters  <walters@redhat.com>
11382
11383         * gst/registries/gstxmlregistry.c (get_time)
11384         (plugin_times_older_than_recurse):
11385         Use the result of stat to determine whether a path is a file,
11386         so we don't attempt to opendir() files.
11387
11388 2004-03-29  Benjamin Otte  <otte@gnome.org>
11389
11390         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11391           print caps in debugging output when setting caps failed
11392         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11393         (schedule_next_element), (get_buffer), (run_chainhandler),
11394         (element_may_start), (gst_entry_scheduler_chain_handler),
11395         (gst_entry_scheduler_get_handler),
11396         (gst_entry_scheduler_state_transition),
11397         (gst_entry_scheduler_pad_link):
11398           make this scheduler a testcase for mandatory
11399           discont-before-first-buffer which is needed if we want to allow apps
11400           to release the sound device.
11401           add SCHED_ASSERT macro to print scheduler state before an assertion
11402           triggers.
11403
11404 2004-03-29  Benjamin Otte  <otte@gnome.org>
11405
11406         * COPYING:
11407           replace by LGPL (former COPYING.LIB). The core is completely
11408           licensed LGPL.
11409         * COPYING.LIB:
11410           remove
11411
11412 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11413
11414         * po/af.po:
11415         * po/sv.po:
11416           updated Afrikaans and Swedish
11417
11418 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11419
11420         * po/LINGUAS:
11421         * po/az.po:
11422           adding Azerbaijani (Mətin Əmirov)
11423
11424 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11425
11426         * gst/gstelement.h: 
11427         * gst/gstelement.c (gst_element_set_time_delay): New function for
11428         setting element time taking into account a hardware buffering
11429         delay.
11430         (gst_element_set_time): Now just an invocation of
11431         gst_element_set_time_delay.
11432         * gst/gstclock.h: 
11433         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11434         allowing to set event times in the future.
11435         (gst_clock_get_event_time): Now just an invocation of
11436         gst_clock_get_event_time_delay.
11437
11438 2004-03-28  Benjamin Otte  <otte@gnome.org>
11439
11440         * gst/gstbin.c: (gst_bin_set_element_sched),
11441         (gst_bin_unset_element_sched):
11442           don't add decoupled elements to schedulers - otherwise it's
11443           impossible to control if a link to a decoupled element was already
11444           removed from a scheduler or not.
11445         * gst/schedulers/cothreads_compat.h:
11446         * gst/schedulers/gthread-cothreads.h:
11447           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11448           is no "unused" warning.
11449         * gst/schedulers/Makefile.am:
11450         * gst/schedulers/entryscheduler.c:
11451           add new scheduler, based on ideas from talking to David and Martin.
11452           It's supposed to be small and correct. Currently it's also slow (but
11453           it's not noticable)
11454         * examples/retag/retag.c: (main):
11455         * testsuite/bytestream/test1.c: (main):
11456           fix missing NULLs at end of variadic functions
11457         * testsuite/elements/.cvsignore:
11458           update
11459
11460 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11461
11462         * gst/gstevent.h:
11463         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11464
11465 2004-03-25  David Schleef  <ds@schleef.org>
11466
11467         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11468         * docs/gst/tmpl/gstaggregator.sgml:
11469         * docs/gst/tmpl/gstautoplugfactory.sgml:
11470         * docs/gst/tmpl/gstbin.sgml:
11471         * docs/gst/tmpl/gstbuffer.sgml:
11472         * docs/gst/tmpl/gstbufferstore.sgml:
11473         * docs/gst/tmpl/gstfakesink.sgml:
11474         * docs/gst/tmpl/gstfakesrc.sgml:
11475         * docs/gst/tmpl/gstmd5sink.sgml:
11476         * docs/gst/tmpl/gstreamer-unused.sgml:
11477         * docs/gst/tmpl/gstsearchfuncs.sgml:
11478         * docs/gst/tmpl/gstshaper.sgml:
11479         * docs/gst/tmpl/gstspider.sgml:
11480         * docs/gst/tmpl/gsttee.sgml:
11481         * docs/gst/tmpl/gstutils.sgml:
11482         * docs/gst/tmpl/gstvalue.sgml:
11483         * docs/gst/tmpl/gstxml.sgml:
11484         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11485         and we don't support it.
11486         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11487         (gst_use_threads), (gst_has_threads): same
11488         * gst/gstthreaddummy.c: same
11489         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11490         * gst/autoplug/gstspider.h: same
11491         * gst/elements/gstaggregator.h: Remove bogus function from header
11492         * gst/elements/gstfakesink.h: same
11493         * gst/elements/gstfakesrc.h: same
11494         * gst/elements/gstmd5sink.h: same
11495         * gst/elements/gstshaper.h: same
11496         * gst/elements/gsttee.h: same
11497         * gst/gstbin.c: doc fixes
11498         * gst/gstbin.h: Remove unused definition.
11499         * gst/gstbuffer.c: doc fixes
11500         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11501         * gst/gstfilter.c: doc fixes
11502         * gst/gsttag.c: doc fixes
11503         * gst/gstvalue.c: doc fixes
11504
11505 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11506
11507         * docs/pwg/advanced-types.xml:
11508           Document typefinding.
11509         * docs/pwg/other-oneton.xml:
11510           Document one-to-n elements, demuxers and parsers.
11511
11512 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11513
11514         reviewed by: David Schleef  <ds@schleef.org>
11515
11516         * configure.ac: Check bison version (bug #127838)
11517
11518 2004-03-25  David Schleef  <ds@schleef.org>
11519
11520         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11521         * docs/gst/gstreamer-sections.txt:
11522         * docs/gst/tmpl/gstautoplug.sgml:
11523         * docs/gst/tmpl/gststaticautoplug.sgml:
11524         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11525         * docs/gst/tmpl/gstutils.sgml:
11526         * docs/gst/tmpl/gstxml.sgml:
11527
11528 2004-03-24  David Schleef  <ds@schleef.org>
11529
11530         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11531         manual being such complete crap, that I decided to do major
11532         hacking of it.  This checkin replaces any fine tuning that
11533         may have been done previously, with the benefit of actually
11534         being complete for much of the API that was changed since
11535         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11536         * docs/gst/gstreamer-sections.txt:
11537         * docs/gst/tmpl/GstBin.sgml:
11538         * docs/gst/tmpl/GstBuffer.sgml:
11539         * docs/gst/tmpl/GstCaps.sgml:
11540         * docs/gst/tmpl/GstClock.sgml:
11541         * docs/gst/tmpl/GstCompat.sgml:
11542         * docs/gst/tmpl/GstData.sgml:
11543         * docs/gst/tmpl/GstElement.sgml:
11544         * docs/gst/tmpl/GstEvent.sgml:
11545         * docs/gst/tmpl/GstIndex.sgml:
11546         * docs/gst/tmpl/GstStructure.sgml:
11547         * docs/gst/tmpl/GstTag.sgml:
11548         * docs/gst/tmpl/cothreads.sgml:
11549         * docs/gst/tmpl/cothreads_compat.sgml:
11550         * docs/gst/tmpl/gettext.sgml:
11551         * docs/gst/tmpl/grammar.tab.sgml:
11552         * docs/gst/tmpl/gst-i18n-app.sgml:
11553         * docs/gst/tmpl/gst-i18n-lib.sgml:
11554         * docs/gst/tmpl/gst.sgml:
11555         * docs/gst/tmpl/gst_private.sgml:
11556         * docs/gst/tmpl/gstaggregator.sgml:
11557         * docs/gst/tmpl/gstarch.sgml:
11558         * docs/gst/tmpl/gstatomic.sgml:
11559         * docs/gst/tmpl/gstatomic_impl.sgml:
11560         * docs/gst/tmpl/gstbin.sgml:
11561         * docs/gst/tmpl/gstbuffer.sgml:
11562         * docs/gst/tmpl/gstbufferstore.sgml:
11563         * docs/gst/tmpl/gstcaps.sgml:
11564         * docs/gst/tmpl/gstclock.sgml:
11565         * docs/gst/tmpl/gstcompat.sgml:
11566         * docs/gst/tmpl/gstconfig.sgml:
11567         * docs/gst/tmpl/gstcpu.sgml:
11568         * docs/gst/tmpl/gstdata.sgml:
11569         * docs/gst/tmpl/gstdata_private.sgml:
11570         * docs/gst/tmpl/gstelement.sgml:
11571         * docs/gst/tmpl/gstenumtypes.sgml:
11572         * docs/gst/tmpl/gsterror.sgml:
11573         * docs/gst/tmpl/gstevent.sgml:
11574         * docs/gst/tmpl/gstfakesink.sgml:
11575         * docs/gst/tmpl/gstfakesrc.sgml:
11576         * docs/gst/tmpl/gstfilesink.sgml:
11577         * docs/gst/tmpl/gstfilter.sgml:
11578         * docs/gst/tmpl/gstindex.sgml:
11579         * docs/gst/tmpl/gstinfo.sgml:
11580         * docs/gst/tmpl/gstinterface.sgml:
11581         * docs/gst/tmpl/gstlog.sgml:
11582         * docs/gst/tmpl/gstmacros.sgml:
11583         * docs/gst/tmpl/gstmarshal.sgml:
11584         * docs/gst/tmpl/gstmd5sink.sgml:
11585         * docs/gst/tmpl/gstmultifilesrc.sgml:
11586         * docs/gst/tmpl/gstobject.sgml:
11587         * docs/gst/tmpl/gstpad.sgml:
11588         * docs/gst/tmpl/gstparse.sgml:
11589         * docs/gst/tmpl/gstpipeline.sgml:
11590         * docs/gst/tmpl/gstplugin.sgml:
11591         * docs/gst/tmpl/gstpluginfeature.sgml:
11592         * docs/gst/tmpl/gstqueue.sgml:
11593         * docs/gst/tmpl/gstreamer-unused.sgml:
11594         * docs/gst/tmpl/gstregistry.sgml:
11595         * docs/gst/tmpl/gstregistrypool.sgml:
11596         * docs/gst/tmpl/gstscheduler.sgml:
11597         * docs/gst/tmpl/gstsearchfuncs.sgml:
11598         * docs/gst/tmpl/gstshaper.sgml:
11599         * docs/gst/tmpl/gstspider.sgml:
11600         * docs/gst/tmpl/gstspideridentity.sgml:
11601         * docs/gst/tmpl/gststructure.sgml:
11602         * docs/gst/tmpl/gstsystemclock.sgml:
11603         * docs/gst/tmpl/gsttag.sgml:
11604         * docs/gst/tmpl/gsttaginterface.sgml:
11605         * docs/gst/tmpl/gsttee.sgml:
11606         * docs/gst/tmpl/gstthread.sgml:
11607         * docs/gst/tmpl/gsttrace.sgml:
11608         * docs/gst/tmpl/gsttrashstack.sgml:
11609         * docs/gst/tmpl/gsttypefind.sgml:
11610         * docs/gst/tmpl/gsttypes.sgml:
11611         * docs/gst/tmpl/gsturi.sgml:
11612         * docs/gst/tmpl/gsturitype.sgml:
11613         * docs/gst/tmpl/gstutils.sgml:
11614         * docs/gst/tmpl/gstvalue.sgml:
11615         * docs/gst/tmpl/gstversion.sgml:
11616         * docs/gst/tmpl/gstxml.sgml:
11617         * docs/gst/tmpl/gstxmlregistry.sgml:
11618         * docs/gst/tmpl/gthread-cothreads.sgml:
11619         * docs/gst/tmpl/types.sgml:
11620
11621 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11622
11623         * docs/pwg/other-sink.xml:
11624         * docs/pwg/other-source.xml:
11625           Documentation on how to write source and sink elements. Other
11626           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11627           manager, autoplugger) are all still pending.
11628
11629 2004-03-25  Benjamin Otte  <otte@gnome.org>
11630
11631         * testsuite/elements/Makefile.am:
11632         * testsuite/elements/gst-compprep-check:
11633           add check to make sure gst-compprep works
11634         * testsuite/elements/gst-inspect-check.in:
11635           improve initialization output
11636         * testsuite/Makefile.am:
11637         * testsuite/gst-inspect-check:
11638           remove old file
11639
11640 2004-03-24  David Schleef  <ds@schleef.org>
11641
11642         * testsuite/elements/Makefile.am:
11643         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11644         to the testsuite.
11645
11646 2004-03-24  Benjamin Otte  <otte@gnome.org>
11647
11648         * libs/gst/control/dparam.c: (gst_dparam_attach),
11649         (gst_dparam_detach):
11650         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11651           fix lvalue casts for real
11652
11653 2004-03-24  Benjamin Otte  <otte@gnome.org>
11654
11655         * gst/schedulers/gstbasicscheduler.c:
11656         (gst_basic_scheduler_src_wrapper):
11657         * gst/schedulers/gstoptimalscheduler.c:
11658         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11659         (pad_clear_queued), (gst_opt_scheduler_add_element),
11660         (gst_opt_scheduler_remove_element):
11661           fix GStreamer to not have issues with lvalue casts anymore (fixes
11662           #136841)
11663
11664 2004-03-24  Benjamin Otte  <otte@gnome.org>
11665
11666         * gst/gstelement.c:
11667           add documentation about a gobject quirk where the object hasn't the
11668           correct class pointer set on initialization
11669         * gst/schedulers/gstbasicscheduler.c:
11670         (gst_basic_scheduler_src_wrapper):
11671           make sure to not run into an infinite loop
11672
11673 2004-03-22  Benjamin Otte  <otte@gnome.org>
11674
11675         * gst/gstutils.c: (gst_util_dump_mem):
11676         * gst/gstutils.h:
11677           first argument of gst_util_dump_mem should be const
11678
11679 2004-03-22  Johan Dahlin  <johan@gnome.org>
11680
11681         * gst/gstvalue.h: Clean up a little bit.
11682
11683 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11684
11685         reviewed by Benjamin Otte  <otte@gnome.org>
11686
11687         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11688         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11689         (gst_aggregator_class_init), (gst_aggregator_init):
11690         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11691         (gst_filesrc_dispose), (gst_filesrc_set_location):
11692         * gst/elements/gstidentity.c: (gst_identity_finalize),
11693         (gst_identity_class_init), (gst_identity_chain):
11694         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11695         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11696         (gst_statistics_class_init):
11697         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11698         (gst_tee_get_property):
11699           clean up used memory in this elements correctly on teardown (closes
11700           #137279)
11701
11702 2004-03-20  Colin Walters  <walters@redhat.com>
11703
11704         * gst/registries/gstxmlregistry.c:
11705         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11706         registry saving atomic.
11707
11708 2004-03-20  Colin Walters  <walters@redhat.com>
11709
11710         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11711         Just use
11712         access() instead of actually creating and deleting files.
11713
11714 2004-03-18  David Schleef  <ds@schleef.org>
11715
11716         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11717         (bug #137625)
11718
11719 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11720
11721         * po/sv.po: updated translation (Christian Rose)
11722
11723 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11724
11725         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11726         (gst_filesink_get_query_types), (_do_init),
11727         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11728           return FALSE silently
11729         * po/af.po: updated translation (Petri Jooste)
11730
11731 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11732
11733         * Makefile.am:
11734         * configure.ac:
11735           dist common properly
11736         * po/af.po:
11737         * po/fr.po:
11738         * po/nl.po:
11739         * po/sr.po:
11740         * po/sv.po:
11741           refreshing translations
11742
11743 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11744
11745         * po/LINGUAS:
11746         * po/sv.po:
11747         * po/af.po:
11748           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11749
11750 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11751
11752         * Makefile.am: use common/release.mak
11753
11754 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11755
11756         * docs/faq/gst-uninstalled:
11757           adding gst-monkeysaudio to the list of possible plugin dirs
11758
11759 2004-03-16  David Schleef  <ds@schleef.org>
11760
11761         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11762         (gst_init_check_with_popt_table):  Fix some gettext strings to
11763         make them easier to translate.  Required making the strings
11764         non-const.
11765
11766 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11767
11768         * configure.ac: bump nano to 1
11769
11770 === release 0.8.0 ===
11771
11772 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11773
11774         * configure.ac: release 0.8.0, "Executive Slacks"
11775
11776 2004-03-16  Johan Dahlin  <johan@gnome.org>
11777
11778         * gst/schedulers/gstoptimalscheduler.c
11779         (gst_opt_scheduler_pad_unlink): Remove double ;,
11780         spotted by Scott Wheeler
11781
11782 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * configure.ac: bump libtool version
11785
11786 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * gst/gstcaps.h:
11789         * gst/gststructure.h:
11790           add reserved padding
11791
11792 2004-03-15  Benjamin Otte  <otte@gnome.org>
11793
11794         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11795           set the first parameter for select call correctly.
11796           (fixes #137230)
11797
11798 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11799
11800         * *.c,*.h: don't mix tabs and spaces
11801
11802 2004-03-15  Johan Dahlin  <johan@gnome.org>
11803
11804         * gst/schedulers/gstoptimalscheduler.c
11805         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11806         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11807
11808         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11809         
11810 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11811
11812         * testsuite/Rules:
11813           fix gst-register rules
11814
11815 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * testsuite/Rules:
11818           use versioned gst-register
11819
11820 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11821
11822         * docs/libs/gstreamer-libs-sections.txt:
11823           remove </SUBSECTION>
11824         * gst/gstplugin.c:
11825         * gst/gstregistry.c: (gst_registry_add_plugin):
11826         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11827         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11828           add debugging and fix some comment blocks
11829
11830 2004-03-15  Johan Dahlin  <johan@gnome.org>
11831
11832         * *.h: Revert indent changes.
11833         
11834 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11835
11836         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11837           g_error_free the g_error
11838         * tools/gst-feedback-m.m:
11839           check for other versions of gstreamer
11840         * tools/gst-indent:
11841           use sh, not bash
11842
11843 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11844
11845         * tools/gst-register.c: do not spill paths when registries are not
11846           writable, until we fix the "user running gst-register" case.
11847
11848 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11849
11850         * *.c, *.h: commit of gst-indent run on core
11851
11852 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11853
11854         * tools/gst-indent:
11855         * tools/Makefile.am:
11856           add our indentation style as a script
11857
11858 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11859
11860         * po/sr.po:
11861         * po/LINGUAS:
11862           added Serbian translation
11863
11864 2004-03-13  Benjamin Otte  <otte@gnome.org>
11865
11866         * gst/gstelement.c:
11867           add documentation note about gst_element_found_tags_for_pad not
11868           being usable in getfunctions. (see #137042)
11869
11870 2004-03-12  David Schleef  <ds@schleef.org>
11871
11872         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11873         change API right now!  Readd gst_caps_is_simple() macro.
11874         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11875         uninitialized variable.  I'd bet this caused crashes.
11876         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11877
11878 2004-03-12  Johan Dahlin  <johan@gnome.org>
11879
11880         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11881         * gst/gstcaps.h: Clean up
11882
11883         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11884         _gst_caps_initalize()
11885
11886         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11887         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11888
11889         * gst/gststructure.c (gst_structure_get_type): Ditto
11890
11891         * gst/gststructure.h: Ditto
11892         
11893 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11894
11895         * gst/gstqueue.c: (gst_queue_init):
11896           Reset default max. values in queues. Reason is simply to avoid
11897           braindead use. If you want wider values, use the properties. The
11898           default is supposed to always work. Wider values would make this
11899           beast a memory hog by default (250 full-PAL RGB32 video frames?
11900           That's 440 MB! No thank you).
11901
11902 2004-03-10  David Schleef  <ds@schleef.org>
11903
11904         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11905         were found.  (bug #136793)
11906
11907 2004-03-10  Johan Dahlin  <johan@gnome.org>
11908
11909         * gst/schedulers/gstoptimalscheduler.c
11910         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11911         links to elements within the same group, so we can finally remove
11912         that annoying warning. Refactor the code a little bit
11913         (group_dec_links_for_element): Split out
11914
11915 2004-03-09  David Schleef  <ds@schleef.org>
11916
11917         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11918         (bug #134863)
11919
11920 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11921
11922         * configure.ac: first bug fix due to major/minor bump
11923
11924 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11925
11926         * configure.ac: bump nano to 1
11927
11928 === release 0.7.6 ===
11929
11930 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11931
11932         * NEWS:
11933         * RELEASE:
11934         * configure.ac:
11935           releasing 0.7.6, "Almost"
11936         * po/fr.po:
11937         * po/nl.po:
11938         * tools/Makefile.am:
11939         * tools/gst-feedback-m.m:
11940           unversioned source
11941
11942 2004-03-09  Johan Dahlin  <johan@gnome.org>
11943
11944         Reviewed by: Thomas Vander Stichele
11945
11946         * gst/gstelement.c (gst_element_class_init): register second
11947         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11948         language bindings can (de)marshall correctly.
11949
11950         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11951
11952         * gst/gsterror.c (gst_g_error_get_type): New function
11953
11954         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11955         with VOID:OBJECT,OBJECT,STRING 
11956
11957 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11958
11959         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11960         Free a leaked g_timer on early returns.
11961
11962 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11963
11964         * docs/pwg/advanced-types.xml:
11965           Add cinepak description.
11966
11967 2004-03-07  David Schleef  <ds@schleef.org>
11968
11969         * docs/random/mimetypes:  Added cinepak description
11970
11971 2004-03-07  Andy Wingo  <wingo@pobox.com>
11972
11973         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11974
11975         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11976         there are no links to other groups when a group is destroyed.
11977         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11978         removed from a group, make sure the link count to elements linked
11979         to other pads is appropriately decremented. This really fixes
11980         #135672.
11981
11982         The 1.60->1.61 patch has been reapplied in light of this fix.
11983
11984         * gst/gstelement.c (gst_element_dispose): Really protect against
11985         multiple invocations this time.
11986
11987 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11988
11989         * docs/gst/gstreamer-sections.txt:
11990         * docs/gst/tmpl/gsttag.sgml:
11991           remove some deprecated functions, document some existing ones
11992         * gst/gsttag.c: (gst_tag_get_flag):
11993         * gst/gsttag.h:
11994           add accessor function
11995
11996 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11997
11998         * docs/gst/gstreamer-sections.txt:
11999         * docs/gst/tmpl/gsttag.sgml:
12000         * docs/gst/tmpl/gstxml.sgml:
12001         * gst/gsttag.c: (gst_tag_get_flag):
12002         * gst/gsttag.h:
12003
12004 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12005
12006         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12007         leak
12008
12009 2004-03-05  David Schleef  <ds@schleef.org>
12010
12011         * REQUIREMENTS: Add bison and flex.
12012         * configure.ac: Fix comment about bison.
12013         * docs/random/ds/0.9-suggested-changes: yer ma
12014         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12015
12016 2004-03-05  Benjamin Otte  <otte@gnome.org>
12017
12018         * gst/gstelement.c: (gst_element_error_full):
12019           revert recent recursive state changing commit - messing with other
12020           elements' states is evil and should be done by apps only.
12021
12022 2004-03-05  Benjamin Otte  <otte@gnome.org>
12023
12024         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12025           check for empty intersection instead of NULL caps
12026         (gst_element_get_compatible_pad_filtered):
12027           remove old workaround that is only a bug nowadays
12028
12029 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12030
12031         * gst/gstelement.c: (gst_element_error_full):
12032           make elements try to recursively change state to PAUSED on all
12033           parents after an error to suppress ensuing warnings
12034         * gst/parse/grammar.y:
12035           make it check if it was able to sync the state, and throw an error
12036           if not, so stuff like
12037           oggdemux ! vorbisdec ! osssink gets caught
12038
12039 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12042           it contains lib64; use AS_AC_EXPAND to handle it properly
12043
12044 2004-03-05  David Schleef  <ds@schleef.org>
12045
12046         * gst/gstcpuid_i386.s:  Remove unused code
12047         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12048         (gst_getbits_newbuf): Remove MMX code
12049         * libs/gst/getbits/getbits.h: Remove MMX code
12050
12051 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12052
12053         * debian/.cvsignore:
12054         * debian/README.Debian:
12055         * debian/changelog:
12056         * debian/control:
12057         * debian/control.in:
12058         * debian/copyright:
12059         * debian/gstreamer-core-libs-dev.files:
12060         * debian/gstreamer-core-libs.files:
12061         * debian/gstreamer-core.files:
12062         * debian/gstreamer-core.postinst:
12063         * debian/gstreamer-core.postrm:
12064         * debian/gstreamer-doc.files:
12065         * debian/gstreamer-doc.links:
12066         * debian/gstreamer-doc.lintian:
12067         * debian/gstreamer-runtime.files:
12068         * debian/gstreamer-runtime.manpages:
12069         * debian/gstreamer-runtime.postinst:
12070         * debian/gstreamer-runtime.postrm:
12071         * debian/gstreamer-tools.files:
12072         * debian/gstreamer-tools.manpages:
12073         * debian/libgstreamer-dev.files:
12074         * debian/libgstreamer0.4.1.files:
12075         * debian/libgstreamerVERSION.files:
12076         * debian/rules:
12077         Debian package info not maintained here.
12078
12079 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12080
12081         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12082         * gst/gstbin.c: (gst_bin_class_init):
12083         * gst/gstelement.c: (gst_element_class_init):
12084         * gst/gstindex.c: (gst_index_class_init):
12085         * gst/gstobject.c: (gst_object_class_init),
12086         (gst_signal_object_class_init):
12087         * gst/gstpad.c: (gst_pad_template_class_init):
12088         * gst/gstregistry.c: (gst_registry_class_init):
12089         * gst/gsturi.c: (gst_uri_handler_base_init):
12090         * gst/gstxml.c: (gst_xml_class_init):
12091         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12092         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12093           make all signal names use dashes instead of underscore
12094
12095 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12096
12097         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12098
12099 2004-03-03  Benjamin Otte  <otte@gnome.org>
12100
12101         * gst/schedulers/gstoptimalscheduler.c:
12102           revert last commit by Andy Wingo. It causes segfaults on unreffing
12103           in Rhythmbox. (see bug #135672)
12104
12105 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12106
12107         * po/fr.po: fix typo
12108
12109 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12110
12111         * tools/gst-inspect.c: (main): 
12112         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12113
12114 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12115
12116         * configure.ac:
12117           get GLIB_ONLY and POPT flags for the nonversioned binaries
12118         * tools/Makefile.am:
12119           use them
12120
12121 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12122
12123         * gst/gst.c: (init_post):
12124           change so that GST_REGISTRY now is where the global registry gets
12125           saved, since that is where plugins now get attached to first, and
12126           spilled over to the user registry.  Note that in the case of using
12127           GST_REGISTRY env var, we don't want to affect any real registries
12128           beyond the one given by this var, and thus we don't set a user
12129           registry to spill to.  So make sure GST_REGISTRY is writable.
12130
12131 2004-03-01  David Schleef  <ds@schleef.org>
12132
12133         * AUTHORS:  Added some names.  Add yourself if you're missing.
12134
12135 2004-03-01  David Schleef  <ds@schleef.org>
12136
12137         * MAINTAINERS: Add
12138
12139 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12140
12141         * configure.ac:
12142           remove whitespace
12143         * docs/gst/tmpl/gstbuffer.sgml:
12144         * docs/gst/tmpl/gstdata.sgml:
12145         * docs/gst/tmpl/gstreamer-unused.sgml:
12146         * docs/gst/tmpl/gstxml.sgml:
12147           doc update
12148         * docs/manuals.mak:
12149           add a FIXME
12150         * docs/pwg/intro-preface.xml:
12151         * docs/pwg/pwg.xml:
12152           remove GNOME
12153         * gst/gst.c: (init_post):
12154           try GST_PLUGIN_PATH paths for the _global_registry first
12155         * gst/gstelement.h:
12156           add the error message as well, otherwise (null) debug info doesn't
12157           make much sense
12158         * tools/gst-register.c: (main):
12159           spill paths to next registry if this registry is not writable
12160         * po/fr.po:
12161         * po/nl.po:
12162           translation updates
12163
12164 2004-03-01  Johan Dahlin  <johan@gnome.org>
12165
12166         * gst/gstbuffer.c (_gst_buffer_initialize): 
12167         * gst/gstdata.c (gst_data_get_type): 
12168         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12169         instead of ref, since some applications that uses GBoxed
12170         routines depends on a function that actually returns a copy.
12171
12172 2004-02-27  Benjamin Otte  <otte@gnome.org>
12173
12174         * gst/gstbuffer.h:
12175           remove gst_buffer_free, use gst_data_unref
12176         * gst/gstdata.c: (gst_data_get_type):
12177           use refcounting in GstData GBoxed registration
12178         * gst/gstdata.h:
12179           remove gst_data_free, use gst_data_unref
12180
12181 2004-02-27  Johan Dahlin  <johan@gnome.org>
12182
12183         * gst/gstdata.c (gst_data_get_type): New function, register
12184         GstData as a GBoxed type.
12185
12186         * gst/gstdata.h (GST_TYPE_DATA): New macro
12187
12188 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12189
12190         * Makefile.am:
12191         * gstreamer.spec.in:
12192           put back RELEASE
12193         * gst/Makefile.am:
12194           clean up non-disting of built files
12195         * testsuite/debug/commandline.c:
12196           test fix for option rename
12197
12198 2004-02-26  David Schleef  <ds@schleef.org>
12199
12200         * configure.ac:  We don't really need glib-2.3.  Also remove
12201         some unneeded checks for library functions.
12202         * gst/Makefile.am:  Instead, we need to not dist files created
12203         by glib-genmarshal.
12204
12205 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12206
12207         * configure.ac:
12208           bump glib required version to 2.3.0 for g_value_takes_boxed
12209
12210  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12211
12212         * common/m4/gst-docs.m4
12213         change flavour text from enable to disable as enable is our default
12214         closes bug Bug 135304
12215
12216 === release 0.7.5 ===
12217  
12218  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12219  
12220         * NEWS:
12221           instate NEWS file
12222         * Makefile.am:
12223         * gstreamer.spec.in:
12224         * RELEASE:
12225           put back release
12226         * configure.ac:
12227         * docs/random/release:
12228           more updates
12229
12230 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12231
12232         * gst/gsttag.c: (_gst_tag_initialize):
12233         * po/fr.po:
12234         * po/nl.po:
12235           remove hyphen from codec tags
12236
12237 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12238
12239         * gst/parse/Makefile.am:
12240           fix dependency so that a make from a clean build works the first
12241           time
12242
12243 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12244
12245         * docs/random/release:
12246           update release strategy
12247         * po/fr.po:
12248           auto-update po file
12249         * po/nl.po:
12250           update dutch translation
12251
12252 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12253
12254         * docs/manual/debugging.xml:
12255         fix manual for new debugging system
12256
12257 2004-02-25  Andy Wingo  <wingo@pobox.com>
12258
12259         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12260         gst_pad_link_prepare. Please email the list with specific reasons
12261         for reverting.
12262
12263 2004-02-24  Andy Wingo  <wingo@pobox.com>
12264
12265         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12266         invocations.
12267
12268         * gst/schedulers/gstoptimalscheduler.c:
12269         I added a mess of prototypes at the top of the file by way of
12270         documentation. Some of the operations on chains and groups were
12271         re-organized.
12272
12273         (create_group): Added a type argument so if the group is enabled,
12274         the setup_group_scheduler knows what to do.
12275         (group_elements): Added a type argument here, too, to be passed on
12276         to create_group.
12277         (group_element_set_enabled): If an unlinked PLAYING element is
12278         added to a bin, we have to create a new group to hold the element,
12279         and this function will be called before the group is added to the
12280         chain. Thus we have a valid case for group->chain==NULL. Instead
12281         of calling chain_group_set_enabled, just set the flag on the group
12282         (the chain's status will be set when the group is added to it).
12283         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12284         Setup the group scheduler when the group is enabled, not
12285         specifically when an element goes PAUSED->PLAYING. This means
12286         PLAYING elements can be added, linked, and scheduled into a
12287         PLAYING pipeline, as was intended.
12288         (add_to_group): Don't ref the group twice. I don't know when this
12289         double-ref got in here. Removing it has the potential to cause
12290         segfaults if other parts of the scheduler are buggy. If you find
12291         that the scheduler is segfaulting for you, put in an extra ref
12292         here and see if that hacks over the underlying issue. Of course,
12293         then find out what code is unreffing a group it doesn't own...
12294         (create_group): Make the extra refcount floating, and remove it
12295         after adding the element. This means that...
12296         (unref_group): Destroy when the refcount reaches 0, not 1, like
12297         every other refcounted object in the known universe.
12298         (remove_from_group): When a group becomes empty, set it to be not
12299         active, and remove it from its chain. Don't unref it again,
12300         there's no floating reference any more.
12301         (destroy_group): We have to remove the group from the chain in
12302         remove_from_group (rather than here) to break refcounting cycles
12303         (the chain always has a ref on the group). So assert that
12304         group->chain==NULL.
12305         (ref_group_by_count): Removed, it was commented out anyway.
12306         (merge_chains): Use the remove_from_chain and add_to_chain
12307         primitives to do the reparenting, instead of rolling our own
12308         implementation.
12309         (add_to_chain): The first non-disabled group in the chain's group
12310         list will be the entry point for the chain. Because buffers can
12311         accumulate in loop elements' peer bufpens, we preferentially
12312         schedule loop groups before get groups to avoid unnecessary
12313         execution of get-based groups when the bufpens are already full.
12314         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12315         (get_group_schedule_function): Ditto.
12316         (loop_group_schedule_function): Ditto.
12317         (gst_opt_scheduler_loop_wrapper): Ditto.
12318         (gst_opt_scheduler_iterate): Ditto.
12319
12320         I understand the opt scheduler now, yippee!
12321
12322         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12323         (gst_pad_get_name, gst_pad_set_chain_function) 
12324         (gst_pad_set_get_function, gst_pad_set_event_function) 
12325         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12326         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12327         (gst_pad_set_query_function, gst_pad_get_query_types) 
12328         (gst_pad_get_query_types_default) 
12329         (gst_pad_set_internal_link_function) 
12330         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12331         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12332         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12333         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12334         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12335         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12336         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12337         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12338         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12339         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12340         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12341         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12342         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12343         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12344         argument checks, and some doc fixes.
12345
12346         (gst_pad_custom_new_from_template): Um, does anyone
12347         use these functions? Actually make a custom pad instead of a
12348         normal one.
12349         (gst_pad_try_set_caps): Transpose some checks.
12350         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12351         the pad is in negotiation.
12352         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12353         
12354         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12355
12356         * gst/gstelement.h: 
12357         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12358         on the list.
12359
12360 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12361
12362         * gst/gstbin.c: (gst_bin_add):
12363           add error for not being able to add elements
12364
12365 2004-02-22  Julien MOUTTE <julien@moutte.net>
12366
12367         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12368         audio-codec and video-codec.
12369
12370 2004-02-22  Benjamin Otte  <otte@gnome.org>
12371
12372         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12373
12374         * autogen.sh:
12375           replace test -e with test -x for mkinstalldirs to be more portable.
12376           (fixes #134816)
12377
12378 2004-02-22  Benjamin Otte  <otte@gnome.org>
12379
12380         * gst/gstpad.c:
12381           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12382           too noisy
12383         * gst/gsttag.c: (_gst_tag_initialize):
12384         * gst/gsttag.h:
12385           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12386         * libs/gst/control/dparam.c: (gst_dparam_attach):
12387         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12388           check that types for attached dparams match
12389
12390 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12391
12392         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12393         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12394         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12395           fix errors
12396
12397 2004-02-20  Andy Wingo  <wingo@pobox.com>
12398
12399         * gst/gstbin.c:
12400         * gst/gstbuffer.c:
12401         * gst/gstplugin.c:
12402         * gst/registries/gstxmlregistry.c: 
12403         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12404
12405         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12406         (gst_element_add_pad): DEBUG->INFO, some fixes.
12407         (gst_element_get_compatible_pad_template): Just see if the
12408         templates' caps intersect, not if one is a strict subset of the
12409         other. This conforms more to what gst_pad_link_intersect() does.
12410         (gst_element_class_add_pad_template): Don't memcpy the pad
12411         template, just ref it.
12412         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12413
12414         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12415         (gst_pad_link_filtered): Debug changes.
12416         (gst_pad_link_prepare): New function, consolidated from
12417         can_link_filtered and link_filtered.
12418
12419         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12420         look more like that of the functions in gstelement.c
12421
12422         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12423         object, and return the empty string if object is NULL.
12424
12425         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12426         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12427         LOG, not DEBUG. We still get flex info on debug.
12428
12429         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12430         debug string more verbose.
12431         (plugin_times_older_than): DEBUG->LOG.
12432
12433 2004-02-20  Julien MOUTTE <julien@moutte.net>
12434
12435         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12436         will emit found_tag for each stream they demux with the codec.
12437
12438 2004-02-20  Benjamin Otte  <otte@gnome.org>
12439
12440         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12441           copy navigation event correctly. Check freeing tag lists. 
12442         * gst/gstthread.c: (gst_thread_change_state):
12443           don't abort() on state changing mess - it might happen because of
12444           bugs.
12445         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12446           use boxed functions
12447         * gst/gstvalue.h:
12448           fix GST_VALUE_HOLDS_CAPS
12449
12450 2004-02-19  David Schleef  <ds@schleef.org>
12451
12452         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12453         and use it for GST_FUNCTION.  (bug #134750)
12454
12455 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12456
12457         * po/fr.po:
12458         * po/nl.po:
12459           updating translations
12460
12461 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12464
12465 2004-02-18  kost@imn.htwk-leipzig.de
12466
12467         reviewed by: David Schleef  <ds@schleef.org>
12468
12469         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12470         for libgstcontrol.
12471
12472 2004-02-18  David Schleef  <ds@schleef.org>
12473
12474         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12475         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12476         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12477         * tools/gst-inspect.c: (print_element_info): Support dumping of
12478         double dparam information.
12479
12480 2004-02-17  David Schleef  <ds@schleef.org>
12481
12482         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12483         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12484         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12485         Use GST_TYPE_CAPS in signal prototype.
12486         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12487         Convert GST_TYPE_CAPS to boxed.
12488         * gst/gstelement.c: (gst_element_class_init):
12489         Use GST_TYPE_TAG_LIST in signal prototype.
12490         * gst/gstindex.c: (gst_index_class_init):
12491         * gst/gstindex.h:
12492         Add GST_TYPE_INDEX_ENTRY type.
12493         * gst/gstmarshal.list:
12494         Add necessary marshal types.
12495         * gst/gstpad.c: (gst_real_pad_class_init),
12496         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12497         (gst_pad_recover_caps_error):
12498         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12499         * gst/gststructure.c: (_gst_structure_initialize),
12500         (gst_structure_copy), (_gst_structure_copy_conditional):
12501         * gst/gststructure.h:
12502         Convert GST_TYPE_STRUCTURE to boxed.
12503         * gst/gsttag.c: (gst_tag_list_get_type):
12504         * gst/gsttag.h:
12505         Add GST_TYPE_TAG_LIST type.
12506
12507 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12508
12509         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12510         to what we agreed with david.
12511         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12512
12513 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12514
12515         * po/nl.po: update translation
12516
12517 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12520           throw an error if spider is trying to play a mime type there is
12521           no decoder for
12522         * po/POTFILES.in:
12523           add gst/autoplug/gstspider.c for translation
12524
12525 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12526
12527         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12528         silently when the pad is negotiating.
12529
12530 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12531
12532         * docs/faq/Makefile.am:
12533           add script to run gstreamer uninstalled 
12534         * docs/faq/faq.xml:
12535         * docs/faq/developing.xml:
12536         * docs/faq/gst-uninstalled:
12537           extract script to run gstreamer uninstalled
12538         * docs/manuals.mak:
12539           add EXTRA_SOURCES variable for Makefile.am's to set to
12540           use additional SOURCE files for the doc build
12541
12542 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12543
12544         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12545
12546 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12547
12548         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12549         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12550         an error was thrown by osssink. Basically a state change failure for
12551         an element in a different scheduling group was considered as
12552         successful, which means that caps nego was going on and weird stuff
12553         happened. Like I wrote in the comment there, if someone wants to
12554         revert that please drop me a mail explaining why because I really see
12555         no point in keeping that broken behaviour there.
12556         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12557         be empty, we then return NULL which will trigger a nice error when 
12558         pulling from the pad.
12559
12560 2004-02-13  David Schleef  <ds@schleef.org>
12561
12562         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12563         (gst_dparam_get_property), (gst_dparam_set_property),
12564         (gst_dparam_do_update_default):
12565         * libs/gst/control/dparam.h:
12566         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12567         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12568         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12569         (gst_dpsmooth_do_update_double):
12570         * libs/gst/control/dparam_smooth.h:
12571         * libs/gst/control/dparammanager.c:
12572         (gst_dpman_inline_direct_update):
12573         Add support for double dparams.
12574
12575 2004-02-13  David Schleef  <ds@schleef.org>
12576
12577         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12578         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12579
12580 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12581
12582         reviewed by: David Schleef  <ds@schleef.org>
12583
12584         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12585         (gst_fdsrc_init), (gst_fdsrc_set_property),
12586         (gst_fdsrc_get_property), (gst_fdsrc_get):
12587         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12588         and sends an EOS event if file descriptor reading times out.
12589
12590 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12591
12592         * configure.ac:
12593           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12594
12595 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12596
12597         * configure.ac: pass required libxml version as argument
12598         (bug reported by Christophe Fergeau)
12599
12600 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12601   
12602         * docs/gst/gstreamer-docs.sgml:
12603         * docs/gst/tmpl/gstxml.sgml:
12604         * docs/libs/gstreamer-libs-docs.sgml:
12605           version API docs
12606
12607 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12608
12609         * gst/gstinfo.c:
12610         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12611         (gst_registry_pool_feature_filter):
12612         * gst/gstthread.c: (gst_thread_class_init):
12613         * gst/gstvalue.c:
12614           add includes exposed by building without libxml
12615         * gst/indexers/Makefile.am:
12616           do not build fileindex when LOADSAVE disabled; we should have
12617           a better libxml check later since fileindex depends on xml, not
12618           LOADSAVE or REGISTRY
12619         * libs/gst/control/Makefile.am:
12620           link with m
12621         * tools/Makefile.am:
12622           fix wrong source code for gst-xmlinspect
12623
12624 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12625
12626         * configure.ac:
12627           fix gcov help output
12628           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12629         * docs/random/release:
12630           some updated releasing notes
12631         * gstreamer.spec.in:
12632           more updates
12633
12634 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * docs/faq/faq.xml:
12637         * docs/manual/manual.xml:
12638         * docs/pwg/pwg.xml:
12639         * docs/pwg/titlepage.xml:
12640           put version in documentation
12641
12642 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12643
12644         * tools/Makefile.am: fix man page installation
12645
12646 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12647
12648         * configure.ac:
12649           don't check for libxml when load/save and registry disabled (#105844)
12650         * gstreamer.spec.in:
12651           sync with fedora candidate spec
12652
12653 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12654
12655         * po/fr.po:
12656         * po/nl.po:
12657           replace multidisksrc with multifilesrc
12658
12659 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12660
12661         * po/POTFILES.in:
12662           update to multidisksrc => multifilesrc file renaming (#134145)
12663
12664 2004-02-11  David Schleef  <ds@schleef.org>
12665
12666         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12667         * docs/gst/tmpl/gstpadtemplate.sgml: same
12668         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12669         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12670         fixing dance.
12671         * gst/gstutils.c: Remove disabled code that uses GstProps.
12672         * gst/registries/gstxmlregistry.h: same
12673         * docs/random/ds/0.9-suggested-changes: random notes
12674
12675 2004-02-11  kost@imn.htwk-leipzig.de
12676
12677         reviewed by: David Schleef  <ds@schleef.org>
12678
12679         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12680         initialisation of clock (bug #134128)
12681
12682 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12683
12684         * configure.ac:
12685         * gst/elements/Makefile.am:
12686         * gst/elements/gstelements.c:
12687         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12688         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12689         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12690         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12691         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12692         * gst/elements/gstmultifilesrc.h:
12693           rename multidisksrc to multifilesrc (part of #122200)
12694
12695 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12696
12697         * docs/manuals.mak:
12698           fix automake complaints
12699         * gst-element-check.m4:
12700           fix unquotedness
12701
12702 2004-02-11  David Schleef  <ds@schleef.org>
12703
12704         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12705         * gst/gstatomic_impl.h: Disable sparc implementation.
12706
12707 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12708
12709         * gst-element-check.m4:
12710           fix underquoted macros as reported by automake 1.8.x (#133800)
12711         * configure.ac:
12712           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12713           by autopoint (fixes #132996)
12714
12715 2004-02-10  Andy Wingo  <wingo@pobox.com>
12716
12717         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12718         way to do inheritance.
12719         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12720         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12721         Routine docs.
12722         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12723         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12724         doc.
12725         (gst_pad_unlink, gst_pad_is_linked): Docs.
12726         (gst_pad_renegotiate): A brief description of capsnego.
12727         (gst_pad_try_set_caps): Document.
12728         (gst_pad_try_set_caps_nonfixed): Document.
12729         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12730         (gst_pad_set_parent): Deprecated (although not out of the API).
12731         (gst_pad_get_parent): Deprecated, although many plugins use this.
12732         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12733         are private and will go away in 0.9.
12734         (gst_pad_perform_negotiate): Doc.
12735         (gst_pad_link_unnegotiate): I think this is meant to be static.
12736         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12737         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12738         (gst_pad_get_peer): Doc updates.
12739         (gst_pad_caps_change_notify): Doc.
12740         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12741         (gst_ghost_pad_new): Doc fixes.
12742
12743         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12744         (gst_object_check_uniqueness): 
12745
12746         * gst/gstelement.c (gst_element_add_pad) 
12747         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12748         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12749         (gst_element_get_static_pad, gst_element_get_pad_list) 
12750         (gst_element_class_get_pad_template_list) 
12751         (gst_element_class_get_pad_template): Work on the docs.
12752         (gst_element_get_pad_template_list): Uses the class method.
12753         (gst_element_get_compatible_pad_template): Docs, and consolidate
12754         some test conditions. 
12755         (gst_element_get_pad_from_template): New static function.
12756         (gst_element_request_compatible_pad): Docs, and work with
12757         non-request compatible templates. 
12758         (gst_element_get_compatible_pad_filtered): Docs and remove
12759         redundant checks.
12760         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12761         (gst_element_link_filtered, gst_element_link_many) 
12762         (gst_element_link, gst_element_link_pads) 
12763         (gst_element_unlink_many): Docs.
12764
12765 2004-02-05  Andy Wingo  <wingo@pobox.com>
12766
12767         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12768         s/pointer/boxed/.
12769
12770         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12771
12772         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12773         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12774         with the type=GST_TYPE_CAPS. This allows language bindings to know
12775         what kind of data they're dealing with.
12776
12777         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12778         to NULL when g_value_init is called. GstCaps, which rolls its own
12779         type implementation, now does the same instead of allocating empty
12780         caps.
12781         (_gst_caps_initialize, _gst_caps_collect_value,
12782         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12783         table methods. This allows G_VALUE_COLLECT to work.
12784
12785 2004-02-05  Andy Wingo  <wingo@pobox.com>
12786
12787         * configure.ac:
12788         * testsuite/Makefile.am (SUBDIRS): 
12789         * testsuite/ghostpads/Makefile.am: 
12790         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12791
12792         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12793         These two routines are the only ones that set
12794         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12795         pad template. They should be made static, depending on ABI needs.
12796         (gst_real_pad_dispose): Handle the case of ghost pads without a
12797         parent. Assert after dealing with ghost pads that the ghost pad
12798         list is empty.
12799         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12800         set after creation.
12801         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12802         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12803         functions. set_property will call add_ghost_pad/remove_ghost_pad
12804         as appropriate.
12805         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12806
12807         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12808         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12809         (gst_element_remove_pad): Handle ghost pads as well.
12810         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12811         depending on API-stability needs).
12812
12813 2004-02-05  Andy Wingo  <wingo@pobox.com>
12814
12815         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12816         of course they're const
12817
12818 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12819
12820         * tools/Makefile.am:
12821         * tools/gst-feedback:
12822         * tools/gst-feedback-0.7:
12823           make gst-feedback versioned too for consistency
12824
12825 2004-02-11  David Schleef  <ds@schleef.org>
12826
12827         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12828         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12829
12830 2004-02-10  Julien MOUTTE <julien@moutte.net>
12831
12832         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12833         the structure does not contain a valid tag list. Adding a safety check
12834         to remove a noisy warning in that case.
12835
12836 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12837
12838         * gst/gst.c: fix name to be in line with others
12839
12840 2004-02-09  Julien MOUTTE <julien@moutte.net>
12841
12842         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12843         not shout that loud when len is 0. Just return 0 silently.
12844
12845 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12846
12847         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12848         because data_unref has one and I prefer the debug to be symetric.
12849         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12850         were refed when added to the queue and unrefed only once when the queue
12851         was flushed. Now the flush handler unref the buffers two times : first
12852         unref for the ref added when pushing in the queue's tail and second
12853         unref to destroy the flushed buffer.
12854
12855 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12856
12857         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12858
12859 2004-02-06  David Schleef  <ds@schleef.org>
12860
12861         * docs/random/ds/0.9-suggested-changes: Random ramblings
12862         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12863         to int before printing.
12864         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12865         * gst/parse/parse.l: same.  See bug #129600
12866
12867 2004-02-06  David Schleef  <ds@schleef.org>
12868
12869         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12870         (gst_index_add_entry), (gst_index_add_associationv),
12871         (gst_index_add_association): Add gst_index_add_associationv()
12872         and clean up gst_index_add_association(). #127133
12873
12874 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12875
12876         * autogen.sh: check out common with right tag if CVS/Tag exists
12877
12878 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12879
12880         * testsuite/ghostpads/ghostpads.c: (main):
12881           fix testsuite from segfaulting
12882
12883 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12884
12885         * Makefile.am: add release target
12886         * configure.ac: bump nano to 1
12887         * docs/random/release:
12888
12889 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12890
12891         * gst/gstcaps.h:
12892         * gst/gstelement.c: (gst_element_base_class_init),
12893         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12894         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12895         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12896         (gst_real_pad_dispose):
12897         * gst/gststructure.c: (gst_structure_free),
12898         (gst_structure_from_string):
12899           put reverted patch back in
12900         * gst/gstelement.c: (gst_element_remove_pad):
12901           free explicit caps if they're set
12902         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12903           copy the structure when fixating
12904
12905 2004-02-05  David Schleef  <ds@schleef.org>
12906
12907         * gst/gstmarshal.list:
12908         * gst/gstpad.c: (gst_real_pad_class_init),
12909         (_gst_real_pad_fixate_accumulator):
12910         Revert POINTER->BOXED change in signal marshaller.
12911
12912 === release 0.7.4 ===
12913                                                                                 
12914 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12915                                                                                 
12916         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12917         * configure.ac: changed for release
12918
12919 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12920
12921         * gstreamer.spec.in:
12922           bump required version of gtk-doc
12923
12924 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12925
12926         * gst/gstcaps.h:
12927         * gst/gstelement.c: (gst_element_base_class_init),
12928         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12929         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12930         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12931         (gst_real_pad_dispose):
12932         * gst/gststructure.c: (gst_structure_free),
12933         (gst_structure_from_string):
12934           revert patch that breaks applications, reapply after release
12935           to get this fixed properly
12936
12937 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12938
12939         * gst/gsttag.c: (_gst_tag_initialize):
12940         * gst/gsttag.h:
12941           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12942
12943 2004-02-04  David Schleef  <ds@schleef.org>
12944
12945         Fix some memleaks:
12946         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12947         (gst_spider_plug_from_srcpad):
12948         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12949
12950 2004-02-04  David Schleef  <ds@schleef.org>
12951
12952         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12953         a GstRealPad before accessing its structure members.
12954
12955 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12956
12957         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12958         (gst_clock_get_speed):
12959         * gst/gstclock.h:
12960           reset padding, remove unused fields
12961
12962 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12963
12964         * gst/autoplug/gstspideridentity.c:
12965         (gst_spider_identity_sink_loop_type_finding):
12966           use get_allowed_caps, not get_caps (fixes #132519)
12967         * gst/elements/gsttypefind.c: (stop_typefinding):
12968           use correct order when sending buffers and seeking
12969
12970 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12971
12972         * configure.ac:
12973         * gst/gstelement.h:
12974         * gst/gstpad.h:
12975         * gst/gstqueue.h:
12976           upgrade libtool CURRENT, reset padding
12977
12978 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12979
12980         * configure.ac:
12981           bump to prerelease
12982           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12983
12984 2004-02-04  David Schleef  <ds@schleef.org>
12985
12986         * docs/random/ds/0.9-suggested-changes: random notes
12987         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12988         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12989         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12990         expansion.
12991         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12992         (gst_filesink_get_query_types): same
12993         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12994         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12995         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12996         to use new GST_PTR_FORMAT.
12997         * gst/gstelement.h: deprecate function factory macros
12998         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12999         These are our last variadic macros that can't be replaced with
13000         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13001         attempting to deprecate gst_element_clock_wait().
13002         * gst/gstevent.h: same
13003         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13004         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13005         * gst/gstpad.h: deprecate function factory macros similar to above.
13006
13007 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13008
13009         * configure.ac:
13010         * tools/Makefile.am:
13011         * tools/gst-run.c: (popt_callback), (hash_print_key),
13012         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13013         (get_candidates), (main):
13014           add new source file to generate non-versioned wrapper binaries
13015           for our tools.
13016
13017 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13018
13019         * gst/gstevent.c: (_gst_event_free):
13020           actually break; inside the switch statement
13021         * gst/parse/grammar.y:
13022           fix memleak where GValues weren't unset
13023
13024 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13025
13026         * gst/gststructure.c: (gst_structure_from_string):
13027           fix huge memleak
13028         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13029         (new_entry), (gst_type_find_element_chain):
13030         * gst/gstelement.c: (gst_element_base_class_init),
13031         (gst_element_class_set_details):
13032         * gst/gstpad.c: (gst_pad_can_link_filtered):
13033           fix smaller memleaks
13034         * gst/gstpad.c: (gst_real_pad_dispose):
13035           check that explicit caps are gone
13036         * gst/gststructure.c: (gst_structure_free):
13037           actually free the structure
13038         * gst/gstelement.c: (gst_element_clear_pad_caps):
13039           unset explicit caps
13040
13041 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13042
13043         * tools/Makefile.am:
13044           use AM_CFLAGS since all the CFLAGS are the same
13045           use AM_LDFAGS
13046
13047 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13048
13049         * docs/manual/gnome.xml:
13050           expand example a little
13051         * gst/gst.c: (gst_init_with_popt_table),
13052         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13053           make sure popt option displays are done with right textdomain
13054           use GstPoptOption type
13055         * gst/gst.h:
13056           create GstPoptOption type
13057
13058 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13059
13060         * gst/gsterror.c: (_gst_stream_errors_init):
13061         * gst/gsterror.h:
13062           adding error type for no codec
13063         * po/POTFILES.in:
13064           add gst-inspect
13065         * po/nl.po:
13066           update dutch translation
13067         * tools/gst-inspect.c: (print_element_list), (main):
13068           do proper internationalization
13069         * tools/gst-launch.c: (idle_func):
13070           remove commented out function call
13071
13072 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13073
13074         * docs/README:
13075           add some error fixing notes
13076         * docs/gst/gstreamer-sections.txt:
13077           remove double entries
13078         * docs/gst/tmpl/gstbin.sgml:
13079         * docs/gst/tmpl/gstclock.sgml:
13080           remove override
13081         * docs/gst/tmpl/gstelement.sgml:
13082         * docs/gst/tmpl/gstindex.sgml:
13083         * docs/gst/tmpl/gstobject.sgml:
13084         * docs/gst/tmpl/gstpadtemplate.sgml:
13085         * docs/gst/tmpl/gstreamer-unused.sgml:
13086         * docs/gst/tmpl/gsttag.sgml:
13087         * docs/gst/tmpl/gstthread.sgml:
13088         * docs/gst/tmpl/gstxml.sgml:
13089         * gst/gsttag.h:
13090           sync header prototypes with c decls
13091         * gst/gsttaginterface.c:
13092           fix doc headers
13093
13094 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13095
13096         * gst/parse/Makefile.am:
13097         * gst/gstobject.h:
13098           get rid of gstmarshal.h dependency. It's not needed.
13099         * gst/gst.h:
13100         * gst/elements/gstfakesink.c:
13101         * gst/elements/gstfakesrc.c:
13102         * gst/elements/gstidentity.c:
13103         * gst/gstbin.c:
13104         * gst/gstelement.c:
13105         * gst/gstindex.c:
13106         * gst/gstobject.c:
13107         * gst/gstpad.c:
13108         * gst/gstthread.c:
13109         * gst/gstxml.c:
13110         * libs/gst/control/dparam.c:
13111         * libs/gst/control/dparammanager.c:
13112           include gstmarshal.h.
13113         Fixes #132045
13114
13115 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13116
13117         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13118         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13119         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13120         * gst/elements/gstfilesrc.h:
13121           don't ref the filesrc when creating mmaped buffers. Don't keep a
13122           list of not-yet-destroyed buffers.
13123         * gst/gstbuffer.h:
13124           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13125
13126 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13127
13128         * gst/gst.c: (init_pre):
13129           remove textdomain
13130
13131 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13132
13133         * docs/pwg/advanced-events.xml:
13134         * docs/pwg/advanced-scheduling.xml:
13135         * docs/pwg/intro-basics.xml:
13136         * docs/pwg/other-manager.xml:
13137         * docs/pwg/other-nton.xml:
13138         * docs/pwg/other-ntoone.xml:
13139         * docs/pwg/other-oneton.xml:
13140         * docs/pwg/pwg.xml:
13141           All sort of documentation... Forgot what. Point is that I want this
13142           in before I leave. The 'other-*' will be the last section and will
13143           explain issues specific to these type of elements.
13144
13145 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13146
13147         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13148         (gst_filesrc_get_read):
13149           set all the values on buffers that we can
13150
13151 2004-02-02  David Schleef  <ds@schleef.org>
13152
13153         Change usage of isblah() to g_ascii_isblah() to be more locale
13154         independent.  (#133076)
13155         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13156         * gst/gstutils.c:
13157         * gst/parse/parse.l:
13158
13159 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13160
13161         reviewed by: David Schleef  <ds@schleef.org>
13162
13163         Fix memory leaks:
13164         * gst/gstcaps.c: (gst_caps_to_string):
13165         * gst/registries/gstxmlregistry.c:
13166         (gst_xml_registry_add_path_list_func),
13167         (gst_xml_registry_parse_padtemplate):
13168
13169 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13170
13171         * gst/gstelement.c: (gst_element_default_error):
13172           suffix error messages with period
13173
13174 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13175
13176         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13177         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13178         * gst/gsterror.c: (gst_error_get_message):
13179           Suffix with dots
13180         * po/fr.po:
13181         * po/nl.po:
13182           Update translation files
13183
13184 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * gst/autoplug/gstspideridentity.c:
13187         (gst_spider_identity_sink_loop_type_finding):
13188         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13189         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13190         (gst_filesink_close_file), (gst_filesink_handle_event),
13191         (gst_filesink_chain):
13192         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13193         (gst_filesrc_get_read), (gst_filesrc_open_file):
13194         * gst/elements/gstidentity.c: (gst_identity_chain):
13195         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13196         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13197         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13198         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13199         * gst/gsterror.c: (_gst_core_errors_init),
13200         (_gst_library_errors_init), (_gst_resource_errors_init),
13201         (_gst_stream_errors_init), (gst_error_get_message):
13202         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13203         (gst_pad_recover_caps_error), (gst_pad_pull):
13204         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13205         * gst/schedulers/gstbasicscheduler.c:
13206         (gst_basic_scheduler_chainhandler_proxy),
13207         (gst_basic_scheduler_gethandler_proxy),
13208         (gst_basic_scheduler_cothreaded_chain):
13209           Suffix error messages with period.
13210           Use (NULL) instead of NULL
13211
13212 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13213
13214         * docs/gst/tmpl/gstelement.sgml:
13215         * docs/gst/tmpl/gstxml.sgml:
13216         * gst/gstelement.c: (gst_element_error_full):
13217           add element path to error
13218
13219 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13220
13221         * docs/random/mimetypes:
13222           update raw int/float info
13223         * gst/gsttag.c: (_gst_tag_initialize):
13224         * gst/gsttag.h:
13225           add GST_TAG_ENCODER
13226
13227 2004-01-30  David Schleef  <ds@schleef.org>
13228
13229         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13230           missing (#132991)
13231
13232 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13233
13234         reviewed by Benjamin Otte 
13235           parts of the patch submitted in bug #113913
13236
13237         * configure.ac:
13238           use AC_C_INLINE. Use = instead of == with test
13239         * examples/plugins/example.c:
13240         * gst/autoplug/gstspideridentity.c:
13241         * gst/elements/gstfdsrc.c:
13242         * gst/elements/gstfilesrc.c:
13243         * gst/elements/gstidentity.c:
13244         * gst/elements/gstmultidisksrc.c:
13245         * gst/elements/gststatistics.c:
13246         * gst/gstelement.c:
13247         * gst/gstobject.c:
13248         * gst/gstpad.c:
13249         * gst/gstpipeline.c:
13250         * gst/gstthread.c:
13251           don't end enums with a comma
13252         * gst/gstindex.c: (gst_index_compare_func):
13253           do explicit casting to gint
13254         * gst/gsttrace.c: (gst_trace_text_flush):
13255           #define strsize as a macro
13256
13257 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13258
13259         * docs/README:
13260         * docs/gst/gstreamer-docs.sgml:
13261         * docs/gst/gstreamer-sections.txt:
13262         * docs/gst/tmpl/gstelement.sgml:
13263         * docs/gst/tmpl/gsterror.sgml:
13264         * docs/gst/tmpl/gstinterface.sgml:
13265         * docs/gst/tmpl/gstreamer-unused.sgml:
13266         * docs/gst/tmpl/gststructure.sgml:
13267         * docs/gst/tmpl/gsttag.sgml:
13268         * docs/gst/tmpl/gsttaginterface.sgml:
13269         * docs/gst/tmpl/gstvalue.sgml:
13270         make sure all API ends up in the built docs
13271         * gst/gstinterface.c:
13272         * gst/gststructure.c: (gst_structure_id_set_value),
13273         (gst_structure_set_value), (gst_structure_id_get_value):
13274         * gst/gststructure.h:
13275         * gst/gstvalue.h:
13276         sync .h with .c declarations
13277
13278 2004-01-30  Julien Moutte  <julien@moutte.net>
13279
13280         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13281         Ronald will fix riffread.
13282
13283 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13284
13285         * docs/pwg/advanced-interfaces.xml:
13286           Added tuner interface docs.
13287
13288 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13289
13290         * docs/random/mimetypes:
13291           correct Theora information
13292         * gst/gstelement.h:
13293           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13294
13295 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13296
13297         * gst/gstelement.c: (gst_element_error_full):
13298         * gst/gstelement.h:
13299           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13300
13301 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13302
13303         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13304         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13305         again and even before DISCONT.
13306         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13307         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13308         bytestream so that it's not stopping to fill the bytestream if events
13309         different than EOS or DISCONT are received. Instead it process them so
13310         that they go downstream.
13311
13312 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13313
13314         * docs/gst/tmpl/gstelement.sgml:
13315         * docs/gst/tmpl/gstreamer-unused.sgml:
13316         * docs/gst/tmpl/gstxml.sgml:
13317         * gst/autoplug/gstspideridentity.c:
13318         (gst_spider_identity_sink_loop_type_finding):
13319         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13320         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13321         (gst_filesink_close_file), (gst_filesink_handle_event),
13322         (gst_filesink_chain):
13323         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13324         (gst_filesrc_get_read), (gst_filesrc_open_file):
13325         * gst/elements/gstidentity.c: (gst_identity_chain):
13326         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13327         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13328         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13329         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13330         * gst/gstelement.h:
13331         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13332         (gst_pad_recover_caps_error), (gst_pad_pull):
13333         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13334         * gst/schedulers/gstbasicscheduler.c:
13335         (gst_basic_scheduler_chainhandler_proxy),
13336         (gst_basic_scheduler_gethandler_proxy),
13337         (gst_basic_scheduler_cothreaded_chain):
13338           gst_element_error -> GST_ELEMENT_ERROR
13339
13340 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13341
13342         * docs/Makefile.am:
13343         * docs/gst/tmpl/gstelement.sgml:
13344         * docs/gst/tmpl/gstxml.sgml:
13345         * docs/manuals.mak:
13346         * docs/pwg/advanced-request.xml:
13347         * docs/pwg/advanced-scheduling.xml:
13348         * docs/pwg/advanced-tagging.xml:
13349           fix non-validating docbook using CDATA
13350           make sure make check-local gets run first to check if it validates
13351
13352 2004-01-29  Julien MOUTTE <julien@moutte.net>
13353
13354         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13355         handling (up and downstream).
13356         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13357         my_filter thing.
13358
13359 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13360
13361         * docs/pwg/advanced-tagging.xml:
13362           Add docs about tag writing.
13363
13364 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13365
13366         * docs/pwg/advanced-tagging.xml:
13367           Add a part about tag reading and application signalling... Tag
13368           writing still needs to be documented.
13369         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13370           We can set file locations in READY, too.
13371
13372 2004-01-29  Julien MOUTTE <julien@moutte.net>
13373
13374         * docs/random/ds/element-checklist: Adding some notes about src
13375         events.
13376
13377 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13378
13379         * docs/random/mimetypes:
13380           Update docs to point to correct elements for various mimetypes, and
13381           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13382           <stephane.loeuillet@tiscali.fr>.
13383
13384 2004-01-28  David Schleef  <ds@schleef.org>
13385
13386         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13387
13388 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13389
13390         * docs/random/mimetypes:
13391           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13392           undefined"
13393         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13394           make it only work in NULL.
13395         * gst/gstcaps.c:
13396           don't posion NULL caps
13397         * gst/gstelement.c: (gst_element_set_time):
13398           add debugging statement
13399         * gst/gstelement.c: (gst_element_emit_found_tag),
13400         (gst_element_found_tag_func), (gst_element_found_tags):
13401         * gst/gstelement.h:
13402           These functions take const taglists
13403         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13404           fix memleak
13405         * gst/gstpad.c: (gst_pad_event_default):
13406           make more effort on handling discont and clocks, g_warn if everything
13407           fails
13408         * gst/gststructure.c: (gst_structure_remove_fields),
13409         (gst_structure_remove_fields_valist):
13410         * gst/gststructure.h:
13411           add gst_structure_remove_fields(_valist)
13412         * gst/gsttag.c:
13413           fix doc glitch
13414
13415 2004-01-28  David Schleef  <ds@schleef.org>
13416
13417         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13418         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13419         Fix memory leakage of gst_caps_to_string().
13420
13421         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13422         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13423         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13424         (gst_spider_identity_sink_loop_type_finding):
13425         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13426         (find_suggest):
13427         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13428         (gst_pad_set_explicit_caps):
13429         * gst/parse/grammar.y:
13430
13431 2004-01-28  David Schleef  <ds@schleef.org>
13432
13433         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13434         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13435         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13436         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13437         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13438         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13439         (gst_debug_log_default), (_gst_info_printf_extension),
13440         (_gst_info_printf_extension_arginfo):  Add printf extension.
13441         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13442         * gst/gststructure.c: (gst_structure_to_string),
13443         (_gst_structure_parse_value): Use gst_value_deserialize() and
13444         remove old code.
13445         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13446         (gst_value_deserialize_boolean), (gst_strtoi),
13447         (gst_value_deserialize_int), (gst_value_deserialize_double),
13448         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13449         a bunch of deserialize functions and gst_value_deserialize.
13450         * gst/gstvalue.h: er, _de_serialize, not unserialize
13451         * testsuite/caps/string-conversions.c: (main): We don't currently
13452         handle (float) in caps, so convert these to (double).
13453         * testsuite/debug/Makefile.am: Add new test for the printf extension
13454         * testsuite/debug/printf_extension.c: (main): same
13455
13456 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13457
13458         * docs/random/company/time:
13459           Add some docs about clocking and time
13460
13461 2004-01-28  Julien MOUTTE <julien@moutte.net>
13462
13463         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13464
13465 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13466
13467         * docs/pwg/advanced-clock.xml:
13468         * docs/pwg/advanced-dparams.xml:
13469         * docs/pwg/advanced-events.xml:
13470         * docs/pwg/advanced-interfaces.xml:
13471         * docs/pwg/advanced-midi.xml:
13472         * docs/pwg/advanced-request.xml:
13473         * docs/pwg/advanced-scheduling.xml:
13474         * docs/pwg/advanced-tagging.xml:
13475         * docs/pwg/advanced-types.xml:
13476         * docs/pwg/appendix-checklist.xml:
13477         * docs/pwg/building-boiler.xml:
13478         * docs/pwg/building-chainfn.xml:
13479         * docs/pwg/building-filterfactory.xml:
13480         * docs/pwg/building-pads.xml:
13481         * docs/pwg/building-props.xml:
13482         * docs/pwg/building-signals.xml:
13483         * docs/pwg/building-state.xml:
13484         * docs/pwg/building-testapp.xml:
13485         * docs/pwg/intro-basics.xml:
13486         * docs/pwg/intro-preface.xml:
13487         * docs/pwg/other-autoplugger.xml:
13488         * docs/pwg/other-sink.xml:
13489         * docs/pwg/other-source.xml:
13490         * docs/pwg/titlepage.xml:
13491           fix up id's
13492
13493 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13494
13495         * docs/95NonPath:
13496         * docs/HACKING:
13497         * docs/README:
13498         * docs/building-the-docs-on-debian:
13499           collect relevant bits of doc info
13500
13501 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13502
13503         * docs/pwg/advanced_tagging.xml:
13504           Half-assed commit so Thomas can re-arrange document IDs here to be
13505           consistent, too.
13506
13507 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13508
13509         * docs/manual/autoplugging.xml:
13510         * docs/manual/bins-api.xml:
13511         * docs/manual/bins.xml:
13512         * docs/manual/buffers-api.xml:
13513         * docs/manual/buffers.xml:
13514         * docs/manual/clocks.xml:
13515         * docs/manual/components.xml:
13516         * docs/manual/cothreads.xml:
13517         * docs/manual/debugging.xml:
13518         * docs/manual/dparams-app.xml:
13519         * docs/manual/dynamic.xml:
13520         * docs/manual/elements-api.xml:
13521         * docs/manual/elements.xml:
13522         * docs/manual/factories.xml:
13523         * docs/manual/gnome.xml:
13524         * docs/manual/goals.xml:
13525         * docs/manual/helloworld.xml:
13526         * docs/manual/helloworld2.xml:
13527         * docs/manual/init-api.xml:
13528         * docs/manual/intro.xml:
13529         * docs/manual/links-api.xml:
13530         * docs/manual/links.xml:
13531         * docs/manual/manual.xml:
13532         * docs/manual/motivation.xml:
13533         * docs/manual/pads-api.xml:
13534         * docs/manual/pads.xml:
13535         * docs/manual/plugins-api.xml:
13536         * docs/manual/plugins.xml:
13537         * docs/manual/programs.xml:
13538         * docs/manual/queues.xml:
13539         * docs/manual/quotes.xml:
13540         * docs/manual/schedulers.xml:
13541         * docs/manual/states-api.xml:
13542         * docs/manual/states.xml:
13543         * docs/manual/threads.xml:
13544         * docs/manual/typedetection.xml:
13545         * docs/manual/xml.xml:
13546           use chapter, part, section or misc as id starts for all bits
13547
13548 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13549
13550         * docs/gst/gstreamer-sections.txt:
13551           Fix up TITLE of the sections
13552
13553 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13554
13555         * docs/pwg/advanced_interfaces.xml:
13556           Add documentation on propertyprobing.
13557         * docs/pwg/advanced_events.xml:
13558         * docs/pwg/advanced_tagging.xml:
13559         * docs/pwg/building_boiler.xml:
13560         * docs/pwg/building_filterfactory.xml:
13561         * docs/pwg/pwg.xml:
13562           Move filterfactory and tagging into their own chapter, add a chapter
13563           on events. all these are empty placeholders that will be filled in
13564           some day.
13565
13566 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13567
13568         * docs/pwg/advanced_interfaces.xml:
13569           Docs for mixer interface. Also a check for website uploading.
13570
13571 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13572
13573         * docs/HACKING:
13574         * docs/Makefile.am:
13575         * docs/faq/Makefile.am:
13576         * docs/gst/Makefile.am:
13577         * docs/gst/tmpl/gstelement.sgml:
13578         * docs/gst/tmpl/gstplugin.sgml:
13579         * docs/gst/tmpl/gstreamer-unused.sgml:
13580         * docs/libs/Makefile.am:
13581         * docs/manual/Makefile.am:
13582         * docs/manuals.mak:
13583         * docs/pwg/Makefile.am:
13584         * docs/upload.mak:
13585           Separate out upload target and make it similar for
13586           both docbook and gtk-doc docs
13587
13588 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13589
13590         * docs/manuals.mak:
13591           Fix upload target to work with freedesktop
13592
13593 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13594
13595         * docs/pwg/advanced_types.xml:
13596           Add notes on creating your own types.
13597         * docs/pwg/building_boiler.xml:
13598         * docs/pwg/building_pads.xml:
13599         * docs/pwg/building_state.xml:
13600           Add some stuff about how to retrieve values from structures, how
13601           that relates to types and change layout slightly again to be almost
13602           perfect.
13603
13604 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13605
13606         * docs/pwg/advanced_dparams.xml:
13607         * docs/pwg/advanced_scheduling.xml:
13608           Change index layout slightly.
13609
13610 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13611
13612         * docs/pwg/advanced_clock.xml:
13613         * docs/pwg/advanced_interfaces.xml:
13614         * docs/pwg/advanced_midi.xml:
13615           General placeholders for now.
13616         * docs/pwg/advanced_request.xml:
13617           Explanation about sometimes and request pads.
13618         * docs/pwg/advanced_scheduling.xml:
13619           Concept of bytestream, loopfunctions and schedulers.
13620         * docs/pwg/building_boiler.xml:
13621           Add something about plugin-init.
13622
13623 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13624
13625         * docs/pwg/building_pads.xml:
13626           Fix broken docbook
13627
13628 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13629
13630         * docs/pwg/advanced_interfaces.xml:
13631         * docs/pwg/pwg.xml:
13632           Add as a placeholder for future filling-in.
13633         * docs/pwg/basics_autoplugging.xml:
13634         * docs/pwg/basics_buffers.xml:
13635         * docs/pwg/basics_elements.xml:
13636         * docs/pwg/basics_events.xml:
13637         * docs/pwg/basics_plugins.xml:
13638         * docs/pwg/basics_types.xml:
13639           Remove, because unused (this is all in intro_basics.xml).
13640         * docs/pwg/building_signals.xml:
13641           Short intro to signals + reference to GObject docs - we really
13642           shouldn't go into these sort of things to deply because we don't
13643           use them that extensively anyway.
13644         * docs/pwg/building_state.xml:
13645           Explanation of states. Benjamin, please check.
13646         * docs/pwg/building_testapp.xml:
13647           Put everything in one page - putting only a few lines of content
13648           per page doesn't really make sense.
13649
13650           Time to get into the advanced topics. ;).
13651
13652 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13653
13654         * docs/pwg/advanced_types.xml:
13655           Finish documenting the current state of mimetypes.
13656         * docs/pwg/building_boiler.xml:
13657         * docs/pwg/building_chainfn.xml:
13658         * docs/pwg/building_pads.xml:
13659         * docs/pwg/building_props.xml:
13660         * docs/pwg/building_testapp.xml:
13661           Start documenting the "how to build a simple audio filter" part
13662           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13663           states and (maybe?) a short introduction to capsnego in the chapter
13664           on pads (building_pads.xml). Capsnego should probably be explained
13665           fully in advanced_capsnego.xml or so.
13666
13667 2004-01-26  David Schleef  <ds@schleef.org>
13668
13669         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13670         * gst/gstpad.h: Add new function to allow element to (somewhat)
13671         specify non-fixed caps on a pad.
13672         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13673         that I added a few weeks ago.
13674
13675 2004-01-26  David Schleef  <ds@schleef.org>
13676
13677         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13678           making try_set_caps() work with non-fixed caps.
13679
13680 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13681
13682         * docs/pwg/advanced_types.xml:
13683         * docs/pwg/intro_basics.xml:
13684         * docs/pwg/intro_preface.xml:
13685         * docs/pwg/pwg.xml:
13686         * docs/pwg/titlepage.xml:
13687           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13688           in here (docs/random/mimetypes), and will from there on work on both
13689           updating outdated parts and adding missing parts.
13690           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13691
13692 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13693
13694         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13695           policy is set
13696
13697 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13698
13699         * gst/gstelement.h:
13700           remove gst_element_factory_get_version. It doesn't exist anymore.
13701         * gst/gstplugin.c:
13702         * gst/gstplugin.h:
13703           remove gst_plugin_set_name and change gst_plugin_get_longname to
13704           gst_plugin_get_description to match code.
13705         * gst/gsterror.h:
13706           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13707         * gst/gstpad.c: (gst_pad_try_set_caps):
13708           make it work with nonfixed caps.
13709           Note that even in the nonfixed case the link function of the pad
13710           that tries to set caps isn't called.
13711
13712 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13713
13714         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13715           fix bug where buffer was not assembled correctly
13716         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13717           silence by default
13718         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13719           only seek if there's no more buffers that could work without seeking
13720
13721 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13722
13723         * gst/gsttag.c: (_gst_tag_initialize):
13724         * gst/gsttag.h:
13725           Add application tag (for encoding/muxing app).
13726
13727 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13728
13729         * autogen.sh:
13730           make autopoint force, and libtoolize not copy
13731         * common/m4/as-docbook.m4:
13732           added docbook xml catalog setup check
13733         * common/m4/gst-doc.m4:
13734           use docbook check
13735
13736 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13737
13738         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13739         * gst/gsttag.h:
13740           add GstTagFlag
13741
13742 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13743
13744         * docs/gst/gstreamer-sections.txt:
13745         * docs/gst/tmpl/gst.sgml:
13746         * docs/gst/tmpl/gstbuffer.sgml:
13747         * docs/gst/tmpl/gstclock.sgml:
13748         * docs/gst/tmpl/gstelement.sgml:
13749         * docs/gst/tmpl/gstreamer-unused.sgml:
13750         * docs/gst/tmpl/gstxml.sgml:
13751           sync latest API changes to docs
13752
13753 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13754
13755         * gst/gstpluginfeature.c:
13756           fix doc snippet
13757         * tools/gst-inspect.c: (print_element_list):
13758           fix output of typefind
13759           add GPL header
13760         * tools/gst-launch.c:
13761           add GPL header
13762
13763 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * gst/elements/Makefile.am:
13766         * gst/elements/gstelements.c:
13767         * gst/elements/gsttypefindelement.c:
13768         * gst/elements/gsttypefindelement.h:
13769         * po/POTFILES.in:
13770         * po/fr.po:
13771         * po/nl.po:
13772           renamed gsttypefindelement to gsttypefind, conserving CVS history
13773
13774 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13775
13776         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13777         * gst/gsttag.h:
13778           add some tags used in ogg as well
13779           fix _ in replaygain tags
13780
13781 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13782
13783         * gst/gsterror.h:
13784           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13785
13786 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13787
13788         * gst/gstelement.c: (gst_element_error_full):
13789         * gst/gstelement.h:
13790           change _extended to _full
13791
13792 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13793
13794         reviewed by: <delete if not using a buddy>
13795
13796         * docs/gst/tmpl/gst.sgml:
13797         * docs/gst/tmpl/gstbuffer.sgml:
13798         * docs/gst/tmpl/gstclock.sgml:
13799         * docs/gst/tmpl/gstelement.sgml:
13800         * docs/gst/tmpl/gstreamer-unused.sgml:
13801         * docs/gst/tmpl/gstxml.sgml:
13802         * gst/gstelement.c: (gst_element_error_full):
13803         * gst/gstelement.h:
13804
13805 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13806
13807         * gst/gstelement.h: fix _gst_element_error_printf prototype
13808
13809 2004-01-20  David Schleef  <ds@schleef.org>
13810
13811         * gst/gststructure.c: (gst_structure_to_string):
13812         Convert function to use gst_value_serialize().
13813         * gst/gstvalue.c: (gst_value_serialize_list),
13814         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13815         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13816         (gst_value_serialize_int), (gst_value_serialize_double),
13817         (gst_string_wrap), (gst_value_serialize_string),
13818         (gst_value_serialize), (gst_value_deserialize):
13819         * gst/gstvalue.h:
13820         Add implementations for serialize.
13821
13822 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13823
13824         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13825         we want to keep that one in the future or change xvidenc.c to use 
13826         another error.
13827
13828 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         * gst/gstelement.c: (_gst_element_error_printf):
13831         * gst/gstelement.h:
13832           privatise function
13833
13834 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13835
13836         * docs/random/error:
13837           doc explaining error system
13838         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13839           cleanup
13840
13841 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13842
13843         * gst/gst-i18n-app.h:
13844         * gst/gst-i18n-lib.h:
13845           remove inclusion of config.h
13846         * po/POTFILES.in:
13847         * po/nl.po:
13848           add gst/gstelement.c
13849
13850 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13851
13852         * po/nl.po: updated Dutch translation
13853
13854 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13855
13856         * gst/gsterror.c: (_gst_core_errors_init),
13857         (_gst_library_errors_init), (_gst_resource_errors_init),
13858         (_gst_stream_errors_init):
13859         remove ending punctuation dots
13860
13861 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13864         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13865         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13866         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13867         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13868         use GST_ERROR_SYSTEM
13869
13870 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13871
13872         * gst/gstelement.c: (gst_element_error_printf),
13873         (gst_element_error_extended):
13874         * gst/gstelement.h:
13875           add a helper printf function so we can have NULL values passed.
13876
13877 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13878
13879         * gst/gstelement.h:
13880           add G_STMT macros to gst_element_error, which isn't strictly
13881           necessary but people tell me to anyway.
13882
13883 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * gst/Makefile.am:
13886         * gst/autoplug/gstspideridentity.c:
13887         (gst_spider_identity_sink_loop_type_finding):
13888         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13889         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13890         (gst_filesink_close_file), (gst_filesink_handle_event),
13891         (gst_filesink_chain):
13892         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13893         (gst_filesrc_map_region), (gst_filesrc_get_read),
13894         (gst_filesrc_open_file):
13895         * gst/elements/gstidentity.c: (gst_identity_chain):
13896         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13897         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13898         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13899         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13900         * gst/gst.h:
13901         * gst/gst_private.h:
13902         * gst/gstelement.c: (gst_element_class_init),
13903         (gst_element_default_error), (gst_element_error_func),
13904         (gst_element_error_extended):
13905         * gst/gstelement.h:
13906         * gst/gsterror.c: (_gst_core_errors_init),
13907         (_gst_library_errors_init), (_gst_resource_errors_init),
13908         (_gst_stream_errors_init), (gst_error_get_message):
13909         * gst/gsterror.h:
13910         * gst/gstinfo.c: (_gst_debug_init):
13911         * gst/gstmarshal.list:
13912         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13913         (gst_pad_recover_caps_error), (gst_pad_pull):
13914         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13915         * gst/schedulers/gstbasicscheduler.c:
13916         (gst_basic_scheduler_chainhandler_proxy),
13917         (gst_basic_scheduler_gethandler_proxy),
13918         (gst_basic_scheduler_cothreaded_chain):
13919         * po/POTFILES.in:
13920         * po/fr.po:
13921         * po/nl.po:
13922           change error signal
13923           add error categories
13924
13925 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13926
13927         * gst/gsttag.c: (_gst_tag_initialize):
13928         * gst/gsttag.h:
13929         Add replaygain tag
13930
13931 2004-01-18  Colin Walters  <walters@verbum.org>
13932
13933         * examples/retag/retag.c: Call gst_init before processing
13934         program args.  Add g_assert to _link_many call.
13935
13936 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13937
13938         * gst/gstpad.c: (gst_pad_alloc_buffer):
13939           Return a newly allocated buffer when the pad has no peer.
13940
13941 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13942
13943         * gst/gstclock.c: (gst_clock_get_time):
13944           make it compile with gcc 2.95 again.
13945           Patch by Scott Wheeler
13946
13947 2004-01-15  David Schleef  <ds@schleef.org>
13948
13949         * gst/gstcaps.h:
13950         Added gst_caps_is_simple() macro.
13951         * testsuite/caps/caps.c: (test1):
13952         * testsuite/caps/intersect2.c: (main):
13953         * testsuite/caps/intersection.c: (main):
13954         Fixes to make 'make check' work again after removing
13955         gst_caps_is_chained().
13956
13957 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13958
13959         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13960         and additions to the MIDI document.
13961
13962 2004-01-15  David Schleef  <ds@schleef.org>
13963
13964         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13965         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13966         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13967
13968 2004-01-15  David Schleef  <ds@schleef.org>
13969
13970         * gst/gstqueue.c:
13971         * gst/gstqueue.h:
13972         Fix the spelling of "treshold" and make min_threshold actually
13973         affect the queue.
13974
13975 2004-01-15  David Schleef  <ds@schleef.org>
13976
13977         * gst/gstcaps.c:
13978         Add lots of documentation.
13979         * gst/gstcaps.h:
13980         Deprecate a few functions.
13981         * gst/gstpad.c:
13982         Removed use of deprecated functions.
13983
13984 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13985
13986         * gst/gstpad.c: (gst_pad_is_linked):
13987         * gst/gstpad.h:
13988           implement gst_pad_is_linked
13989         * gst/gstelement.h:
13990           reserve space for initiate_state_change
13991
13992 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13993
13994         * gst/autoplug/gstspideridentity.c:
13995         (gst_spider_identity_sink_loop_type_finding):
13996           break infinite loop by just returning instead of looping
13997         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13998           set event time difference correctly. Set it to 1 second instead
13999           of 100ms to be more tolerant
14000         * gst/gstelement.c: (gst_element_set_time):
14001           add debugging output
14002
14003 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14004
14005         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14006           query if buffers are inside the pool, ignore events
14007
14008 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14009
14010         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14011         (gst_clock_set_speed), (gst_clock_set_active),
14012         (gst_clock_is_active), (gst_clock_reset),
14013         (gst_clock_handle_discont):
14014         * gst/gstclock.h:
14015           deprecate old interface and disable functions that aren't in use
14016           anymore.
14017         * gst/gstelement.h:
14018         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14019         (gst_element_set_time), (gst_element_adjust_time):
14020           add concept of "element time" and functions to get/set this time.
14021         * gst/gstelement.c: (gst_element_change_state):
14022           update element time correctly.
14023         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14024           This is a debug message, not a g_critical.
14025         * gst/gstpad.c: (gst_pad_event_default):
14026           handle discontinuous events right with element time.
14027         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14028           update to clocking fixes.
14029           set clocks on elements in READY=>PAUSED. The old behaviour caused
14030           a wrong element time on the first element that started playing.
14031         * gst/schedulers/gstbasicscheduler.c:
14032         (gst_basic_scheduler_class_init):
14033         * gst/schedulers/gstoptimalscheduler.c:
14034         (gst_opt_scheduler_class_init):
14035           remove code that just implements the default behaviour.
14036         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14037           update to use new clocking functions
14038         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14039         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14040           update to test new element time.
14041         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14042           use _get_allowed_caps instead of _get_caps. This catches filtered
14043           caps correctly.
14044         * testsuite/debug/commandline.c:
14045           update for new GST_DEBUG syntax.
14046         * testsuite/threads/Makefile.am:
14047           disable a test that only works sometimes.
14048
14049 2004-01-13  Julien MOUTTE <julien@moutte.net>
14050
14051         * po/LINGUAS: Adding fr.
14052         * po/fr.po: Adding french translation.
14053
14054 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14055
14056         * gst/parse/grammar.y:
14057         * po/POTFILES.in:
14058         * po/nl.po:
14059         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14060           translate parsing error messages
14061
14062 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14063
14064         * po/POTFILES.in: adding gst-launch
14065         * po/nl.po: updated translation, all 99 strings translated
14066         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14067         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14068           fix strings for translation
14069
14070 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14071
14072         * gst/gst.c:
14073           - capitalize beginnings of popt options
14074           - fix strings for translation
14075           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14076
14077 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * po/README: add some notes on how to update translations
14080
14081 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14082
14083         * ABOUT-NLS: removed, is autogenerated from autopoint
14084         * autogen.sh: add autopoint stuff
14085         * configure.ac: fix up gettext stuff
14086         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14087         * gst/elements/gsttypefindelement.c: add header include
14088         * gst/gettext.h: add header, copy from system-installed header
14089         * gst/gst-i18n-app.h: to be included by each app having translations
14090         * gst/gst-i18n-lib.h: to be included by each lib having translations
14091         * gst/gst.c: (init_pre): fix up gettext calls
14092         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14093         * po/LINGUAS: the new way to specify translations present
14094         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14095         * po/Makevars: the variables filled in for GStreamer
14096         * po/POTFILES.in: added new files with translations
14097         * po/de.po: has new strings
14098         * po/nl.po: readded, has new strings
14099
14100 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14101
14102         * gst/gsttag.c: fix some strings marked for translation
14103
14104 2004-01-13  Iain <iain@prettypeople.org>
14105
14106         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14107         group when we add an element to it, cos we unref it when we remove one
14108
14109 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14110
14111         * testsuite/debug/commandline.c: (debug_not_reached):
14112         * testsuite/debug/output.c: (check_message):
14113           fix testsuite
14114
14115 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14116
14117         * examples/cutter/.cvsignore:
14118         * examples/helloworld/.cvsignore:
14119         * examples/launch/.cvsignore:
14120         * examples/manual/.cvsignore:
14121         * examples/mixer/.cvsignore:
14122         * examples/pingpong/.cvsignore:
14123         * examples/plugins/.cvsignore:
14124         * examples/queue/.cvsignore:
14125         * examples/queue2/.cvsignore:
14126         * examples/queue3/.cvsignore:
14127         * examples/queue4/.cvsignore:
14128         * examples/retag/.cvsignore:
14129         * examples/thread/.cvsignore:
14130         * examples/typefind/.cvsignore:
14131         * examples/xml/.cvsignore:
14132         * gst/.cvsignore:
14133         * gst/autoplug/.cvsignore:
14134         * gst/elements/.cvsignore:
14135         * gst/indexers/.cvsignore:
14136         * gst/parse/.cvsignore:
14137         * gst/registries/.cvsignore:
14138         * gst/schedulers/.cvsignore:
14139         * libs/gst/bytestream/.cvsignore:
14140         * libs/gst/control/.cvsignore:
14141         * libs/gst/getbits/.cvsignore:
14142         * tests/.cvsignore:
14143         * tests/bufspeed/.cvsignore:
14144         * tests/instantiate/.cvsignore:
14145         * tests/memchunk/.cvsignore:
14146         * tests/muxing/.cvsignore:
14147         * tests/sched/.cvsignore:
14148         * tests/seeking/.cvsignore:
14149         * tests/threadstate/.cvsignore:
14150         * testsuite/.cvsignore:
14151         * testsuite/caps/.cvsignore:
14152         * testsuite/cleanup/.cvsignore:
14153         * testsuite/dynparams/.cvsignore:
14154         * testsuite/plugin/.cvsignore:
14155         * tools/.cvsignore:
14156           update - this is huge, because it includes *.bb, *.bbg and *.da files
14157           which are generated for gcov.
14158
14159 2004-01-11  David Schleef  <ds@schleef.org>
14160
14161         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14162         a function to parse integers in ways that strto[u]l() does not.
14163
14164 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14165
14166         * tools/gst-inspect.c: (print_caps):
14167           improve output of caps a bit
14168
14169 2004-01-11  David Schleef  <ds@schleef.org>
14170
14171         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14172         inherit correct flags (READONLY and DONTKEEP).
14173
14174 2004-01-11  David Schleef  <ds@schleef.org>
14175
14176         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14177         (gst_filesrc_map_region):
14178         * gst/gstbuffer.c: (_gst_buffer_initialize),
14179         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14180         (gst_buffer_new), (gst_buffer_create_sub),
14181         (gst_buffer_is_span_fast), (gst_buffer_span):
14182         * gst/gstbuffer.h:
14183         Change GstBuffer private structure element names. (all files)
14184         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14185         (gst_queue_link):
14186         * gst/gstqueue.h:
14187         Implement getcaps/pad_link functions that handle the case where
14188         there are data in the queue.
14189
14190 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14191
14192         * gst/elements/gstbufferstore.c:
14193           initialize debugging structure correctly
14194         * gst/elements/gsttee.c: (gst_tee_set_property):
14195           g_object_notify when property was changed
14196         * gst/elements/gsttypefindelement.c:
14197         (gst_type_find_element_change_state):
14198           clear caps correctly
14199
14200 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14201
14202         * gst/gstqueue.c: (gst_queue_init):
14203           Use better defaults for when a queue should block. This
14204           gets rid of jerky playback for quite a few files.
14205           It takes more memory.
14206
14207 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14208
14209         (gst_xml_registry_parse_padtemplate):
14210           make critical message slightly more useful
14211
14212 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14213
14214         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14215         (gst_debug_message_get), (gst_debug_log_default):
14216         * gst/gstinfo.h:
14217           Change gst_debug_log(_valist) to take a const format string.
14218           Change prototype of log function and functions using those to 
14219           take a GstDebugMessage instead of a string that requires using
14220           gst_debug_message_get.
14221
14222 2004-01-08  David Schleef  <ds@schleef.org>
14223
14224         * Makefile.am:
14225         * configure.ac:
14226         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14227         and -ftest-coverage, which allows gcov to show information about
14228         testsuite coverage.
14229
14230 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14231
14232         * gst/gstutils.h:
14233           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14234           GST_PARENT_CALL_WITH_DEFAULT
14235         * gst/elements/gstaggregator.c: 
14236         * gst/elements/gstbufferstore.c: 
14237         * gst/elements/gstfakesink.c: 
14238         * gst/elements/gstfakesrc.c: 
14239         * gst/elements/gstfdsink.c: 
14240         * gst/elements/gstfdsrc.c: 
14241         * gst/elements/gstfilesink.c: 
14242         * gst/elements/gstfilesrc.c: 
14243         * gst/elements/gstidentity.c: 
14244         * gst/elements/gstmd5sink.c: 
14245         * gst/elements/gstmultidisksrc.c:
14246         * gst/elements/gstpipefilter.c: 
14247         * gst/elements/gstshaper.c:
14248         * gst/elements/gststatistics.c:
14249         * gst/elements/gsttee.c:
14250         * gst/elements/gsttypefindelement.c:
14251           use them.
14252
14253 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14254
14255         * docs/gst/gstreamer-docs.sgml: remove props
14256         * docs/gst/gstreamer-sections.txt: remove props
14257         * docs/gst/tmpl/gst.sgml:
14258         * docs/gst/tmpl/gstbin.sgml:
14259         * docs/gst/tmpl/gstbuffer.sgml:
14260         * docs/gst/tmpl/gstcaps.sgml:
14261         * docs/gst/tmpl/gstclock.sgml:
14262         * docs/gst/tmpl/gstelement.sgml:
14263         * docs/gst/tmpl/gstindex.sgml:
14264         * docs/gst/tmpl/gstobject.sgml:
14265         * docs/gst/tmpl/gstpad.sgml:
14266         * docs/gst/tmpl/gstpadtemplate.sgml:
14267         * docs/gst/tmpl/gstreamer-unused.sgml:
14268         * docs/gst/tmpl/gstthread.sgml:
14269         * docs/gst/tmpl/gstxml.sgml:
14270           sync with code reorganization
14271
14272 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14273
14274         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14275         Make the 'Could not find compatible pad' message more informative.
14276
14277 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14278                                                                                 
14279         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14280           Fix for if we pass NULL as property to location.
14281         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14282         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14283           Fix for instantiate-test (see below).
14284         * gst/gststructure.c: (_gst_structure_parse_value):
14285           Fix compile error on gcc-2.96.
14286         * configure.ac:
14287         * tests/Makefile.am:
14288         * tests/instantiate/Makefile.am:
14289         * tests/instantiate/create.c: (create_all_elements), (main):
14290           Add a test that instantiates all elements. This makes it easy to
14291           track dead code for old API/design (like setting event functions
14292           on sink pads and so on).
14293
14294 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14295
14296         * gst/gstcaps.c: (gst_caps_append_structure):
14297           Move the poisoning to allow a NULL structure
14298         * gst/gstevent.c: (_gst_event_free):
14299           When freeing a navigation event, free the structure
14300           also
14301
14302 2004-01-04  David Schleef  <ds@schleef.org>
14303
14304         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14305         Remove usage of gst_pad_proxy_fixate.
14306         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14307         (gst_caps_split_one), (gst_caps_replace):
14308         Add poisoning code.
14309         * gst/gstmarshal.list:
14310         Add pointer__pointer for fixate signal
14311         * gst/gstpad.c: (gst_real_pad_class_init),
14312         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14313         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14314         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14315         Add poisoning code. Add fixate signal on RealPad. Change
14316         set_explicit_caps() to take const GstCaps, like try_set_caps().
14317         * gst/gstpad.h:
14318         * testsuite/caps/Makefile.am:
14319         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14320
14321 2004-01-03  David Schleef  <ds@schleef.org>
14322
14323         * gst/elements/gsttypefindelement.c:
14324         (gst_type_find_element_have_type), (gst_type_find_element_init):
14325         Use gst_pad_use_explicit_caps for src pad.
14326         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14327         before using it.
14328
14329 2004-01-03  David Schleef  <ds@schleef.org>
14330
14331         * gst/gstelement.c: (gst_element_link_pads_filtered),
14332         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14333         that linking was successful.
14334         * gst/gstpad.c: (gst_pad_link_free),
14335         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14336         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14337         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14338         GstPadLinkReturn correctly between functions, and don't fail
14339         when DELAYED is used (DELAYED is very important).  Better
14340         cleanup on unlinking and unnegotiation.  Should fix some spider
14341         bugs.
14342
14343 2004-01-02  David Schleef  <ds@schleef.org>
14344
14345         * gst/gstelement.c: (gst_element_class_init),
14346         (gst_element_base_class_init): ->padtemplates should be cleared
14347         in base_init, since we need to have a fresh list for every
14348         class.  (Alternately, we chould copy the list and share the
14349         actual pad templates (not the list), but that would require
14350         changing every plugin to move pad template registration from
14351         base_init to class_init.)
14352
14353 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14354
14355         * gst/gstelement.c: (gst_element_class_add_pad_template):
14356           Refuse registering a pad template if another pad template
14357           with the same name already exists (#114715).
14358
14359 2004-01-02  David Schleef  <ds@schleef.org>
14360
14361         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14362         (gst_caps_is_equal_fixed): Add new function.
14363         * gst/gstcaps.h: ditto.
14364         * gst/gstpad.c: (gst_real_pad_class_init),
14365         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14366         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14367         check new caps against existing caps -- if they're the same, return
14368         OK without renegotiating.  caps-nego-failed signal fixed so that
14369         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14370         to save an extra caps copy.  Don't complete negotiation if a pad
14371         link function returns DELAYED.
14372
14373 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14374
14375         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14376           Fix wrong g_return_if_fail
14377
14378 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14379
14380         * gst/gstbin.c: (gst_bin_class_init):
14381         Change the marshalling of element_added/element_removed
14382         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14383         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14384
14385 2004-01-01  David Schleef  <ds@schleef.org>
14386
14387         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14388         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14389         (gst_pad_use_explicit_caps):
14390         * gst/gstpad.h:
14391         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14392         to use an internal getcaps and link fuction so that negotiation
14393         always results in the explicitly set caps.
14394         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14395         are particularly useful for decoders.
14396
14397 2003-12-31  David Schleef  <ds@schleef.org>
14398
14399         * gst/elements/gstidentity.c: (gst_identity_class_init),
14400         (gst_identity_init), (gst_identity_chain),
14401         (gst_identity_set_property), (gst_identity_get_property):
14402         * gst/elements/gstidentity.h:
14403         * gst/gstqueue.c: (gst_queue_init):
14404           Negotiation fixes.
14405
14406 2003-12-31  David Schleef  <ds@schleef.org>
14407
14408         * gst/gstcaps.c: (gst_caps_intersect),
14409         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14410           Implement gst_caps_normalize().
14411         * testsuite/caps/normalisation.c: (main):
14412           Add an additional test
14413
14414 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14415
14416         * gst/gstqueue.c: (gst_queue_init):
14417           use gst_pad_proxy_getcaps()
14418
14419 2003-12-31  David Schleef  <ds@schleef.org>
14420
14421         * gst/elements/gstshaper.c: (gst_shaper_link):
14422         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14423         * gst/gstqueue.c: (gst_queue_link):
14424           Negotiation fixes.
14425
14426 2003-12-31  David Schleef  <ds@schleef.org>
14427
14428         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14429         * gst/gstpad.h: Add functions that are useful as default pad
14430         link and fixate functions for elements.
14431
14432 2003-12-30  David Schleef  <ds@schleef.org>
14433
14434         * gst/gstpad.c: (gst_pad_link_try):
14435           Fix segfault when attempting to return to old caps
14436
14437 2003-12-29  David Schleef  <ds@schleef.org>
14438
14439         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14440         (gst_caps_structure_simplify), (gst_caps_simplify):
14441         * gst/gstcaps.h:
14442           Add simplify function
14443         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14444         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14445         * gst/gstpad.h:
14446           Copy over srcnotify, sinknotify when calling old pad_link
14447           functions.  Add new is_negotiated() function.
14448         * gst/gststructure.c: (gst_structure_copy):
14449           Fix an incredibly stupid bug that should have been noticed
14450           weeks ago.  _copy() returned the argument, not the new copy.
14451
14452 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14453
14454         * gst/gstcaps.c: (gst_caps_append):
14455           add sanity checks
14456         * gst/gstcaps.h: (gst_caps_debug):
14457           remove, it doesn't exist anymore.
14458         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14459         (gst_element_threadsafe_properties_post_run):
14460           make debugging messages not clutter up THREAD debug category
14461         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14462         (gst_element_change_state):
14463           update to new caps API
14464         * gst/gstinterface.c: (gst_implements_interface_cast):
14465           don't put vital code in g_return_if_fail
14466         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14467         (gst_pad_link_filtered):
14468           add pst_pad_try_link and use it.
14469         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14470           implement correctly, deprecate first one.
14471         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14472           add and implement.
14473         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14474           implement.
14475         (gst_pad_get_negotiated_caps):
14476           add and implement. Make GST_PAD_CAPS call this function.
14477         (gst_pad_get_caps):
14478           remove unneeded check..
14479         (gst_pad_recover_caps_error):
14480           disable, always return FALSE.
14481         (gst_real_pad_dispose):
14482           don't free caps and appfilter anymore, they're unused.
14483         * gst/gstpad.h:
14484           Reflect changes mentioned above.
14485         * gst/gstsystemclock.c: (gst_system_clock_wait):
14486           Make 'clock is way behind' a debugging message.
14487         * gst/gstthread.c: (gst_thread_change_state):
14488           Fix debugging message
14489
14490 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14491
14492         * gst/gstinfo.h:
14493           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14494         * docs/gst/tmpl/gstreamer-unused.sgml:
14495           removed all traces of cvs conflicts
14496
14497 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14498
14499         * configure.ac:
14500         * gst/schedulers/cothreads_compat.h:
14501         * libs/Makefile.am:
14502           remove last instances of wingo cothread usage
14503
14504 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14505
14506         * gst/gstplugin.c:
14507         * gst/gstversion.h.in:
14508         * gst/parse/grammar.y:
14509           change comment block from /** to /* when not gtk-doc comments
14510
14511 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14512
14513         * gst/gst.c: whitespace and doc style fixes
14514
14515 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14516
14517         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14518
14519 2003-12-24  Colin Walters  <walters@verbum.org>
14520
14521         * gst/elements/gsttypefindelement.c:
14522           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14523           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14524           Don't double-free caps.
14525
14526 2003-12-23  David Schleef  <ds@schleef.org>
14527
14528         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14529           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14530           Many little fixes and additions of debug statements to
14531           get rhythmbox working.
14532
14533 2003-12-23  Colin Walters  <walters@verbum.org>
14534
14535         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14536         Use GST_PAD_LINK_SUCCESSFUL.
14537
14538 2003-12-23  David Schleef  <ds@schleef.org>
14539
14540         * gst/elements/gstaggregator.c:
14541         * gst/elements/gsttee.c:
14542           Use gst_pad_proxy_getcaps().
14543         * gst/gstpad.c:
14544         * gst/gstpad.h:
14545           Add gst_pad_proxy_getcaps(), which filter elements can use
14546           as a generic getcaps implementation.
14547           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14548           was advertised.
14549
14550 2003-12-23  David Schleef  <ds@schleef.org>
14551
14552         * gst/gstpad.c:
14553           Rearrange/rewrite much of the pad negotiation code, since it
14554           resembled pasta.  This actually changes the way some
14555           negotiation works, since the previous code was inconsistent
14556           depending on how it was invoked.  Add (internal) structure
14557           GstPadLink, which is used to hold some information (more in
14558           the future) about the link between two pads.  Fixes a number
14559           of bugs, including random lossage of filter caps when the
14560           initial negotiation is delayed.  A few functions are still
14561           unimplemented.
14562         * gst/gstpad.h:
14563           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14564           these when testing GstPadLinkReturn values instead of comparing
14565           directly.
14566
14567 2003-12-23  David Schleef  <ds@schleef.org>
14568
14569         * gst/gstvalue.c: 
14570         * gst/gstvalue.h:
14571           Rearrange lots of code.  Change registration of compare function
14572           into registration of compare/serialize/deserialize functions.
14573           Doesn't include implementation of gst_value_[de]serialize(),
14574           but that should be easy.
14575
14576 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14577
14578         * docs/gst/gstreamer-sections.txt:
14579         * docs/gst/tmpl/gstprops.sgml: removed
14580         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14581           David removed props and caps code, so let's remove their docs as well.
14582           Removed all no longer existing symbols from gstreamer-sections.txt
14583           
14584 2003-12-22  Colin Walters  <walters@verbum.org>
14585
14586         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14587           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14588           of tags directly.
14589
14590 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14591
14592         * gst/elements/gstelements.c:
14593           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14594         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14595           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14596           gst_caps (peer).
14597
14598 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14599
14600         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14601         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14602         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14603         (gst_spider_identity_sink_loop_type_finding):
14604         * gst/autoplug/gstspideridentity.h:
14605           Fix autoplugging in spider element, so it works with new caps.
14606           This was mainly caused by identifying empty caps incorrectly.
14607
14608 2003-12-22  David Schleef  <ds@schleef.org>
14609
14610         * gststructure.c, gstvalue.c, gstvalue.h: Add
14611           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14612           using g_value_copy()
14613
14614 2003-12-21  David Schleef  <ds@schleef.org>
14615
14616         * many, many files: Merge CAPS branch.  This includes:
14617           - implemention of GstValue and several GstValue types
14618           - implemention of GstStructure
14619           - entire rewrite of GstCaps
14620           - removal of GstProps
14621           - many changes to GstPad to compensate for new caps paradigm
14622           - removal of GstBufferpool
14623         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14624         gstvalue.h, gst/gstcaps[2]*.[ch]:
14625           - rename gstcaps2.[ch] to gstcaps.[ch]
14626
14627 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14628
14629         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14630         (gst_queue_chain), (gst_queue_handle_src_event):
14631           implement timeout for sending events. Workaround for if the
14632           pipeline on this queue is not passing any data.
14633
14634 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14635                                                                                 
14636         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14637         * moved CVS to freedesktop.org