gst/gstbin.h: removed ';' from the end of macro defs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gstbin.h:
4           removed ';' from the end of macro defs
5         * docs/gst/gstreamer-docs.sgml:
6         * docs/gst/gstreamer-sections.txt:
7         * docs/gst/tmpl/.cvsignore:
8         * gst/gstbus.h:
9         * gst/gstelement.c: (gst_element_class_init),
10         (gst_element_set_state), (activate_pads),
11         (gst_element_save_thyself):
12         * gst/gstevent.c: (gst_event_new_newsegment):
13         * gst/gstevent.h:
14         * gst/gstiterator.c:
15         * gst/gstiterator.h:
16         * gst/gstpad.c:
17         * gst/gstprobe.h:
18         * gst/gstutils.c: (gst_pad_query_convert):
19         * gst/gstutils.h:
20           fixed parameter name mismatches between source, header and docs
21           added some more docs, resolved the last batch of unused elements in
22           docs (now someone needs to doc them)
23
24 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25
26         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
27         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
28           don't walk through the plugins backwards.  Where is all this
29           reversed logic coming from ?
30
31 2005-08-25  Wim Taymans  <wim@fluendo.com>
32
33         * gst/base/gstbasetransform.c: (gst_base_transform_init),
34         (gst_base_transform_transform_size),
35         (gst_base_transform_configure_caps),
36         (gst_base_transform_get_unit_size),
37         (gst_base_transform_buffer_alloc),
38         (gst_base_transform_change_state):
39         * gst/base/gstbasetransform.h:
40         Cache caps unit_size.
41         Make sure we cannot negotiate up and downstream at the
42         same time.
43
44 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * gst/gst.c: (init_pre), (init_post):
47           register the installed plugin path after the env var
48         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
49         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
50           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
51           directories, so the tests can prefer uninstalled over installed
52
53 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
54
55         * gst/base/gstbasetransform.h:
56           comment
57         * gst/gstpad.c:
58           add to docs
59
60 2005-08-25  Wim Taymans  <wim@fluendo.com>
61
62         * gst/gstbin.c: (bin_bus_handler):
63         Be a bit more conservative about the posted message.
64         
65         * gst/gstbus.c: (gst_bus_post):
66         Some cleanups, warn wrong return values.
67
68 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
69
70         * check/gst/gstbin.c: (GST_START_TEST):
71         * gst/gstbin.c: (bin_bus_handler):
72         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
73         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
74         (gst_message_new_warning), (gst_message_new_tag),
75         (gst_message_new_state_changed), (gst_message_new_segment_start),
76         (gst_message_new_segment_done), (gst_message_new_custom):
77         * gst/gstmessage.h:
78         * tools/gst-launch.c: (event_loop):
79         * tools/gst-md5sum.c: (event_loop):
80           Revert unpopular change for GST_MESSAGE_SRC to GObject.
81
82 2005-08-25  Wim Taymans  <wim@fluendo.com>
83
84         * check/generic/states.c: (GST_START_TEST):
85         Cleanup can be done at the end.
86
87         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
88         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
89         (gst_task_get_state), (gst_task_start), (gst_task_pause):
90         Oh boy.. Thanks for finding this, Thomas. 
91
92 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
93
94         * docs/gst/gstreamer.types:
95           added missing types
96
97 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
98
99         * docs/gst/gstreamer-docs.sgml:
100         * docs/gst/gstreamer-sections.txt:
101         * docs/gst/tmpl/.cvsignore:
102         * gst/gstbin.c:
103         * gst/gstiterator.c:
104         * gst/gstutils.c:
105         * gst/registries/gstxmlregistry.h:
106           added miissing classes and symbols (123 more to go)
107           removed removed symbols from section file
108           fixed many doc-comments
109
110 2005-08-24  Wim Taymans  <wim@fluendo.com>
111
112         * check/generic/states.c: (GST_START_TEST):
113         Make sure all tasks are stopped.
114
115         * check/gst/gstbin.c: (GST_START_TEST):
116         Unref after usage for proper valgrinding.
117
118         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
119         Really wait for the task to stop before destroying the
120         mutex.
121
122         * gst/gstqueue.c: (gst_queue_sink_activate_push),
123         (gst_queue_src_activate_push):
124         Small cleanups. Don't stop the task when we did not start
125         it.
126
127         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
128         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
129         (gst_task_get_state), (gst_task_start), (gst_task_pause),
130         (gst_task_join):
131         * gst/gsttask.h:
132         Protect the stream lock with the object lock.
133         Disallow setting the stream lock when running.
134         Add cleanup_all to wait for the threadpool to finish.
135         Remove code to autoallocate a mutex if none was provided.
136         Add _join() to wait for a task to stop.
137         Protect the thread pool with a global lock.
138
139 2005-08-24  Wim Taymans  <wim@fluendo.com>
140
141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
142         (gst_base_sink_get_times), (gst_base_sink_do_sync),
143         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
144         * gst/base/gstbasesink.h:
145         Handle newsegment events correctly.
146         Drop buffers out of the segment range.
147
148 2005-08-22  Andy Wingo  <wingo@pobox.com>
149
150         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
151         macro, implements an interface and gstimplementsinterface for a
152         new type.
153
154 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
155
156         * check/Makefile.am:
157         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
158           add a test that does a bunch of state changes on elements
159           needs some fixing for valgrind
160         * check/states/sinks.c: (gst_object_suite):
161           whitespace
162         * gst/gstcaps.h:
163           add prototype for gst_caps_is_equal_fixed
164         * gst/gstplugin.c:
165         * gst/gstregistrypool.c:
166           doc fixes
167
168 2005-08-24  Andy Wingo  <wingo@pobox.com>
169
170         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
171         convert a negative value. Doesn't make much sense. Mostly this is
172         here to force callers to ensure -1 maps to -1.
173
174 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
175
176         * docs/pwg/advanced-types.xml:
177           Well done to Michael for catching my deliberate introduction
178           of this spelling mistake. 
179         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
180         * gst/gstelement.h:
181           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
182           unlink pads before removing the element from the bin.
183
184 2005-08-24  Andy Wingo  <wingo@pobox.com>
185
186         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
187         the same thing as GST_DEBUG=*:4.
188         (parse_debug_level, parse_debug_category): New helper parsers.
189
190 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
191
192         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
193         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
194         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
195         (gst_base_transform_buffer_alloc),
196         (gst_base_transform_handle_buffer):
197           use gboolean return values and pointers to size so we can use the
198           full GST_BUFFER_SIZE range (guint) for buffer sizes
199           use GstPadDirection for transform_caps
200         * gst/base/gstbasetransform.h:
201           rename get_size to get_unit_size since that's what it is
202         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
203           use GstPadDirection for transform_caps
204         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
205         * gst/gstutils.h:
206           cleanup and debugging
207
208 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
209
210         * gst/gstelement.c: (gst_element_class_init),
211         (gst_element_set_state), (activate_pads),
212         (gst_element_save_thyself):
213         * tools/gst-compprep.c: (main):
214         * tools/gst-inspect.c: (print_element_properties_info):
215         * tools/gst-xmlinspect.c: (print_element_properties):
216           Fixed long standing mem-leak
217
218 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
219
220         * check/gst/gstbin.c: (GST_START_TEST):
221         * gst/gstbin.c: (bin_bus_handler):
222         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
223         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
224         (gst_message_new_warning), (gst_message_new_tag),
225         (gst_message_new_state_changed), (gst_message_new_segment_start),
226         (gst_message_new_segment_done), (gst_message_new_custom):
227         * gst/gstmessage.h:
228         * tools/gst-launch.c: (event_loop):
229         * tools/gst-md5sum.c: (event_loop):
230           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
231           that applications can sensibly post custom messages with references
232           to their own objects.
233
234 2005-08-24  Andy Wingo  <wingo@pobox.com>
235
236         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
237         already.
238
239 2005-08-24  Wim Taymans  <wim@fluendo.com>
240
241         * gst/base/gstbasetransform.c: (gst_base_transform_init),
242         (gst_base_transform_transform_caps),
243         (gst_base_transform_transform_size),
244         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
245         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
246         (gst_base_transform_handle_buffer):
247         * gst/base/gstbasetransform.h:
248         Many fixes and new features added by Thomas. Can now also do
249         transforms with variable sizes and a custom fixate_caps function.
250
251 2005-08-24  Wim Taymans  <wim@fluendo.com>
252
253         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
254         Some debugging.
255
256         * gst/gstclock.h:
257         Cast to ClockTime before formatting to time.
258
259         * gst/gstutils.h:
260         Cleanups.
261
262 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
263
264         * check/gst-libs/controller.c: (GST_START_TEST),
265         (gst_controller_suite):
266         * docs/gst/tmpl/gstcaps.sgml:
267         * docs/gst/tmpl/gstghostpad.sgml:
268         * docs/gst/tmpl/gstquery.sgml:
269         * docs/gst/tmpl/gstutils.sgml:
270         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
271         (gst_object_sink_values), (gst_object_get_value_arrays),
272         (gst_object_get_value_array):
273           gracefully handle helper method calls to objects that are not beeing
274           controlled, added test case for that          
275
276 2005-08-23  Wim Taymans  <wim@fluendo.com>
277
278         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
279         (gst_event_new_newsegment), (gst_event_parse_newsegment),
280         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
281         (gst_event_parse_qos), (gst_event_new_seek),
282         (gst_event_parse_seek):
283         * gst/gstevent.h:
284         Some more debugging output and doc cleanups.
285
286         * gst/gstqueue.c: (gst_queue_handle_sink_event):
287         Fix possible deadlock.
288
289 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
290
291         * docs/gst/gstreamer-docs.sgml:
292         * docs/gst/gstreamer-sections.txt:
293         * docs/gst/gstreamer.types:
294         * docs/gst/tmpl/.cvsignore:
295         * gst/gstbin.h:
296         * gst/gstbus.c:
297         * gst/gstelement.c:
298         * gst/gstevent.h:
299           added about 100 symbols from gstreamer-unused.txt to the right sections
300           fixed more broken comments
301           added GstBus to docs
302
303 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
304
305         * docs/gst/gstreamer-sections.txt:
306         * docs/gst/tmpl/.cvsignore:
307         * docs/gst/tmpl/gstbin.sgml:
308         * docs/gst/tmpl/gstbuffer.sgml:
309         * gst/base/gstbasesrc.c:
310         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
311         * gst/gstbuffer.c:
312         * gst/gstbuffer.h:
313         * tools/gst-launch.1.in:
314           inlined more doc comments, added missing comments and fixed comments
315           fixed typos
316
317 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
318
319         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
320           some debugging
321         * gst/gstcaps.h:
322           whitespace fixes
323         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
324           more debugging
325         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
326         * gst/gststructure.h:
327           add a fixate function for booleans; add a FIXME that these func
328           names should probably be gst_structure_fixate_*
329
330 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
331
332         * docs/gst/gstreamer-docs.sgml:
333         * docs/gst/gstreamer-sections.txt:
334         * gst/Makefile.am:
335         * gst/gstbin.c: (gst_bin_get_type),
336         (gst_bin_child_proxy_get_child_by_index),
337         (gst_bin_child_proxy_get_children_count),
338         (gst_bin_child_proxy_init):
339         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
340         (gst_child_proxy_get_child_by_index),
341         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
342         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
343         (gst_child_proxy_get), (gst_child_proxy_set_property),
344         (gst_child_proxy_set_valist), (gst_child_proxy_set),
345         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
346         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
347         * gst/gstchildproxy.h:
348         * gst/parse/grammar.y:
349         * tools/gst-inspect.c: (print_interfaces),
350         (print_element_properties_info), (print_element_info):
351          ported gstchildproxy over from 0.8
352          ported gst-inspect fixes and enhancements over from 0.8
353
354 2005-08-22  Wim Taymans  <wim@fluendo.com>
355
356         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
357         (gst_base_transform_handle_buffer):
358         Also call the transform function if we have ANY caps.
359
360         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
361         Fix debug info.
362
363 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
364
365         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
366           Don't pretend to handle seek events if the source is not seekable
367
368 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
369
370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
371           Remove extra parameter to debug output
372
373         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
374         (gst_base_src_do_seek), (gst_base_src_activate_push):
375           Fix seek event handling.
376
377         * gst/gstpipeline.c: (gst_pipeline_change_state):
378         * gst/gstqueue.c: (gst_queue_handle_sink_event),
379         (gst_queue_src_activate_push):
380           Don't start the src pad task on FLUSH_STOP if the pad
381           isn't linked.
382           Debug changes.
383
384 2005-08-22  Wim Taymans  <wim@fluendo.com>
385
386         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
387         Added check for gst_static_caps_get() refcounting.
388
389 2005-08-22  Wim Taymans  <wim@fluendo.com>
390
391         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
392         Make _static_caps_get() refcounting sane.
393         
394         * gst/gstelement.c: (gst_element_set_state):
395         Add g_return_val_if_fail() to protect against segfaults.
396
397 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
398
399         * docs/gst/tmpl/gstevent.sgml:
400         * gst/gstevent.c:
401         * gst/gstevent.h:
402           inlined remaining docs, added missing doc comments
403
404 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * check/gst/gstbin.c: (GST_START_TEST):
407           since we don't know when preroll is done, use refcount range
408           check for the sink
409         * gst/check/gstcheck.h:
410           add macro for checking refcount range
411
412 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
413
414         * check/Makefile.am:
415           clean up environment for when registry gets built versus
416           when actual tests are run; valgrind seems to not report
417           leaks if GST_PLUGIN_PATH is set to some specific values
418         * check/gst/gstbin.c: (GST_START_TEST):
419           add more refcounting checks; maybe this exposes a
420           preroll lock bug ?
421         * common/check.mak:
422         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
423         * gst/check/gstcheck.h:
424         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
425         (gst_bin_change_state):
426         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
427           add/fix debugging/whitespace
428
429 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
430
431         * check/gst/gstevent.c: (event_probe), (test_event),
432         (GST_START_TEST):
433          Er, don't call gst_bin_watch_for_state_change you idiot.
434
435 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
436
437         * check/Makefile.am:
438           Use CHECK_CFLAGS and CHECK_LIBS
439         * check/gst/gstevent.c: (event_probe), (test_event),
440         (GST_START_TEST):
441           Don't leak events.
442         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
443         (gst_base_src_start), (gst_base_src_stop),
444         (gst_base_src_activate_push), (gst_base_src_activate_pull),
445         (gst_base_src_change_state):
446           Sprinkle gst_base_src_stop liberally around error paths to fix
447           problems reusing a source after failed state changes.
448         * gst/base/gsttypefindhelper.c: (helper_find_peek),
449         (helper_find_suggest), (gst_type_find_helper):
450           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
451         * gst/gstevent.h:
452         * docs/gst/tmpl/gstevent.sgml:
453           Migrate part of the docs from the SGML file. Wait for ensonic to
454           tell me how I did it wrong ;)
455         * tools/gst-typefind.c: (main):
456           Extra robustness to state changes between files.
457
458 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * check/Makefile.am:
461           don't valgrind the controller test - it's leaking - Stefan, HELP
462         * gst/check/gstcheck.c: (gst_check_message_error),
463         (gst_check_chain_func), (gst_check_setup_element),
464         (gst_check_teardown_element), (gst_check_setup_src_pad),
465         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
466         (gst_check_teardown_sink_pad):
467         * gst/check/gstcheck.h:
468           add a bunch of methods to set up elements, and src and sink pads
469         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
470         * check/elements/identity.c: (setup_identity), (cleanup_identity),
471         (GST_START_TEST):
472           use them
473         * gst/gstmessage.c:
474         * gst/gsttag.h:
475           whitespace/doc fixes
476
477 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
478
479         * gst/gstelement.h:
480           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
481           be handled by the application and not always printed as well
482
483 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
484
485         * check/Makefile.am:
486           set GST_TOOLS_DIR
487         * gst/check/gstcheck.c: (gst_check_message_error):
488         * gst/check/gstcheck.h:
489           add a fail_unless_equals_int
490           add fail_unless for error messages
491
492 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
493
494         * check/Makefile.am:
495         * check/gst.supp:
496         * common/Makefile.am:
497         * common/check.mak:
498         * common/gst.supp:
499           factor out some of the common stuff so we can use it
500
501 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * check/Makefile.am:
504         * check/gst/gstiterator.c: (GST_START_TEST):
505         * check/gst/gstsystemclock.c: (GST_START_TEST),
506         (gst_systemclock_suite):
507         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
508         * gst/gstclock.c:
509           valgrind more tests
510
511 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
512
513         * check/elements/.cvsignore:
514         * check/elements/gstfakesrc.c:
515           rename to name of element
516         * check/elements/identity.c: (chain_func), (event_func),
517         (setup_identity), (cleanup_identity), (GST_START_TEST),
518         (identity_suite), (main):
519           add a test for identity
520         * check/Makefile.am:
521         * pkgconfig/Makefile.am:
522         * pkgconfig/gstreamer-check.pc.in:
523         * pkgconfig/gstreamer-check-uninstalled.pc.in:
524         * gst/check:
525         * gst/Makefile.am:
526         * configure.ac:
527           move the check stuff to a library that gets installed
528         * check/gst-libs/controller.c: (GST_START_TEST):
529         * check/gst-libs/gdp.c:
530         * check/gst/gst.c: (GST_START_TEST):
531         * check/gst/gstbin.c:
532         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
533         * check/gst/gstbus.c:
534         * check/gst/gstcaps.c: (GST_START_TEST):
535         * check/gst/gstelement.c:
536         * check/gst/gstghostpad.c:
537         * check/gst/gstiterator.c:
538         * check/gst/gstmessage.c:
539         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
540         * check/gst/gstobject.c:
541         * check/gst/gstpad.c: (GST_START_TEST):
542         * check/gst/gststructure.c: (GST_START_TEST):
543         * check/gst/gstsystemclock.c: (GST_START_TEST),
544         (gst_systemclock_suite):
545         * check/gst/gsttag.c: (gst_tag_suite):
546         * check/gst/gstvalue.c:
547         * check/pipelines/cleanup.c:
548         * check/pipelines/simple_launch_lines.c:
549         * check/states/sinks.c:
550           change include statement
551
552         * docs/gst/gstreamer-sections.txt:
553         * docs/gst/tmpl/gstpad.sgml:
554           document more pad stuff
555         * gst/gstminiobject.c: (gst_mini_object_ref),
556         (gst_mini_object_unref):
557           debug refcounting
558
559 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
560
561         * docs/gst/tmpl/gst.sgml:
562         * gst/gst.c:
563           eliminate another tmpl file, fix spelling in the long-description
564
565 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
566
567         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
568         (test_event), (timediff), (gstevents_suite):
569           Should fix build on 64-bit arch's
570
571 2005-08-18  Andy Wingo  <wingo@pobox.com>
572
573         Make sure that when a pipeline goes to PLAYING, that data has
574         actually hit the sink.
575
576         * check/states/sinks.c (test_sink): A sink that doesn't get any
577         data shouldn't return SUCCESS for going to either PLAYING or
578         PAUSED. Test also the return values on the way back down.
579
580         * gst/gstelement.c (gst_element_set_state): When changing the
581         state of an element currently changing state asynchronously, go to
582         lost-state after commiting the pending state. Makes future calls
583         to get_state continue to return ASYNC.
584
585         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
586         ASYNC when going to PLAYING if we still don't have preroll, as can
587         happen with live sources.
588
589 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
590
591         * docs/pwg/advanced-types.xml:
592           Hack long paragraph into 2 chunks as a workaround for buggy
593           jadetex version in sid and breezy that loops infinitely and
594           eats all RAM.
595
596 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
597
598         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
599         (test_event), (timediff), (gstevents_suite):
600           Provide more error margin in clock measurements to allow for 
601           g_get_current_time inaccuracies.
602
603 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
604
605         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
606         (test_event), (timediff), (gstevents_suite):
607            Fix error message output so I might be able to tell why the
608            test works here but fails on the build farm.
609
610 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
611
612         * check/Makefile.am:
613         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
614         (test_event), (timediff), (gstevents_suite), (main):
615           I wrote a test!
616
617         * docs/design/part-seeking.txt:
618           Spelling correction
619
620         * docs/gst/tmpl/gstevent.sgml:
621         * docs/gst/tmpl/gstfakesrc.sgml:
622           Docs updates.
623
624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
625           Treat a buffer-without-newsegment the same as a receiving 
626           a newsegment not in time format, and disable syncing to the clock
627           with a warning.
628
629         * gst/gstbus.c: (gst_bus_set_sync_handler):
630           Assert if anyone tries to replace the existing sync_handler for bus, 
631           as only the owner should be setting it.
632
633         * gst/gstevent.h:
634           Have a fixed set of custom event enums with events identified by
635           their structure name (as in 0.8), rather than a free-for-all
636           allowing collisions between enum values from different plugins.
637
638         * gst/gstpad.c: (gst_pad_class_init):
639           Docs change.
640           
641         * gst/gstqueue.c: (gst_queue_handle_sink_event):
642           Handle out-of-band downstream events from the sending thread.
643
644 2005-08-17  Andy Wingo  <wingo@pobox.com>
645
646         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
647         play-timeout==0 to mean no timeout at all. In that case, don't
648         bother with a get_state or a warning, just return directly, even
649         if it's ASYNC.
650
651         * gst/base/gstbasetransform.c: Debug changes.
652
653         * gst/gstutils.h:
654         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
655         ensure bins post state change messages. A bit of a hack but I can't
656         think of a way to avoid it.
657
658         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
659
660 2005-08-16  Andy Wingo  <wingo@pobox.com>
661
662         * gst/base/gstadapter.h:
663         * gst/base/gstadapter.c (gst_adapter_take): New function, like
664         peek() but you own the data. Not terribly efficient atm.
665
666 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
667
668         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
669         (gst_element_found_tags):
670         * gst/gstutils.h:
671           Add two utility functions for tag handling.
672
673 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
674
675         * docs/manual/advanced-dataaccess.xml:
676         * docs/manual/basics-helloworld.xml:
677           Fix docs to use _bin_add() before _link(), which fixes the examples
678           with recent core versions (reported by Madhan Raj M
679           <raj_madan@rediffmail.com>, #313199).
680
681 2005-08-16  Wim Taymans  <wim@fluendo.com>
682
683         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
684         Added subtract checks.
685
686         * docs/design/part-events.txt:
687         Some more docs about newsegment
688
689         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
690         Fix FIXME
691
692         * gst/gstcaps.c: (gst_caps_to_string):
693         Add comments, cleanups.
694         
695         * gst/gstelement.c: (gst_element_save_thyself):
696         cleanups
697         
698         * gst/gstvalue.c: (gst_value_collect_int_range),
699         (gst_string_unwrap), (gst_value_union_int_int_range),
700         (gst_value_union_int_range_int_range),
701         (gst_value_intersect_int_int_range),
702         (gst_value_intersect_int_range_int_range),
703         (gst_value_intersect_double_double_range),
704         (gst_value_intersect_double_range_double_range),
705         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
706         (gst_value_subtract_int_range_int),
707         (gst_value_subtract_double_range_double),
708         (gst_value_subtract_double_range_double_range),
709         (gst_value_subtract_from_list), (gst_value_subtract_list),
710         (gst_value_can_compare), (gst_value_compare_fraction):
711         Cleanups, add comments, remove unneeded asserts.
712
713 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
714
715         * tools/gst-launch.c: (event_loop):
716           don't convert NULL structures to strings
717
718 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
719
720         * docs/gst/gstreamer-sections.txt:
721           made some defines private
722         * docs/gst/tmpl/gstconfig.sgml:
723         * docs/gst/tmpl/gstqueue.sgml:
724         * docs/gst/tmpl/gsttaglist.sgml:
725         * docs/gst/tmpl/gsttypes.sgml:
726         * docs/gst/tmpl/gstutils.sgml:
727         * docs/pwg/appendix-porting.xml:
728         * gst/base/gstbasesink.h:
729         * gst/base/gstbasesrc.c:
730         * gst/base/gstbasesrc.h:
731         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
732         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
733         * gst/gstelement.c: (gst_element_class_init):
734         * gst/gstpad.c: (gst_pad_class_init):
735         * gst/gstqueue.c: (gst_queue_class_init):
736         * gst/gstxml.c: (gst_xml_class_init):
737           documented all undocumented signal inline
738         * libs/gst/controller/gst-controller.h:
739           added padding
740
741 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
742
743         * docs/pwg/appendix-porting.xml:
744           Document _set_link_function -> _set_setcaps_function.
745
746 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
747
748         * check/Makefile.am:
749           add a .check target for running the check
750         * check/gst-libs/controller.c: (GST_START_TEST):
751           cosmetic fixups
752         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
753           complete checks for gstbuffer; would be nice if I could get the
754           gcov stuff to work so I can see if I actually completed gstbuffer.c
755         * check/gstcheck.h:
756           add ASSERT_BUFFER_REFCOUNT
757
758 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
759
760         * docs/gst/gstreamer-sections.txt:
761         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
762         * gst/gsttag.h:
763           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
764           spew out a warning if a tag that is already registered
765           is re-registered, unless it is re-registered with a 
766           different type (#308438).
767
768 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
769
770         * docs/pwg/appendix-porting.xml:
771         * docs/pwg/building-state.xml:
772           Add some paragraphs about state changes in 0.9 to the PWG
773           and the porting guide, in particular about the new meaning
774           of GST_STATE_PAUSED and how to write state change functions
775           with concurrent access by multiple threads in mind.
776
777 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
778
779         * docs/gst/gstreamer-docs.sgml:
780         * docs/libs/gstreamer-libs-docs.sgml:
781           added deprecation and since indexes
782         * libs/gst/controller/gst-controller.c:
783         * libs/gst/controller/gst-helper.c:
784           added since tags
785
786
787 2005-08-11  Wim Taymans  <wim@fluendo.com>
788
789         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
790         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
791         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
792         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
793         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
794         (gst_ghost_pad_set_target):
795         Actually implement (re)setting the target on a ghostpad
796         as described in the docs.
797
798 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
799
800         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
801           Check whether GST_DEBUG_NO_COLOR environment variable is
802           set and disable coloured debug output if that is the case.
803
804 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
805
806         * gst/base/gsttypefindhelper.c: (helper_find_peek),
807         (gst_type_find_helper):
808           The memory returned by gst_type_find_peek() needs to
809           stay valid until the end of a typefind function, and
810           typefind functions may keep results from different 
811           offsets around, so we can't just unref the buffer from
812           the previous _peek(), but have to save all buffers 
813           returned by _peek() until typefinding is done and only
814           free them then.
815
816 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
817
818         * docs/gst/gstreamer-sections.txt:
819         * gst/gstutils.h:
820           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
821
822 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
823
824         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
825           Fix a pretty good memleak.
826
827 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
828
829         * gst/gstiterator.h:
830           Fix wrong include and 'make distcheck'.
831
832 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
833
834         * gst/gstbin.c: (bin_bus_handler):
835           Use gst_element_post_message() instead.
836
837 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
838
839         * gst/base/gstadapter.h:
840         * gst/base/gstbasesink.h:
841         * gst/base/gstbasesrc.h:
842         * gst/base/gstbasetransform.h:
843         * gst/base/gstcollectpads.h:
844         * gst/base/gstpushsrc.h:
845         * gst/gstiterator.h:
846           Add padding to our base elements' class and instance structs and
847           to GstIterator (you will need to rebuild all plugins and apps!)
848
849 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
850
851         * gst/gstbin.c: (bin_bus_handler):
852           Make default message forwarding from child->bus to bin->bus
853           threadsafe and make it not emit warnings if the parent has no bus.
854
855 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
856
857         * gst/gstelement.c: (activate_pads):
858           On paused->ready, set pad->caps to NULL, as is the documented
859           behaviour in this state change. Fixes playback of series of
860           media files when visualization is enabled in Totem.
861
862 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
863
864         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
865           Allow NULL as filter-caps (which means "any").
866
867 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
868
869         * docs/libs/gstreamer-libs-sections.txt:
870         * libs/gst/controller/gst-controller.c:
871         * libs/gst/controller/gst-controller.h:
872         * libs/gst/controller/gst-helper.c:
873           adding more entries to the docs and fix small doc-bugs
874
875 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
876
877         * docs/gst/gstreamer-docs.sgml:
878         * docs/gst/gstreamer-sections.txt:
879         * docs/gst/gstreamer.types:
880         * docs/gst/tmpl/gstbasesink.sgml:
881         * docs/gst/tmpl/gstbasesrc.sgml:
882         * docs/gst/tmpl/gstbasetransform.sgml:
883         * docs/gst/tmpl/gstfakesrc.sgml:
884         * gst/base/gstcollectpads.c:
885         * gst/base/gstcollectpads.h:
886         * libs/gst/controller/gst-controller.c:
887         * libs/gst/controller/gst-controller.h:
888         * libs/gst/controller/gst-helper.c:
889         * libs/gst/controller/gst-interpolation.c:
890         * libs/gst/controller/lib.c:
891           added long/short desc for controller docs
892           added collectpads base class docs
893           added correct includes to base-class docs
894
895 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
896
897         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
898         (gst_test_mono_source_set_property),
899         (gst_test_mono_source_class_init), (GST_START_TEST),
900         (gst_controller_suite):
901         * docs/gst/gstreamer-docs.sgml:
902         * docs/gst/gstreamer-sections.txt:
903         * docs/gst/gstreamer.types:
904         * docs/libs/gstreamer-libs-docs.sgml:
905         * docs/libs/gstreamer-libs-sections.txt:
906         * gst/base/gstadapter.c:
907         * libs/gst/controller/gst-controller.c:
908         (gst_controlled_property_new), (gst_controlled_property_free),
909         (gst_controller_new_valist),
910         (gst_controller_remove_properties_valist),
911         (gst_controller_sink_values), (_gst_controller_finalize):
912         * libs/gst/controller/gst-controller.h:
913         * libs/gst/controller/gst-helper.c:
914         (gst_object_control_properties), (gst_object_uncontrol_properties),
915         (gst_object_get_controller), (gst_object_set_controller),
916         (gst_object_sink_values), (gst_object_get_value_arrays),
917         (gst_object_get_value_array):
918           more tests (and fixes) for the controller
919           more docs for the controller
920           integrated companies docs for the adapter 
921
922 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
923
924         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
925         (GST_START_TEST), (fakesrc_suite):
926           add tests for sizetype
927
928 2005-08-04  Andy Wingo  <wingo@pobox.com>
929
930         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
931         fixes buffer_alloc proxying among other things.
932
933         * gst/base/gstbasetransform.c:
934         * gst/base/gstbasetransform.h:
935         Revert patch to gstbasetransform from 7-28 removing
936         delay_configure.
937
938         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
939         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
940         Semantics changed, should return not the size of the output buffer
941         but the byte size of a buffer with a given caps.
942
943         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
944         debug object.
945         (gst_base_transform_configure_caps): Don't set out_size here: (in,
946         out) are not the pad caps until setcaps finishes.
947         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
948         not-in-place case as well. Deal with changing from in-place to
949         not-in-place within calling pad_alloc_buffer. Still a bit
950         concerned about the overhead here...
951
952 2005-08-03  Andy Wingo  <wingo@pobox.com>
953
954         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
955         fixating is an error.
956
957 2005-08-04  Edward Hervey  <edward@fluendo.com>
958
959         * gst/base/gstadapter.h: 
960         Added gst_adapter_get_type() to the header
961
962 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
963
964         * check/Makefile.am:
965         * check/gst-libs/controller.c:
966         * libs/gst/controller/gst-controller.c:
967         (gst_controller_new_valist):
968           added check test suite for the controller
969         * gst/base/gstpushsrc.c:
970           fixed a doc typo
971
972 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
973
974         * docs/gst/Makefile.am:
975         * docs/gst/gstreamer-docs.sgml:
976         * docs/gst/gstreamer-sections.txt:
977         * docs/gst/gstreamer.types:
978         * docs/gst/tmpl/gstfakesrc.sgml:
979         * gst/base/README:
980         * gst/base/gstbasesink.c:
981         * gst/base/gstbasesink.h:
982         * gst/base/gstbasesrc.c:
983         * gst/base/gstbasesrc.h:
984         * gst/base/gstbasetransform.c:
985         * gst/base/gstpushsrc.c:
986         * gst/base/gstpushsrc.h:
987           add short/long description docs to base classes
988           add pushsrc to the docs
989           remove consolidated doc fragments
990
991 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
992
993         * configure.ac:
994         * docs/libs/Makefile.am:
995         * docs/libs/gstreamer-libs-docs.sgml:
996         * docs/libs/gstreamer-libs-sections.txt:
997         * docs/libs/gstreamer-libs.types:
998         * examples/Makefile.am:
999         * examples/controller/.cvsignore:
1000         * examples/controller/Makefile.am:
1001         * examples/controller/audio-example.c: (main):
1002         * libs/gst/Makefile.am:
1003         * libs/gst/controller/.cvsignore:
1004         * libs/gst/controller/Makefile.am:
1005         * libs/gst/controller/gst-controller.c:
1006         (on_object_controlled_property_changed), (gst_timed_value_compare),
1007         (gst_timed_value_find),
1008         (gst_controlled_property_set_interpolation_mode),
1009         (gst_controlled_property_new), (gst_controlled_property_free),
1010         (gst_controller_find_controlled_property),
1011         (gst_controller_new_valist), (gst_controller_new),
1012         (gst_controller_remove_properties_valist),
1013         (gst_controller_remove_properties), (gst_controller_set),
1014         (gst_controller_set_from_list), (gst_controller_unset),
1015         (gst_controller_get), (gst_controller_get_all),
1016         (gst_controller_sink_values), (gst_controller_get_value_arrays),
1017         (gst_controller_get_value_array),
1018         (gst_controller_set_interpolation_mode),
1019         (_gst_controller_finalize), (_gst_controller_init),
1020         (_gst_controller_class_init), (gst_controller_get_type):
1021         * libs/gst/controller/gst-controller.h:
1022         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1023         (g_object_uncontrol_properties), (g_object_get_controller),
1024         (g_object_set_controller), (g_object_sink_values),
1025         (g_object_get_value_arrays), (g_object_get_value_array):
1026         * libs/gst/controller/gst-interpolation.c:
1027         (gst_controlled_property_find_timed_value_node),
1028         (interpolate_none_get), (interpolate_trigger_get),
1029         (interpolate_trigger_get_value_array):
1030         * libs/gst/controller/lib.c: (gst_controller_init):
1031         * pkgconfig/Makefile.am:
1032         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1033         * pkgconfig/gstreamer-control.pc.in:
1034         * testsuite/Makefile.am:
1035         * testsuite/controller/.cvsignore:
1036         * testsuite/controller/Makefile.am:
1037         * testsuite/controller/interpolator.c: (main):
1038           added controller code
1039           removed dparam pc files
1040
1041 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1042         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1043         (gst_collectpads_stop):
1044           Broadcast the condition when shutting down, to make sure we wake all
1045           threads up. Shut down pads on finalize, for safety.
1046
1047 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1048         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1049         (gst_base_transform_handle_buffer),
1050         (gst_base_transform_change_state):
1051           Handle PAUSED->READY->PAUSED transition after negotiation
1052           occurred already.
1053         * gst/gstmessage.c: (gst_message_init):
1054           Extra piece of debug for new messages.
1055
1056 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1057
1058         * configure.ac:
1059         * docs/gst/tmpl/gstbasesrc.sgml:
1060         * docs/gst/tmpl/gstelement.sgml:
1061         * docs/gst/tmpl/gstevent.sgml:
1062         * docs/gst/tmpl/gstfakesrc.sgml:
1063         * docs/gst/tmpl/gstformat.sgml:
1064         * docs/gst/tmpl/gstghostpad.sgml:
1065         * docs/gst/tmpl/gstpad.sgml:
1066         * docs/gst/tmpl/gstquery.sgml:
1067         * docs/gst/tmpl/gststructure.sgml:
1068         * docs/gst/tmpl/gsttaglist.sgml:
1069         * docs/gst/tmpl/gstvalue.sgml:
1070         * docs/libs/gstreamer-libs-docs.sgml:
1071         * docs/libs/gstreamer-libs-sections.txt:
1072         * docs/libs/gstreamer-libs.types:
1073         * libs/gst/Makefile.am:
1074         * libs/gst/control/.cvsignore:
1075         * libs/gst/control/Makefile.am:
1076         * libs/gst/control/control.c:
1077         * libs/gst/control/control.h:
1078         * libs/gst/control/dparam.c:
1079         * libs/gst/control/dparam.h:
1080         * libs/gst/control/dparam_smooth.c:
1081         * libs/gst/control/dparam_smooth.h:
1082         * libs/gst/control/dparamcommon.h:
1083         * libs/gst/control/dparammanager.c:
1084         * libs/gst/control/dparammanager.h:
1085         * libs/gst/control/dplinearinterp.c:
1086         * libs/gst/control/dplinearinterp.h:
1087         * libs/gst/control/unitconvert.c:
1088         * libs/gst/control/unitconvert.h:
1089         * testsuite/Makefile.am:
1090         * testsuite/dynparams/.cvsignore:
1091         * testsuite/dynparams/Makefile.am:
1092         * testsuite/dynparams/dparamstest.c:
1093         * tools/Makefile.am:
1094         * tools/gst-inspect.c: (print_element_info), (main):
1095         * tools/gst-xmlinspect.c: (print_element_info), (main):
1096           deactivate and remove dparams (libgstcontrol)
1097
1098 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1099
1100         * gst/elements/gsttypefindelement.c:
1101         (gst_type_find_element_have_type), (gst_type_find_element_init),
1102         (stop_typefinding), (gst_type_find_element_handle_event),
1103         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1104         * gst/elements/gsttypefindelement.h:
1105           Set caps on all outgoing buffers, not just the first one.
1106
1107 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1108
1109         * gst/elements/gsttypefindelement.c:
1110         (gst_type_find_element_have_type),
1111         (gst_type_find_element_check_set_buffer_caps),
1112         (gst_type_find_element_init), (stop_typefinding),
1113         (gst_type_find_element_handle_event),
1114         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1115         * gst/elements/gsttypefindelement.h:
1116           Set caps on first outgoing buffer when we've found the type.
1117
1118 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1119
1120         * docs/gst/gstreamer-docs.sgml:
1121         * docs/gst/gstreamer-sections.txt:
1122         * docs/gst/tmpl/gstscheduler.sgml:
1123         * docs/gst/tmpl/gstschedulerfactory.sgml:
1124           Remove some old cruft from docs.
1125
1126 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
1127
1128         * gst/gstpad.h:
1129           Fix inline docs for GstPadLinkReturn.
1130           
1131         * gst/gststructure.c: (gst_structure_has_name):
1132         * gst/gststructure.h:
1133         * docs/gst/gstreamer-sections.txt:
1134           New API: gst_structure_has_name().
1135
1136 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
1137
1138         * configure.ac:
1139           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1140           and _LARGEFILE_SOURCE in config.h as required. Do not 
1141           export those flags in our .pc files any longer (#142209).
1142
1143           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1144
1145         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1146         (gst_file_sink_do_seek), (gst_file_sink_event),
1147         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1148           Redo seek/tell calls with large file support in mind; add some
1149           debugging messages; add log message that tells us when large
1150           file support is unavailable or not enabled for some reason.
1151
1152         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1153           Add log message that tells us when large file support 
1154           is unavailable or not enabled for some reason.
1155
1156 2005-07-29  Wim Taymans  <wim@fluendo.com>
1157
1158         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1159         Added test for removing an element with ghostpad from a bin.
1160         Fixed test as current implementation does the right thing.
1161
1162         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1163         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1164         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1165         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1166         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1167         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1168         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1169         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1170         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1171         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1172         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1173         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1174         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1175         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1176         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1177         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1178         * gst/gstghostpad.h:
1179         Clean up ghostpads, remove properties for internal stuff.
1180         Make threadsafe.
1181         Fix refcounting.
1182         Prepare for switching targets, not all use cases work yet.
1183
1184 2005-07-29  Wim Taymans  <wim@fluendo.com>
1185
1186         * docs/design/part-gstghostpad.txt:
1187         Small update.
1188
1189         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1190         (gst_bin_remove_func):
1191         Unlinking pads while holding the bin LOCK is not a good
1192         idea.
1193
1194         * gst/gstpad.c: (gst_pad_class_init),
1195         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1196         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1197         No prob setting template after creating the pad.
1198
1199 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1200
1201         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1202         (gst_bus_peek), (gst_bus_source_dispatch),
1203         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1204         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1205           gst_bus_poll may be called from other threads. Handle
1206           this nicely by not making poll_data disappear off the
1207           stack once gst_bus_poll returns.
1208           gst_bus_peek now increments the refcount on the returned
1209           message.
1210
1211 2005-07-29  Wim Taymans  <wim@fluendo.com>
1212
1213         * docs/design/part-gstghostpad.txt:
1214         Overview of current GhostPad datastructures and use
1215         cases for changing the target.
1216
1217 2005-07-28  Wim Taymans  <wim@fluendo.com>
1218
1219         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1220         Added checks for hierarchy consistency whan adding linked
1221         elements to bins.
1222
1223         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1224         Added check to test element scheduling without bin/pipeline.
1225
1226         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1227         First add elements to bin, then link.
1228         
1229         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1230         (gst_bin_remove_func):
1231         Unlink pads from elements added/removed from bin to maintain
1232         hierarchy consistency.
1233
1234 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1235
1236         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1237         (gst_base_transform_handle_buffer):
1238         * gst/base/gstbasetransform.h:
1239           Remove broken delay_configure (fixes renegotiation of software
1240           scaling pipelines); remove some leftover printf()s.
1241
1242 2005-07-28  Wim Taymans  <wim@fluendo.com>
1243
1244         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1245         Added some more tests for wrong hierarchy
1246
1247         * docs/design/part-overview.txt:
1248         Some updates.
1249
1250         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1251         Cleanups.
1252
1253         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1254         (gst_element_dispose):
1255         Some more cleanups.
1256
1257         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1258         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1259         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1260         (gst_pad_set_caps), (gst_pad_send_event):
1261         Check for correct hierarchy when linking pads. Moving to
1262         strict requirement for ghostpads when linking elements in
1263         different bins.
1264
1265         * gst/gstpad.h:
1266         Clean ups. Added WRONG_HIERARCHY return value.
1267
1268 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1269
1270         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1271           Better debug if no transform is possible.
1272
1273 2005-07-27  Wim Taymans  <wim@fluendo.com>
1274
1275         * docs/random/wtay/network-transp:
1276         Some old doc I had.
1277
1278 2005-07-27  Wim Taymans  <wim@fluendo.com>
1279
1280         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1281         (gst_dp_event_from_packet):
1282         Fix serialization of seek events.
1283
1284 2005-07-27  Wim Taymans  <wim@fluendo.com>
1285
1286         * check/gst-libs/gdp.c: (GST_START_TEST):
1287         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1288         Fix compilation and fix event serialization.
1289
1290 2005-07-27  Wim Taymans  <wim@fluendo.com>
1291
1292         * CHANGES-0.9:
1293         * docs/design/part-TODO.txt:
1294         * docs/design/part-events.txt:
1295         Some docs updates
1296
1297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1298         (gst_base_sink_event), (gst_base_sink_do_sync),
1299         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1300         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1301         (gst_base_src_do_seek), (gst_base_src_event_handler),
1302         (gst_base_src_loop):
1303         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1304         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1305         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1306         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1307         (gst_base_transform_set_passthrough),
1308         (gst_base_transform_is_passthrough):
1309         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1310         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1311         Event updates.
1312
1313         * gst/gstbuffer.h:
1314         Use faster casts.
1315
1316         * gst/gstelement.c: (gst_element_seek):
1317         * gst/gstelement.h:
1318         Update gst_element_seek.
1319
1320         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1321         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1322         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1323         (gst_event_new_eos), (gst_event_new_newsegment),
1324         (gst_event_parse_newsegment), (gst_event_new_tag),
1325         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1326         (gst_event_parse_qos), (gst_event_new_seek),
1327         (gst_event_parse_seek), (gst_event_new_navigation):
1328         * gst/gstevent.h:
1329         Make GstEvent use GstStructure. Add parsing code, make sure the
1330         API is sufficiently generic.
1331         Mark possible directions of events and serialization.
1332
1333         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1334         (_gst_message_copy), (gst_message_new_segment_start),
1335         (gst_message_new_segment_done), (gst_message_new_custom),
1336         (gst_message_parse_segment_start),
1337         (gst_message_parse_segment_done):
1338         Small cleanups.
1339
1340         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1341         (gst_pad_set_caps), (gst_pad_send_event):
1342         Update for new events. 
1343         Catch events sent in wrong directions.
1344
1345         * gst/gstqueue.c: (gst_queue_link_src),
1346         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1347         (gst_queue_handle_src_query):
1348         Event updates.
1349
1350         * gst/gsttag.c:
1351         * gst/gsttag.h:
1352         Remove event code from this file.
1353
1354         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1355         (gst_dp_event_from_packet):
1356         Event updates.
1357
1358 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1359
1360         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1361         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1362         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1363           Make debugging actually useful.
1364
1365 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1366
1367         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1368         (gst_pad_fixate_caps):
1369           Implement default fixation once again, so that gst_pad_fixate()
1370           actually does anything at all. This probably needs to be some
1371           sort of a last resort, and use profile-based fixation first, but
1372           since that doesn't exist yet, this is the best we have. Fixes
1373           visualization in Totem.
1374
1375 2005-07-22  Wim Taymans  <wim@fluendo.com>
1376
1377         * docs/design/part-events.txt:
1378         Small update.
1379
1380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1381         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1382         (gst_base_sink_activate_pull):
1383         Some more comments.
1384
1385         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1386         (gst_fake_src_create):
1387         Fix handoff marshall.
1388
1389         * gst/elements/gstidentity.c: (gst_identity_class_init),
1390         (gst_identity_transform_ip):
1391         We're a real inplace element.
1392
1393         * gst/gstbus.c: (gst_bus_post):
1394         Added some comments.
1395
1396         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1397         * tests/muxing/case1.c: (main):
1398         * tests/sched/dynamic-pipeline.c: (main):
1399         * tests/sched/interrupt1.c: (main):
1400         * tests/sched/interrupt2.c: (main):
1401         * tests/sched/interrupt3.c: (main):
1402         * tests/sched/runxml.c: (main):
1403         * tests/sched/sched-stress.c: (main):
1404         * tests/seeking/seeking1.c: (event_received), (main):
1405         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1406         (main):
1407         * tests/threadstate/threadstate3.c: (main):
1408         * tests/threadstate/threadstate4.c: (main):
1409         * tests/threadstate/threadstate5.c: (main):
1410         Fix the tests.
1411
1412 2005-07-21  Wim Taymans  <wim@fluendo.com>
1413
1414         * docs/design/part-seeking.txt:
1415         Some small additions.
1416
1417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1418         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1419         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1420         * gst/base/gstbasesink.h:
1421         discont values are gint64, handle the math correctly.
1422
1423         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1424         Make the basesrc report error if the source pad is not linked.
1425
1426         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1427         (gst_queue_loop), (gst_queue_handle_src_query),
1428         (gst_queue_src_activate_push):
1429         Make queue collect data even if the srcpad is not linked.
1430         Start pushing out data as soon as it is linked.
1431
1432         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1433         * gst/gstutils.h:
1434         Added gst_flow_get_name() to ease error reporting.
1435
1436 2005-07-20  Wim Taymans  <wim@fluendo.com>
1437
1438         * gst/gstmessage.c: (gst_message_new_segment_start),
1439         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1440         (gst_message_parse_segment_done):
1441         * gst/gstmessage.h:
1442         Added a bunch of messages for advanced seeking.
1443
1444         * gst/parse/grammar.y:
1445         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1446         (gst_dpman_state_changed):
1447         Fix some new-pad -> pad-added signals
1448
1449 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1450
1451         * docs/manual/appendix-porting.xml:
1452         * docs/pwg/appendix-porting.xml:
1453           Document new-pad/state-change signal renames and the FixedList
1454           type rename.
1455
1456 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1457
1458         * docs/manual/advanced-autoplugging.xml:
1459         * docs/manual/basics-helloworld.xml:
1460         * docs/manual/basics-pads.xml:
1461         * docs/random/ds/0.9-suggested-changes:
1462         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1463         * gst/gstelement.h:
1464         * gst/gstevent.h:
1465         * gst/gstformat.h:
1466         * gst/gstquery.h:
1467         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1468         (gst_structure_parse_array), (gst_structure_parse_value):
1469         * gst/gstvalue.c: (gst_type_is_fixed),
1470         (gst_value_list_prepend_value), (gst_value_list_append_value),
1471         (gst_value_list_get_size), (gst_value_list_get_value),
1472         (gst_value_transform_array_string), (gst_value_serialize_array),
1473         (gst_value_deserialize_array), (gst_value_intersect_array),
1474         (gst_value_is_fixed), (_gst_value_initialize):
1475         * gst/gstvalue.h:
1476           GstElement::new-pad -> pad-added, GstElement::state-change ->
1477           state-changed, GstValueFixedList -> GstValueArray, add format and
1478           flags as their own arguments in gst_element_seek() (should improve
1479           "bindeability"), remove function generators since they don't work
1480           under a whole bunch of compilers (they were deprecated already
1481           anyway).
1482
1483 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1484
1485         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1486         (_gst_debug_register_funcptr):
1487         * gst/gstinfo.h:
1488           Fix illegal cast on some platforms (#309253).
1489
1490 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1491
1492         * gst/gstmessage.c: (gst_message_new_custom):
1493         * gst/gstmessage.h:
1494           Add _new_custom, make _new_application a macro to _new_custom.
1495
1496 2005-07-20  Wim Taymans  <wim@fluendo.com>
1497
1498         * gst/base/gstbasesrc.c: (gst_base_src_init),
1499         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1500         * gst/base/gstbasesrc.h:
1501         Add a gboolean to decide when to push out a discont.
1502
1503         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1504         (gst_queue_loop), (gst_queue_handle_src_query),
1505         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1506         (gst_queue_set_property), (gst_queue_get_property):
1507         Some cleanups.
1508
1509         * tests/threadstate/threadstate1.c: (main):
1510         Make a thread test compile and run... very silly..
1511
1512
1513 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1514
1515         * docs/manual/appendix-porting.xml:
1516           Mention removal of libgstgconf-0.9.la and existence of gconf
1517           elements.
1518
1519 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1520
1521         * docs/pwg/advanced-clock.xml:
1522         * docs/pwg/appendix-porting.xml:
1523         * docs/pwg/intro-preface.xml:
1524         * docs/pwg/other-base.xml:
1525         * docs/pwg/other-manager.xml:
1526         * docs/pwg/other-nton.xml:
1527         * docs/pwg/other-ntoone.xml:
1528         * docs/pwg/other-oneton.xml:
1529         * docs/pwg/pwg.xml:
1530           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1531           demuxer), remove n-to-n (was never written), fix some code examples
1532           and links and update the porting section to include all this.
1533
1534 2005-07-19  Wim Taymans  <wim@fluendo.com>
1535
1536         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1537         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1538         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1539         (gst_queue_src_activate_push), (gst_queue_change_state),
1540         (gst_queue_get_property):
1541         * gst/gstqueue.h:
1542         Propagate GstFlowReturn more intelligently upstream and output
1543         an ERROR/EOS when streaming stopped due to fatal error.
1544
1545 2005-07-19  Wim Taymans  <wim@fluendo.com>
1546
1547         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1548         Don't block forever for the state change to complete, the
1549         pipeline already did with a sensible timeout.
1550
1551 2005-07-19  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1554         Make sure we never call the create function is we
1555         got deactivated.
1556
1557 2005-07-19  Andy Wingo  <wingo@pobox.com>
1558
1559         * gst/parse/parse.l: Attempt to solve bug #172815.
1560
1561 2005-07-19  Wim Taymans  <wim@fluendo.com>
1562
1563         * docs/design/part-clocks.txt:
1564         * docs/design/part-events.txt:
1565         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1566         Small docs updates.
1567         Only update the seeking values when we are not
1568         busy streaming.
1569
1570 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1571
1572         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1573           Oops, ignore the result of gst_pad_push_event here.
1574
1575 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1576
1577         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1578         (gst_base_src_activate_push):
1579           Send discont event from the loop function, as pads
1580           aren't activated yet in the activate_push handler.
1581
1582         * gst/gstbin.c: (bin_bus_handler):
1583           Don't leak element name.
1584
1585 2005-07-18  Andy Wingo  <wingo@pobox.com>
1586
1587         * configure.ac: Use AS_LIBTOOL_TAGS.
1588
1589 2005-07-18  Wim Taymans  <wim@fluendo.com>
1590
1591         * docs/gst/gstreamer.types:
1592         Remove deleted types.
1593
1594 2005-07-18  Wim Taymans  <wim@fluendo.com>
1595
1596         * check/elements/gstfakesrc.c: (GST_START_TEST):
1597         * configure.ac:
1598         * gst/Makefile.am:
1599         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1600         (init_popt_callback):
1601         * gst/gst.h:
1602         * gst/gst_private.h:
1603         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1604         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1605         * gst/gstbin.h:
1606         * gst/gstbus.h:
1607         * gst/gstconfig.h.in:
1608         * gst/gstelement.c: (gst_element_class_init),
1609         (gst_element_set_base_time), (gst_element_get_base_time),
1610         (iterator_fold_with_resync), (gst_element_change_state),
1611         (gst_element_dispose), (gst_element_get_bus):
1612         * gst/gstelement.h:
1613         * gst/gstelementfactory.h:
1614         * gst/gsterror.c: (_gst_core_errors_init):
1615         * gst/gsterror.h:
1616         * gst/gstevent.h:
1617         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1618         * gst/gstindex.c:
1619         * gst/gstinfo.c: (_gst_debug_init):
1620         * gst/gstmessage.c: (_gst_message_copy):
1621         * gst/gstmessage.h:
1622         * gst/gstminiobject.h:
1623         * gst/gstobject.c:
1624         * gst/gstobject.h:
1625         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1626         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1627         * gst/gstpad.h:
1628         * gst/gstparse.h:
1629         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1630         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1631         (gst_pipeline_get_last_stream_time):
1632         * gst/gstpipeline.h:
1633         * gst/gstpluginfeature.h:
1634         * gst/gstquery.h:
1635         * gst/gstscheduler.c:
1636         * gst/gstscheduler.h:
1637         * gst/gststructure.h:
1638         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1639         (gst_task_finalize), (gst_task_func), (gst_task_create),
1640         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1641         (gst_task_stop), (gst_task_pause):
1642         * gst/gsttask.h:
1643         * gst/gsttypefind.h:
1644         * gst/gsttypes.h:
1645         * gst/registries/gstlibxmlregistry.c: (load_feature),
1646         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1647         * gst/registries/gstxmlregistry.c:
1648         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1649         * gst/schedulers/threadscheduler.c:
1650         * libs/gst/control/dparammanager.h:
1651         * tools/gst-inspect.c: (print_element_list),
1652         (print_plugin_features), (print_element_features):
1653         * tools/gst-xmlinspect.c: (print_element_list),
1654         (print_plugin_info), (main):
1655         Removed plugable schedulers.
1656         Removed Scheduler/Manager from elements.
1657         Removed gsttypes.h, rearranged includes.
1658         Removed dependency pad<->element, element<>pipeline, and
1659         various others,  fix includes.
1660         implement gst_pad_get_parent() with gst_object_get_parent()
1661         Make GstTask sefcontained.
1662         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1663         timeout.
1664         Fix endless loop in iterator_fold_with_resync.
1665
1666
1667 2005-07-18  Wim Taymans  <wim@fluendo.com>
1668
1669         * gst/Makefile.am:
1670         * gst/gstarch.h:
1671         Remove old file.
1672
1673 2005-07-18  Wim Taymans  <wim@fluendo.com>
1674
1675         * gst/Makefile.am:
1676         No more cothreads.h
1677
1678 2005-07-18  Wim Taymans  <wim@fluendo.com>
1679
1680         * gst/cothreads.c:
1681         * gst/cothreads.h:
1682         Let's remove these.
1683
1684 2005-07-18  Wim Taymans  <wim@fluendo.com>
1685
1686         * docs/design/part-dynamic.txt:
1687         * docs/design/part-events.txt:
1688         * docs/design/part-seeking.txt:
1689         Some more docs in the works.
1690
1691         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1692         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1693         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1694         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1695         (gst_base_transform_handle_buffer),
1696         (gst_base_transform_sink_activate_push),
1697         (gst_base_transform_src_activate_pull),
1698         (gst_base_transform_set_passthrough),
1699         (gst_base_transform_is_passthrough):
1700         Refcounting fixes.
1701
1702         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1703         Cleanups.
1704
1705         * gst/gstevent.c: (gst_event_finalize):
1706         Set SRC to NULL.
1707
1708         * gst/gstutils.c: (gst_element_unlink),
1709         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1710         (gst_pad_proxy_setcaps):
1711         * gst/gstutils.h:
1712         Add _get_parent_element() to get a pads parent as an element.
1713
1714 2005-07-18  Wim Taymans  <wim@fluendo.com>
1715
1716         * check/gst/gstbin.c: (GST_START_TEST):
1717         Remove bogus test.
1718
1719 2005-07-18  Wim Taymans  <wim@fluendo.com>
1720
1721         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1722         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1723         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1724         (gst_base_sink_event), (gst_base_sink_do_sync),
1725         (gst_base_sink_chain), (gst_base_sink_loop),
1726         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1727         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1728         Refcounting fixes.
1729         Fix logic for returning ASYNC when not prerolled.
1730
1731 2005-07-18  Wim Taymans  <wim@fluendo.com>
1732
1733         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1734         Fix nasty refcount bug.
1735
1736 2005-07-16 Philippe Khalaf <burger@speedy.org>
1737         * gst/elements/gstfdsrc.c:
1738         * gst/elements/gstfdsrc.h:
1739         * gst/elements/gstelements.c:
1740         * gst/elements/Makefile.am:
1741         Ported fdsrc to 0.9.
1742
1743 2005-07-16  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1746         (gst_base_sink_do_sync):
1747         Fix compile error.
1748
1749 2005-07-16  Wim Taymans  <wim@fluendo.com>
1750
1751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1752         (gst_base_sink_event), (gst_base_sink_get_times),
1753         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1754         * gst/base/gstbasesink.h:
1755         Store and use discont values when syncing buffers as described
1756         in design docs.
1757         
1758         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1759         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1760         (gst_base_src_activate_push):
1761         Push discont event when starting.
1762
1763         * gst/elements/gstidentity.c: (gst_identity_transform):
1764         Small cleanups.
1765
1766         * gst/gstbin.c: (gst_bin_change_state):
1767         Small cleanups in base_time  distribution.
1768
1769         * gst/gstelement.c: (gst_element_set_base_time),
1770         (gst_element_get_base_time), (gst_element_change_state):
1771         * gst/gstelement.h:
1772         Added methods for the base_time of the element.
1773         Some MT fixes.
1774
1775         * gst/gstpipeline.c: (gst_pipeline_send_event),
1776         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1777         (gst_pipeline_get_last_stream_time):
1778         * gst/gstpipeline.h:
1779         MT fixes.
1780         Handle seeking as described in design doc, remove stream_time
1781         hack.
1782         Cleanups clock and stream_time selection code. Added accessors
1783         for the stream_time.
1784         
1785
1786 2005-07-16  Andy Wingo  <wingo@pobox.com>
1787
1788         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1789         (#305291).
1790
1791 2005-07-16  Wim Taymans  <wim@fluendo.com>
1792
1793         * check/gst/gstbin.c: (GST_START_TEST):
1794         Make elements silent as the deep_notify refs the
1795         parent, which might make the test fail.
1796
1797         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1798         Don't hold the lock for too long.
1799
1800 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1801
1802         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1803           Don't unref the caps we passed to gst_caps_make_writable() after
1804           passing them. gst_caps_make_writable() will do that for us.
1805
1806 2005-07-15  Andy Wingo  <wingo@pobox.com>
1807
1808         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1809         (#157311).
1810
1811         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1812         own marshalling function for the handoff signal. Properly type the
1813         buffer as a buffer. Fixes some warnings. Should do a more general
1814         solution.
1815         (gst_identity_class_init): Plug into the right marshaller.
1816
1817 2005-07-15  Wim Taymans  <wim@fluendo.com>
1818
1819         * docs/design/part-TODO.txt:
1820         * docs/design/part-clocks.txt:
1821         * docs/design/part-element-sink.txt:
1822         * docs/design/part-events.txt:
1823         * docs/design/part-gstpipeline.txt:
1824         Updated docs, mostly DISCONT related.
1825
1826 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1827
1828         * docs/pwg/building-pads.xml:
1829           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1830
1831 2005-07-15  Andy Wingo  <wingo@pobox.com>
1832
1833         * tools/gst-typefind.c: Update, add copyright block.
1834
1835         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1836         Normalize and truncate caps before fixation.
1837
1838         * gst/gstcaps.h:
1839         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1840         discards all but the first structure from its argument.
1841
1842 2005-07-15  Wim Taymans  <wim@fluendo.com>
1843
1844         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1845         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1846         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1847         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1848         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1849         (gst_base_transform_chain), (gst_base_transform_change_state),
1850         (gst_base_transform_set_passthrough),
1851         (gst_base_transform_is_passthrough):
1852         * gst/base/gstbasetransform.h:
1853         Make passthrough work using the bufferpools.
1854         Changed API a bit, subclasses have to write into a buffer
1855         provided by the base class.
1856         More debug info in nego functions.
1857         
1858         * gst/elements/gstidentity.c: (gst_identity_init),
1859         (gst_identity_transform):
1860         Port to new base class.
1861
1862 2005-07-15  Wim Taymans  <wim@fluendo.com>
1863
1864         * gst/gstmessage.c: (gst_message_new_state_changed):
1865         * tools/gst-launch.c: (event_loop), (main):
1866         Totally dump messages in -launch with the -m option.
1867         Fix message name for State messages,
1868
1869 2005-07-14  Wim Taymans  <wim@fluendo.com>
1870
1871         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1872         Post error messages on errors.
1873
1874 2005-07-14  Wim Taymans  <wim@fluendo.com>
1875
1876         * gst/gstcaps.c: (gst_caps_do_simplify):
1877         Remove debug info.
1878
1879         * gst/gsterror.h:
1880         Define error for stream stopped.
1881
1882         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1883         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1884         Do proper return values.
1885
1886         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1887         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1888         (gst_pad_get_range):
1889         Better return values.
1890
1891         * gst/gstpad.h:
1892         Reorganise return values, add macro to check for fatal errors.
1893
1894         * gst/gstqueue.c: (gst_queue_chain):
1895         Return proper GstFlowReturn values,
1896
1897 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1898
1899         * docs/gst/gstreamer-sections.txt:
1900         * docs/gst/gstreamer.types:
1901         * docs/gst/tmpl/gst.sgml:
1902         * docs/gst/tmpl/gstbasesink.sgml:
1903         * docs/gst/tmpl/gstbasesrc.sgml:
1904         * docs/gst/tmpl/gstbasetransform.sgml:
1905         * docs/gst/tmpl/gstbin.sgml:
1906         * docs/gst/tmpl/gstbuffer.sgml:
1907         * docs/gst/tmpl/gstcaps.sgml:
1908         * docs/gst/tmpl/gstclock.sgml:
1909         * docs/gst/tmpl/gstcompat.sgml:
1910         * docs/gst/tmpl/gstconfig.sgml:
1911         * docs/gst/tmpl/gstelement.sgml:
1912         * docs/gst/tmpl/gstelementdetails.sgml:
1913         * docs/gst/tmpl/gstelementfactory.sgml:
1914         * docs/gst/tmpl/gstenumtypes.sgml:
1915         * docs/gst/tmpl/gsterror.sgml:
1916         * docs/gst/tmpl/gstevent.sgml:
1917         * docs/gst/tmpl/gstfakesink.sgml:
1918         * docs/gst/tmpl/gstfakesrc.sgml:
1919         * docs/gst/tmpl/gstfilesink.sgml:
1920         * docs/gst/tmpl/gstfilesrc.sgml:
1921         * docs/gst/tmpl/gstfilter.sgml:
1922         * docs/gst/tmpl/gstformat.sgml:
1923         * docs/gst/tmpl/gstghostpad.sgml:
1924         * docs/gst/tmpl/gstimplementsinterface.sgml:
1925         * docs/gst/tmpl/gstindex.sgml:
1926         * docs/gst/tmpl/gstindexfactory.sgml:
1927         * docs/gst/tmpl/gstinfo.sgml:
1928         * docs/gst/tmpl/gstiterator.sgml:
1929         * docs/gst/tmpl/gstmacros.sgml:
1930         * docs/gst/tmpl/gstmemchunk.sgml:
1931         * docs/gst/tmpl/gstminiobject.sgml:
1932         * docs/gst/tmpl/gstobject.sgml:
1933         * docs/gst/tmpl/gstpad.sgml:
1934         * docs/gst/tmpl/gstpadtemplate.sgml:
1935         * docs/gst/tmpl/gstparse.sgml:
1936         * docs/gst/tmpl/gstpipeline.sgml:
1937         * docs/gst/tmpl/gstplugin.sgml:
1938         * docs/gst/tmpl/gstpluginfeature.sgml:
1939         * docs/gst/tmpl/gstquery.sgml:
1940         * docs/gst/tmpl/gstqueue.sgml:
1941         * docs/gst/tmpl/gstregistry.sgml:
1942         * docs/gst/tmpl/gstregistrypool.sgml:
1943         * docs/gst/tmpl/gstscheduler.sgml:
1944         * docs/gst/tmpl/gstschedulerfactory.sgml:
1945         * docs/gst/tmpl/gststructure.sgml:
1946         * docs/gst/tmpl/gstsystemclock.sgml:
1947         * docs/gst/tmpl/gsttaglist.sgml:
1948         * docs/gst/tmpl/gsttagsetter.sgml:
1949         * docs/gst/tmpl/gsttrace.sgml:
1950         * docs/gst/tmpl/gsttrashstack.sgml:
1951         * docs/gst/tmpl/gsttypefind.sgml:
1952         * docs/gst/tmpl/gsttypefindfactory.sgml:
1953         * docs/gst/tmpl/gsttypes.sgml:
1954         * docs/gst/tmpl/gsturihandler.sgml:
1955         * docs/gst/tmpl/gsturitype.sgml:
1956         * docs/gst/tmpl/gstutils.sgml:
1957         * docs/gst/tmpl/gstvalue.sgml:
1958         * docs/gst/tmpl/gstversion.sgml:
1959         * docs/gst/tmpl/gstxml.sgml:
1960         * docs/libs/tmpl/gstcontrol.sgml:
1961         * docs/libs/tmpl/gstdataprotocol.sgml:
1962         * docs/libs/tmpl/gstdparam.sgml:
1963         * docs/libs/tmpl/gstdplinint.sgml:
1964         * docs/libs/tmpl/gstdpman.sgml:
1965         * docs/libs/tmpl/gstdpsmooth.sgml:
1966         * docs/libs/tmpl/gstgetbits.sgml:
1967         * docs/libs/tmpl/gstunitconvert.sgml:
1968         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1969         (gst_push_src_base_init), (gst_push_src_class_init),
1970         (gst_push_src_init), (gst_push_src_create):
1971         * gst/base/gstpushsrc.h:
1972         * gst/elements/gstelements.c:
1973         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1974         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1975         (gst_fake_sink_init), (gst_fake_sink_set_property),
1976         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1977         (gst_fake_sink_event), (gst_fake_sink_preroll),
1978         (gst_fake_sink_render), (gst_fake_sink_change_state):
1979         * gst/elements/gstfakesink.h:
1980         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1981         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1982         (gst_fake_src_base_init), (gst_fake_src_class_init),
1983         (gst_fake_src_init), (gst_fake_src_event_handler),
1984         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1985         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1986         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1987         (gst_fake_src_create_buffer), (gst_fake_src_create),
1988         (gst_fake_src_start), (gst_fake_src_stop):
1989         * gst/elements/gstfakesrc.h:
1990         * gst/elements/gstfilesink.c: (_do_init),
1991         (gst_file_sink_base_init), (gst_file_sink_class_init),
1992         (gst_file_sink_init), (gst_file_sink_dispose),
1993         (gst_file_sink_set_location), (gst_file_sink_set_property),
1994         (gst_file_sink_get_property), (gst_file_sink_open_file),
1995         (gst_file_sink_close_file), (gst_file_sink_query),
1996         (gst_file_sink_event), (gst_file_sink_render),
1997         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1998         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1999         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
2000         * gst/elements/gstfilesink.h:
2001         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
2002         (gst_file_src_class_init), (gst_file_src_init),
2003         (gst_file_src_finalize), (gst_file_src_set_location),
2004         (gst_file_src_set_property), (gst_file_src_get_property),
2005         (gst_file_src_map_region), (gst_file_src_map_small_region),
2006         (gst_file_src_create_mmap), (gst_file_src_create_read),
2007         (gst_file_src_create), (gst_file_src_is_seekable),
2008         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
2009         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
2010         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
2011         (gst_file_src_uri_handler_init):
2012         * gst/elements/gstfilesrc.h:
2013           more autistic cleanliness in functions/names/defines
2014
2015 2005-07-13  Andy Wingo  <wingo@pobox.com>
2016
2017         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
2018         source couldn't negotiate.
2019
2020         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
2021         connections again.
2022
2023         * gst/gstutils.h:
2024         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2025         function. I am channeling Hades. Put your boots on suckers!!!
2026
2027 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2028
2029         * testsuite/caps/Makefile.am:
2030         * testsuite/caps/value_compare.c:
2031         * testsuite/caps/value_intersect.c:
2032         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2033           move two testsuite apps over to the check dir
2034
2035 2005-07-12  Wim Taymans  <wim@fluendo.com>
2036
2037         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2038         Added more debug info in the negotiate process.
2039
2040         * gst/gstmessage.h:
2041         Prepare for segment playback.
2042
2043         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2044         Better debugging.
2045
2046         * gst/gstutils.c:
2047         Some more docs.
2048
2049         * tools/gst-launch.c: (main):
2050         NULL pipeline on errors.
2051
2052 2005-07-12  Andy Wingo  <wingo@pobox.com>
2053
2054         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2055         not it comes from a malloc region. Make sure our copy gets freed.
2056
2057 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2058
2059         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2060         * check/gst/gstmessage.c: (GST_START_TEST):
2061         * check/gst/gststructure.c: (GST_START_TEST),
2062         (gst_structure_suite), (main):
2063           more testing
2064         * gst/gstelement.c: (gst_element_message_full):
2065           clean up GError and debug string now that they get copied
2066         * gst/gstmessage.c: (gst_message_new_error),
2067         (gst_message_new_warning), (gst_message_parse_error),
2068         (gst_message_parse_warning):
2069           use GST_TYPE_G_ERROR for structure_new, and take copies of
2070           arguments, so that we don't mess up refcounting
2071
2072 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2073
2074         * check/Makefile.am:
2075           add per-test valgrind targets
2076         * check/gst-libs/gdp.c: (GST_START_TEST),
2077         (gst_data_protocol_suite), (main):
2078           clean up
2079
2080 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2081
2082         * check/Makefile.am:
2083           instate more valgrindable tests
2084         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2085         (GST_START_TEST), (fakesrc_suite):
2086         * check/gst/gstpad.c: (GST_START_TEST):
2087         * check/gst/gststructure.c: (GST_START_TEST):
2088           fix test leaks
2089         * docs/gst/tmpl/gstminiobject.sgml:
2090         * gst/gstpad.c: (gst_pad_finalize):
2091           fix the static mutex leak
2092
2093 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2094
2095         * check/Makefile.am:
2096           add two more tests for valgrinding
2097         * check/gst/gstvalue.c: (GST_START_TEST):
2098           test refcount of deserialized buffer, found a leak
2099         * docs/gst/gstreamer-docs.sgml:
2100         * docs/gst/gstreamer-sections.txt:
2101         * docs/gst/gstreamer.types:
2102         * docs/gst/tmpl/gstminiobject.sgml:
2103           add miniobject to docs
2104         * gst/gstminiobject.c:
2105           add some docs
2106         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2107         (gst_string_unwrap):
2108           fix a hard-to-find invalid write for one of the tests
2109           fix a leak for deserialized buffers
2110
2111 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2112
2113         * docs/pwg/advanced-events.xml:
2114         * docs/pwg/advanced-request.xml:
2115         * docs/pwg/advanced-scheduling.xml:
2116         * docs/pwg/appendix-porting.xml:
2117         * docs/pwg/building-boiler.xml:
2118         * docs/pwg/intro-preface.xml:
2119         * docs/pwg/other-ntoone.xml:
2120           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2121           of example code and explanation for pad activation, loop() and
2122           getrange() functions and a bit more. Remove old comments pointing
2123           to loop-functions.
2124         * examples/pwg/Makefile.am:
2125           Add loop/getrange examples.
2126
2127 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2128
2129         * configure.ac:
2130           check for valgrind binary + some fixes
2131         * check/gst.supp:
2132           valgrind suppressions for the tests
2133         * check/Makefile.am:
2134           add a valgrind: target that valgrinds the unit tests
2135         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2136         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2137         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2138         * check/gst/gstghostpad.c:
2139           added some cleanup
2140         * check/gst/gstdata.c:
2141           removed
2142         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2143         (thread_unref), (gst_mini_object_suite), (main):
2144           added
2145         * gst/gst.c: (gst_deinit):
2146         * gst/gst.h:
2147           add a method to clean up.
2148         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2149         (gst_system_clock_obtain):
2150           allow for disposing the system clock.
2151         * tools/gst-launch.c: (main):
2152           deinit
2153
2154 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2155
2156         * docs/gst/tmpl/gstbasesrc.sgml:
2157         * docs/gst/tmpl/gstfakesrc.sgml:
2158         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2159         (gst_base_src_init), (gst_base_src_set_property),
2160         (gst_base_src_get_property), (gst_base_src_get_range),
2161         (gst_base_src_start):
2162         * gst/base/gstbasesrc.h:
2163           add num-buffers property
2164         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2165         (gst_fakesrc_init), (gst_fakesrc_set_property),
2166         (gst_fakesrc_get_property), (gst_fakesrc_create),
2167         (gst_fakesrc_start):
2168           remove num-buffers property
2169
2170 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * docs/gst/gstreamer-sections.txt:
2173         * docs/gst/tmpl/gstbasesink.sgml:
2174         * docs/gst/tmpl/gstbasesrc.sgml:
2175         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2176         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2177         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2178         (gst_base_sink_set_property), (gst_base_sink_get_property),
2179         (gst_base_sink_handle_object), (gst_base_sink_event),
2180         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2181         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2182         (gst_base_sink_loop), (gst_base_sink_deactivate),
2183         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2184         (gst_base_sink_change_state):
2185         * gst/base/gstbasesink.h:
2186         * gst/base/gstbasesrc.h:
2187         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2188         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2189         (gst_filesink_init):
2190           more macro splitting
2191
2192 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2193
2194         * gst/gstelement.c: (gst_element_get_bus):
2195           add debug
2196         * tools/gst-launch.c: (check_intr), (event_loop):
2197           fix bus leaks
2198
2199 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2200
2201         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2202           fix a caps leak
2203
2204 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2205
2206         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2207         (gst_base_src_finalize):
2208           add finalize method and clean up properly
2209         * gst/gstpipeline.c: (gst_pipeline_dispose):
2210           add debug
2211
2212 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2213
2214         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2215         (gst_bin_suite):
2216           add more things to check
2217         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2218         * gst/gstelement.c:
2219           more debug
2220
2221 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2222
2223         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2224         (GST_START_TEST), (fakesrc_suite):
2225         * check/gst-libs/gdp.c: (GST_START_TEST):
2226         * check/gst/gst.c: (GST_START_TEST):
2227         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2228         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2229         * check/gst/gstbus.c: (GST_START_TEST):
2230         * check/gst/gstcaps.c: (GST_START_TEST):
2231         * check/gst/gstdata.c: (GST_START_TEST):
2232         * check/gst/gstelement.c: (GST_START_TEST):
2233         * check/gst/gstghostpad.c: (GST_START_TEST):
2234         * check/gst/gstiterator.c: (GST_START_TEST):
2235         * check/gst/gstmessage.c: (GST_START_TEST):
2236         * check/gst/gstobject.c: (GST_START_TEST):
2237         * check/gst/gstpad.c: (GST_START_TEST):
2238         * check/gst/gststructure.c: (GST_START_TEST):
2239         * check/gst/gstsystemclock.c: (GST_START_TEST),
2240         (gst_systemclock_suite):
2241         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2242         * check/gst/gstvalue.c: (GST_START_TEST):
2243         * check/pipelines/cleanup.c: (GST_START_TEST):
2244         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2245         * check/states/sinks.c: (GST_START_TEST):
2246         * check/gstcheck.c: (gst_check_init):
2247         * check/gstcheck.h:
2248           add debugging category
2249           use GST_START_TEST now, so we add a debug line
2250
2251 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2252
2253         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2254           add test for state change message on a bin
2255         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2256           add another test
2257         * gst/gstbin.c: (gst_bin_init):
2258         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2259         * gst/gstelement.c: (gst_element_post_message),
2260         (gst_element_set_state):
2261         * gst/gstelementfactory.c: (gst_element_factory_create):
2262         * gst/gstmessage.c: (gst_message_new):
2263         * gst/gstscheduler.c:
2264           various debugging additions and cleanups
2265
2266 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2267
2268         * check/Makefile.am:
2269         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2270         (main):
2271           adding tests for elements
2272         * gst/gstelement.c: (gst_element_dispose):
2273
2274 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2275
2276         * gst/registries/gstlibxmlregistry.c: (load_feature):
2277           plug more leaks.  A simple gst_init() now is leakfree, yay.
2278
2279 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2280
2281         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2282         (gst_xml_registry_load):
2283           plug another memleak
2284
2285 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2286
2287         * configure.ac:
2288           use GST_SET_ERROR_CFLAGS
2289         * docs/faq/cvs.xml:
2290           change to ERROR_CFLAGS
2291
2292 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2293
2294         * configure.ac:
2295           make GST_ERROR_CFLAGS overridable and re-enable Werror
2296         * docs/faq/cvs.xml:
2297           add a note about error CFLAGS
2298         * docs/gst/tmpl/gstfakesrc.sgml:
2299         * gst/elements/gstfakesrc.c:
2300           comment out some unused code
2301         * gst/gst.c: (split_and_iterate):
2302         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2303         (load_feature):
2304           plug some memleaks
2305
2306 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2307
2308         * common/Makefile.am:
2309         * common/gtk-doc.mak:
2310         * docs/gst/Makefile.am:
2311           factor out gtk-doc.mak
2312
2313 2005-07-07  Wim Taymans  <wim@fluendo.com>
2314
2315         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2316         (gst_thread_scheduler_dispose):
2317         Unlock the STREAM_LOCK completely.
2318
2319 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2320
2321         * check/Makefile.am:
2322         * check/elements/.cvsignore:
2323         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2324         (START_TEST), (fakesrc_suite), (main):
2325         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2326         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2327         (gst_fakesrc_create), (gst_fakesrc_start):
2328         * gst/elements/gstfakesrc.h:
2329           adding a first element test
2330
2331 2005-07-07  Andy Wingo  <wingo@pobox.com>
2332
2333         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2334         debug message.
2335
2336 2005-07-07  Wim Taymans  <wim@fluendo.com>
2337
2338         * gst/gstquery.c:
2339         * gst/gstquery.h:
2340         Remove old types
2341
2342 2005-07-07  Wim Taymans  <wim@fluendo.com>
2343
2344         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2345         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2346         Allow subclasses to implement their own negotiation.
2347
2348 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2349
2350         * docs/design/part-gstbin.txt:
2351         * docs/design/part-gstpipeline.txt:
2352           Update design notes to reflect the movement of
2353           responsibility for bus handling from GstPipeline to
2354           GstBin
2355
2356 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2357
2358         * configure.ac:
2359           Remove unnecessary queue2/3/4 examples.
2360
2361 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2362
2363         * examples/Makefile.am:
2364         * examples/helloworld/helloworld.c: (event_loop), (main):
2365         * examples/queue/queue.c: (event_loop), (main):
2366         * examples/queue2/queue2.c: (main):
2367           Update a couple of the examples to work again.
2368
2369         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2370         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2371          Spelling corrections and extra debug.
2372         
2373         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2374         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2375         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2376         * gst/gstbin.h:
2377         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2378         (gst_pipeline_change_state):
2379         * gst/gstpipeline.h:
2380           Move the bus handler for children to the GstBin, and create a
2381           separate bus for receiving messages from children to the one the
2382           bus sends 'upwards' on.
2383
2384 2005-07-06  Wim Taymans  <wim@fluendo.com>
2385
2386         * gst/base/README:
2387         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2388         (gst_base_sink_handle_object), (gst_base_sink_loop),
2389         (gst_base_sink_change_state):
2390         * gst/base/gstbasesink.h:
2391         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2392         (gst_base_src_init), (gst_base_src_setcaps),
2393         (gst_base_src_getcaps), (gst_base_src_loop),
2394         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2395         (gst_base_src_start), (gst_base_src_change_state):
2396         * gst/base/gstbasesrc.h:
2397         Make basesrc negotiate.
2398         Handle the case where preroll fails in basesink.
2399         Update README.
2400
2401 2005-07-06  Wim Taymans  <wim@fluendo.com>
2402
2403         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2404         Implement the fixate function.
2405         Clean up acceptcaps.
2406
2407 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2408
2409         * docs/pwg/building-filterfactory.xml:
2410         * docs/pwg/pwg.xml:
2411           Remove never-written filter-factory chapter; I'll add the various
2412           base classes to part 4 ("other element types") later on.
2413
2414 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2415
2416         * docs/pwg/advanced-negotiation.xml:
2417         * docs/pwg/building-boiler.xml:
2418         * docs/pwg/building-pads.xml:
2419         * docs/pwg/pwg.xml:
2420         * examples/pwg/Makefile.am:
2421           Add a chapter on caps negotiation, simplify the original code
2422           samples a bit w.r.t. caps negotiation, add link to the advanced
2423           section. Add a bunch of examples showing different use cases of
2424           different types of caps negotiation. Upstream renegotiation isn't
2425           fully documented yet since nobody knows how that works.
2426
2427 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2428
2429         * check/gst/gstpad.c:
2430         * check/gstcheck.c:
2431         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2432           if pad has no parent, return NULL as list of internal links
2433
2434 2005-07-05  Andy Wingo  <wingo@pobox.com>
2435
2436         * gst/elements/gstfilesrc.c:
2437         * gst/elements/gstfakesrc.c: 
2438         * gst/base/gstpushsrc.c:
2439         * gst/base/gstbasesrc.h: 
2440         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2441         
2442 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2443
2444         * Makefile.am:
2445           better report generation target (lcov needs a patch)
2446
2447 2005-07-05  Andy Wingo  <wingo@pobox.com>
2448
2449         * gst/elements, testsuite: Null if we got it...
2450
2451 2005-07-05  Wim Taymans  <wim@fluendo.com>
2452
2453         * configure.ac:
2454         * libs/gst/dataprotocol/Makefile.am:
2455         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2456         * libs/gst/dataprotocol/dataprotocol.h:
2457         * pkgconfig/Makefile.am:
2458         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2459         * pkgconfig/gstreamer-dataprotocol.pc.in:
2460         Ported dataprotol to 0.9. 
2461         Added pkgconfig files.
2462
2463 2005-07-05  Andy Wingo  <wingo@pobox.com>
2464
2465         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2466         Default to returning TRUE for the case when tranform_caps returns
2467         a fixed caps, like for identity or volume.
2468
2469         * check/gst/gstbus.c (pound_bus_with_messages): 
2470         * check/gst/gstmessage.c (START_TEST): 
2471         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2472         message API change.
2473
2474         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2475         logic weaks here: always run transform_caps, trying passthrough
2476         operation only if the original caps intersects with the transform.
2477
2478         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2479         source and sink caps.
2480
2481         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2482         Intersect the peer caps with the pad template before going into
2483         transform_caps.
2484         (gst_base_transform_transform_caps): More debugging.
2485
2486         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2487         src argument.
2488
2489 2005-07-04  Edward Hervey  <edward@fluendo.com>
2490
2491         * gst/gstutils.c:
2492         * gst/gstutils.h:
2493         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2494         in bindings.
2495
2496 2005-07-04  Andy Wingo  <wingo@pobox.com>
2497
2498         * check/gst/gstpad.c: Only set explicit caps on pads.
2499
2500 2005-07-01  Andy Wingo  <wingo@pobox.com>
2501
2502         * tests/network-clock.scm: Commentary update.
2503
2504         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2505         Didn't really make sense, not implementable with basetransform,
2506         etc.
2507         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2508         attempt at implementing the sync property, needs an unlock method.
2509
2510         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2511         New func, by default returns the same caps (the identity
2512         transformation).
2513         (gst_base_transform_getcaps): Uses transform_caps to return
2514         something sensible.
2515         (gst_base_transform_setcaps): Complicated logic to get caps on
2516         both pads, even if they are different, and to call set_caps once
2517         for every time both pads get their caps set.
2518         (gst_base_transform_handle_buffer): Give the ref to the transform
2519         function. Allows in-place modification of the buffer.
2520
2521         * gst/base/gstbasetransform.h (transform_caps): New class method.
2522         Given caps on one side, what can I do on the other.
2523         (set_caps): Take two caps, one for each side of the element.
2524
2525         * gst/gstpad.h:
2526         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2527         caps in place. This is safe because we can check the mutability of
2528         the caps, and a good idea because fixate functions are just called
2529         as a matter of last resort. (Not actually implemented.)
2530         (gst_pad_set_caps): If the caps we're setting is actually the same
2531         as the existing pad caps, just update the pointer without calling
2532         setcaps. Assert that caps is either NULL or fixed, as per the
2533         docs.
2534
2535         * gst/gstghostpad.c: Update for fixate changes.
2536
2537 2005-07-02  Andy Wingo  <wingo@pobox.com>
2538
2539         * gst/gstcaps.c:
2540         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2541         two refcounts makes it immutable, which is enough. Doc more.
2542
2543 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2544
2545         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2546           Put the mini_object into GValue as a mini_object,
2547           not a gpointer, since that's how we declared
2548           the signal.
2549
2550 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2551
2552         * examples/pwg/Makefile.am:
2553           Fix buildbot again.
2554
2555 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2556
2557         * docs/pwg/building-testapp.xml:
2558           Add extra check.
2559         * examples/pwg/Makefile.am:
2560           Fix buildbot.
2561
2562 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2563
2564         * configure.ac:
2565         * examples/Makefile.am:
2566         * examples/pwg/Makefile.am:
2567         * examples/pwg/extract.pl:
2568           Enable building the PWG examples.
2569         * docs/pwg/advanced-interfaces.xml:
2570           Add URI interface stub.
2571         * docs/pwg/advanced-types.xml:
2572         * docs/pwg/other-autoplugger.xml:
2573         * docs/pwg/appendix-porting.xml:
2574         * docs/pwg/pwg.xml:
2575           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2576         * docs/pwg/building-boiler.xml:
2577         * docs/pwg/building-chainfn.xml:
2578         * docs/pwg/building-pads.xml:
2579         * docs/pwg/building-props.xml:
2580         * docs/pwg/building-state.xml:
2581         * docs/pwg/building-testapp.xml:
2582           Update the building-*.xml parts for 0.9 changes. All examples
2583           code blocks compile in examples/pwg/*.
2584
2585 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2586
2587         * docs/manual/advanced-autoplugging.xml:
2588         * docs/manual/appendix-checklist.xml:
2589         * docs/manual/appendix-integration.xml:
2590         * docs/manual/highlevel-components.xml:
2591           Fix playbin/decodebin examples, update docs a bit, mention bus
2592           instead of signals in various places, mention kmplayer and
2593           kaffeine since they have a working GStreamer backend in the KDE
2594           section.
2595
2596 2005-06-30  Wim Taymans  <wim@fluendo.com>
2597
2598         * CHANGES-0.9:
2599         * docs/design/draft-ghostpads.txt:
2600         * docs/design/draft-push-pull.txt:
2601         * docs/design/draft-query.txt:
2602         * docs/design/part-TODO.txt:
2603         * docs/design/part-query.txt:
2604         Added CHANGES-0.9 doc, updated status of other docs.
2605         
2606         * gst/gstquery.h:
2607         Remove "hmm" macro
2608
2609 2005-06-30  Wim Taymans  <wim@fluendo.com>
2610
2611         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2612         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2613         (gst_base_sink_change_state):
2614         * gst/base/gstbasesink.h:
2615         Some tweaks, only EOS and a buffer complete a preroll.
2616
2617 2005-06-30  Andy Wingo  <wingo@pobox.com>
2618
2619         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2620         activate_push down to the internal pad as well.
2621
2622 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2623
2624         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2625
2626         * gst/gsttaginterface.c:
2627           Some documentation fixes (#307394 and #307397).
2628
2629 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2630
2631         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2632
2633         * gst/gstvalue.c: (gst_value_intersect_list):
2634           Fix memleak (#309125).
2635
2636 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2637
2638         * docs/manual/advanced-dataaccess.xml:
2639           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2640         * docs/manual/basics-pads.xml:
2641           Add reference for filtered caps to above chapter.
2642
2643 2005-06-30  Wim Taymans  <wim@fluendo.com>
2644
2645         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2646         (gst_bin_change_state):
2647         Probes are gone.
2648         Lame attempt at making the state change function a bit
2649         more readable.
2650
2651 2005-06-30  Wim Taymans  <wim@fluendo.com>
2652
2653         * docs/design/part-clocks.txt:
2654         * docs/design/part-element-sink.txt:
2655         * docs/design/part-events.txt:
2656         * docs/design/part-preroll.txt:
2657         * docs/design/part-states.txt:
2658         Some more tweeks and additions to the docs.
2659
2660 2005-06-30  Wim Taymans  <wim@fluendo.com>
2661
2662         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2663         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2664         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2665         (gst_pad_check_pull_range), (gst_pad_get_range),
2666         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2667         * gst/gstpad.h:
2668         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2669         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2670         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2671         (gst_pad_remove_buffer_probe):
2672         Removed atomic operations, use existing LOCK.
2673         Move exception handling out of main code path.
2674
2675 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2676
2677         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2678         (silly_return_true_function), (gst_pad_class_init),
2679         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2680         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2681         (gst_pad_send_event):
2682           Fix accumulator, add default value by using _emitv() instead
2683           of _emit() for signal emission.
2684
2685 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2686
2687         * docs/manual/advanced-dataaccess.xml:
2688         * examples/manual/Makefile.am:
2689           Add probe example.
2690         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2691           Make work (??).
2692
2693 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2694
2695         * gst/elements/gstfilesink.c: (gst_filesink_render):
2696           Simplify code so that we don't have to handle short
2697           writes and return GST_FLOW_ERROR if an error occured.
2698
2699 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2700
2701         * docs/gst/gstreamer-docs.sgml:
2702           Remove probes more.
2703
2704 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2705
2706         * docs/gst/gstreamer-sections.txt:
2707         * docs/gst/tmpl/gstpad.sgml:
2708         * docs/gst/tmpl/gstprobe.sgml:
2709         * gst/Makefile.am:
2710         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2711         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2712         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2713         (gst_pad_push_event), (gst_pad_send_event):
2714         * gst/gstpad.h:
2715         * gst/gstutils.c: (gst_pad_add_data_probe),
2716         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2717         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2718         (gst_pad_remove_buffer_probe):
2719         * gst/gstutils.h:
2720           Remove old probes, add new g-signal-based probes and some utility
2721           functions.
2722
2723 2005-06-29  Edward Hervey  <edward@fluendo.com>
2724
2725         * gst/gstelementfactory.c:
2726         * gst/gstutils.h:
2727         * gst/gstutils.c:
2728         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2729         the definition to the header file.
2730
2731 2005-06-29  Andy Wingo  <wingo@pobox.com>
2732
2733         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2734         plugins from the source directory.
2735
2736 2005-06-29  Wim Taymans  <wim@fluendo.com>
2737
2738         * docs/gst/tmpl/gstbuffer.sgml:
2739         * docs/gst/tmpl/gstclock.sgml:
2740         Some fixings for blantently wrong text.
2741
2742 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2743
2744         * check/Makefile.am:
2745         * gst/gst.c: (add_path_func), (init_pre):
2746         * gst/gstregistry.c: (gst_registry_add_path):
2747           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2748           only scan the GST_PLUGIN_PATH locations, and not add
2749           system locations
2750
2751 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2752
2753         * docs/gst/gstreamer-sections.txt:
2754         * docs/gst/tmpl/gstbasesrc.sgml:
2755         * gst/gstelement.c:
2756         * gst/gstelement.h:
2757         * gst/gstevent.c:
2758         * gst/gstutils.c:
2759           doc fixes
2760
2761 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2762
2763         * docs/manual/advanced-autoplugging.xml:
2764           Fix autoplugging example.
2765
2766 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2767
2768         * docs/manual/advanced-autoplugging.xml:
2769         * docs/manual/mime-world.fig:
2770           Try to get autoplugging working, fix type detection. Fix text
2771           in hello-world image.
2772
2773 2005-06-29  Wim Taymans  <wim@fluendo.com>
2774
2775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2776         (gst_base_sink_change_state):
2777         Small debug line.
2778
2779         * gst/gstclock.h:
2780         map SIGNAL and BROADCAST to the right function.
2781
2782         * gst/gstobject.h:
2783         Remove redundant braces.
2784
2785         * gst/gstpad.c: (gst_pad_set_caps):
2786         Don't call setcaps function when reseting caps to NULL.
2787
2788         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2789         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2790         (gst_system_clock_id_unschedule):
2791         Use BROADCAST as this is what we do.
2792
2793 2005-06-29  Wim Taymans  <wim@fluendo.com>
2794
2795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2796         We are actually prerolling before commiting the state
2797         change. 
2798
2799 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2800
2801         * docs/manual/advanced-clocks.xml:
2802         * docs/manual/advanced-interfaces.xml:
2803         * docs/manual/advanced-metadata.xml:
2804         * docs/manual/advanced-position.xml:
2805         * docs/manual/advanced-schedulers.xml:
2806         * docs/manual/advanced-threads.xml:
2807         * docs/manual/appendix-porting.xml:
2808         * docs/manual/basics-bins.xml:
2809         * docs/manual/basics-bus.xml:
2810         * docs/manual/basics-elements.xml:
2811         * docs/manual/basics-helloworld.xml:
2812         * docs/manual/basics-pads.xml:
2813         * docs/manual/highlevel-components.xml:
2814         * docs/manual/manual.xml:
2815         * docs/manual/thread.fig:
2816           Update (until threads/scheduling) Application Development Manual;
2817           remove GstThread, add GstBus, add simple porting checklist, add
2818           documentation for tag writing, clocks, make all examples until this
2819           part compile and run.
2820         * examples/manual/Makefile.am:
2821           Update from changes to Application Development Manual; add bus
2822           example, remove thread example.
2823
2824 2005-06-28  Wim Taymans  <wim@fluendo.com>
2825
2826         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2827         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2828         (gst_bus_source_dispatch):
2829         Add debugging messages.
2830         Make internal methods static.
2831         Handle the case where the bus is flushed in the handler.
2832         
2833         * gst/gstelement.c: (gst_element_get_bus):
2834         Fix refcount in _get_bus();
2835
2836         * gst/gstpipeline.c: (gst_pipeline_change_state),
2837         (gst_pipeline_get_clock_func):
2838         Clock refcounting fixes.
2839         Handle the case where preroll timed out more gracefully.
2840         
2841         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2842         Clean up the internal thread in dispose. This is needed
2843         for subclasses that actually get disposed.
2844         
2845         * gst/schedulers/threadscheduler.c:
2846         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2847         (gst_thread_scheduler_dispose):
2848         Free thread pool in dispose.
2849
2850 2005-06-28  Andy Wingo  <wingo@pobox.com>
2851
2852         * tests/network-clock-utils.scm (debug, print-event): New utils.
2853
2854         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2855         (*packet-loss*): Unified loss probability.
2856         (network-time): Report out-of-band events.
2857
2858         * tests/plot-data: Add support for out-of-band events. Hack it
2859         into this script instead of passing it down the pipe; should fix
2860         this later.
2861
2862 2005-06-28  Wim Taymans  <wim@fluendo.com>
2863
2864         * docs/gst/gstreamer.types:
2865         * docs/gst/tmpl/gstbasesrc.sgml:
2866         * docs/gst/tmpl/gstpad.sgml:
2867         Docs fixes.
2868
2869 2005-06-28  Wim Taymans  <wim@fluendo.com>
2870
2871         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2872         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2873         (gst_proxy_pad_do_fixatecaps):
2874         Correctly proxy the check_pull_range function.
2875
2876 2005-06-28  Andy Wingo  <wingo@pobox.com>
2877
2878         * tests/network-clock.scm: Removed need for slib.
2879         
2880 2005-06-28  Wim Taymans  <wim@fluendo.com>
2881
2882         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2883         (gst_basesink_preroll_queue_flush):
2884         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2885         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2886         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2887         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2888         (gst_proxy_pad_set_property):
2889         * gst/gstpad.c:
2890         * gst/gstpad.h:
2891         * gst/gstqueue.c: (gst_queue_init):
2892         The deprecated pad loop function is removed now.
2893
2894 2005-06-28  Andy Wingo  <wingo@pobox.com>
2895
2896         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2897         New parameters, simulate network packet loss.
2898
2899         * tests/network-clock-utils.scm: Initialize the RNG.
2900
2901 2005-06-28  Wim Taymans  <wim@fluendo.com>
2902
2903         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2904         (gst_basesink_event), (gst_basesink_deactivate):
2905         Flushing the preroll queue always needs to unlock the waiters.
2906
2907 2005-06-28  Edward Hervey  <edward@fluendo.com>
2908
2909         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2910         Wheen a seek was successful on a pipeline, set the stream_time to the
2911         seek offset in order to have a synchronized stream_time.
2912
2913 2005-06-28  Wim Taymans  <wim@fluendo.com>
2914
2915         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2916         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2917         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2918         (gst_proxy_pad_do_fixatecaps):
2919         Call wrapper function instead of just calling the function
2920         pointers. This takes care of any locking and whatmore.
2921
2922 2005-06-28  Wim Taymans  <wim@fluendo.com>
2923
2924         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2925         (gst_pad_pull_range):
2926         * gst/gstpad.h:
2927         CONNECTED -> LINKED.
2928
2929 2005-06-28  Andy Wingo  <wingo@pobox.com>
2930
2931         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2932         source-munging commit!!!
2933
2934         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2935         (gst_object_sink): Take gpointer arguments, not GstObject --
2936         avoids casts. Like GLib.
2937
2938         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2939         activate.
2940
2941 2005-06-27  Andy Wingo  <wingo@pobox.com>
2942
2943         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2944         remaining buffer.
2945
2946         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2947         returns a sorted copy of the trace list.
2948         (gst_alloc_trace_print_live): New API, only prints traces with
2949         live objects. Sort the list.
2950         (gst_alloc_trace_print_all): Sort the list.
2951         (gst_alloc_trace_print): Align columns.
2952
2953         * gst/elements/gstttypefindelement.c:
2954         * gst/elements/gsttee.c:
2955         * gst/base/gstbasesrc.c:
2956         * gst/base/gstbasesink.c:
2957         * gst/base/gstbasetransform.c:
2958         * gst/gstqueue.c: Adapt for pad activation changes.
2959
2960         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2961         sched.
2962         (gst_pipeline_dispose): Drop ref on sched.
2963
2964         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2965         (gst_pad_activate_default): Push mode by default.
2966         (pre_activate_switch, post_activate_switch): New stubs, things to
2967         do before and after switching activation modes on pads.
2968         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2969         the pad's activate function to choose which mode to activate.
2970         Shortcut on deactivation and call the right function directly.
2971         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2972         mode.
2973         (gst_pad_activate_push): New API, same for push mode.
2974         (gst_pad_set_activate_function) 
2975         (gst_pad_set_activatepull_function) 
2976         (gst_pad_set_activatepush_function): Setters for new API.
2977
2978         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2979         Trace all miniobjects.
2980         (gst_mini_object_make_writable): Unref the arg if we copy, like
2981         gst_caps_make_writable.
2982
2983         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2984
2985         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2986         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2987         Adapt for new pad API.
2988
2989         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2990
2991         * gst/gstelement.h:
2992         * gst/gstelement.c (gst_element_iterate_src_pads) 
2993         (gst_element_iterate_sink_pads): New API functions.
2994         
2995         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2996         should fold into gstiterator.c in some form.
2997         (gst_element_pads_activate): Simplified via use of fold and
2998         delegation of decisions to gstpad->activate.
2999
3000         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
3001         help in debugging.
3002
3003         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
3004         class once in init, like gstmessage. Didn't run into this issue
3005         but it seems correct. Don't initialize a trace, gstminiobject does
3006         that.
3007
3008         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
3009         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
3010         to the bus.
3011         (assert_live_count): New util function, uses alloc traces to check
3012         cleanup.
3013
3014         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
3015         To be modified when unlink drops the internal pad.
3016
3017 2005-06-27  Wim Taymans  <wim@fluendo.com>
3018
3019         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
3020         (gst_bin_change_state):
3021         Cleanup the get_state() function a little, make sure it
3022         iterates the same set of elements.
3023         Added stub iterate_state_order().
3024
3025 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3026
3027         * docs/gst/gstreamer-docs.sgml:
3028         * docs/gst/gstreamer-sections.txt:
3029         * docs/gst/gstreamer.types:
3030         * docs/gst/tmpl/gstbasesink.sgml:
3031         * docs/gst/tmpl/gstbasesrc.sgml:
3032         * docs/gst/tmpl/gstbasetransform.sgml:
3033         * docs/gst/tmpl/gstelement.sgml:
3034         * docs/gst/tmpl/gstiterator.sgml:
3035         * gst/base/gstbasesrc.c:
3036         * gst/base/gstbasesrc.h:
3037         * gst/base/gstbasetransform.h:
3038         * gst/gstelement.c:
3039         * gst/gstiterator.h:
3040           adding basetransform and iterator docs
3041
3042 2005-06-27  Andy Wingo  <wingo@pobox.com>
3043
3044         * docs/design/part-activation.txt: Notes on how activation should
3045         work -- not quite implemented yet.
3046
3047 2005-06-25  Wim Taymans  <wim@fluendo.com>
3048
3049         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3050         At least get the chain function correct, needs more
3051         fixing.
3052
3053 2005-06-25  Wim Taymans  <wim@fluendo.com>
3054
3055         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3056         (gst_basesink_handle_object), (gst_basesink_event),
3057         (gst_basesink_do_sync), (gst_basesink_handle_event),
3058         (gst_basesink_change_state):
3059         * gst/gsttask.h:
3060         Right, two problems here: ghostpads don't take locks and
3061         glib _rec_mutex_lock_full() with depth==0 still locks.
3062         Catch illegal locking and g_warn them.
3063
3064 2005-06-25  Wim Taymans  <wim@fluendo.com>
3065
3066         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3067         Have to check for completion now...
3068
3069 2005-06-25  Wim Taymans  <wim@fluendo.com>
3070
3071         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3072         (gst_basesink_handle_object), (gst_basesink_event),
3073         (gst_basesink_do_sync), (gst_basesink_handle_event),
3074         (gst_basesink_change_state):
3075         * gst/gstpad.h:
3076         Unlock STREAM_LOCK whatever the recursion was.
3077
3078 2005-06-25  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3081         (gst_basesink_preroll_queue_empty),
3082         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3083         (gst_basesink_event), (gst_basesink_do_sync),
3084         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3085         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3086         (gst_basesink_change_state):
3087         Reworked the base sink, handle event and buffer serialisation
3088         correctly and removed possible deadlock.
3089         Handle EOS correctly.
3090
3091 2005-06-25  Wim Taymans  <wim@fluendo.com>
3092
3093         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3094         (gst_pipeline_change_state):
3095         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3096         Allow elements to post EOS in the state change function.
3097         Fix up -launch, make it exit the poll loop when the
3098         pipeline actually changed state.
3099         Fix up warning parsing in -launch.
3100
3101 2005-06-25  Wim Taymans  <wim@fluendo.com>
3102
3103         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3104         (gst_tee_sink_activate):
3105         Core takes STREAM_LOCK for us now.
3106
3107 2005-06-25  Wim Taymans  <wim@fluendo.com>
3108
3109         * gst/gstelement.c: (gst_element_get_state_func),
3110         (gst_element_set_state):
3111         * gst/gstelement.h:
3112         * gst/gstmessage.c: (gst_message_parse_error),
3113         (gst_message_parse_warning):
3114         Keep track of current target state while performing a state
3115         change so that subclasses can do something interesting.
3116         Fix parsing of warning/error messages when GError is NULL.
3117
3118 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * docs/gst/Makefile.am:
3121         * docs/gst/gstreamer-docs.sgml:
3122         * docs/gst/gstreamer-sections.txt:
3123         * docs/gst/gstreamer.types:
3124         * docs/gst/tmpl/gstbasesink.sgml:
3125         * docs/gst/tmpl/gstbasesrc.sgml:
3126         * docs/gst/tmpl/gstbin.sgml:
3127         * docs/gst/tmpl/gstcompat.sgml:
3128         * docs/gst/tmpl/gstfakesink.sgml:
3129         * docs/gst/tmpl/gstfakesrc.sgml:
3130         * docs/gst/tmpl/gstfilesink.sgml:
3131         * docs/gst/tmpl/gstfilesrc.sgml:
3132         * docs/gst/tmpl/gstindex.sgml:
3133         * docs/manual/appendix-quotes.xml:
3134         * gst/base/gstbasesrc.h:
3135         * gst/elements/gstfakesrc.h:
3136         * gst/gstmessage.h:
3137           start pulling in base classes and elements in our docs
3138
3139 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3140
3141         * docs/gst/Makefile.am:
3142         * docs/libs/Makefile.am:
3143           fixed make distcheck with gtk-doc 1.3
3144
3145 2005-06-23  Wim Taymans  <wim@fluendo.com>
3146
3147         * gst/gstelement.c: (gst_element_get_state_func),
3148         (gst_element_set_state), (gst_element_change_state):
3149         When the state did not change, also report NO_PREROLL
3150         when it matters.
3151
3152 2005-06-23  Wim Taymans  <wim@fluendo.com>
3153
3154         * gst/gstpad.c: (gst_pad_event_default):
3155         * gst/gstqueue.c: (gst_queue_loop):
3156         No unsafe task pausing please.
3157
3158 2005-06-23  Wim Taymans  <wim@fluendo.com>
3159
3160         * gst/schedulers/threadscheduler.c:
3161         (gst_thread_scheduler_task_start),
3162         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3163         Ref the task before pushing it on the threadpool. This
3164         makes sure that we have a ref when the threadfunction is
3165         actually called.
3166
3167 2005-06-23  Andy Wingo  <wingo@pobox.com>
3168
3169         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3170         offset is greater than the file's size.
3171
3172         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3173         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3174         * gst/gstobject.c (gst_object_class_init): Make the class lock
3175         recursive. Wim won't let me drop deep_notify. Decodebin works
3176         again, whoopdy doo.
3177
3178         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3179         internal pad, and hacks accordingly. Doesn't do it on the target
3180         pad because we change its caps. Probably catches all cases of
3181         interest tho.
3182         (gst_ghost_pad_set_property): Connect to notify::caps as
3183         appropritate.
3184
3185         * tests/network-clock.scm (plot-simulation): Pipe data to the
3186         elite python skript.
3187
3188         * tests/network-clock-utils.scm (define-parameter): New macro,
3189         defines a parameter that can be set via the command line.
3190         (set-parameter!, parse-parameter-arguments): Command line args
3191         parser.
3192
3193         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3194         stdin.
3195
3196 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3197
3198         * gst/elements/gsttypefindelement.c:
3199         (gst_type_find_element_handle_event):
3200           Don't restart typefinding on a discont.
3201         * gst/gstelement.c: (gst_element_set_state):
3202           Debug spelling fix.
3203         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3204           Allow changing mode of an active pad.
3205           Debug output fixes.
3206         * gst/registries/gstlibxmlregistry.c: (load_feature):
3207           Don't cast a static pad template to a normal pad template.
3208
3209 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3210
3211         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3212         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3213           remove gst_strtoll completely, since it didn't actually do
3214           anything more than what g_ascii_strtoull already does.
3215           check for range errors when deserializing
3216           do a cast for the unsigned cases; but further fixing needs
3217           a decision on what the interpretation of "(int)" and
3218           deserialization should be for values that fall outside the
3219           type's boundaries (ie, refuse, or interpret as casting)
3220
3221 2005-06-23  Wim Taymans  <wim@fluendo.com>
3222
3223         * check/Makefile.am:
3224         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3225         * docs/design/part-live-source.txt:
3226         * docs/design/part-states.txt:
3227         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3228         (gst_basesrc_set_live), (gst_basesrc_is_live),
3229         (gst_basesrc_get_range), (gst_basesrc_activate),
3230         (gst_basesrc_change_state):
3231         * gst/base/gstbasesrc.h:
3232         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3233         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3234         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3235         * gst/gstelement.c: (gst_element_get_state_func),
3236         (gst_element_set_state):
3237         * gst/gstelement.h:
3238         * gst/gsttypes.h:
3239         * tools/gst-launch.c: (event_loop), (main):
3240         Added support for live sources and other elements that
3241         cannot do preroll.
3242         Updated design docs, added live-source design doc.
3243         Implemented live source functionality in basesrc
3244         Fix error condition in _bin_get_state()
3245         Implement live source handling in -launch.
3246         Added check for live sources.
3247         Fixed case in GstBin where elements were changed state
3248         multiple times.
3249
3250
3251 2005-06-23  Andy Wingo  <wingo@pobox.com>
3252
3253         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3254         borken refcounting.
3255
3256         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3257         gst_caps_replace takes care of this for us.
3258
3259         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3260         gst_pad_set_caps on the target, not just its setcaps() function.
3261
3262         * tests/network-clock.scm: 
3263         * tests/network-clock-utils.scm: A network clock simulator.
3264         Something of an algorithmic testbed before doing something in C.
3265
3266 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3267
3268         * check/Makefile.am:
3269         * check/gst/capslist.h:
3270           copy over from 0.8, and add two with bitmasks specified with
3271           (int) 0xFF...
3272         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3273           add test to parse everything from capslist.h
3274         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3275         (main):
3276           add test for structure deserialization
3277         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3278           add tests for deserialization of strings to int types
3279         * gst/gststructure.c: (gst_structure_nth_field_name):
3280         * gst/gststructure.h:
3281           add a way to get the name of a field referenced by index
3282         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3283           instead of checking if the resulting long long lies between
3284           min and max, we check if the long long would fit into
3285           a number of bytes for the final type.
3286           This fixes cases where a string represents 2^32 - 1, which
3287           when cast to int would be the (valid) -1, but is bigger than
3288           G_MAXINT
3289
3290 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3291
3292         * gst/parse/grammar.y:
3293           add a log line for type deserialization
3294
3295 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3296
3297         * check/gst/gstvalue.c: (START_TEST):
3298         * gst/gstvalue.c: (gst_value_deserialize):
3299           return long long, not int, so gint64 deserialization actually
3300           works.  Is there any flag that makes the compiler check this ?
3301           Fixes #308559
3302
3303 2005-06-22  Wim Taymans  <wim@fluendo.com>
3304
3305         * gst/gstbuffer.h:
3306         Added convenience macros for setting buffers in GValue.
3307
3308 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3309
3310         * check/gst/.cvsignore:
3311         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3312           add a test deserializing int64, and comment part out because
3313           it fails, yay !
3314
3315 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3316
3317         * check/Makefile.am:
3318         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3319         * testsuite/Makefile.am:
3320         * testsuite/caps/Makefile.am:
3321         * testsuite/caps/value_serialize.c:
3322         * testsuite/test_gst_init.c:
3323           move a value_serialize test over
3324
3325 2005-06-20  Wim Taymans  <wim@fluendo.com>
3326
3327         * gst/gstpad.c:
3328         Small doc updates.
3329         
3330         * gst/gstvalue.c: (gst_value_compare_buffer),
3331         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3332         (gst_value_compare_flags), (gst_value_serialize_flags),
3333         (gst_value_deserialize_flags), (_gst_value_initialize):
3334         Fix serialisation of buffers, they are not boxed types anymore
3335
3336 2005-06-20  Wim Taymans  <wim@fluendo.com>
3337
3338         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3339         Testcase to show error in buffer-on-caps serialisation.
3340
3341 2005-06-20  Andy Wingo  <wingo@pobox.com>
3342
3343         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3344         will be adding to later.
3345
3346         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3347         if its socks fill with rocks.
3348         (gst_system_clock_obtain): Set the name on object construction.
3349         Avoid double-checked locking.
3350
3351 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3352
3353         * gst/gsturi.c: (gst_element_make_from_uri):
3354           Fix potential endless loop.
3355
3356 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3357
3358         * check/Makefile.am:
3359           add gsttag
3360         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3361         (main):
3362           move over from testsuite dir and clean up
3363         * configure.ac:
3364         * gst/gsttag.c:
3365         * testsuite/Makefile.am:
3366         * testsuite/tags/.cvsignore:
3367         * testsuite/tags/Makefile.am:
3368         * testsuite/tags/merge.c:
3369           remove testsuite/tags
3370
3371 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3372
3373         * docs/gst/gstreamer-sections.txt:
3374         * docs/gst/tmpl/gstenumtypes.sgml:
3375         * win32/gstenumtypes.c:
3376           clean up documentation build a little
3377
3378 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3379
3380         * check/gstcheck.h:
3381           add macros for checking refcounts on objects and caps
3382         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3383           add some more unit tests
3384         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3385         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3386           fix leaked refcounts (I hope :)) so unittest works
3387         * gst/gstpad.h:
3388           whitespace removal
3389
3390 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3391
3392         * configure.ac: back to HEAD
3393
3394 === release 0.9.1 ===
3395
3396 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3397
3398         * NEWS:
3399         * RELEASE:
3400           updated
3401
3402 2005-06-17  Andy Wingo  <wingo@pobox.com>
3403
3404         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3405         assert; it's always possible that the pad gets deactivated in
3406         between the checks in gstpad.c and the implementation. Rely on
3407         finish_preroll() to return a FLUSHING or similar instead of on the
3408         assert.
3409         
3410         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3411         clock and post an EOS message if we come out of finish_preroll in
3412         the playing state.
3413
3414 2005-06-16  David Schleef  <ds@schleef.org>
3415
3416         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3417         (gst_capsfilter_set_property): Allow NULL as possible value
3418         for filter_caps property, indicating GST_CAPS_ANY.
3419
3420 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3421
3422         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3423           fix debug output
3424         * gst/schedulers/Makefile.am:
3425           use libgst prefix
3426         * gstreamer.spec.in:
3427           fix spec for it
3428
3429 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3430
3431         * gstreamer.spec.in:
3432           clean up
3433
3434 2005-06-08  Andy Wingo  <wingo@pobox.com>
3435
3436         * gst/gstutils.c: RPAD fixes all around.
3437         (gst_element_link_pads): Refcounting fixes.
3438
3439         * tools/gst-inspect.c:
3440         * tools/gst-xmlinspect.c:
3441         * parse/grammar.y:
3442         * gst/base/gsttypefindhelper.c:
3443         * gst/base/gstbasesink.c:
3444         * gst/gstqueue.c: RPAD fixes.
3445
3446         * gst/gstghostpad.h:
3447         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3448         pads. The tricky thing is they provide both source and sink
3449         interfaces, since they proxy the internal pad for the external
3450         pad, and vice versa. Implement with lower-level ProxyPad objects,
3451         with the interior proxy pad as a child of the exterior ghost pad.
3452         Should write a doc on this.
3453         
3454         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3455         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3456         gst_object API.
3457         
3458         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3459         pads are real pads. No ghost pads in this file. Not documenting
3460         the myriad s/RPAD/PAD/ and REALIZE fixes.
3461         (gst_pad_class_init): Add properties for "direction" and
3462         "template". Both are construct-only, so they can't change during
3463         the life of the pad. Fixes properly deriving from GstPad.
3464         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3465         derived objects, just set properties when creating the objects via
3466         g_object_new.
3467         (gst_pad_get_parent): Implement as a function, return NULL if the
3468         parent is not an element.
3469         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3470         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3471         
3472         * gst/gstobject.c (gst_object_class_init): Make name a construct
3473         property. Don't set it in the object init.
3474
3475         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3476         with UNKNOWN direction.
3477         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3478         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3479         (gst_element_remove_pad): Remove ghost-pad special cases.
3480         (gst_element_pads_activate): Remove rpad cruft.
3481
3482         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3483         catch the pad's-parent-not-an-element case.
3484
3485         * gst/gst.h: Include gstghostpad.h.
3486
3487         * gst/gst.c (init_post): No more real, ghost pads.
3488
3489         * gst/Makefile.am: Add gstghostpad.[ch].
3490
3491         * check/Makefile.am:
3492         * check/gst/gstbin.c:
3493         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3494         into a bin creates ghost pads, and that the refcounts are right.
3495         Partly moved from gstbin.c.
3496
3497 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3498
3499         * check/gst-libs/.cvsignore:
3500         * check/gst/.cvsignore:
3501         * check/pipelines/.cvsignore:
3502           ignore more
3503         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3504         (START_TEST), (cleanup_suite), (main):
3505           add some tests related to cleanup after running pipelines
3506
3507 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3508
3509         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3510           add a testsuite for GstBuffer
3511
3512 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3513
3514         * gst/gstminiobject.h:
3515           add defines for accessing the refcount
3516
3517 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3518
3519         * Makefile.am: added support for html unit test coverage reports
3520
3521 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3522
3523         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3524           Free existing caps if the capsfilter changes. Add a FIXME about
3525           setting those caps on the pads.
3526
3527         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3528           Before adding a ghost pad to a parent bin, check that there isn't
3529           already one for the element on the bin. Prevents infinite recursion
3530           when using decodebin in parse pipelines. Andy says he'll rewrite the
3531           way this works anyway, so ignore the hack.
3532
3533 2005-06-02  Andy Wingo  <wingo@pobox.com>
3534
3535         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3536         file size, pass it on to the type find helper.
3537
3538         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3539         segment_start and segment_end properly according to the seek
3540         method. Segment_end is still a bit flaky because offset can be
3541         negative for CUR and END cases, but it takes -1 as an "unset"
3542         value.
3543
3544 2005-06-02  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3547         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3548         (gst_basesink_activate):
3549         * gst/base/gstbasesink.h:
3550         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3551         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3552         (gst_pad_query), (gst_pad_start_task):
3553         * gst/gstpad.h:
3554         * gst/gstqueue.c: (gst_queue_bufferalloc),
3555         (gst_queue_handle_sink_event), (gst_queue_chain):
3556         Bufferalloc: return GstFlowReturn to more accuratly report
3557         why allocation failed.
3558
3559 2005-06-02  Wim Taymans  <wim@fluendo.com>
3560
3561         * gst/gstpipeline.c: (gst_pipeline_send_event):
3562         Take snapshot of state without blocking.
3563
3564 2005-06-02  Wim Taymans  <wim@fluendo.com>
3565
3566         * docs/design/part-TODO.txt:
3567         * docs/design/part-caps.txt:
3568         * docs/design/part-clocks.txt:
3569         * docs/design/part-negotiation.txt:
3570         * docs/design/part-preroll.txt:
3571         Small doc updates 
3572
3573 2005-05-30  Wim Taymans  <wim@fluendo.com>
3574
3575         * gst/elements/gstidentity.c: (gst_identity_event),
3576         (gst_identity_transform), (gst_identity_get_property):
3577         Protect last_message property as it is accessed from
3578         multiple threads.
3579
3580 2005-05-30  Wim Taymans  <wim@fluendo.com>
3581
3582         * gst/gstelement.c: (gst_element_init),
3583         (gst_element_pads_activate), (gst_element_change_state):
3584         Slicker pad activation code.
3585
3586 2005-05-30  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/Makefile.am:
3589         * gst/gstelement.h:
3590         * gst/gstelementfactory.h:
3591         * gst/gsttypes.h:
3592         Move elementfactory methods to separate .h file.
3593
3594 2005-05-30  Wim Taymans  <wim@fluendo.com>
3595
3596         * docs/design/part-overview.txt:
3597         * gst/gstsystemclock.h:
3598         Small typo fixes, doc updates.
3599
3600 2005-05-30  Wim Taymans  <wim@fluendo.com>
3601
3602         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3603         (init_popt_callback):
3604         Remove cpu-opt flag.
3605
3606 2005-05-30  Wim Taymans  <wim@fluendo.com>
3607
3608         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3609         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3610         * gst/gstbuffer.h:
3611         Avoid typechecking in places where not needed.
3612         Added accessor for malloc_data.
3613
3614 2005-05-30  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3617         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3618         (gst_pad_configure_sink), (gst_pad_configure_src),
3619         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3620         (gst_pad_start_task):
3621         Propagate errors from _set_caps() in configure_src/sink
3622         functions instead of returning TRUE.
3623         FLUSH events can travel up and downstream
3624
3625
3626 2005-05-30  Wim Taymans  <wim@fluendo.com>
3627
3628         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3629         (gst_basesink_activate):
3630         Handle EOS in preroll.
3631
3632 2005-05-30  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3635         (gst_queue_loop), (gst_queue_handle_src_event):
3636         Remove old pieces of code
3637         Flushing the queue in an upstream event is a very bad idea.
3638
3639 2005-05-26  Andy Wingo  <wingo@pobox.com>
3640
3641         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3642         gst_value_set_mini_object so as to add a ref on the object (which
3643         will be removed when the value is unset).
3644
3645         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3646         arg type in ::handoff.
3647
3648         * gst/gstelement.c (gst_element_change_state): Also deactivate
3649         pads in READY->NULL, just in case the element didn't make it to
3650         PAUSED. Wingo tested, Wim approved.
3651
3652 2005-05-26  Wim Taymans  <wim@fluendo.com>
3653
3654         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3655         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3656         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3657         A flushing pad cannot be used to alloc_buffer from.
3658
3659 2005-05-26  Wim Taymans  <wim@fluendo.com>
3660
3661         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3662         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3663         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3664         (gst_bus_create_watch), (gst_bus_add_watch_full):
3665         * gst/gstbus.h:
3666         Implement a real GSource and use g_main_context_wakeup() to
3667         signal new messages instead of the socketpair.
3668
3669 2005-05-25  Wim Taymans  <wim@fluendo.com>
3670
3671         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3672         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3673         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3674         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3675         (gst_pad_send_event), (gst_pad_start_task):
3676         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3677         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3678         (gst_queue_sink_activate), (gst_queue_src_activate),
3679         (gst_queue_change_state):
3680         * gst/gstqueue.h:
3681         Fix state changes for non sinks. We now change sinks, then elements
3682         with unconnected srcpads, then the rest.
3683         More efficient queue unlocking in flush and state changes.
3684         Set the pad activate mode even if it does not have an activate
3685         function.
3686
3687 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3688
3689         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3690           Don't go in pull mode for non-seekable sources.
3691         * gst/elements/gsttypefindelement.h:
3692         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3693         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3694         (free_entry), (stop_typefinding),
3695         (gst_type_find_element_handle_event), (find_peek),
3696         (gst_type_find_element_chain), (do_pull_typefind),
3697         (gst_type_find_element_change_state):
3698           Allow typefinding (w/o seeking) in push-mode, simplified version
3699           of what was in 0.8.
3700         * gst/gstutils.c: (gst_buffer_join):
3701         * gst/gstutils.h:
3702           gst_buffer_join() from 0.8.
3703
3704 2005-05-25  Wim Taymans  <wim@fluendo.com>
3705
3706         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3707         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3708         (gst_pad_send_event), (gst_pad_start_task):
3709         Disable attempt at mode switching until it is figured out.
3710
3711 2005-05-25  Wim Taymans  <wim@fluendo.com>
3712
3713         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3714         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3715         (gst_basesink_finish_preroll), (gst_basesink_chain),
3716         (gst_basesink_loop), (gst_basesink_activate),
3717         (gst_basesink_change_state):
3718         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3719         (gst_basesrc_get_range), (gst_basesrc_loop),
3720         (gst_basesrc_activate):
3721         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3722         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3723         (gst_real_pad_init), (gst_real_pad_set_property),
3724         (gst_real_pad_get_property), (gst_pad_set_active),
3725         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3726         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3727         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3728         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3729         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3730         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3731         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3732         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3733         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3734         (gst_pad_stop_task):
3735         * gst/gstpad.h:
3736         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3737         (gst_queue_loop), (gst_queue_src_activate):
3738         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3739         (gst_task_get_state):
3740         * gst/gsttask.h:
3741         * gst/schedulers/threadscheduler.c:
3742         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3743         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3744         in task function.
3745         Remove ACTIVE pad flag, use FLUSHING everywhere
3746         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3747         functions.
3748         Add locks around IS_FLUSHING when reading.
3749         Take STREAM lock in chain(), get_range() functions so plugins
3750         don't need to take it anymore.
3751         
3752
3753
3754 2005-05-25  Wim Taymans  <wim@fluendo.com>
3755
3756         * tools/gst-launch.c: (event_loop):
3757         Unref message after using its contents instead of
3758         before.
3759
3760 2005-05-24  Wim Taymans  <wim@fluendo.com>
3761
3762         * docs/design/draft-ghostpads.txt:
3763         * docs/design/draft-push-pull.txt:
3764         * docs/design/draft-query.txt:
3765         * docs/design/part-overview.txt:
3766         Docs updates, added general overview doc.
3767
3768 2005-05-21  David Schleef  <ds@schleef.org>
3769
3770         * docs/gst/tmpl/old/GstBin.sgml:
3771         * docs/gst/tmpl/old/GstBuffer.sgml:
3772         * docs/gst/tmpl/old/GstCaps.sgml:
3773         * docs/gst/tmpl/old/GstClock.sgml:
3774         * docs/gst/tmpl/old/GstCompat.sgml:
3775         * docs/gst/tmpl/old/GstData.sgml:
3776         * docs/gst/tmpl/old/GstElement.sgml:
3777         * docs/gst/tmpl/old/GstEvent.sgml:
3778         * docs/gst/tmpl/old/GstIndex.sgml:
3779         * docs/gst/tmpl/old/GstStructure.sgml:
3780         * docs/gst/tmpl/old/GstTag.sgml:
3781         * docs/gst/tmpl/old/cothreads.sgml:
3782         * docs/gst/tmpl/old/cothreads_compat.sgml:
3783         * docs/gst/tmpl/old/gettext.sgml:
3784         * docs/gst/tmpl/old/gobject2gtk.sgml:
3785         * docs/gst/tmpl/old/grammar.tab.sgml:
3786         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3787         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3788         * docs/gst/tmpl/old/gst_private.sgml:
3789         * docs/gst/tmpl/old/gstaggregator.sgml:
3790         * docs/gst/tmpl/old/gstarch.sgml:
3791         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3792         * docs/gst/tmpl/old/gstbufferstore.sgml:
3793         * docs/gst/tmpl/old/gstdata_private.sgml:
3794         * docs/gst/tmpl/old/gstdisksink.sgml:
3795         * docs/gst/tmpl/old/gstdisksrc.sgml:
3796         * docs/gst/tmpl/old/gstelementfactory.sgml:
3797         * docs/gst/tmpl/old/gstextratypes.sgml:
3798         * docs/gst/tmpl/old/gstfakesink.sgml:
3799         * docs/gst/tmpl/old/gstfakesrc.sgml:
3800         * docs/gst/tmpl/old/gstfdsink.sgml:
3801         * docs/gst/tmpl/old/gstfdsrc.sgml:
3802         * docs/gst/tmpl/old/gstfilesink.sgml:
3803         * docs/gst/tmpl/old/gstfilesrc.sgml:
3804         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3805         * docs/gst/tmpl/old/gstidentity.sgml:
3806         * docs/gst/tmpl/old/gstindexfactory.sgml:
3807         * docs/gst/tmpl/old/gstmarshal.sgml:
3808         * docs/gst/tmpl/old/gstmd5sink.sgml:
3809         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3810         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3811         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3812         * docs/gst/tmpl/old/gstpipefilter.sgml:
3813         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3814         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3815         * docs/gst/tmpl/old/gstshaper.sgml:
3816         * docs/gst/tmpl/old/gstspider.sgml:
3817         * docs/gst/tmpl/old/gstspideridentity.sgml:
3818         * docs/gst/tmpl/old/gststatistics.sgml:
3819         * docs/gst/tmpl/old/gsttee.sgml:
3820         * docs/gst/tmpl/old/gsttimecache.sgml:
3821         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3822         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3823         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3824         * docs/gst/tmpl/old/types.sgml:
3825           I didn't intend to add these or check them in.
3826
3827 2005-05-19  David Schleef  <ds@schleef.org>
3828
3829         * configure.ac: Use -no-common everywhere.  In a sane world, it
3830           would be the default in libtool, because without it, you can't
3831           build DLLs on Windows.
3832         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3833         * docs/gst/gstreamer-sections.txt:
3834         * docs/gst/tmpl/gstcpu.sgml:
3835         * docs/gst/tmpl/gstdata.sgml:
3836         * docs/gst/tmpl/gstthread.sgml:
3837
3838 2005-05-19  David Schleef  <ds@schleef.org>
3839
3840         * gst/gstminiobject.c: (gst_value_set_mini_object),
3841         (gst_value_take_mini_object), (gst_value_get_mini_object):
3842         * gst/gstminiobject.h: Add GValue set/get functions.
3843
3844 2005-05-19  Wim Taymans  <wim@fluendo.com>
3845
3846         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3847         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3848         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3849         * gst/gstbuffer.h:
3850         * gst/gstbus.c: (gst_bus_post):
3851         * gst/gstelement.c: (gst_element_get_random_pad):
3852         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3853         Make subbufer unref the parent in finalize.
3854         some more debugging info.
3855
3856
3857 2005-05-19  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3860         (gst_basesink_init), (gst_basesink_finalize),
3861         (gst_basesink_activate), (gst_basesink_change_state):
3862         Don't free preroll queue too early.
3863
3864 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3865
3866         * gst/Makefile.am:
3867         * gst/ROADMAP:
3868           Hi, I'm outdated. Please shoot me.
3869
3870 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3871
3872         * gst/gstpipeline.c: (gst_pipeline_send_event):
3873           Do not access variables after they have been deleted.
3874
3875 2005-05-19  Wim Taymans  <wim@fluendo.com>
3876
3877         * tools/gst-inspect.c: (print_plugin_features):
3878         A plugin feature does unfortunatly not use the
3879         object name yet...
3880
3881 2005-05-18  Wim Taymans  <wim@fluendo.com>
3882
3883         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3884         Port _span() functions to new subbuffers.
3885
3886 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3887
3888         * gst/gstbin.c: (gst_bin_add_func):
3889           Fix clock settery in bins when adding kids after the clock has
3890           been selected.
3891
3892 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3893
3894         * gst/elements/gstidentity.c: (gst_identity_class_init):
3895           Workaround until signals support GstMiniObject.
3896
3897 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3898
3899         * gst/gstbuffer.c:
3900         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3901
3902 2005-05-18  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/base/Makefile.am:
3905         * gst/base/gstadapter.c: (gst_adapter_base_init),
3906         (gst_adapter_class_init), (gst_adapter_init),
3907         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3908         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3909         (gst_adapter_flush), (gst_adapter_available),
3910         (gst_adapter_available_fast):
3911         * gst/base/gstadapter.h:
3912         Ported and added adapter to the base classes.
3913
3914 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3915
3916         * gst/gst.c:
3917         * gst/gstmessage.c:
3918           Make sure the class is reffed/unreffed once before threads can be
3919           used.  Fixes #304551.
3920
3921 2005-05-17  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3924         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3925         * gst/gstminiobject.c: (gst_mini_object_get_type),
3926         (gst_mini_object_free):
3927         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3928         (gst_pad_push), (gst_pad_push_event):
3929         * gst/gstqueue.c: (gst_queue_change_state):
3930         Don't queue buffers in basesink when we are flushing.
3931         Unref buffer when flushing in basesink.
3932         Flush queue when going to READY
3933         Unref buffer when _push() returns an error.
3934         Don't free MiniObject instance when refcount is incremented
3935         in _finalize() so that we can recover objects.
3936
3937 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3938
3939         * docs/manual/advanced-schedulers.xml:
3940         * docs/manual/appendix-checklist.xml:
3941         * docs/pwg/advanced-clock.xml:
3942         * docs/pwg/advanced-interfaces.xml:
3943         * docs/pwg/advanced-request.xml:
3944         * docs/pwg/advanced-types.xml:
3945         * docs/pwg/intro-preface.xml:
3946         * examples/plugins/example.c: (gst_example_get_type),
3947         (gst_example_class_init), (gst_example_chain),
3948         (gst_example_set_property), (gst_example_get_property),
3949         (gst_example_change_state), (plugin_init):
3950         * examples/plugins/example.h:
3951           small doc fixes
3952
3953 2005-05-17  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3956         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3957         * gst/gstqueue.c: (gst_queue_change_state):
3958         Clear queue when going to READY.
3959         Remove IN_SETCAPS flag too.
3960
3961 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3962
3963         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3964           Remove implicit cast from gboolean to GstElementStateReturn;
3965           make sure we still return failure in paused => ready case if
3966           the parent class fails to change state and our own stop 
3967           vfunc succeeds.
3968
3969 2005-05-17  Wim Taymans  <wim@fluendo.com>
3970
3971         * tools/gst-launch.c: (event_loop):
3972         Message was unreffed too soon.
3973
3974 2005-05-16  Andy Wingo  <wingo@pobox.com>
3975
3976         * gst/gstbin.c (sink_iterator_filter): Err... um...
3977
3978         * check/gst/gstbin.c (test_ghost_pads): New test for the
3979         ghosting-if-elements-not-in-same-bin behavior.
3980
3981 2005-05-16  David Schleef  <ds@schleef.org>
3982
3983         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3984         accessing refcount directly.
3985
3986 2005-05-15  David Schleef  <ds@schleef.org>
3987
3988         * check/Makefile.am: remove GstData checks
3989         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3990         * gst/Makefile.am: add miniobject, remove data
3991         * gst/gst.h: add miniobject, remove data
3992         * gst/gstdata.c: remove
3993         * gst/gstdata.h: remove
3994         * gst/gstdata_private.h: remove
3995         * gst/gsttypes.h: remove GstEvent and GstMessage
3996         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3997         * gst/gstmarshal.list: change BOXED -> OBJECT
3998
3999         Implement GstMiniObject.
4000         * gst/gstminiobject.c:
4001         * gst/gstminiobject.h:
4002
4003         Modify to be subclasses of GstMiniObject.
4004         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
4005         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
4006         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
4007         (gst_subbuffer_get_type), (gst_subbuffer_init),
4008         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
4009         (gst_buffer_span):
4010         * gst/gstbuffer.h:
4011         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
4012         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
4013         (_gst_event_copy), (gst_event_new):
4014         * gst/gstevent.h:
4015         * gst/gstmessage.c: (_gst_message_initialize),
4016         (gst_message_get_type), (gst_message_class_init),
4017         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
4018         (gst_message_new), (gst_message_new_error),
4019         (gst_message_new_warning), (gst_message_new_tag),
4020         (gst_message_new_state_changed), (gst_message_new_application):
4021         * gst/gstmessage.h:
4022         * gst/gstprobe.c: (gst_probe_perform),
4023         (gst_probe_dispatcher_dispatch):
4024         * gst/gstprobe.h:
4025         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4026         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4027         (_gst_query_copy), (gst_query_new):
4028
4029         Update elements for GstData -> GstMiniObject changes
4030         * gst/gstquery.h:
4031         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4032         (gst_queue_chain), (gst_queue_loop):
4033         * gst/elements/gstbufferstore.c:
4034         (gst_buffer_store_add_buffer_func),
4035         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4036         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4037         (gst_fakesink_render):
4038         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4039         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4040         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4041         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4042         (gst_filesrc_create_read):
4043         * gst/elements/gstidentity.c: (gst_identity_class_init):
4044         * gst/elements/gsttypefindelement.c:
4045         (gst_type_find_element_src_event), (free_entry_buffers),
4046         (gst_type_find_element_handle_event):
4047         * libs/gst/dataprotocol/dataprotocol.c:
4048         (gst_dp_header_from_buffer):
4049         * libs/gst/dataprotocol/dataprotocol.h:
4050         * libs/gst/dataprotocol/dp-private.h:
4051
4052 2005-05-15  David Schleef  <ds@schleef.org>
4053
4054         * gst/elements/gstelements.c: Don't include headers that were
4055         just removed.
4056
4057 2005-05-15  David Schleef  <ds@schleef.org>
4058
4059         * gst/elements/Makefile.am: Remove some elements that don't
4060         need to be in the core (or even exist at all).
4061         * gst/elements/gstaggregator.c:
4062         * gst/elements/gstaggregator.h:
4063         * gst/elements/gstmd5sink.c:
4064         * gst/elements/gstmd5sink.h:
4065         * gst/elements/gstmultifilesrc.c:
4066         * gst/elements/gstmultifilesrc.h:
4067         * gst/elements/gstpipefilter.c:
4068         * gst/elements/gstpipefilter.h:
4069         * gst/elements/gstshaper.c:
4070         * gst/elements/gstshaper.h:
4071         * gst/elements/gststatistics.c:
4072         * gst/elements/gststatistics.h:
4073         * po/POTFILES.in: Remove above files.
4074
4075 2005-05-14  Andy Wingo  <wingo@pobox.com>
4076
4077         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4078         so as to get the refs right.
4079         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4080         unreffing objects that don't pass the filter.
4081
4082         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4083         gst_element_set_bus.
4084         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4085         normal cases, this will destroy the bus.
4086
4087         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4088         object.
4089
4090         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4091         has no sinks.
4092
4093 2005-05-13  Andy Wingo  <wingo@pobox.com>
4094
4095         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4096         gst_pad_link, call pad_link_maybe_ghosting,
4097         (pad_link_maybe_ghosting): Links pads, making sure that the
4098         elements being linked are in the same bin.
4099         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4100         Helpers for pad_link_maybe_ghosting.
4101
4102 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4103
4104         * configure.ac:
4105           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4106
4107 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4108
4109         * docs/design/part-element-source.txt:
4110           Mention GstPushSrc
4111
4112 2005-05-12  Wim Taymans  <wim@fluendo.com>
4113
4114         * gst/base/gstbasesink.c: (gst_basesink_init),
4115         (gst_basesink_activate):
4116         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4117         (gst_basesrc_is_seekable):
4118         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4119         (bin_element_is_sink), (gst_bin_change_state):
4120         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4121         * gst/gstelement.h:
4122         Identify sinks by their flag to avoid overly complicated
4123         checks (fow now).
4124         Do state changes even for elements not reachable from the
4125         sinks.
4126         BaseSink is a sink now :)
4127         Some more debugging info in the basesrc.
4128
4129
4130 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4131
4132         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4133           Implement _query on a bin, similar to _send_event.
4134
4135 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
4136
4137         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4138           Discont event offset format should be GST_FORMAT_BYTES,
4139           not GST_FORMAT_TIME.
4140
4141 2005-05-12  Wim Taymans  <wim@fluendo.com>
4142
4143         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4144         Same fix as Ronald's but without the signal. 
4145
4146 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4147
4148         * gst/gstutils.c: (gst_element_query_position):
4149           No, an element is not a pad.
4150
4151 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4152
4153         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4154         (gst_bin_get_state):
4155           If a child is removed from a bin while we remove the child from
4156           the bin and while we're retrieving its state, signal this to the
4157           get_state function so we abort the wait (instead of waiting for
4158           a timeout) and can immediately re-iterate over all other elements.
4159
4160 2005-05-12  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/base/Makefile.am:
4163         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4164         (gst_basesrc_start):
4165         * gst/base/gstbasesrc.h:
4166         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4167         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4168         (gst_pushsrc_init), (gst_pushsrc_create):
4169         * gst/base/gstpushsrc.h:
4170         Added is_seekable to BaseSrc
4171         Added simple PushSrc.
4172
4173 2005-05-11  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4176         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4177         (gst_element_link_pads), (gst_element_query_position),
4178         (gst_element_query_convert), (intersect_caps_func),
4179         (gst_pad_query_position), (gst_pad_query_convert):
4180         Fix refcounting in utils function.
4181         No point in trying to activate a pad when it's added, it could
4182         be added from the state change function and then we deadlock, the
4183         element has to decide what to do.
4184
4185 2005-05-10  Andy Wingo  <wingo@pobox.com>
4186
4187         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4188         *all* the arguments.
4189
4190         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4191         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4192         lock (according to the docs -- if this is wrong change the docs).
4193
4194         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4195         flush messages in the NULL state.
4196
4197         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4198         message immediately and return.
4199         (gst_bus_set_flushing): New function. If a bus is flushing, it
4200         flushes out any queued messages and immediately unrefs new
4201         messages. This is so when an element goes to NULL, all of the
4202         unhandled messages coming from it can be freed, and their
4203         references to the element dropped. In other words: message source
4204         ref considered harmful :P
4205
4206         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4207         we're finished with it.
4208
4209         * gst/gstmessage.c (gst_message_new_state_changed): 
4210
4211 2005-05-10  Wim Taymans  <wim@fluendo.com>
4212
4213         * gst/gstvalue.c: (gst_value_compare_flags),
4214         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4215         (_gst_value_initialize):
4216         Added flags serialize/deserialize/compare code.
4217
4218 2005-05-09  Andy Wingo  <wingo@pobox.com>
4219
4220         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4221         Intersect the peer's caps with our caps.
4222
4223 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4224
4225         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4226         * gst/elements/gsttypefindelement.c: (find_peek):
4227           Handle negative offsets better. Fixes decodebin.
4228
4229 2005-05-09  Wim Taymans  <wim@fluendo.com>
4230
4231         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4232         (gst_base_transform_event):
4233         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4234         Implement accept_caps.
4235         Fix silly lock/unlock mismatch in base class.
4236
4237 2005-05-09  Wim Taymans  <wim@fluendo.com>
4238
4239         * docs/design/draft-push-pull.txt:
4240         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4241         * gst/elements/gstfilesink.c: (gst_filesink_init),
4242         (gst_filesink_query):
4243         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4244         (gst_type_find_handle_src_query), (find_element_get_length):
4245         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4246         * gst/gstelement.h:
4247         * gst/gstmessage.c:
4248         * gst/gstmessage.h:
4249         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4250         (gst_real_pad_get_caps_unlocked),
4251         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4252         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4253         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4254         (gst_real_pad_dispose), (gst_real_pad_finalize),
4255         (gst_pad_load_and_link), (gst_pad_save_thyself),
4256         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4257         (gst_pad_check_pull_range), (gst_pad_pull_range),
4258         (gst_pad_template_get_type), (gst_pad_template_class_init),
4259         (gst_pad_template_init), (gst_pad_template_dispose),
4260         (name_is_valid), (gst_static_pad_template_get),
4261         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4262         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4263         (gst_pad_get_element_private), (gst_pad_start_task),
4264         (gst_pad_pause_task), (gst_pad_stop_task),
4265         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4266         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4267         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4268         (gst_ghost_pad_new):
4269         * gst/gstpad.h:
4270         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4271         (gst_query_new_position), (gst_query_set_position),
4272         (gst_query_parse_position), (gst_query_new_convert),
4273         (gst_query_set_convert), (gst_query_parse_convert):
4274         * gst/gstquery.h:
4275         * gst/gstqueryutils.c:
4276         * gst/gstqueryutils.h:
4277         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4278         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4279         (gst_queue_handle_src_query):
4280         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4281         (gst_element_query_position), (gst_element_query_convert),
4282         (intersect_caps_func), (gst_pad_query_position),
4283         (gst_pad_query_convert):
4284         * gst/gstutils.h:
4285         * tools/gst-inspect.c: (print_pad_info):
4286         * tools/gst-xmlinspect.c: (print_element_info):
4287         Remove old query functions. Ported old code.
4288         Added position/convert helper functions to gstutils.
4289         Reordered gstpad.c code, grouping relevant things.
4290         Remove gst_message_new(), always need to speficy a specific
4291         message.
4292
4293
4294 2005-05-09  Andy Wingo  <wingo@pobox.com>
4295
4296         * gst/gstiterator.h: Add some includes.
4297
4298         * gst/gstqueryutils.h: Include more headers.
4299
4300         * gst/gstpad.h:
4301         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4302         some uses of gst_pad_query.
4303
4304         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4305         NULL out parameters.
4306         (gst_query_new_position): New proc, allocates a new position
4307         query.
4308
4309         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4310         gstqueryutils.c to the build.
4311
4312         * gst/gststructure.c (gst_structure_set_valist): Implement with
4313         the generic G_VALUE_COLLECT.
4314         
4315 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4316
4317         * gst/Makefile.am: (gst_headers):
4318         Added gstqueryutils.h to the list of headers to install, that was
4319         a 'nachty' move wingo :)
4320
4321 2005-05-06  Andy Wingo  <wingo@pobox.com>
4322
4323         * gst/gstquery.h
4324         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4325         GstData, init a memchunk.
4326         (standard_definitions): Add a few query types, deprecate a few.
4327         (gst_query_get_type): New proc.
4328         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4329         implementation.
4330         (gst_query_new_application, gst_query_get_structure): New public
4331         procs.
4332
4333         * docs/design/draft-query.txt: Removed LINKS from the query types,
4334         because all the rest can be dispatched to other pads -- seemed
4335         ugly to have a query that couldn't be dispatched. internal_links
4336         is fine as a pad method.
4337
4338         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4339         in gstpad.c, but maintain binary compatibility for the moment.
4340         Will fix before 0.9 is out.
4341
4342         * gst/gstqueryutils.c: 
4343         * gst/gstqueryutils.h: New files, implement 3 methods for each
4344         query type: parse_query, parse_response, and set. Probably need an
4345         allocator as well.
4346
4347         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4348
4349         * gst/elements/gstfilesink.c (gst_filesink_query2):
4350         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4351         query_types, and formats methods.
4352
4353         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4354         (gst_pad_set_query2_function): New functions.
4355         (gst_real_pad_init): Set query2_default as the default query2
4356         function. Basically just dispatches to internally linked pads.
4357
4358         Needs review!
4359         
4360         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4361         without using the atomic operations. Only one thread can possibly
4362         be accessing the data at this point. Changed so as to avoid
4363         gst_atomic operations.
4364
4365 2005-05-06  Wim Taymans  <wim@fluendo.com>
4366
4367         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4368         Also set caps if we use the fallback buffer alloc.
4369
4370 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * docs/gst/Makefile.am:
4373         * docs/gst/gstreamer-docs.sgml:
4374         * docs/gst/gstreamer-sections.txt:
4375         * docs/gst/tmpl/gstatomic.sgml:
4376         * docs/gst/tmpl/gstmemchunk.sgml:
4377         * testsuite/elements/struct_i386.h:
4378         * win32/GStreamer.vcproj:
4379         * win32/Makefile:
4380           Purge GstAtomic stuff from docs and win32 makefiles as well
4381
4382 2005-05-06  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4385         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4386         * gst/gstpad.c: (gst_pad_peer_get_caps):
4387         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4388         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4389         (gst_queue_src_activate), (gst_queue_change_state):
4390         * gst/gstqueue.h:
4391         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4392         (intersect_caps_func):
4393         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4394         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4395         Some fixes for the peer_get_caps() change.
4396
4397 2005-05-06  Wim Taymans  <wim@fluendo.com>
4398
4399         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4400         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4401         (gst_basesink_activate):
4402         Actually do something with error codes returned from the push
4403         functions.
4404
4405 2005-05-06  Wim Taymans  <wim@fluendo.com>
4406
4407         * docs/design/part-element-sink.txt:
4408         * docs/design/part-element-source.txt:
4409         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4410         (gst_basesink_event), (gst_basesink_activate):
4411         * gst/base/gstbasesink.h:
4412         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4413         (gst_basesrc_activate):
4414         * gst/base/gstbasesrc.h:
4415         * gst/gstelement.c: (gst_element_pads_activate):
4416         Some more documentation.
4417         Fixed scheduling decision in _pads_activate().
4418
4419 2005-05-05  Andy Wingo  <wingo@pobox.com>
4420
4421         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4422         the test suite.
4423
4424 2005-05-05  Wim Taymans  <wim@fluendo.com>
4425
4426         * gst/base/Makefile.am:
4427         * gst/base/gstbasesink.h:
4428         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4429         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4430         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4431         (gst_collectpads_class_init), (gst_collectpads_init),
4432         (gst_collectpads_finalize), (gst_collectpads_new),
4433         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4434         (find_pad), (gst_collectpads_remove_pad),
4435         (gst_collectpads_is_active), (gst_collectpads_collect),
4436         (gst_collectpads_collect_range), (gst_collectpads_start),
4437         (gst_collectpads_stop), (gst_collectpads_peek),
4438         (gst_collectpads_pop), (gst_collectpads_available),
4439         (gst_collectpads_read), (gst_collectpads_flush),
4440         (gst_collectpads_chain):
4441         * gst/base/gstcollectpads.h:
4442         * gst/elements/Makefile.am:
4443         * gst/elements/gstelements.c:
4444         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4445         (gst_fakesink_get_times), (gst_fakesink_event),
4446         (gst_fakesink_preroll), (gst_fakesink_render):
4447         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4448         (gst_filesink_init), (gst_filesink_set_location),
4449         (gst_filesink_open_file), (gst_filesink_close_file),
4450         (gst_filesink_pad_query), (gst_filesink_event),
4451         (gst_filesink_render), (gst_filesink_change_state):
4452         * gst/elements/gstfilesink.h:
4453         Added object to help in making collect pad based elements.
4454         Ported filesink.
4455         Make event function in sink baseclass return gboolean.
4456
4457 2005-05-05  Wim Taymans  <wim@fluendo.com>
4458
4459         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4460         (gst_bin_get_by_name):
4461         * gst/gstbuffer.h:
4462         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4463         (gst_clock_finalize):
4464         * gst/gstdata.c: (gst_data_replace):
4465         * gst/gstdata.h:
4466         * gst/gstelement.c: (gst_element_request_pad),
4467         (gst_element_pads_activate):
4468         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4469         (gst_object_unref):
4470         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4471         (gst_pad_set_checkgetrange_function),
4472         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4473         (gst_pad_check_pull_range), (gst_pad_pull_range),
4474         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4475         (gst_pad_pause_task), (gst_pad_stop_task):
4476         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4477         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4478         Fix name lookup in GstBin.
4479         Added _data_replace() function and _buffer_replace()
4480         Use finalize method to clean up clock.
4481         Fix refcounting on request pads.
4482         Fix pad schedule mode error.
4483         Some more object refcounting debug info,
4484
4485
4486 2005-05-04  Andy Wingo <wingo@pobox.com>
4487
4488         * check/Makefile.am:
4489         * docs/gst/tmpl/gstatomic.sgml:
4490         * docs/gst/tmpl/gstplugin.sgml:
4491         * gst/base/gstbasesink.c: (gst_basesink_activate):
4492         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4493         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4494         (gst_basesrc_query), (gst_basesrc_set_property),
4495         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4496         (gst_basesrc_activate):
4497         * gst/base/gstbasesrc.h:
4498         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4499         (gst_base_transform_src_activate):
4500         * gst/elements/gstelements.c:
4501         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4502         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4503         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4504         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4505         (gst_type_find_element_checkgetrange),
4506         (gst_type_find_element_activate):
4507         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4508         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4509         (gst_caps_load_thyself):
4510         * gst/gstelement.c: (gst_element_pads_activate),
4511         (gst_element_save_thyself), (gst_element_restore_thyself):
4512         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4513         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4514         * gst/gstpad.h:
4515         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4516         (gst_xml_parse_file), (gst_xml_parse_memory),
4517         (gst_xml_get_element), (gst_xml_make_element):
4518         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4519         (_file_index_id_save_xml), (gst_file_index_commit):
4520         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4521         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4522         (load_paths):
4523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4524         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4525         * tools/gst-complete.c: (main):
4526         * tools/gst-compprep.c: (main):
4527         * tools/gst-inspect.c: (print_element_properties_info):
4528         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4529         * tools/gst-xmlinspect.c: (print_element_properties):
4530         GCC 4 fixen.
4531         
4532 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4533
4534         * gst/gstplugin.c: (gst_plugin_check_module),
4535         (gst_plugin_check_file), (gst_plugin_load_file):
4536             apply patch from #172526 to make register work on MacOSX
4537
4538 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4539
4540         * docs/gst/tmpl/gstconfig.sgml:
4541         * gst/gstconfig.h.in:
4542           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4543         * testsuite/debug/printf_extension.c: (main):
4544           Do not use GST_PTR_FORMAT on pointers to types with
4545           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4546         * testsuite/elements/property.h:
4547           use correct printf format
4548
4549 2005-05-02  Wim Taymans  <wim@fluendo.com>
4550
4551         * docs/design/draft-push-pull.txt:
4552         * docs/design/draft-query.txt:
4553         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4554         (gst_basesrc_start):
4555         Added draft for new query API.
4556         Added draft for better selecting scheduling methods.
4557         Make basesrc ignore length if the subclass does not support
4558         it.
4559
4560 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * gst/Makefile.am:
4563           possible fixes for automake-1.5 - _LIBADD is reserved
4564
4565 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4566
4567         * docs/faq/Makefile.am:
4568         * docs/manual/Makefile.am:
4569         * docs/manuals.mak:
4570         * docs/pwg/Makefile.am:
4571         * gst/Makefile.am:
4572           possible fixes for automake-1.5
4573
4574 2005-04-28  Wim Taymans  <wim@fluendo.com>
4575
4576         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4577         (gst_basesink_pad_getcaps), (gst_basesink_init),
4578         (gst_basesink_do_sync):
4579         * gst/gstclock.c: (gst_clock_entry_new):
4580         * gst/gstevent.c: (gst_event_discont_get_value):
4581         * gst/gstpipeline.c: (pipeline_bus_handler),
4582         (gst_pipeline_change_state):
4583         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4584         Better debugging of clocking info.
4585         Allow NULL values when getting discont values.
4586
4587 2005-04-27  Wim Taymans  <wim@fluendo.com>
4588
4589         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4590         * check/gst/gstpad.c: (gst_pad_suite):
4591         Increase timeout for checks.
4592
4593 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4594
4595         * check/Makefile.am:
4596           fix the broken rule for cleanup.  Apparently this rule is
4597           only needed on FC2, so maybe this warrants further autotool
4598           inspection.
4599
4600 2005-04-26  Wim Taymans  <wim@fluendo.com>
4601
4602         * gst/gsttrashstack.h:
4603         Ooohh. a nasty one! After having a failed pop() from the stack,
4604         it's possible that the stack is empty. In that case, don't
4605         follow the NULL pointer.
4606
4607 2005-04-25  Wim Taymans  <wim@fluendo.com>
4608
4609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4610         (gst_pad_set_checkgetrange_function),
4611         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4612         (gst_pad_check_pull_range), (gst_pad_pull_range),
4613         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4614         (gst_pad_pause_task), (gst_pad_stop_task):
4615         * gst/gstplugin.c: (gst_plugin_load):
4616         * gst/gstplugin.h:
4617         Remove gst_library_load as it does more harm than good with
4618         the new g_module flags.
4619         Revert bogus caps template check in pad linking, pad caps
4620         are important when linking not the template, which is more
4621         general than the current caps.
4622
4623 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4624
4625         * gst/autoplug/.cvsignore:
4626         * gst/autoplug/Makefile.am:
4627         * gst/autoplug/gstsearchfuncs.c:
4628         * gst/autoplug/gstsearchfuncs.h:
4629         * gst/autoplug/gstspider.c:
4630         * gst/autoplug/gstspider.h:
4631         * gst/autoplug/gstspideridentity.c:
4632         * gst/autoplug/gstspideridentity.h:
4633         * gst/autoplug/spidertest.c:
4634           Die, spider, die.
4635
4636 2005-04-25  Wim Taymans  <wim@fluendo.com>
4637
4638         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4639         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4640         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4641         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4642         * gst/gstpad.h:
4643         Added stubs for unimplemented functions. 
4644
4645 2005-04-24  David Schleef  <ds@schleef.org>
4646
4647         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4648         please fix.
4649
4650 2005-04-24  David Schleef  <ds@schleef.org>
4651
4652         Convert everything from GstAtomicInt to g_atomic_int_*, and
4653         remove gstatomic.
4654         * gst/Makefile.am:
4655         * gst/gstatomic.c:
4656         * gst/gstatomic.h:
4657         * gst/gstatomic_impl.h:
4658         * gst/gstbuffer.c:
4659         * gst/gstcaps.c:
4660         * gst/gstcaps.h:
4661         * gst/gstclock.c:
4662         * gst/gstclock.h:
4663         * gst/gstdata.c:
4664         * gst/gstdata.h:
4665         * gst/gstdata_private.h:
4666         * gst/gstevent.c:
4667         * gst/gstinfo.c:
4668         * gst/gstinfo.h:
4669         * gst/gstmessage.c:
4670         * gst/gstobject.c:
4671         * gst/gstobject.h:
4672         * gst/gststructure.c:
4673         * gst/gststructure.h:
4674         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4675         * gst/gstutils.h:
4676
4677 2005-04-24  David Schleef  <ds@schleef.org>
4678
4679         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4680         make the regressions tests work.  Remove some code that is no
4681         longer true.
4682         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4683         Disable warning for pads without templates.
4684
4685 2005-04-24  David Schleef  <ds@schleef.org>
4686
4687         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4688         functions that handle filtered links.
4689         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4690         removed functions.
4691         * gst/gstutils.c: Fix/remove utility functions that handle
4692         filtered caps.
4693         * gst/gstutils.h:
4694         * gst/gstvalue.c: Add serialization/deserialization of caps
4695         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4696         requires fixing so that the filter caps notation creates
4697         a capsfilter element and sets the filter_caps property.  I
4698         think everyone probably wants to keep the shorthand notation.
4699         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4700         * docs/gst/tmpl/gstpad.sgml:
4701
4702         * gst/elements/gstelements.c: Register capsfilter element.
4703         * gst/Makefile.am: fix spacing
4704         * docs/random/ds/0.9-suggested-changes: random
4705
4706 2005-04-23  David Schleef  <ds@schleef.org>
4707
4708         * gst/elements/Makefile.am:
4709         * gst/elements/gstcapsfilter.c: New element that acts like an
4710         identity, but filters caps.  Will eventually replace filtered
4711         caps in pad linking.
4712         * gst/gstutils.c: (gst_element_create_all_pads): New function
4713         to create all the ALWAYS pads that are registered with an
4714         element class.  This functionality should eventually be
4715         merged in with GstElement initialization.
4716         * gst/gstutils.h:
4717         * testsuite/trigger/README: part of trigger test code that should
4718         have been checked in a long time ago.
4719
4720 2005-04-23  David Schleef  <ds@schleef.org>
4721
4722         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4723         needed with new versions of libtool (nobody will confirm this),
4724         and hard to carry around.
4725         * gst/autoplug/Makefile.am:
4726         * gst/base/Makefile.am:
4727         * gst/elements/Makefile.am:
4728         * gst/indexers/Makefile.am:
4729         * gst/schedulers/Makefile.am:
4730         * libs/gst/bytestream/Makefile.am:
4731         * libs/gst/control/Makefile.am:
4732         * libs/gst/dataprotocol/Makefile.am:
4733         * libs/gst/getbits/Makefile.am:
4734
4735 2005-04-21  Wim Taymans  <wim@fluendo.com>
4736
4737         * docs/design/draft-push-pull.txt:
4738         * docs/design/part-MT-refcounting.txt:
4739         * docs/design/part-TODO.txt:
4740         * docs/design/part-caps.txt:
4741         * docs/design/part-events.txt:
4742         * docs/design/part-gstbus.txt:
4743         * docs/design/part-gstpipeline.txt:
4744         * docs/design/part-messages.txt:
4745         * docs/design/part-push-pull.txt:
4746         * docs/design/part-query.txt:
4747         Some more docs.
4748
4749 2005-04-21  Wim Taymans  <wim@fluendo.com>
4750
4751         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4752         (gst_message_new), (gst_message_new_error),
4753         (gst_message_new_warning), (gst_message_new_tag),
4754         (gst_message_new_state_changed), (gst_message_new_application),
4755         (gst_message_get_structure):
4756         * gst/gstmessage.h:
4757         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4758         (gst_structure_copy_conditional):
4759         Use parent refcount in GstMessage to ensure GstStructure
4760         consistency.
4761         Cleaned up headers a bit.
4762         
4763
4764 2005-04-20  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4767         (gst_basesink_pad_getcaps), (gst_basesink_init),
4768         (gst_basesink_chain_unlocked):
4769         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4770         (gst_type_find_helper):
4771         * gst/elements/gsttypefindelement.c:
4772         (gst_type_find_element_have_type), (gst_type_find_element_init),
4773         (stop_typefinding), (gst_type_find_element_handle_event),
4774         (find_suggest), (gst_type_find_element_chain),
4775         (gst_type_find_element_checkgetrange),
4776         (gst_type_find_element_getrange), (do_typefind),
4777         (gst_type_find_element_activate):
4778         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4779         (gst_buffer_default_free), (gst_buffer_default_copy),
4780         (gst_buffer_set_caps):
4781         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4782         (gst_caps_replace):
4783         * gst/gstmessage.c: (gst_message_new),
4784         (gst_message_new_state_changed):
4785         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4786         (gst_pad_set_checkgetrange_function),
4787         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4788         (gst_pad_set_caps), (gst_pad_check_pull_range),
4789         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4790         * gst/gstpad.h:
4791         * gst/gsttypefind.c: (gst_type_find_register):
4792         Make gst_caps_replace() work like other _replace() functions.
4793         Use _caps_replace() where possible.
4794         Make sure _message_new() initialises its field.
4795         Add gst_static_pad_template_get_caps()
4796
4797
4798 2005-04-18  Andy Wingo  <wingo@pobox.com>
4799
4800         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4801         on the peer, not the pad. I think that was a typo. Pass an extra
4802         arg to see if random access is possible. Activate the pads as
4803         PULL_RANGE if possible.
4804
4805         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4806
4807         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4808         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4809         to PROP_....
4810
4811 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4812
4813         * docs/faq/using.xml:
4814           Add note on gstreamer-properties (#154996).
4815
4816 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4817
4818         * docs/random/bbb/optional-properties:
4819           Some analysis on optional properties.
4820
4821 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4822
4823         * docs/gst/tmpl/gstelementfactory.sgml:
4824         * gst/gstelement.h:
4825         * gst/gstelementfactory.c: (gst_element_factory_init),
4826         (gst_element_factory_cleanup), (gst_element_register),
4827         (__gst_element_factory_add_static_pad_template),
4828         (gst_element_factory_get_static_pad_templates),
4829         (gst_element_factory_can_src_caps),
4830         (gst_element_factory_can_sink_caps):
4831         * gst/registries/Makefile.am:
4832         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4833         (gst_xml_registry_class_init), (gst_xml_registry_init),
4834         (gst_xml_registry_new), (gst_xml_registry_set_property),
4835         (gst_xml_registry_get_property), (get_time), (make_dir),
4836         (gst_xml_registry_get_perms_func),
4837         (plugin_times_older_than_recurse), (plugin_times_older_than),
4838         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4839         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4840         (add_to_char_array), (read_string), (read_uint), (read_enum),
4841         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4842         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4843         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4844         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4845         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4846         (gst_xml_registry_rebuild):
4847         * gst/registries/gstlibxmlregistry.h:
4848         * tools/gst-compprep.c: (main):
4849         * tools/gst-inspect.c: (print_pad_templates_info):
4850         * tools/gst-xmlinspect.c: (print_element_info):
4851           Use libxml2 for registry parsing, use staticpadtemplates in
4852           elementfactories. Makes gst_init() +/- 10x faster.
4853
4854 2005-04-12  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/base/Makefile.am:
4857         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4858         (gst_basesink_pad_getcaps), (gst_basesink_init),
4859         (gst_basesink_event), (gst_basesink_change_state):
4860         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4861         (gst_basesrc_init), (gst_basesrc_query),
4862         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4863         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4864         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4865         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4866         (gst_basesrc_stop), (gst_basesrc_activate),
4867         (gst_basesrc_change_state):
4868         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4869         (helper_find_suggest), (gst_type_find_helper):
4870         * gst/base/gsttypefindhelper.h:
4871         * gst/elements/Makefile.am:
4872         * gst/elements/gstelements.c:
4873         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4874         (gst_fakesink_get_times), (gst_fakesink_event),
4875         (gst_fakesink_preroll), (gst_fakesink_render):
4876         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4877         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4878         (gst_fakesrc_get_property), (gst_fakesrc_create),
4879         (gst_fakesrc_start), (gst_fakesrc_stop):
4880         * gst/elements/gstfakesrc.h:
4881         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4882         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4883         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4884         (gst_filesrc_create_read), (gst_filesrc_create),
4885         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4886         (gst_filesrc_start):
4887         * gst/elements/gsttypefindelement.c:
4888         (gst_type_find_element_have_type), (gst_type_find_element_init),
4889         (start_typefinding), (stop_typefinding), (push_buffer_store),
4890         (gst_type_find_element_handle_event),
4891         (gst_type_find_element_chain),
4892         (gst_type_find_element_checkgetrange),
4893         (gst_type_find_element_getrange), (do_typefind),
4894         (gst_type_find_element_activate),
4895         (gst_type_find_element_change_state):
4896         * gst/elements/gsttypefindelement.h:
4897         * gst/gstpipeline.c: (pipeline_bus_handler):
4898         Added typefind helper.
4899         Small preroll fix in the base sink.
4900         Disable typefind code in basesrc.
4901         Crude port of typefindelement.
4902         Fakesrc cleanups.
4903
4904
4905 2005-04-11  Wim Taymans  <wim@fluendo.com>
4906
4907         * check/gst/gstbus.c: (gstbus_suite):
4908         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4909         * check/gstcheck.h:
4910           Fix up the timeout so that the test does not fail.
4911
4912 2005-04-06  Wim Taymans  <wim@fluendo.com>
4913
4914         * gst/base/README:
4915         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4916         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4917         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4918         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4919         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4920         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4921         (gst_basesrc_stop), (gst_basesrc_activate),
4922         (gst_basesrc_change_state), (basesrc_find_peek),
4923         (basesrc_find_suggest), (gst_basesrc_type_find):
4924         * gst/base/gstbasesrc.h:
4925         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4926         (gst_filesrc_class_init), (gst_filesrc_init),
4927         (gst_filesrc_finalize), (gst_filesrc_set_location),
4928         (gst_filesrc_set_property), (gst_filesrc_get_property),
4929         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4930         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4931         (gst_filesrc_create_read), (gst_filesrc_create),
4932         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4933         * gst/elements/gstfilesrc.h:
4934         * gst/gstelement.c: (gst_element_get_state_func),
4935         (gst_element_lost_state), (gst_element_pads_activate):
4936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4937         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4938         (gst_pad_pull_range):
4939         * gst/gstpad.h:
4940         More work on the generic source base class, implement seeking,
4941         query.
4942         Make filesrc extend the base source class.
4943         Added gst_pad_set_checkgetrange_function to GstPad.
4944
4945 2005-04-06  Andy Wingo  <wingo@pobox.com>
4946
4947         * pkgconfig/gstreamer-base.pc.in:
4948         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4949
4950         * pkgconfig/Makefile.am:
4951         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4952
4953 2005-04-04  Wim Taymans  <wim@fluendo.com>
4954
4955         * gst/base/Makefile.am:
4956         * gst/base/README:
4957         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4958         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4959         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4960         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4961         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4962         (gst_basesrc_base_init), (gst_basesrc_class_init),
4963         (gst_basesrc_init), (gst_basesrc_get_formats),
4964         (gst_basesrc_get_query_types), (gst_basesrc_query),
4965         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4966         (gst_basesrc_set_property), (gst_basesrc_get_property),
4967         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4968         (gst_basesrc_loop), (gst_basesrc_activate),
4969         (gst_basesrc_change_state):
4970         * gst/base/gstbasesrc.h:
4971         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4972         (gst_fakesrc_class_init), (gst_fakesrc_init),
4973         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4974         (gst_fakesrc_get_property), (gst_fakesrc_create):
4975         * gst/elements/gstfakesrc.h:
4976         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4977         (gst_filesrc_open_file), (gst_filesrc_loop),
4978         (gst_filesrc_activate), (filesrc_find_peek),
4979         (gst_filesrc_type_find):
4980         Made base source class, make fakesrc extend it.
4981         Add comments to basesink class.
4982         Some filesrc cleanup.
4983
4984 2005-03-31  David Schleef  <ds@schleef.org>
4985
4986         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4987         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4988         expected to link against libgstreamer.
4989         * gst/base/Makefile.am: link against libgstreamer
4990         * gst/elements/Makefile.am: same
4991
4992 2005-03-31  Andy Wingo  <wingo@pobox.com>
4993
4994         * tests/instantiate/Makefile.am:
4995         * tests/instantiate/caps.c: Add test to test speed of caps copy
4996         and free.
4997
4998         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4999         GMemChunk to be fair.
5000
5001         * gst/gsttrashstack.h: Remove warning about using the fallback
5002         trash stack implementation, it's still faster than malloc.
5003
5004 2005-03-30  Andy Wingo  <wingo@pobox.com>
5005
5006         * tests/complexity.c: Add a copyright.
5007
5008 2005-03-31  Wim Taymans  <wim@fluendo.com>
5009
5010         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
5011         (gst_base_transform_class_init), (gst_base_transform_init),
5012         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5013         (gst_base_transform_get_property),
5014         (gst_base_transform_sink_activate),
5015         (gst_base_transform_src_activate),
5016         (gst_base_transform_change_state):
5017         * gst/base/gstbasetransform.h:
5018         * gst/elements/gstidentity.c: (gst_identity_class_init),
5019         (gst_identity_event), (gst_identity_check_perfect),
5020         (gst_identity_transform), (gst_identity_start),
5021         (gst_identity_stop):
5022         Added start/stop methods to transform base class so subclasses 
5023         don't need to deal with state changes even.
5024
5025 2005-03-31  Wim Taymans  <wim@fluendo.com>
5026
5027         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5028         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5029         * gst/gstevent.h:
5030         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5031         (gst_pad_pull_range):
5032         Added rate to the discont event to prepare for variable speed
5033         and reverse playback.
5034
5035 2005-03-29  David Schleef  <ds@schleef.org>
5036
5037         * configure.ac:
5038         * testsuite/trigger/Makefile.am:
5039         * testsuite/trigger/trigger.c: A little example program to show
5040         how trigger-based elements can work.
5041
5042 2005-03-29  Wim Taymans  <wim@fluendo.com>
5043
5044         * gst/base/Makefile.am:
5045         * gst/base/README:
5046         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5047         (gst_basesink_base_init), (gst_basesink_class_init),
5048         (gst_basesink_pad_getcaps), (gst_basesink_init),
5049         (gst_basesink_activate), (gst_basesink_change_state):
5050         * gst/base/gstbasesink.h:
5051         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5052         (gst_base_transform_base_init), (gst_base_transform_finalize),
5053         (gst_base_transform_class_init), (gst_base_transform_init),
5054         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5055         (gst_base_transform_event), (gst_base_transform_getrange),
5056         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5057         (gst_base_transform_set_property),
5058         (gst_base_transform_get_property),
5059         (gst_base_transform_sink_activate),
5060         (gst_base_transform_src_activate),
5061         (gst_base_transform_change_state):
5062         * gst/base/gstbasetransform.h:
5063         * gst/elements/gstidentity.c: (gst_identity_finalize),
5064         (gst_identity_class_init), (gst_identity_init),
5065         (gst_identity_event), (gst_identity_check_perfect),
5066         (gst_identity_transform), (gst_identity_set_property),
5067         (gst_identity_get_property), (gst_identity_change_state):
5068         * gst/elements/gstidentity.h:
5069         * gst/gstelement.c: (gst_element_get_state_func),
5070         (gst_element_lost_state), (gst_element_pads_activate):
5071         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5072         (gst_pad_check_pull_range), (gst_pad_pull_range):
5073         * gst/gstpad.h:
5074         Simplify pad activation.
5075         Added function to check if pull_range can be performed.
5076         Error out when pulling inactive or flushing pads.
5077         Removed const from refcounted types as it does not make sense.
5078         Simplify pad templates in basesink
5079         Added base class for simple 1-to-1 transforms.
5080         Make identity subclass the base transform.
5081
5082 2005-03-29  Andy Wingo  <wingo@pobox.com>
5083
5084         * docs/libs/gstreamer-libs-overrides.txt: 
5085         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5086         really don't understand what's going on, but like whatever. I want
5087         green buildbot!
5088
5089         * docs/gst/Makefile.am:
5090         * docs/libs/Makefile.am: Dist the overrides files.
5091
5092         * check/Makefile.am (clean-local): Remove .libs directories.
5093
5094         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5095         elements to EXTRA_DIST, so po/ files are happy.
5096
5097         * po/POTFILES.in: Er, remove it here.
5098
5099         * po/POTFILES: Remove gstspider.c.
5100
5101         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5102
5103         * docs/libs/gstreamer-libs-docs.sgml: 
5104         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5105         bytestream.
5106
5107         * tests/complexity.c (main): Set the length of the preroll queue
5108         on the sinks to prevent a lockup.
5109
5110         * libs/gst/dataprotocol/Makefile.am: 
5111         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5112         the same as the one in check/gst-libs/gdp.c.
5113
5114         * po/, docs/gst/: Commit automatic changes to docs and po files.
5115
5116         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5117         the versioned libgstbase.
5118
5119         * check/Makefile.am: Depend on an unversioned gst-register, seems
5120         to make autoconf happier.
5121
5122         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5123
5124 2005-03-28  Wim Taymans  <wim@fluendo.com>
5125
5126         * configure.ac:
5127         * docs/design/part-gstelement.txt:
5128         * docs/design/part-negotiation.txt:
5129         * docs/design/part-preroll.txt:
5130         * docs/design/part-scheduling.txt:
5131         * docs/design/part-states.txt:
5132         * gst/Makefile.am:
5133         * gst/base/Makefile.am:
5134         * gst/base/README:
5135         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5136         (gst_basesink_base_init), (gst_basesink_class_init),
5137         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5138         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5139         (gst_basesink_set_pad_functions),
5140         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5141         (gst_basesink_set_property), (gst_basesink_get_property),
5142         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5143         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5144         (gst_basesink_preroll_queue_push),
5145         (gst_basesink_preroll_queue_empty),
5146         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5147         (gst_basesink_event), (gst_basesink_get_times),
5148         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5149         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5150         (gst_basesink_loop), (gst_basesink_activate),
5151         (gst_basesink_change_state):
5152         * gst/base/gstbasesink.h:
5153         * gst/elements/Makefile.am:
5154         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5155         (gst_fakesink_class_init), (gst_fakesink_init),
5156         (gst_fakesink_set_property), (gst_fakesink_get_property),
5157         (gst_fakesink_get_times), (gst_fakesink_event),
5158         (gst_fakesink_preroll), (gst_fakesink_render),
5159         (gst_fakesink_change_state):
5160         * gst/elements/gstfakesink.h:
5161         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5162         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5163         * gst/gstelement.c: (gst_element_add_pad),
5164         (gst_element_get_state_func), (gst_element_abort_state),
5165         (gst_element_commit_state), (gst_element_lost_state),
5166         (gst_element_set_state), (gst_element_pads_activate):
5167         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5168         * gst/gstpipeline.c: (gst_pipeline_send_event),
5169         (gst_pipeline_change_state):
5170         Added state change code.
5171         Added/updated docs.
5172         Added sink base class, make fakesink extend the base class.
5173         Small cleanups in GstPipeline.
5174
5175 2005-03-26  David Schleef  <ds@schleef.org>
5176
5177         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5178         is broken and should be implemented in a different library.
5179         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5180         * gst/gst.h: remove gstcpu.h
5181         * gst/gstcpu.c: remove
5182         * gst/gstcpu.h: remove
5183         * gst/Makefile.am.future: Remove this file.  It's ancient.
5184
5185 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5186
5187         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5188         (gst_bin_send_event):
5189           Add default event/set_manager handlers. The set_manager handler
5190           takes care that the manager is distributed over kids that were
5191           already in the bin before the manager was set. The event handler
5192           is a utility virtual function that sends the event over all sinks,
5193           so that gst_element_send_event (bin, event); has the expected
5194           behaviour.
5195         * gst/gstpad.c: (gst_pad_event_default):
5196           Re-install default event handling for discontinuities, so that
5197           seeking works without requiring hacks in applications or extra
5198           code in sinks.
5199         * gst/gstpipeline.c: (gst_pipeline_class_init),
5200         (gst_pipeline_send_event):
5201           Half hack, half utility: set a pipeline to PAUSED for seek events,
5202           since that is the only way we can guarantee a/v sync. Means that
5203           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5204           and it "just works".
5205
5206 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5207
5208         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5209           Lock/unlock mismatch.
5210
5211 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5212
5213         * docs/faq/gst-uninstalled:
5214           add gst-plugins-base
5215         * docs/gst/Makefile.am:
5216           don't error out until docs are fixed
5217         * docs/gst/gstreamer.types:
5218           remove thread
5219
5220 2005-03-22  Wim Taymans  <wim@fluendo.com>
5221
5222         * check/Makefile.am:
5223         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5224         * gst/gststructure.c: (gst_structure_set_valist),
5225         (gst_structure_copy_conditional):
5226         Activated more tests.
5227         Added message test.
5228         Added G_TYPE_POINTER to GstStructure.
5229         
5230
5231 2005-03-22  Wim Taymans  <wim@fluendo.com>
5232
5233         * docs/design/part-TODO.txt:
5234         * docs/design/part-events.txt:
5235         * docs/design/part-gstbin.txt:
5236         * docs/design/part-gstbus.txt:
5237         * docs/design/part-gstpipeline.txt:
5238         * docs/design/part-messages.txt:
5239         * gst/gstbus.c:
5240         * gst/gstmessage.c:
5241         Docs updates
5242
5243 2005-03-21  Wim Taymans  <wim@fluendo.com>
5244
5245         * gst/gstbus.c: (gst_bus_post):
5246         Fix copy-and-paste error.
5247
5248 2005-03-21  Wim Taymans  <wim@fluendo.com>
5249
5250         * check/Makefile.am:
5251         * gst/Makefile.am:
5252         * gst/elements/Makefile.am:
5253         * gst/elements/gstelements.c:
5254         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5255         (gst_fakesink_event), (gst_fakesink_chain):
5256         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5257         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5258         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5259         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5260         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5261         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5262         (gst_fakesrc_loop), (gst_fakesrc_activate),
5263         (gst_fakesrc_change_state):
5264         * gst/elements/gstfakesrc.h:
5265         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5266         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5267         (gst_filesrc_open_file), (gst_filesrc_loop),
5268         (gst_filesrc_activate), (gst_filesrc_change_state),
5269         (filesrc_find_peek), (filesrc_find_suggest),
5270         (gst_filesrc_type_find):
5271         * gst/elements/gstidentity.c: (gst_identity_finalize),
5272         (gst_identity_class_init), (gst_identity_init),
5273         (gst_identity_proxy_getcaps), (identity_queue_push),
5274         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5275         (gst_identity_getrange), (gst_identity_chain),
5276         (gst_identity_sink_loop), (gst_identity_src_loop),
5277         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5278         (gst_identity_set_property), (gst_identity_get_property),
5279         (gst_identity_change_state):
5280         * gst/elements/gstidentity.h:
5281         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5282         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5283         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5284         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5285         (gst_tee_sink_activate):
5286         * gst/elements/gsttee.h:
5287         * gst/gst.c: (gst_register_core_elements), (init_post):
5288         * gst/gst.h:
5289         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5290         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5291         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5292         (gst_bin_change_state):
5293         * gst/gstbin.h:
5294         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5295         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5296         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5297         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5298         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5299         (bus_watch_callback), (bus_watch_destroy),
5300         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5301         (poll_timeout), (gst_bus_poll):
5302         * gst/gstbus.h:
5303         * gst/gstcaps.h:
5304         * gst/gstdata.h:
5305         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5306         (gst_element_post_message), (gst_element_message_full),
5307         (gst_element_get_state_func), (gst_element_get_state),
5308         (gst_element_abort_state), (gst_element_commit_state),
5309         (gst_element_lost_state), (gst_element_set_state),
5310         (gst_element_pads_activate), (gst_element_change_state),
5311         (gst_element_dispose), (gst_element_set_manager_func),
5312         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5313         (gst_element_set_manager), (gst_element_get_manager),
5314         (gst_element_set_bus), (gst_element_get_bus),
5315         (gst_element_set_scheduler), (gst_element_get_scheduler):
5316         * gst/gstelement.h:
5317         * gst/gstevent.c: (gst_event_new_segment_seek),
5318         (gst_event_new_flush):
5319         * gst/gstevent.h:
5320         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5321         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5322         (gst_message_new_eos), (gst_message_new_error),
5323         (gst_message_new_warning), (gst_message_new_tag),
5324         (gst_message_new_state_changed), (gst_message_new_application),
5325         (gst_message_get_structure), (gst_message_parse_tag),
5326         (gst_message_parse_state_changed), (gst_message_parse_error),
5327         (gst_message_parse_warning):
5328         * gst/gstmessage.h:
5329         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5330         (gst_real_pad_set_property), (gst_pad_set_active),
5331         (gst_pad_is_active), (gst_pad_set_blocked_async),
5332         (gst_pad_set_blocked), (gst_pad_is_blocked),
5333         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5334         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5335         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5336         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5337         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5338         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5339         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5340         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5341         (gst_pad_set_caps), (gst_pad_configure_sink),
5342         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5343         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5344         (gst_real_pad_dispose), (gst_real_pad_finalize),
5345         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5346         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5347         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5348         * gst/gstpad.h:
5349         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5350         (pipeline_bus_handler), (gst_pipeline_change_state),
5351         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5352         * gst/gstpipeline.h:
5353         * gst/gstprobe.h:
5354         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5355         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5356         (gst_queue_link_src), (gst_queue_bufferalloc),
5357         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5358         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5359         (gst_queue_loop), (gst_queue_handle_src_event),
5360         (gst_queue_handle_src_query), (gst_queue_src_activate),
5361         (gst_queue_change_state):
5362         * gst/gstqueue.h:
5363         * gst/gstscheduler.c: (gst_scheduler_init),
5364         (gst_scheduler_dispose), (gst_scheduler_create_task),
5365         (gst_scheduler_factory_create):
5366         * gst/gstscheduler.h:
5367         * gst/gststructure.c: (gst_structure_get_type),
5368         (gst_structure_copy_conditional):
5369         * gst/gststructure.h:
5370         * gst/gsttaginterface.h:
5371         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5372         (gst_task_init), (gst_task_dispose), (gst_task_create),
5373         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5374         (gst_task_pause):
5375         * gst/gsttask.h:
5376         * gst/gstthread.c:
5377         * gst/gstthread.h:
5378         * gst/gsttypes.h:
5379         * gst/schedulers/Makefile.am:
5380         * gst/schedulers/cothreads_compat.h:
5381         * gst/schedulers/entryscheduler.c:
5382         * gst/schedulers/faircothreads.c:
5383         * gst/schedulers/faircothreads.h:
5384         * gst/schedulers/fairscheduler.c:
5385         * gst/schedulers/gstbasicscheduler.c:
5386         * gst/schedulers/gstoptimalscheduler.c:
5387         * gst/schedulers/gthread-cothreads.h:
5388         * gst/schedulers/threadscheduler.c:
5389         (gst_thread_scheduler_task_get_type),
5390         (gst_thread_scheduler_task_class_init),
5391         (gst_thread_scheduler_task_init),
5392         (gst_thread_scheduler_task_start),
5393         (gst_thread_scheduler_task_stop),
5394         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5395         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5396         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5397         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5398         (plugin_init):
5399         * libs/gst/Makefile.am:
5400         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5401         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5402         (gst_file_pad_parent_set):
5403         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5404         (gst_dp_event_from_packet):
5405         * tests/complexity.c: (main):
5406         * tests/mass_elements.c: (main):
5407         * testsuite/states/locked.c: (message_received), (main):
5408         * testsuite/states/parent.c: (main):
5409         * tools/gst-inspect.c: (print_element_flag_info),
5410         (print_implementation_info), (print_pad_info):
5411         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5412         (main):
5413         * tools/gst-md5sum.c: (event_loop), (main):
5414         * tools/gst-typefind.c: (main):
5415         * tools/gst-xmlinspect.c: (print_element_info):
5416         Next big merge.
5417         Added GstBus for mainloop integration.
5418         Added GstMessage for sending notifications on the bus.
5419         Added GstTask as an abstraction for pipeline entry points.
5420         Removed GstThread.
5421         Removed Schedulers.
5422         Simplified GstQueue for multithreaded core.
5423         Made _link threadsafe, removed old capsnego.
5424         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5425         Added pad blocking functions.
5426         Reworked scheduling functions in GstPad to prepare for
5427         scheduling updates soon.
5428         Moved events out of data stream.
5429         Simplified GstEvent types.
5430         Added return values to push/pull.
5431         Removed clocking from GstElement.
5432         Added prototypes for state change function for next merge.
5433         Removed iterate from bins and state change management.
5434         Fixed some elements, disabled others for now.
5435         Fixed -inspect and -launch.
5436         Added check for GstBus.
5437
5438 2005-03-10  Wim Taymans  <wim@fluendo.com>
5439
5440         * docs/design/part-MT-refcounting.txt:
5441         * docs/design/part-clocks.txt:
5442         * docs/design/part-gstelement.txt:
5443         * docs/design/part-gstobject.txt:
5444         * docs/design/part-standards.txt:
5445         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5446         (gst_bin_remove_func), (gst_bin_remove):
5447         * gst/gstbin.h:
5448         * gst/gstbuffer.c:
5449         * gst/gstcaps.h:
5450         * testsuite/clock/clock1.c: (main):
5451         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5452         (main):
5453         * testsuite/dlopen/loadgst.c: (do_test):
5454         * testsuite/refcounting/bin.c: (add_remove_test1),
5455         (add_remove_test2), (main):
5456         * testsuite/refcounting/element.c: (main):
5457         * testsuite/refcounting/element_pad.c: (main):
5458         * testsuite/refcounting/pad.c: (main):
5459         * tools/gst-launch.c: (sigint_handler_sighandler):
5460         * tools/gst-typefind.c: (main):
5461         Doc updates.
5462         Added doc about clock.
5463         removed gst_bin_iterate_recurse_up(), marked methods
5464         for removal.
5465         Fix more testsuites.
5466
5467 2005-03-09  Wim Taymans  <wim@fluendo.com>
5468
5469         * gst/gstpad.c: (gst_pad_get_direction),
5470         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5471         (gst_pad_collect_valist):
5472         * testsuite/bins/interface.c: (main):
5473         * testsuite/caps/audioscale.c: (test_caps):
5474         * testsuite/caps/caps.c: (test1), (test2), (test3):
5475         * testsuite/caps/deserialize.c: (main):
5476         * testsuite/caps/enumcaps.c: (main):
5477         * testsuite/caps/filtercaps.c: (main):
5478         * testsuite/caps/intersect2.c: (main):
5479         * testsuite/caps/random.c: (main):
5480         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5481         * testsuite/caps/sets.c: (check_caps):
5482         * testsuite/caps/simplify.c: (check_caps), (main):
5483         * testsuite/caps/subtract.c: (check_caps):
5484         Fix _pad_get_direction wrt ghostpads.
5485         Fix caps testsuite.
5486
5487 2005-03-09  Wim Taymans  <wim@fluendo.com>
5488
5489         * check/Makefile.am:
5490         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5491         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5492         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5493         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5494         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5495         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5496         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5497         (bin_element_is_sink), (gst_bin_iterate_sinks),
5498         (gst_bin_iterate_all_by_interface):
5499         * gst/gstbin.h:
5500         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5501         (gst_element_change_state), (gst_element_dispose),
5502         (gst_element_finalize), (gst_element_set_loop_function):
5503         * gst/gstelement.h:
5504         * gst/gstiterator.c: (find_custom_fold_func):
5505         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5506         (gst_pad_collectv), (gst_pad_collect_valist),
5507         (gst_pad_template_new):
5508         * gst/gstpipeline.c: (gst_pipeline_class_init),
5509         (gst_pipeline_dispose), (gst_pipeline_set_property),
5510         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5511         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5512         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5513         * gst/gstutils.h:
5514         * gst/schedulers/entryscheduler.c:
5515         * gst/schedulers/gstbasicscheduler.c:
5516         (gst_basic_scheduler_cothreaded_chain),
5517         (gst_basic_scheduler_chain_add_element):
5518         * testsuite/bins/interface.c: (main):
5519         Added GstBin test.
5520         Added GstSystemClock test.
5521         Implemented clock distribution code in GstBin.
5522         Implemented iterate sinks method for future use.
5523         Rearranged gstelement.h
5524         Fix GstIterator comparison bug.
5525         Moved some code to GstPipeline, mostly clocking related.
5526
5527 2005-03-09  Wim Taymans  <wim@fluendo.com>
5528
5529         * configure.ac:
5530         * gst/gst_private.h:
5531         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5532         (gst_bin_remove_func), (gst_bin_remove),
5533         (gst_bin_get_by_name_recurse_up):
5534         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5535         (gst_clock_id_compare_func), (gst_clock_id_wait),
5536         (gst_clock_id_wait_async), (gst_clock_init),
5537         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5538         * gst/gstelement.h:
5539         * gst/gstinfo.c: (_gst_debug_init):
5540         * gst/gstobject.h:
5541         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5542         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5543         * gst/gstpad.h:
5544         Bump version number, we're now 0.9.0
5545         Add future debugging category.
5546         Fix NULL _unref() in _get_by_name_recurse_up
5547         Rearrange gstpad.h.
5548         Update some docs.
5549
5550 2005-03-08  Wim Taymans  <wim@fluendo.com>
5551
5552         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5553         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5554         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5555         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5556         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5557         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5558         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5559         * gst/elements/gstidentity.c: (gst_identity_class_init):
5560         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5561         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5562         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5563         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5564         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5565         (gst_tee_link):
5566         * gst/gstelement.c: (gst_element_class_init),
5567         (gst_element_base_class_init), (gst_element_init),
5568         (gst_element_get_random_pad), (gst_element_wait_state_change),
5569         (gst_element_change_state), (gst_element_dispose),
5570         (gst_element_finalize), (gst_element_set_loop_function):
5571         * gst/gstelement.h:
5572         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5573         * gst/gstthread.c: (gst_thread_class_init),
5574         (gst_thread_release_children_locks), (gst_thread_change_state):
5575         * gst/schedulers/gstbasicscheduler.c:
5576         (gst_basic_scheduler_loopfunc_wrapper),
5577         (gst_basic_scheduler_chain_wrapper),
5578         (gst_basic_scheduler_src_wrapper),
5579         (gst_basic_scheduler_remove_element):
5580         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5581         Remove threadsafe properties. Fix elements because GObject
5582         complains when installing a property before declaring a
5583         set/get_property handler.
5584         Rearrange gstelement.h file, use STATE macros for state locks.
5585         Free mutexes in the finalize method instead of dispose.
5586
5587 2005-03-08  Wim Taymans  <wim@fluendo.com>
5588
5589         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5590         * gst/gstthread.c: (gst_thread_release_children_locks):
5591         Added parentage check.
5592         Fix build og GstThread again.
5593
5594 2005-03-08  Wim Taymans  <wim@fluendo.com>
5595
5596         * docs/design/part-MT-refcounting.txt:
5597         * docs/design/part-conventions.txt:
5598         * docs/design/part-gstobject.txt:
5599         * docs/design/part-relations.txt:
5600         * docs/design/part-standards.txt:
5601         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5602         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5603         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5604         (gst_bin_iterate_all_by_interface):
5605         * gst/gstbuffer.h:
5606         * gst/gstclock.h:
5607         * gst/gstelement.c: (gst_element_class_init),
5608         (gst_element_change_state), (gst_element_set_loop_function):
5609         * gst/gstelement.h:
5610         * gst/gstiterator.c:
5611         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5612         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5613         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5614         (gst_object_set_parent), (gst_object_unparent),
5615         (gst_object_check_uniqueness):
5616         * gst/gstobject.h:
5617         Docs updates, clean up some headers.
5618
5619 2005-03-07  Wim Taymans  <wim@fluendo.com>
5620
5621         * check/.cvsignore:
5622         * check/Makefile.am:
5623         * check/gst-libs/.cvsignore:
5624         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5625         * check/gst/.cvsignore:
5626         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5627         (START_TEST), (gstbus_suite), (main):
5628         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5629         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5630         (gst_data_suite), (main):
5631         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5632         (add_fold_func), (gstiterator_suite), (main):
5633         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5634         (thread_name_object), (thread_name_object_default),
5635         (gst_object_name_compare), (gst_object_suite), (main):
5636         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5637         (gst_pad_suite), (main):
5638         * check/gstcheck.c: (gst_check_log_message_func),
5639         (gst_check_log_critical_func), (gst_check_init):
5640         * check/gstcheck.h:
5641         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5642         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5643         Added checks.
5644
5645 2005-03-07  Wim Taymans  <wim@fluendo.com>
5646
5647         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5648         (gst_list_iterator_next), (gst_list_iterator_resync),
5649         (gst_list_iterator_free), (gst_iterator_new_list),
5650         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5651         (gst_iterator_free), (gst_iterator_push), (filter_next),
5652         (filter_resync), (filter_uninit), (filter_free),
5653         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5654         (gst_iterator_foreach), (find_custom_fold_func),
5655         (gst_iterator_find_custom):
5656         * gst/gstiterator.h:
5657         Added missing files.
5658
5659 2005-03-07  Wim Taymans  <wim@fluendo.com>
5660
5661         * Makefile.am:
5662         * configure.ac:
5663         * docs/design/part-MT-refcounting.txt:
5664         * docs/design/part-conventions.txt:
5665         * docs/design/part-gstobject.txt:
5666         * docs/design/part-relations.txt:
5667         * examples/mixer/mixer.c: (main):
5668         * examples/thread/thread.c: (eos), (main):
5669         * gst/Makefile.am:
5670         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5671         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5672         (gst_spider_plug_from_srcpad):
5673         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5674         (gst_spider_identity_change_state),
5675         (gst_spider_identity_sink_loop_type_finding):
5676         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5677         * gst/elements/gstidentity.c: (gst_identity_init):
5678         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5679         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5680         * gst/elements/gsttypefindelement.c: (free_entry):
5681         * gst/gst.c:
5682         * gst/gst.h:
5683         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5684         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5685         (gst_bin_set_index), (gst_bin_set_element_sched),
5686         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5687         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5688         (gst_bin_iterate_elements), (iterate_child_recurse),
5689         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5690         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5691         (compare_interface), (gst_bin_get_by_interface),
5692         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5693         * gst/gstbin.h:
5694         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5695         (gst_buffer_default_free), (gst_buffer_default_copy),
5696         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5697         (gst_buffer_create_sub):
5698         * gst/gstbuffer.h:
5699         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5700         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5701         (gst_caps_unref), (gst_static_caps_get),
5702         (gst_caps_remove_and_get_structure), (gst_caps_append),
5703         (gst_caps_append_structure), (gst_caps_remove_structure),
5704         (gst_caps_copy_nth), (gst_caps_set_simple),
5705         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5706         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5707         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5708         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5709         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5710         (gst_caps_structure_figure_out_union),
5711         (gst_caps_switch_structures), (gst_caps_do_simplify),
5712         (gst_caps_replace), (gst_caps_from_string),
5713         (gst_caps_copy_conditional):
5714         * gst/gstcaps.h:
5715         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5716         (_gst_clock_id_free), (gst_clock_id_unref),
5717         (gst_clock_id_compare_func), (gst_clock_id_wait),
5718         (gst_clock_id_wait_async), (gst_clock_class_init),
5719         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5720         (gst_clock_get_time), (gst_clock_set_time_adjust),
5721         (gst_clock_set_property), (gst_clock_get_property):
5722         * gst/gstclock.h:
5723         * gst/gstcompat.h:
5724         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5725         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5726         * gst/gstdata.h:
5727         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5728         (gst_element_requires_clock), (gst_element_provides_clock),
5729         (gst_element_set_clock), (gst_element_clock_wait),
5730         (gst_element_wait), (gst_element_set_time_delay),
5731         (gst_element_is_indexable), (gst_element_add_pad),
5732         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5733         (pad_compare_name), (gst_element_get_static_pad),
5734         (gst_element_request_pad), (gst_element_get_request_pad),
5735         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5736         (gst_element_class_get_pad_template_list),
5737         (gst_element_class_get_pad_template), (gst_element_error_func),
5738         (gst_element_get_random_pad), (gst_element_get_event_masks),
5739         (gst_element_send_event), (gst_element_seek),
5740         (gst_element_get_query_types), (gst_element_query),
5741         (gst_element_get_formats), (gst_element_convert),
5742         (gst_element_is_locked_state), (gst_element_set_locked_state),
5743         (gst_element_sync_state_with_parent), (gst_element_change_state),
5744         (gst_element_finalize), (gst_element_yield),
5745         (gst_element_interrupt), (gst_element_set_scheduler),
5746         (gst_element_get_scheduler), (gst_element_set_loop_function):
5747         * gst/gstelement.h:
5748         * gst/gstevent.h:
5749         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5750         (gst_format_get_by_nick), (gst_format_get_details),
5751         (gst_format_iterate_definitions):
5752         * gst/gstformat.h:
5753         * gst/gstindex.c: (gst_index_gtype_resolver):
5754         * gst/gstinfo.c:
5755         * gst/gstinfo.h:
5756         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5757         (gst_mem_chunk_free):
5758         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5759         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5760         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5761         (gst_object_dispatch_properties_changed),
5762         (gst_object_set_name_default), (gst_object_set_name),
5763         (gst_object_get_name), (gst_object_set_name_prefix),
5764         (gst_object_get_name_prefix), (gst_object_set_parent),
5765         (gst_object_get_parent), (gst_object_unparent),
5766         (gst_object_check_uniqueness), (gst_object_save_thyself),
5767         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5768         (gst_object_set_property), (gst_object_get_property),
5769         (gst_object_get_path_string):
5770         * gst/gstobject.h:
5771         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5772         (gst_real_pad_init), (gst_real_pad_get_property),
5773         (gst_pad_custom_new), (gst_pad_get_direction),
5774         (gst_pad_set_active), (gst_pad_is_active),
5775         (gst_pad_set_event_function), (gst_pad_is_linked),
5776         (gst_pad_link_free), (gst_pad_link_intersect),
5777         (gst_pad_link_fixate), (gst_pad_set_caps),
5778         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5779         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5780         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5781         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5782         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5783         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5784         (gst_pad_realize), (gst_pad_get_allowed_caps),
5785         (gst_real_pad_dispose), (gst_real_pad_finalize),
5786         (gst_pad_collectv), (gst_pad_collect_valist),
5787         (gst_pad_template_dispose), (gst_pad_template_new),
5788         (gst_pad_get_internal_links):
5789         * gst/gstpad.h:
5790         * gst/gstpipeline.c: (gst_pipeline_dispose),
5791         (gst_pipeline_change_state):
5792         * gst/gstpipeline.h:
5793         * gst/gstplugin.c:
5794         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5795         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5796         * gst/gstpluginfeature.h:
5797         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5798         * gst/gstquery.c: (_gst_query_type_initialize),
5799         (gst_query_type_register), (gst_query_type_get_by_nick),
5800         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5801         * gst/gstquery.h:
5802         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5803         * gst/gstscheduler.c: (gst_scheduler_add_element),
5804         (gst_scheduler_factory_create):
5805         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5806         (gst_structure_free), (gst_structure_set_name),
5807         (gst_structure_id_set_value), (gst_structure_set_value),
5808         (gst_structure_set_valist), (gst_structure_remove_field),
5809         (gst_structure_remove_fields),
5810         (gst_structure_remove_fields_valist),
5811         (gst_structure_remove_all_fields), (gst_structure_foreach),
5812         (gst_structure_map_in_place),
5813         (gst_caps_structure_fixate_field_nearest_int),
5814         (gst_caps_structure_fixate_field_nearest_double):
5815         * gst/gststructure.h:
5816         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5817         (gst_system_clock_init), (gst_system_clock_dispose),
5818         (gst_system_clock_async_thread),
5819         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5820         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5821         * gst/gstsystemclock.h:
5822         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5823         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5824         * gst/gsttaginterface.c:
5825         * gst/gstthread.c: (gst_thread_dispose),
5826         (gst_thread_release_children_locks), (gst_thread_change_state),
5827         (gst_thread_main_loop):
5828         * gst/gsttrashstack.h:
5829         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5830         * gst/gsttypes.h:
5831         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5832         (gst_element_request_pad), (gst_element_get_pad_from_template),
5833         (gst_element_request_compatible_pad),
5834         (gst_element_get_compatible_pad_filtered),
5835         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5836         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5837         (gst_element_link_many), (gst_element_link),
5838         (gst_element_link_pads), (gst_element_unlink_pads),
5839         (gst_element_unlink_many), (gst_element_unlink),
5840         (gst_pad_can_link_filtered), (gst_pad_can_link),
5841         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5842         (gst_object_default_error), (gst_bin_add_many),
5843         (gst_bin_remove_many), (gst_element_populate_std_props),
5844         (gst_element_class_install_std_props), (gst_buffer_merge),
5845         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5846         (link_fold_func), (gst_pad_proxy_setcaps):
5847         * gst/gstutils.h:
5848         * gst/gstvalue.c: (gst_value_deserialize_string):
5849         * gst/parse/grammar.y:
5850         * gst/schedulers/gstbasicscheduler.c:
5851         (gst_basic_scheduler_cothreaded_chain),
5852         (gst_basic_scheduler_chain_recursive_add),
5853         (gst_basic_scheduler_pad_link):
5854         * gst/schedulers/gstoptimalscheduler.c:
5855         (get_group_schedule_function),
5856         (gst_opt_scheduler_state_transition),
5857         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5858         * libs/gst/bytestream/bytestream.c:
5859         * libs/gst/dataprotocol/dataprotocol.c:
5860         (gst_dp_header_from_buffer):
5861         * po/nb.po:
5862         * po/ru.po:
5863         * tests/threadstate/threadstate2.c: (eos):
5864         * tools/gst-compprep.c: (main):
5865         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5866         (print_pad_info), (print_children_info):
5867         * tools/gst-launch.c: (idle_func), (main):
5868         * tools/gst-md5sum.c: (idle_func), (main):
5869         * tools/gst-xmlinspect.c: (print_element_info):
5870         First THREADED backport attempt, focusing on adding locks and
5871         making sure the API is threadsafe. Needs more work. More docs
5872         follow this week.
5873
5874 2005-02-24  Andy Wingo  <wingo@pobox.com>
5875
5876         * tests/bench-complexity.scm:
5877         * tests/complexity.gnuplot: New files, good for running complexity
5878         benchmarks.
5879
5880         * tests/Makefile.am:
5881         * tests/complexity.c: New test, sets up N elements, at each level
5882         teeing into M streams per element. Eeeenteresting.
5883
5884         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5885         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5886         running bench-mass_elements.scm.
5887
5888         * tests/bench-mass_elements.scm: New script, runs mass_elements
5889         for various numbers of identities, outputting the results to a
5890         file. Requires guile 1.6. Just for testing.
5891
5892 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * gst/schedulers/fairscheduler.c:
5895           compile with debug disabled
5896
5897 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * configure.ac:
5900           hunting season on 0.9 is now OPEN
5901
5902 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5903
5904         * docs/libs/tmpl/gstcontrol.sgml:
5905         * docs/libs/tmpl/gstdparam.sgml:
5906         * docs/libs/tmpl/gstdplinint.sgml:
5907         * docs/libs/tmpl/gstdpman.sgml:
5908         * docs/libs/tmpl/gstdpsmooth.sgml:
5909         * docs/libs/tmpl/gstunitconvert.sgml:
5910           more docs for the state of dparams
5911
5912 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5913
5914         * gst/gstelementfactory.c: (gst_element_factory_create):
5915         * gst/gstobject.c: (gst_object_init),
5916         (gst_object_set_name_default), (gst_object_set_name):
5917           name objects by default, not in gst_element_factory_create. Allows
5918           using elements created with g_object_new. (fixes #167283)
5919
5920 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5921
5922         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5923           make the time that debugging functions print relative to when
5924           gst_init was called
5925
5926 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5927
5928         * gst/gsttaginterface.c:
5929           Fix inline docs: tag setter vararg functions are NULL-terminated,
5930           GST_TAG_INVALID doesn't exist any more.
5931
5932 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5933
5934         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5935         Allocate the 1 byte more memory that was forgotten!!!!!
5936         fixes memory corruption on 64bit platforms
5937
5938 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5939
5940         * docs/pwg/building-pads.xml:
5941         * docs/pwg/intro-basics.xml:
5942           fixed a few typos, relabeled introductionary list of types
5943         * docs/random/ensonic/dparams.txt:
5944           more notes abut dparam changes
5945         * libs/gst/control/dparam.c: (gst_dparam_attach):
5946         * libs/gst/control/dparammanager.c:
5947         * libs/gst/control/dparammanager.h:
5948           - many comments and notes on dparam implementation
5949           - new dparams are were not initialized to the default value
5950             from param spec
5951
5952 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5953
5954         submitted by: Peter Astakhov
5955
5956         * po/LINGUAS:
5957         * po/ru.po:
5958           adding Russian translation
5959
5960 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5961
5962         * configure.ac:
5963         * docs/gst/Makefile.am:
5964         * docs/libs/Makefile.am:
5965           make sure popt is added to gtk-doc flags.  Fixes #147782.
5966
5967 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * docs/faq/using.xml:
5970           Fix typo in FAQ (artssink => artsdsink)
5971
5972 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5973
5974         * tools/gst-launch.1.in:
5975           Fix typo (#166699).
5976
5977 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5978
5979         * docs/faq/using.xml:
5980           Add -v argument to fakesrc/fakesink gst-launch line,
5981           so that the promised output will actually show up.
5982
5983 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5984
5985         * gst/gstthread.c: (gst_thread_change_state):
5986           Implement state-change error handling (#166073).
5987
5988 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5989
5990         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5991           Release interrupt after handling (#166250).
5992
5993 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5994
5995         * configure.ac:
5996           back to HEAD
5997
5998 === release 0.8.9 ===
5999
6000 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6001
6002         * NEWS:
6003         * RELEASE:
6004         * configure.ac:
6005           releasing 0.8.9, "Like Eating Glass"
6006
6007 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         submitted by: Clytie Siddall
6010
6011         * po/vi.po: Added Vietnamese translation
6012
6013 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         patch by: Tim Philipp-Müller
6016
6017         * configure.ac:
6018         * gst/gstpad.c:
6019           unref data when probe function returns FALSE.  Fixes #166362
6020
6021 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6022
6023         * gst/gst.c: (gst_init_get_popt_table):
6024           Fix typo (#166269).
6025
6026 2005-02-04  Andy Wingo  <wingo@pobox.com>
6027
6028         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6029         the debugging on whether the caps are compatible.
6030
6031 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6032
6033         * docs/manual/basics-elements.xml:
6034           Fix two typos.
6035
6036 2005-02-02  Wim Taymans  <wim@fluendo.com>
6037
6038         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6039         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6040         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6041         Remove some FIXMEs after analysing and commenting why they
6042         are not issues.
6043
6044 2005-02-02  Wim Taymans  <wim@fluendo.com>
6045
6046         * gst/schedulers/gstoptimalscheduler.c:
6047         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6048         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6049         (get_invalid_call), (chain_invalid_call),
6050         (get_group_schedule_function), (loop_group_schedule_function),
6051         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6052         (gst_opt_scheduler_state_transition),
6053         (gst_opt_scheduler_add_element),
6054         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6055         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6056         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6057         (gst_opt_scheduler_show):
6058         Added lock to protect scheduler data structures.
6059
6060 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6061
6062         * testsuite/threads/threadi.c: (cb_data):
6063           Fix buglet in test.
6064
6065 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6066
6067         * testsuite/threads/Makefile.am:
6068         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6069           On Wim's request, split the test in three separately-compiled
6070           tests that each test a very specific bug. Two of them still fail,
6071           will create bugs for those. threadi.c indicates why they fail.
6072
6073 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6074
6075         * gst/schedulers/gstoptimalscheduler.c:
6076         (get_group_schedule_function):
6077           Try to work with the threading mess that queue_link is.
6078
6079 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6080
6081         * gst/gstbin.c: (gst_bin_remove_func):
6082           Explicitely make an element release locks in a group when being
6083           remove from a bin.
6084         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6085           If there's no scheduler, always return immediately (similar to
6086           gst_element_interrupt).
6087
6088 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6089
6090         * gst/gstbin.c: (gst_bin_child_state_change_func):
6091           Remove a piece of code that could never be reached.
6092         * docs/gst/gstreamer-sections.txt:
6093         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6094         (gst_pad_call_get_function):
6095         * gst/gstpad.h:
6096         * testsuite/pad/Makefile.am:
6097           Fix #150546, enable tests.
6098
6099 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6100
6101         * docs/pwg/advanced-types.xml:
6102           Fix description for buffer-frames=0.
6103         * docs/gst/tmpl/gstbin.sgml:
6104         * gst/gstbin.c: (gst_bin_child_state_change_func),
6105         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6106         * gst/gstbin.h:
6107         * testsuite/threads/Makefile.am:
6108         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6109         (cb_state), (cb_play), (main):
6110           Fix non-recursive state changes to *really* change the state
6111           of the object, and not just call parent_class->state_change.
6112           Fix a lot of lockups caused by this. Fixes #132775. Add test
6113           for the problem. Also enable test to show #142588 (fixed).
6114         * gst/gstthread.c: (gst_thread_change_state),
6115         (gst_thread_child_state_change):
6116           Don't exit the thread if we go to NULL and are inside thread
6117           context. Instead, return control to the main thread context
6118           and exit from there.
6119         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6120           Don't unset virtual functions, since those may still be used.
6121           That's not necessarily correct, but suffices for now.
6122         * configure.ac:
6123         * testsuite/Makefile.am:
6124         * testsuite/pad/Makefile.am:
6125         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6126         (gst_test_sink_base_init), (gst_test_sink_chain),
6127         (gst_test_sink_init), (main):
6128         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6129         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6130         (main):
6131         * testsuite/pad/link.c: (gst_test_element_class_init),
6132         (gst_test_element_base_init), (gst_test_src_get),
6133         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6134         (gst_test_filter_loop), (gst_test_filter_init),
6135         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6136         (cb_error), (main):
6137           Add tests to show #150546. Pass, but should fail (currently
6138           disabled from the testsuite).
6139         * gst/gstscheduler.c: (gst_scheduler_dispose):
6140           Dereference child schedulers on dispose (#94464).
6141         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6142           Fix typo.
6143         * testsuite/threads/thread.c: (main):
6144           Add more debug.
6145
6146 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6147
6148         * gst/gstpad.c: (gst_pad_push):
6149           Oops, revert previous commit, broke testsuite...
6150
6151 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6152
6153         * gst/gstpad.c: (gst_pad_push):
6154           Add check that the pad on which the push is performed is not a
6155           get-based pad (#150546).
6156
6157 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6158
6159         * gst/elements/gsttypefindelement.c:
6160         (gst_type_find_element_handle_event):
6161           Fix buffer pushing if stream EOSes during typefinding.
6162
6163 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6164
6165         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6166
6167         * gst/gstvalue.c: (gst_string_wrap):
6168           Allow NULL-strings as argument (#165365).
6169
6170 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6171
6172         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6173
6174         * gst/schedulers/faircothreads.c:
6175         (gst_fair_scheduler_cothread_queue_show):
6176           Fix build without debug enabled.
6177
6178 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6179
6180         * docs/gst/gstreamer-sections.txt:
6181         * docs/libs/gstreamer-libs-docs.sgml:
6182         * docs/libs/gstreamer-libs-sections.txt:
6183         * docs/libs/tmpl/gstcontrol.sgml:
6184         * docs/libs/tmpl/gstdparam.sgml:
6185         * docs/libs/tmpl/gstdplinint.sgml:
6186         * docs/libs/tmpl/gstdpman.sgml:
6187         * docs/libs/tmpl/gstdpsmooth.sgml:
6188         * docs/libs/tmpl/gstputbits.sgml:
6189         * docs/libs/tmpl/gstunitconvert.sgml:
6190         * libs/gst/control/dparam.c:
6191         * libs/gst/control/dparam.h:
6192         * libs/gst/control/dparammanager.c:
6193         (gst_dpman_add_required_dparam_callback),
6194         (gst_dpman_add_required_dparam_direct),
6195         (gst_dpman_add_required_dparam_array),
6196         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6197         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6198         (gst_dpman_get_manager)
6199           restructured DParam docs
6200
6201 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
6202
6203         * gst-element-check.m4:
6204           Only check for gst-inspect if we haven't already
6205           found it in previous element check runs
6206
6207 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6208
6209         * docs/gst/Makefile.am:
6210         * docs/libs/Makefile.am:
6211           fixed install rules to treat style.css as optional
6212
6213 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * docs/gst/Makefile.am:
6216         * docs/libs/Makefile.am:
6217           install style.css along with docs
6218         * docs/gst/tmpl/gstbin.sgml:
6219         * docs/gst/tmpl/gstclock.sgml:
6220         * docs/gst/tmpl/gstdata.sgml:
6221         * docs/gst/tmpl/gstelement.sgml:
6222         * gst/gstbin.h:
6223         * gst/gstelement.c: (gst_element_class_init):
6224         * gst/gstelement.h:
6225           fixing incomplete docs
6226
6227 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
6228
6229         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6230           Don't unref seek event twice when fflush() fails
6231           
6232 2005-01-22  David Schleef  <ds@schleef.org>
6233
6234         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6235
6236 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6237
6238         * docs/gst/Makefile.am:
6239         * docs/libs/Makefile.am:
6240           added params for deprecation guards
6241         * gst/gst.c:
6242         * gst/gst.h:
6243         * gst/gsterror.c: (_gst_resource_errors_init),
6244         (_gst_stream_errors_init):
6245         * gst/gsterror.h:
6246           documented some more enums
6247
6248 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6249         * gst/autoplug/gstspideridentity.c:
6250         Cosmetic fix - spider_find_peek should be static
6251         * gst/parse/parse.l:
6252         Applying fix for #164261
6253
6254 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6255
6256         * docs/gst/gstreamer-sections.txt:
6257         * docs/gst/tmpl/gstplugin.sgml:
6258         * docs/libs/gstreamer-libs-sections.txt:
6259         * docs/libs/tmpl/gstcontrol.sgml:
6260         * gst/gstbuffer.h:
6261         * gst/gsttag.h:
6262         * gst/gstvalue.c:
6263           added docs for the TAG defines
6264
6265 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6266
6267         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6268           Only unref entry if there is an entry.
6269
6270 2005-01-17  Wim Taymans  <wim@fluendo.com>
6271
6272         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6273         (remove_from_group), (schedule_group), (normalize_group),
6274         (gst_opt_scheduler_iterate):
6275         Also ref/unref decoupled elements before iterating the
6276         group since they are not added to the list of elements.
6277
6278 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6279
6280         * docs/manual/highlevel-components.xml:
6281           Add subtitle/streamselection as new features to playbin.
6282
6283 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6284
6285         * docs/manual/manual.xml:
6286           Re-enable dataaccess docs (oops).
6287
6288 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6289
6290         * docs/pwg/advanced-types.xml:
6291         * docs/random/mimetypes:
6292           Add documentation on libsndfile types (#163309), by Steve Baker
6293           <steve@stevebaker.org>.
6294         * gst/gstelement.c: (gst_element_release_request_pad):
6295           If an element has no explicit function, just remove the pad.
6296
6297 2005-01-17  Luca Ognibene  <luogni@tin.it>
6298
6299         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6300
6301         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6302           Fix memleak (#163801).
6303
6304 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6305
6306         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6307           I think this is actually more correct...
6308
6309 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6310
6311         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6312           Another workaround for memory access while destroyed in callback.
6313           Please, someone with refcount knowledge, have a look at this.
6314
6315 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * docs/faq/faq.xml:
6318         * docs/faq/legal.xml:
6319           move the legal Q&A here
6320
6321 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6322
6323         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6324         (gst_tee_request_new_pad):
6325           Fix negotiation.
6326
6327 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6328
6329         * docs/random/omega/caps2:
6330         * testsuite/caps/caps_strings:
6331           replace framerate aproximations by their real value
6332           (24000/1001, 30000/1001, 60000/1001)
6333           Partially fixes bug #164049
6334
6335 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6336
6337         * docs/gst/Makefile.am:
6338           don't fail on the stupid GstPoptOption
6339
6340 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6341
6342         * gst/gstpad.h:
6343         * gst/gstprobe.c:
6344           allow probes to work on ghost pads by realizing the pad
6345           probe debugging
6346
6347 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6348
6349         * docs/gst/gstreamer-sections.txt:
6350         * docs/gst/tmpl/gstpad.sgml:
6351         * gst/gstpad.c: (gst_pad_set_active_recursive):
6352         * gst/gstpad.h:
6353           Add gst_pad_set_active_recursive().
6354
6355 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6356
6357         * docs/random/release:
6358           updates
6359         * gst/gst_private.h:
6360         * gst/gstinfo.c:
6361         * gst/gstobject.c:
6362           move deep_notify logging to a new category
6363         * gst/gstprobe.c:
6364         * gst/gstprobe.h:
6365           add stuff so bindings can wrap probes
6366
6367 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6368
6369         * gst/gstplugin.c: (gst_plugin_load):
6370           Fix plugin loading if plugin/lib was already loaded. Fixes
6371           #163383
6372
6373 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6374
6375         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6376
6377         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6378           Protect plugin loading by a mutex so it's threadsafe. Fixes
6379           #163234.
6380
6381 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6382
6383         * gst/gstevent.c: (_gst_event_copy):
6384           Reference source object when copying events, since it'll be
6385           dereferenced on event dereferencing as well.
6386
6387 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6388
6389         * docs/gst/gstreamer-sections.txt:
6390         * docs/gst/tmpl/gstevent.sgml:
6391         * gst/gstevent.c: (gst_event_new_filler_stamped),
6392         (gst_event_filler_get_duration):
6393         * gst/gstevent.h:
6394           Add two new functions for filler events (which are used to
6395           synchronize streams if one of them is not having any data
6396           for a while) without interrupting the actual data-stream.
6397           Basically a no-op.
6398         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6399         (gst_queue_link_sink), (gst_queue_link_src),
6400         (gst_queue_change_state):
6401           Allow for renegotiation while filled. Required for stream
6402           switching while playing.
6403
6404 2005-01-08  Benjamin Otte  <otte@gnome.org>
6405
6406         * gst/gstelement.c: (gst_element_link_many):
6407           fix up g_return_if_fail's
6408         * po/LINGUAS:
6409         * po/de.po:
6410           add German translation, that was somehow not included
6411
6412 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6413
6414         * docs/random/mimetypes:
6415           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6416           do not add them to riff-lib as they are not common
6417
6418 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6419
6420         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6421           Check for existence of probe after performing the probe before
6422           re-accessing it to prevent segfaults caused by removal of the
6423           probe in the callback.
6424
6425 2005-01-05  David Schleef  <ds@schleef.org>
6426
6427         * testsuite/registry/Makefile.am:
6428         * testsuite/registry/gst-print-formats.c:
6429         (print_pad_templates_info), (print_element_list),
6430         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6431         (g_list_uniqify), (get_pad_templates_info),
6432         (get_element_mime_list), (print_mime_list), (main): A little
6433         program that looks through the registry to find elements of
6434         a given type.  Not particularly interesting as a test, except
6435         that there's no other test covering the same area.
6436
6437 2005-01-05  David Schleef  <ds@schleef.org>
6438
6439         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6440         (fault_handler_sigaction), (fault_spin),
6441         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6442         in signal.h-type signal handlers by not calling forbidden functions,
6443         including gst_element_set_state().
6444
6445 2005-01-05  David Schleef  <ds@schleef.org>
6446
6447         * gst/gstvalue.h: Mark _gst_reserved[] as private
6448
6449 2005-01-05  David Schleef  <ds@schleef.org>
6450
6451         * gst/gstvalue.c: Fix doc build problem.
6452
6453 2005-01-05  David Schleef  <ds@schleef.org>
6454
6455         * gst/gstvalue.c: Add some documentation
6456
6457 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6458
6459         * docs/README:
6460           another shell oneliner for empty return value docs
6461         * gst/gstcaps.c:
6462         * gst/gstvalue.c:
6463         * libs/gst/control/dparam.c:
6464           more doc fixes (parameters and return values)
6465
6466 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6467
6468         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6469
6470         * gst/gstregistry.h:
6471         * gst/registries/gstxmlregistry.c:
6472           Fix macro's for Mingw (fixes #162276).
6473
6474 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6475
6476         * docs/README:
6477           quick shell oneliner to find undocumented members
6478         * docs/gst/tmpl/gstplugin.sgml:
6479         * docs/gst/tmpl/gstscheduler.sgml:
6480         * docs/gst/tmpl/gstthread.sgml:
6481           more enumtypes cleanup
6482         * gst/gsterror.h:
6483           activated documentation comments, now someone needs to document
6484           the enums :(
6485
6486 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6487
6488         * docs/manual/manual.xml:
6489           Add dataaccess part (doh!).
6490
6491 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6492
6493         * docs/manual/advanced-autoplugging.xml:
6494           Fix typo (intiate -> initiate).
6495
6496 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6497
6498         * docs/random/bbb/streamselection:
6499           Add some notes on how to handle multi-subtitle/-audio streams.
6500
6501 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6502
6503         * docs/gst/gstreamer-docs.sgml:
6504         * docs/gst/gstreamer-sections.txt:
6505         * docs/gst/tmpl/gstenumtypes.sgml:
6506         * docs/gst/tmpl/gsterror.sgml:
6507         * docs/gst/tmpl/gstevent.sgml:
6508         * docs/gst/tmpl/gstpad.sgml:
6509         * docs/gst/tmpl/gstpadtemplate.sgml:
6510         * docs/gst/tmpl/gstthread.sgml:
6511           removed gstenumtypes section from docs and put all the enums into
6512           their sections
6513
6514 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6515
6516         * gst/gstplugin.c:
6517           document gst_library_load a bit more (riff special case + return
6518           value if already loaded)
6519         * testsuite/bytestream/filepadsink.c:
6520           plugin name is 'gstbytestream', not 'bytestream'
6521
6522 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6523
6524         * docs/random/bbb/subtitles:
6525           Add some first mind rumblings on proper subtitle support.
6526
6527 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * po/ca.po:
6530         * po/sv.po:
6531           updated translations
6532
6533 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6534
6535         * docs/manual/advanced-dataaccess.xml:
6536           Add section on how to use fakesrc/fakesink/identity in your
6537           application, plus section on how to embed plugins. Also mention
6538           probes.
6539         * docs/manual/appendix-checklist.xml:
6540         * docs/manual/appendix-debugging.xml:
6541         * docs/manual/appendix-gnome.xml:
6542         * docs/manual/appendix-integration.xml:
6543           Debug -> checklist, GNOME -> integration, add sections on Linux,
6544           KDE integration and add other things useful for application
6545           development.
6546         * docs/manual/manual.xml:
6547           Remove some fixmes, update some file pointers.
6548         * docs/pwg/appendix-checklist.xml:
6549           Fix typo.
6550         * docs/pwg/building-boiler.xml:
6551           Remove ugly header and add commented fixme.
6552         * docs/pwg/pwg.xml:
6553           Add fixme.
6554         * examples/manual/Makefile.am:
6555           Add example for added docs.
6556
6557 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6558
6559         * configure.ac:
6560           back to HEAD
6561
6562 === release 0.8.8 ===
6563
6564 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * NEWS:
6567         * RELEASE:
6568         * configure.ac:
6569           Releasing 0.8.8, "I'll Take Care Of You"
6570
6571 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6572
6573         * configure.ac:
6574           second prerelease
6575
6576 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6577
6578         patch by: Wim Taymans
6579
6580         * gst/gstbin.c:
6581           Fix for #159852 - make iterate emission threadsafe
6582
6583 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * docs/faq/cvs.xml:
6586           notes about new fdo account request
6587
6588 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * docs/gst/gstreamer-docs.sgml:
6591         * docs/gst/tmpl/gstenumtypes.sgml:
6592         * docs/gst/tmpl/gstplugin.sgml:
6593         * docs/libs/gstreamer-libs-docs.sgml:
6594           Added missing short docs. Added ids for navigation.
6595
6596 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6597
6598         * docs/manual/advanced-autoplugging.xml:
6599         * docs/manual/advanced-schedulers.xml:
6600         * docs/manual/advanced-threads.xml:
6601           Rewrites. Remove cothreads, go a bit into opt specifically,
6602           document threads and their gotchas, and do some technical stuff
6603           on autoplugging plus add some working examples. Fixes #157395.
6604         * examples/manual/Makefile.am:
6605           Add typefind/autoplugger example (one that actually works).
6606           Remove queue example since it's a duplicate of the thread one.
6607
6608 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6609
6610         * gst/gstvalue.c: (gst_value_deserialize_string):
6611           use deprecated g_value_set_string_take_ownership to keep compatible
6612           with glib 2.2
6613
6614 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6615
6616         * gst/gstvalue.c: (gst_value_deserialize_string):
6617           revert last patch, only dom a g_utf8_validate now before accepting
6618           the string - caps parsing strips " from strings so we can't rely on
6619           them
6620         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6621           disable a test that tested the above and comment it
6622
6623 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6624
6625         Patch reviewed by David Schleef  <ds@schleef.org>
6626
6627         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6628         bug #153882)
6629         * win32/gstenumtypes.h: same
6630
6631 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6632
6633         * gst/gstpad.c: (gst_pad_query):
6634           Do query on realized pad, similar to how convert/send_event handle
6635           this. Also makes sense, since this pad belongs to the function to
6636           which this query will be sent. Fixes #158163.
6637
6638 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6639
6640         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6641
6642 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6643
6644         * docs/faq/general.xml: fix pipeline to actually work
6645
6646 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6647
6648         * gst/gstvalue.c: (gst_value_deserialize_string):
6649           check that a simple string that gets deserialized does not contain
6650           invalid characters
6651         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6652           remove a test that tested a wring behaviour
6653
6654 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6655
6656         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6657
6658         * docs/manual/intro-motivation.xml:
6659           Fix typos.
6660
6661 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6662
6663         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6664
6665         * docs/gst/tmpl/gstprobe.sgml:
6666           Fix documentation of probe callback - it is supposed to return
6667           FALSE, not TRUE, to remove data from the stream (#159087).
6668
6669 2004-12-16  Daniel Gazard  <dany42@free.fr>
6670
6671         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6672
6673         * gst/gstelementfactory.c: (gst_element_factory_create):
6674           Fix compile failure if compiling without libxml2 support (#149936).
6675
6676 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6677
6678         * docs/manual/advanced-autoplugging.xml:
6679         * docs/manual/highlevel-components.xml:
6680           Move spider from autoplugging to components. Autoplugging is for
6681           internals, not for solutions. ;-).
6682
6683 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6684
6685         * docs/random/ds/0.9-suggested-changes:
6686           Make note on device/location/uri property names.
6687
6688 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6689
6690         * docs/manual/advanced-autoplugging.xml:
6691         * docs/manual/advanced-clocks.xml:
6692         * docs/manual/advanced-interfaces.xml:
6693         * docs/manual/advanced-metadata.xml:
6694         * docs/manual/advanced-position.xml:
6695         * docs/manual/advanced-schedulers.xml:
6696         * docs/manual/advanced-threads.xml:
6697         * docs/manual/appendix-gnome.xml:
6698         * docs/manual/appendix-programs.xml:
6699         * docs/manual/appendix-quotes.xml:
6700         * docs/manual/autoplugging.xml:
6701         * docs/manual/basics-bins.xml:
6702         * docs/manual/basics-data.xml:
6703         * docs/manual/basics-elements.xml:
6704         * docs/manual/basics-helloworld.xml:
6705         * docs/manual/basics-init.xml:
6706         * docs/manual/basics-pads.xml:
6707         * docs/manual/basics-plugins.xml:
6708         * docs/manual/bins-api.xml:
6709         * docs/manual/bins.xml:
6710         * docs/manual/buffers-api.xml:
6711         * docs/manual/buffers.xml:
6712         * docs/manual/clocks.xml:
6713         * docs/manual/components.xml:
6714         * docs/manual/cothreads.xml:
6715         * docs/manual/debugging.xml:
6716         * docs/manual/dparams-app.xml:
6717         * docs/manual/dynamic.xml:
6718         * docs/manual/elements-api.xml:
6719         * docs/manual/elements.xml:
6720         * docs/manual/factories.xml:
6721         * docs/manual/gnome.xml:
6722         * docs/manual/goals.xml:
6723         * docs/manual/helloworld.xml:
6724         * docs/manual/helloworld2.xml:
6725         * docs/manual/highlevel-components.xml:
6726         * docs/manual/highlevel-xml.xml:
6727         * docs/manual/init-api.xml:
6728         * docs/manual/intro-basics.xml:
6729         * docs/manual/intro-motivation.xml:
6730         * docs/manual/intro-preface.xml:
6731         * docs/manual/intro.xml:
6732         * docs/manual/links-api.xml:
6733         * docs/manual/links.xml:
6734         * docs/manual/manual.xml:
6735         * docs/manual/motivation.xml:
6736         * docs/manual/pads-api.xml:
6737         * docs/manual/pads.xml:
6738         * docs/manual/plugins-api.xml:
6739         * docs/manual/plugins.xml:
6740         * docs/manual/programs.xml:
6741         * docs/manual/queues.xml:
6742         * docs/manual/quotes.xml:
6743         * docs/manual/schedulers.xml:
6744         * docs/manual/states-api.xml:
6745         * docs/manual/states.xml:
6746         * docs/manual/threads.xml:
6747         * docs/manual/typedetection.xml:
6748         * docs/manual/win32.xml:
6749         * docs/manual/xml.xml:
6750           Try 2. This time, include a short preface as a "general
6751           introduction", also add code blocks around all code samples
6752           so they get compiled. We still need a way to tell readers
6753           the filename of the code sample. In some cases, don't show
6754           all code in the documentation, but do include it in the generated
6755           code. This allows for focussing on specific bits in the docs,
6756           while still having a full test application available.
6757         * examples/manual/Makefile.am:
6758           Fix up examples for new ADM. Add several of the new examples that
6759           were either added or were missing from the build system.
6760         * examples/manual/extract.pl:
6761           Allow nameless blocks.
6762
6763 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * docs/manual/elements-api.xml:
6766         * docs/manual/helloworld.xml:
6767         * examples/manual/extract.pl:
6768           fix last example.  Add example of adding code blocks that are not
6769           shown in docbook output.
6770
6771 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * docs/manual/dynamic.xml:
6774         * docs/manual/elements-api.xml:
6775         * docs/manual/gnome.xml:
6776         * docs/manual/helloworld2.xml:
6777         * docs/manual/init-api.xml:
6778         * docs/manual/queues.xml:
6779         * docs/manual/threads.xml:
6780         * docs/manual/xml.xml:
6781         * examples/manual/extract.pl:
6782           Make it possible to extract example code from separate blocks.
6783           Should make Ronald happy.
6784
6785 2004-12-15  Wim Taymans  <wim@fluendo.com>
6786
6787         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6788         (remove_from_group), (group_elements_set_visited),
6789         (normalize_group), (gst_opt_scheduler_iterate):
6790         Fix bug where a flag was not updated on a decoupled entry point 
6791         because we were just checking the group element list and decoupled
6792         elements are not in that list..
6793
6794 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6795
6796         * docs/manual/advanced-autoplugging.xml:
6797         * docs/manual/advanced-clocks.xml:
6798         * docs/manual/advanced-dparams.xml:
6799         * docs/manual/advanced-interfaces.xml:
6800         * docs/manual/advanced-metadata.xml:
6801         * docs/manual/advanced-position.xml:
6802         * docs/manual/advanced-schedulers.xml:
6803         * docs/manual/advanced-threads.xml:
6804         * docs/manual/appendix-debugging.xml:
6805         * docs/manual/appendix-gnome.xml:
6806         * docs/manual/appendix-programs.xml:
6807         * docs/manual/appendix-quotes.xml:
6808         * docs/manual/appendix-win32.xml:
6809         * docs/manual/autoplugging.xml:
6810         * docs/manual/basics-bins.xml:
6811         * docs/manual/basics-data.xml:
6812         * docs/manual/basics-elements.xml:
6813         * docs/manual/basics-helloworld.xml:
6814         * docs/manual/basics-init.xml:
6815         * docs/manual/basics-pads.xml:
6816         * docs/manual/basics-plugins.xml:
6817         * docs/manual/bins-api.xml:
6818         * docs/manual/bins.xml:
6819         * docs/manual/buffers-api.xml:
6820         * docs/manual/buffers.xml:
6821         * docs/manual/clocks.xml:
6822         * docs/manual/components.xml:
6823         * docs/manual/cothreads.xml:
6824         * docs/manual/debugging.xml:
6825         * docs/manual/dparams-app.xml:
6826         * docs/manual/dynamic.xml:
6827         * docs/manual/elements-api.xml:
6828         * docs/manual/elements.xml:
6829         * docs/manual/factories.xml:
6830         * docs/manual/gnome.xml:
6831         * docs/manual/goals.xml:
6832         * docs/manual/helloworld.xml:
6833         * docs/manual/helloworld2.xml:
6834         * docs/manual/highlevel-components.xml:
6835         * docs/manual/highlevel-xml.xml:
6836         * docs/manual/init-api.xml:
6837         * docs/manual/intro-motivation.xml:
6838         * docs/manual/intro-preface.xml:
6839         * docs/manual/intro.xml:
6840         * docs/manual/links-api.xml:
6841         * docs/manual/links.xml:
6842         * docs/manual/manual.xml:
6843         * docs/manual/motivation.xml:
6844         * docs/manual/pads-api.xml:
6845         * docs/manual/pads.xml:
6846         * docs/manual/plugins-api.xml:
6847         * docs/manual/plugins.xml:
6848         * docs/manual/programs.xml:
6849         * docs/manual/queues.xml:
6850         * docs/manual/quotes.xml:
6851         * docs/manual/schedulers.xml:
6852         * docs/manual/states-api.xml:
6853         * docs/manual/states.xml:
6854         * docs/manual/threads.xml:
6855         * docs/manual/typedetection.xml:
6856         * docs/manual/win32.xml:
6857         * docs/manual/xml.xml:
6858           First try at rewriting the ADM. Needs lotsamore work, but some
6859           parts might already be somewhat useful.
6860         * docs/pwg/advanced-interfaces.xml:
6861           Remove properties interface, it never actually existed (except for
6862           on my HD...).
6863
6864 2004-12-13  David Schleef  <ds@schleef.org>
6865
6866         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6867         be NULL (bug #160220).
6868
6869 2004-12-13  David Schleef  <ds@schleef.org>
6870
6871         * configure.ac: remove all mmx stuff, because it's not used.
6872         * docs/random/ds/0.9-suggested-changes: additional notes
6873         * include/Makefile.am: we don't use these anymore
6874         * include/mmx.h: remove
6875         * include/sse.h: remove
6876
6877 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6878
6879         * docs/random/mimetypes:
6880           Add FOURCC code for h264 codec (VSSH)
6881           Add alternate FOURCC codes for h263 related codecs
6882
6883 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6884
6885         * docs/manual/programs.xml:
6886           Added more gst-launch examples.
6887
6888 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6889
6890         * gst/gstqueue.c: (gst_queue_handle_src_query):
6891           Check for availability again.
6892
6893 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6894
6895         * gst/gstcaps.c: (gst_caps_compare_structures):
6896           Simple caps go first. This has the nice side-effect of fixing an
6897           obscure warning.
6898
6899 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6900
6901         * gst/gstversion.h.in:
6902           Protect header.
6903
6904 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6905
6906         * gst/schedulers/gstoptimalscheduler.c:
6907         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6908         (gst_opt_scheduler_get_wrapper):
6909           When we're recursing into a chain run, only run the directly
6910           related group, not all queued ones. This will fix a possible
6911           deadlock in chains with more than two groups.
6912
6913 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6914
6915         * autogen.sh:
6916           remove patch if autopoint fails
6917
6918 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6919
6920         * docs/gst/gstreamer-sections.txt:
6921           Document Thomas' addition, fix build, make Luis the sheriff happy.
6922
6923 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6924
6925         * gst/gstplugin.c:
6926         * gst/gstplugin.h:
6927           add accessor for version field
6928
6929 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         submitted by: Luca Ferretti <elle.uca@infinito.it>
6932
6933         * po/LINGUAS:
6934         * po/it.po:
6935           New tranlation added: Italian
6936
6937 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6938
6939         * gst/gstpad.c: (gst_pad_is_negotiated),
6940         (gst_pad_get_negotiated_caps):
6941           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6942           it doesn't actually check the contents), so be sure to hand it
6943           a RealPad else we'll crash.
6944
6945 2004-12-03  Wim Taymans  <wim@fluendo.com>
6946
6947         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6948         (gst_queue_link), (gst_queue_handle_src_query):
6949         Reverted to 1.110 until this makes the testsuite and various
6950         apps work.
6951
6952 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6953
6954         * docs/upload.mak: fix included CVS conflict strings
6955
6956 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6957
6958         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6959
6960         * gst/gstelement.c: (gst_element_error_full):
6961           Use g_error_new_literal because error text may have
6962           percentage signs in it. Fixes #160019.
6963
6964 2004-12-01  Benjamin Otte  <otte@gnome.org>
6965
6966         * gst/elements/gstbufferstore.c:
6967         (gst_buffer_store_add_buffer_func):
6968           don't try to make subbuffers bigger than they can be. (fixes
6969           #159970)
6970
6971 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6972
6973         * docs/gst/gstreamer-sections.txt:
6974         * docs/gst/tmpl/gstvalue.sgml:
6975           Add new function to docs to fix build.
6976
6977 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6978
6979         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6980         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6981         (_gst_pad_default_fixate_foreach):
6982         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6983         * gst/gstvalue.h:
6984           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6985           in some cases (arrays), the fixedness depends on the content.
6986         * gst/gstqueue.c: (gst_queue_handle_src_query):
6987           Check for availability before doing something.
6988
6989 2004-11-29  Wim Taymans  <wim@fluendo.com>
6990
6991         * testsuite/threads/Makefile.am:
6992         * testsuite/threads/signals.c: (gst_test_get_type),
6993         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6994         (gst_test_set_property), (gst_test_get_property),
6995         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6996         (gst_test_do_prop), (run_thread), (main):
6997         Added a bunch of testcases that show threadsafety bugs in glib.
6998
6999 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
7000
7001         * docs/manual/programs.xml:
7002           Added a first batch of gst-launch examples, as provided by Ronald
7003           and others from the devel-mlist
7004
7005 2004-11-28  Benjamin Otte  <otte@gnome.org>
7006
7007         * gst/gstelement.c: (gst_element_negotiate_pads):
7008           simplify
7009         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
7010         (gst_value_serialize_string), (gst_value_deserialize_string):
7011           add unwrapping of previously wrapped strings. Fix bug in wrapping
7012           while at it.
7013         * testsuite/caps/value_serialize.c: (test1),
7014         (test_string_serialization), (test_string_deserialization), (main):
7015           add tests for string (de)serialization
7016
7017 2004-11-26  Wim Taymans  <wim@fluendo.com>
7018
7019         * testsuite/threads/159566.c: (object_deep_notify), (main):
7020         * testsuite/threads/Makefile.am:
7021         Added testsuite to show bug #159566
7022
7023 2004-11-25  Wim Taymans  <wim@fluendo.com>
7024
7025         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7026         (gst_thread_child_state_change), (gst_thread_main_loop):
7027         Ref the thread object in the GThread mainloop. Break out of the
7028         thread mainloop if it holds the last ref. This properly exits
7029         the threads when disposing the thread from its own context. It
7030         also avoids possible deadlocks in the dispose function.
7031
7032 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7033
7034         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7035         it is necessary to wait.
7036
7037 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7038
7039         * docs/pwg/building-boiler.xml:
7040           Make description somewhat clearer.
7041
7042 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7043
7044         * docs/upload.mak:
7045           Apparently docs changed location on FDO's server.
7046
7047 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7048
7049         * docs/pwg/appendix-checklist.xml:
7050           Add some random notes on things to check when writing an element.
7051           This list can be extended as people see fit.
7052
7053 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7054
7055         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7056         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7057         pad. The queue will now wait until it is empty and forward the new
7058         caps to the source.
7059         * gst/gstbin.c (gst_bin_set_element_sched)
7060         (gst_bin_unset_element_sched): Make sure that all elements and
7061         links are registered and unregistered with the scheduler exactly
7062         once. This elaborates on a fix by Benjamin Otte, but
7063         guarantees that decoupled elements are also registered.
7064
7065 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7066
7067         * docs/manual/quotes.xml:
7068           add a quote
7069         * configure.ac:
7070         * gst/gst.c:
7071         * gst/gstinfo.c:
7072           add LIBDIR and move init message higher up so it's at the start
7073
7074 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7075
7076         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7077         * gstreamer.spec.in: add fair
7078
7079 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7080
7081         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7082         * gst/elements/gstidentity.c: (gst_identity_class_init):
7083           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7084           <teuf@gnome.org> (#157263).
7085         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7086         (gst_type_find_handle_src_query):
7087           Subtract size of internally stored data from position queries.
7088
7089 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7090
7091         * gst/schedulers/fairscheduler.c:
7092         * gst/schedulers/faircothreads.c:
7093         * gst/schedulers/faircothreads.h:
7094         New cothread based scheduler: Fair scheduler.
7095         * gst/schedulers/gthread-cothreads.h: 
7096         Add the standard #if around the whole file.
7097         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7098         compilation of the functions defined in this file. This is
7099         necessary to be able to use this file as a normal header.
7100         * gst/schedulers/Makefile.am: Add compiling support for fair
7101         scheduler.
7102         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7103         scheduler cothreads layer from documentation generation.
7104
7105 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7106
7107         * gst/autoplug/gstspideridentity.c:
7108         (gst_spider_identity_sink_loop_type_finding):
7109           Don't crash if that function is not implemented.
7110
7111 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7112
7113         * docs/pwg/advanced-types.xml:
7114           Another typo.
7115
7116 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7117
7118         * docs/pwg/intro-preface.xml:
7119           Hm, ok, so the brackets weren't really useful...
7120         * docs/pwg/other-ntoone.xml:
7121           Fix embarassing typo.
7122
7123 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7124
7125         * docs/pwg/intro-preface.xml:
7126           Rewrite preface.
7127
7128 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7129
7130         * docs/pwg/advanced-scheduling.xml:
7131         * docs/pwg/advanced-tagging.xml:
7132         * docs/pwg/advanced-types.xml:
7133         * docs/pwg/building-boiler.xml:
7134         * docs/pwg/building-chainfn.xml:
7135         * docs/pwg/building-signals.xml:
7136         * docs/pwg/building-state.xml:
7137         * docs/pwg/building-testapp.xml:
7138         * docs/pwg/intro-basics.xml:
7139         * docs/pwg/other-manager.xml:
7140         * docs/pwg/other-source.xml:
7141           Typo fixes.
7142         * docs/pwg/other-manager.xml:
7143           Add some first content. No example code yet.
7144         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7145           Remove double newlines.
7146
7147 2004-11-04  Wim Taymans  <wim@fluendo.com>
7148
7149         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7150         (remove_from_group), (normalize_group), (group_migrate_connected),
7151         (gst_opt_scheduler_iterate):
7152         * testsuite/schedulers/.cvsignore:
7153         * testsuite/schedulers/Makefile.am:
7154         * testsuite/schedulers/queue_link.c: (main):
7155         Added testcase for scheduler segfault.
7156         Fix scheduler segfault when removing a decoupled
7157         entry point as the last element from a group.
7158
7159 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7160
7161         * gst/gstmarshal.list: add missing marshaller, fixes build
7162
7163 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7164
7165         * docs/random/signal: added notes about using BOXED for GstBuffer
7166         signal marshallers, not POINTER
7167
7168 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7169
7170         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7171         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7172         POINTER=>BOXED changes to marshal GstBuffers
7173
7174 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7175
7176         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7177         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7178
7179 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7180
7181         * docs/gst/gstreamer-sections.txt:
7182         * docs/gst/tmpl/gstcaps.sgml:
7183         * docs/gst/tmpl/gsterror.sgml:
7184         * docs/gst/tmpl/gstinfo.sgml:
7185         * docs/gst/tmpl/gstmacros.sgml:
7186         * docs/gst/tmpl/gstutils.sgml:
7187         * docs/random/ensonic/interfaces.txt:
7188         * gst/gstinfo.h:
7189           added some more docs, removed two obsolete defines
7190
7191 2004-11-02  Kjartan Maraas <as at gnome.org>
7192
7193         reviewed by: Wim Taymans, Ronald Bultje.
7194
7195         * gst/cothreads.c: (cothread_create):
7196         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7197         (gst_bin_child_state_change_func):
7198         * gst/gstbuffer.c: (gst_buffer_span):
7199         * gst/gstelement.c: (gst_element_get_index),
7200         (gst_element_get_event_masks), (gst_element_get_query_types),
7201         (gst_element_get_formats):
7202         * gst/gsterror.c: (_gst_core_errors_init),
7203         (_gst_library_errors_init), (_gst_resource_errors_init),
7204         (_gst_stream_errors_init):
7205         * gst/gstobject.c: (gst_object_default_deep_notify):
7206         * gst/gstpad.c: (gst_pad_get_event_masks),
7207         (gst_pad_get_internal_links_default):
7208         * gst/gstplugin.c: (gst_plugin_register_func),
7209         (gst_plugin_get_module):
7210         * gst/gststructure.c: (gst_structure_get_string),
7211         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7212         (gst_structure_to_abbr):
7213         * gst/gstutils.c: (gst_print_element_args):
7214         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7215         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7216         Aplied part of patch #157127: Cleanup of issues reported by 
7217         sparse.
7218         Also do not try to use cothreads when there is no cothread
7219         context yet.
7220
7221 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7222
7223         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7224         (gst_opt_scheduler_iterate):
7225         Applied patch #154061. Running a pipeline in which an element 
7226         calls GST_ELEMENT_ERROR in the chain function, the opt 
7227         scheduler doesn't unref the chain so it never gets freed.
7228
7229 2004-11-02  Wim Taymans  <wim@fluendo.com>
7230
7231         * gst/gststructure.c: (gst_structure_get_abbrs),
7232         (gst_structure_from_abbr), (gst_structure_to_abbr):
7233         Remove that ugly if-then thing in the code that converts
7234         between strings and types.
7235
7236 2004-11-02  Wim Taymans  <wim@fluendo.com>
7237
7238         * gst/gstscheduler.c: (gst_scheduler_add_element),
7239         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7240         Aplied clock distribution patch, this should fix bug
7241         #148787.
7242
7243 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7244
7245         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7246
7247         * po/LINGUAS:
7248         * po/nb.po:
7249           Added Norwegian Bokmaal translation
7250
7251 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7252
7253         * tools/gst-inspect.c: (print_signal_info):
7254           print signal arguments as pointers if they are
7255
7256 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * docs/pwg/building-boiler.xml:
7259           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7260
7261 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7262
7263         * gst/parse/parse.l:
7264         * testsuite/parse/parse1.c: (main):
7265         Since parse can do 'element name=a:b' make 'a:b.' work as
7266         well. 
7267         Added testcase to verify fix.
7268
7269 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7270
7271         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7272         Use the realpad when printing the direction.
7273         Add extra \n when printing extensions of typefind factories.
7274
7275 2004-10-13  David Schleef  <ds@schleef.org>
7276
7277         * examples/manual/Makefile.am: $< isn't portable in Makefile
7278         rules.
7279
7280 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7281
7282         * docs/gst/tmpl/gstobject.sgml:
7283         * docs/gst/tmpl/gstplugin.sgml:
7284         * docs/gst/tmpl/gstpluginfeature.sgml:
7285         * docs/gst/tmpl/gstregistry.sgml:
7286         * docs/gst/tmpl/gstversion.sgml:
7287         * gst/gstbin.c:
7288           more api documentation
7289         * gst/gstplugin.c: (gst_plugin_register_func),
7290         (gst_plugin_check_file), (gst_plugin_load_file):
7291           better error signaling and logging
7292
7293 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7294
7295         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7296           Subtract current queue contents from position queries.
7297
7298 2004-10-11  Johan Dahlin  <johan@gnome.org>
7299
7300         * gst/gsturi.c (gst_uri_get_location): unescape string
7301         (gst_uri_construct): escape string.
7302
7303 2004-10-11  Benjamin Otte  <otte@gnome.org>
7304
7305         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7306         (gst_pad_try_set_caps_nonfixed):
7307           allow renegotiation of unconnected pads (as inside spider). Simply
7308           return OK if unconnected - mimic try_set_caps there.
7309
7310 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7311
7312         * gst/gstbin.c: (gst_bin_sync_children_state):
7313           Add missing break.
7314
7315 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7316
7317         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7318         Set element to EOS before sending EOS event
7319
7320 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7321
7322         * gst/elements/gsttypefindelement.c:
7323         (gst_type_find_element_handle_event):
7324         Handle EOS events when doing the transition from
7325         typefind to data passing. This should fix the
7326         infinite loops in short files.
7327
7328 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7329
7330         * gst/gstthread.c: (gst_thread_change_state),
7331         (gst_thread_child_state_change):
7332         Make sure no iteration happens while performing
7333         the state change as it could mess up the internal
7334         consistency of the thread state.
7335
7336 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7337
7338         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7339         (gst_thread_change_state), (gst_thread_child_state_change):
7340         Do not try to grab the iterate lock in the state change method
7341         when we are in the same thread as the iterate or else we
7342         could deadlock. Some other cleanups.
7343
7344 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7345
7346         * configure.ac:
7347           bump nano to cvs
7348
7349 === release 0.8.7 ===
7350
7351 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7352
7353         * configure.ac:
7354         * NEWS:
7355         * RELEASE:
7356         * configure.ac:
7357           releasing 0.8.7, "A Cruise"
7358
7359 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7360
7361         * docs/random/mimetypes:
7362         Add an entry for Sony ATRAC3 audio format with mime-type
7363         used by rmdemux et riff-read
7364
7365 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7366
7367         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7368         Push the buffer store instead of clearing it in case that
7369         the stream is not seekable.
7370
7371 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7372
7373         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7374         (gst_thread_main_loop):
7375         Lock the iteration and the state change so that automatic
7376         negotiation and fixation does not happen at the same time
7377         as the in stream negotiation.
7378
7379 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * configure.ac:
7382           bump nano to cvs
7383
7384 === release 0.8.6 ===
7385
7386 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7387
7388         * configure.ac:
7389         * NEWS:
7390         * RELEASE:
7391         * configure.ac:
7392           releasing 0.8.6, "Narc"
7393
7394 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7395
7396         * configure.ac:
7397           prerel bump
7398
7399 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         patch by: Steve Lhomme
7402
7403         * gst/elements/gstfakesrc.c:
7404         * gst/elements/gstidentity.c:
7405         * gst/gstthread.c:
7406           Fix for #153881
7407
7408 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7409
7410         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7411         Fix threadsafety of the crc checking function.
7412
7413 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7414
7415         patch by: Ronald Bultje
7416
7417         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7418         (gst_type_find_element_handle_event),
7419         (gst_type_find_element_chain):
7420         * gst/elements/gsttypefindelement.h:
7421          #153657.
7422          Filter out discont event from seekable sources when typefind
7423          asks them to seek.  Fixes typefind with demuxers for
7424          avi, asf and matroska.
7425
7426 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         * docs/gst/gstreamer-sections.txt:
7429         * gst/gstcaps.c:
7430         * gst/gstcaps.h:
7431         * gst/gstpad.c:
7432           Revert preferred caps: (#147789)
7433
7434 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7435
7436         * win32/dirent.c:
7437           fix a memory leak
7438
7439 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * configure.ac:
7442           bump for prerelease
7443
7444 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7445
7446         * docs/Makefile.am:
7447         * docs/manual/elements-api.xml:
7448           restructure so that common stuff is shown first
7449         * docs/manual/init-api.xml:
7450           convert to examples
7451         * docs/manual/manual.xml:
7452         * docs/manuals.mak:
7453         * docs/url.entities:
7454           link to API on the website, possibly override later in build
7455         * examples/manual/.cvsignore:
7456           ignore more
7457         * examples/manual/Makefile.am:
7458           add more examples
7459         * examples/manual/extract.pl:
7460           error out on failure
7461
7462 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7463
7464         * docs/gst/tmpl/gstthread.sgml:
7465         * docs/manual/init-api.xml:
7466         * examples/manual/Makefile.am:
7467           convert two code bits to examples
7468
7469 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7470
7471         * gst/gstelement.c: (gst_element_change_state):
7472           Well, actually, I was about to remove this insane assert when
7473           I noticed Wim already did that. A warning is nice so we can
7474           fix actual ugs (using --g-fatal-warnings and backtraces), so
7475           I added that instead.
7476
7477 2004-09-06  Wim Taymans  <wim@fluendo.com>
7478
7479         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7480         (gst_element_threadsafe_properties_post_run),
7481         (gst_element_set_state), (gst_element_change_state):
7482         Added extra refcounting around various places. 
7483
7484 2004-09-06  Wim Taymans  <wim@fluendo.com>
7485
7486         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7487         Fix debug info.
7488
7489 2004-09-06  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7492         (remove_from_group):
7493         Some more debug info.
7494
7495 2004-09-03  Wim Taymans  <wim@fluendo.com>
7496
7497         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7498         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7499         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7500         (gst_fakesrc_get), (gst_fakesrc_change_state):
7501         * gst/elements/gstfakesrc.h:
7502         * gst/elements/gstidentity.c: (gst_identity_class_init),
7503         (gst_identity_init), (gst_identity_chain),
7504         (gst_identity_set_property), (gst_identity_get_property),
7505         (gst_identity_change_state):
7506         * gst/elements/gstidentity.h:
7507         Added datarate properties to limit the datarate.
7508
7509 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7510
7511         * gst/autoplug/gstspider.c: (plugin_init):
7512           don't set a rank. We don't want to autoplug by inserting spiders.
7513
7514 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7515
7516         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7517         (gst_spider_identity_plug):
7518           add a template for spider's sink
7519         * gst/gst.c: (gst_register_core_elements):
7520           queue's rank should be NULL, we don't want spider to add it.
7521
7522 2004-08-18  David Schleef  <ds@schleef.org>
7523
7524         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7525         * docs/libs/Makefile.am: same
7526         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7527         * docs/random/ds/0.9-planning: random additions
7528         * docs/random/ds/0.9-suggested-changes: same
7529         * gst/gstxml.h: remove vestigal GstXMLNs definition
7530
7531         Preferred caps: (#147789)
7532         * docs/gst/gstreamer-sections.txt: Add symbols
7533         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7534         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7535         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7536         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7537         (gst_caps_get_preferred), (gst_caps_set_preferred),
7538         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7539         (gst_caps_use_preferred): Handle caps preferences
7540         * gst/gstcaps.h: Add caps preferences
7541         * gst/gstpad.c: (gst_pad_link_get_preferred),
7542         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7543         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7544         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7545         negotiation.
7546
7547 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7548
7549         * gst/autoplug/gstspideridentity.c:
7550         (gst_spider_identity_request_new_pad):
7551         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7552         (gst_aggregator_init):
7553         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7554         (gst_fakesink_init):
7555         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7556         (gst_fakesrc_init):
7557         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7558         (gst_fdsink_init):
7559         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7560         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7561         (gst_filesink_init):
7562         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7563         (gst_filesrc_init):
7564         * gst/elements/gstidentity.c: (gst_identity_base_init),
7565         (gst_identity_init):
7566         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7567         (gst_multifilesrc_init):
7568         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7569         (gst_pipefilter_init):
7570         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7571         (gst_statistics_init):
7572         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7573         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7574           s/gst_pad_new/&_from_template/
7575           register pad templates in the base_init function
7576           add static pad template definitions
7577
7578 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7579
7580         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7581         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7582         * testsuite/refcounting/pad.c: (main):
7583         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7584           s/gst_pad_new/&_from_template/
7585           prepare deprecation of gst_pad_new
7586
7587 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7588
7589         patch by: Luca Ognibene <skaboy81@virgilio.it>
7590
7591         * gst/gstcaps.c:
7592         * gst/gstelement.c:
7593         * gst/gstpad.c:
7594         * gst/gstxml.c:
7595           fix memleaks.  Fixes #150001
7596
7597 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7598
7599         * docs/random/ds/0.9-suggested-changes:
7600           add notes - mostly about pad templates
7601
7602 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7603
7604         * win32/GStreamer.vcproj:
7605           temporary locale files are .gmo not .mo
7606
7607 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7608
7609         * configure.ac: bump nano to cvs
7610
7611 === release 0.8.5 ===
7612
7613 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7614
7615         * configure.ac:
7616           releasing 0.8.5, "Stuttgart"
7617         * NEWS:
7618         * RELEASE:
7619         * configure.ac:
7620         * docs/random/release:
7621           updates for release
7622
7623 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         patch by: Wim Taymans (wim@fluendo.com)
7626
7627         * gst/gstbuffer.c:
7628         * gst/gstindex.h:
7629         * libs/gst/dataprotocol/dataprotocol.c:
7630           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7631
7632 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7633
7634         * Makefile.am:
7635         * win32/MANIFEST:
7636           add win32 dir to the build.  Fixes #149981.
7637
7638 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7639
7640         * configure.ac:
7641           bump libtool versioning
7642         * gst/gststructure.c:
7643           mark function as static
7644         * po/af.po:
7645         * po/az.po:
7646         * po/ca.po:
7647         * po/cs.po:
7648         * po/en_GB.po:
7649         * po/fr.po:
7650         * po/nl.po:
7651         * po/sq.po:
7652         * po/sr.po:
7653         * po/sv.po:
7654         * po/tr.po:
7655         * po/uk.po:
7656           translations update
7657         * win32/README.txt:
7658           trademark protection
7659
7660 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * configure.ac:
7663           fix GST_ORIGIN
7664           set GST_PACKAGE to source, and distinguish between release and other
7665         * tools/gst-inspect.c:
7666           print out plugin an element factory is part of so we see this info
7667
7668 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7669
7670         * docs/gst/gstreamer-sections.txt:
7671         * docs/gst/tmpl/gstbuffer.sgml:
7672         * docs/gst/tmpl/gstschedulerfactory.sgml:
7673           reorder docs a little, make GstBuffer's more sensible.
7674         * gst/gstbuffer.h:
7675           API: added GST_BUFFER_FLAG_DELTA_UNIT
7676         * gst/gstscheduler.c:
7677           comment API addition
7678
7679 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7680
7681         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7682           work with non-regular files that can be mmapped (like /dev/zero)
7683         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7684           get rid of typefinds that require a seek when we can't seek instead
7685           of trying them over and over again
7686         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7687           return non-zero failure value when the pipeline was interrupted or
7688           an error occurred
7689
7690 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7691
7692         * win32/config.h:
7693         * win32/GStreamer.vcproj:
7694           compile and install the locales
7695
7696 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7697
7698         * gst/gstvalue.c:
7699           fix a possible memory leak under Windows
7700
7701 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7702
7703         * win32/GStreamer.vcproj:
7704           fix a memory leak that occured under Windows
7705         * win32/gstreamer.def:
7706           add gst_scheduler_register
7707
7708 2004-08-11  Benjamin Otte  <otte@gnome.org>
7709
7710         * docs/gst/gstreamer-sections.txt:
7711         * gst/gstscheduler.c: (gst_scheduler_register):
7712         * gst/gstscheduler.h:
7713           API:
7714           add gst_scheduler_register shortcut similar to gst_element_register
7715         * gst/schedulers/entryscheduler.c: (plugin_init):
7716         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7717         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7718           use it
7719
7720 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7721
7722         * gst/gstvalue.h:
7723           fix a memory leak that occured under Windows
7724
7725 2004-08-10  Colin Walters  <walters@redhat.com>
7726
7727         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7728         Don't use O_EXCL to open temporary registry.  It will prevent
7729         registry creation if a temporary one already exists, which
7730         is unnecessary.
7731
7732 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7733
7734         * docs/gst/gstreamer-sections.txt:
7735         * docs/gst/tmpl/gstvalue.sgml:
7736           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7737
7738 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7739
7740         * win32/gstbytestream.vcproj:
7741         * win32/gstelements.vcproj:
7742         * win32/gstgetbits.vcproj:
7743         * win32/gst-inspect.vcproj:
7744         * win32/gst-launch.vcproj:
7745         * win32/gstoptimalscheduler.vcproj:
7746         * win32/GStreamer.vcproj:
7747         * win32/gst-register.vcproj:
7748         * win32/gstspider.vcproj:
7749           update the include and lib dirs to fit standard libraries as
7750           described in the Win32 manual
7751
7752 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7753
7754         * win32/config.h:
7755         * win32/gstversion.h:
7756           enable NLS again, push the version number for the coming 0.8.5 release
7757
7758 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7759
7760         * gst/gstvalue.h:
7761           export gst_type_XXX for windows DLLs
7762
7763 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * docs/faq/gst-uninstalled:
7766           fix PKG_CONFIG_PATH and PYTHONPATH
7767         * gst/schedulers/Makefile.am:
7768           cleanup
7769         * libs/gst/bytestream/bytestream.c:
7770           remove newline
7771         * po/LINGUAS:
7772         * po/sq.po:
7773           adding Albanian translation (Laurent Dhima)
7774         * po/cs.po:
7775           updated
7776
7777 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7778
7779         * po/ca.po:
7780         * po/sv.po:
7781           updated translations
7782
7783 2004-08-04  Benjamin Otte  <otte@gnome.org>
7784
7785         * tests/mass_elements.c: (main):
7786           allow specifying src and sink element explicitly, so I can test
7787           videotestsrc instead of fakesrc
7788
7789 2004-08-04  Benjamin Otte  <otte@gnome.org>
7790
7791         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7792         (gst_structure_id_empty_new), (gst_structure_empty_new),
7793         (gst_structure_copy):
7794           add gst_structure_id_empty_new_with_size to allow preallocating
7795           value array sizes. Use this in gst_structure_copy to get rid of
7796           reallocs.
7797           don't do quark=>string=>quark when copying structures
7798
7799 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7800
7801         * docs/manual/win32.xml:
7802         * win32/README.txt:
7803           update documentation with the clean version of dependencies
7804
7805 2004-08-03  Benjamin Otte  <otte@gnome.org>
7806
7807         * gst/schedulers/entryscheduler.c:
7808         (gst_entry_scheduler_remove_element):
7809           fix for GST_DISABLE_DEBUG
7810         * tools/gst-launch.c: (print_tag):
7811           fixes for G_DISABLE_ASSERT
7812
7813 2004-08-03  Benjamin Otte  <otte@gnome.org>
7814
7815         * gst/gst.c: (gst_register_core_elements):
7816           fix for G_DISABLE_ASSERT
7817         * gst/gstinfo.c: (__gst_in_valgrind):
7818           add for GST_DISABLE_DEBUG
7819
7820 2004-08-03  Benjamin Otte  <otte@gnome.org>
7821
7822         * gst/parse/parse.l:
7823           fix for G_DISABLE_ASSERT
7824
7825 2004-08-03  Wim Taymans  <wim@fluendo.com>
7826
7827         * gst/gstbin.c: (gst_bin_get_type),
7828         (gst_bin_child_state_change_func):
7829         * gst/gstthread.c: (gst_thread_change_state):
7830         Backported some debug logging from a reverted patch
7831         Don't try to destroy the thread twice. Added some more
7832         debugging in GstThread. Unlock and signal even if we
7833         are in the thread context.
7834
7835 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7836
7837         * po/uk.po:
7838           updated translation
7839
7840 2004-07-30  David Schleef  <ds@schleef.org>
7841
7842         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7843
7844 2004-07-29  David Schleef  <ds@schleef.org>
7845
7846         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7847         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7848
7849 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7850
7851         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7852         (gst_bin_add_func), (gst_bin_remove_func),
7853         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7854         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7855         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7856         (gst_bin_sync_children_state):
7857         * gst/gstbin.h:
7858         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7859         (gst_thread_change_state):
7860         * testsuite/states/Makefile.am:
7861           revert state change patches as agreed so we can rework them
7862           gradually
7863
7864 2004-07-29  Benjamin Otte  <otte@gnome.org>
7865
7866         * libs/gst/control/Makefile.am:
7867           link to libgstreamer (fixes Debian bug 262019, see
7868           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7869
7870 2004-07-29  Wim Taymans  <wim@fluendo.com>
7871
7872         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7873         (check_from_fraction_convert), (transform_test), (main):
7874         Make the test less pedantic about float roundoff errors.
7875
7876 2004-07-29  Benjamin Otte  <otte@gnome.org>
7877
7878         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7879         (gst_filesrc_srcpad_event):
7880           make seek events to before start/after end of file not fail, but
7881           seek to start/end instead
7882         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7883           add more output
7884
7885 2004-07-29  Benjamin Otte  <otte@gnome.org>
7886
7887         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7888           check that caps are fixed
7889         * gst/gstpad.c: (gst_pad_template_new):
7890           don't try to simplify caps, costs too much time on gst_init
7891         * gst/gstplugin.c: (gst_plugin_add_feature):
7892           G_ERROR if features are added twice
7893         * gst/gsttypefind.c: (gst_type_find_register):
7894         * gst/gstelementfactory.c: (gst_element_register):
7895           don't add features twice
7896         * docs/random/ds/0.9-suggested-changes:
7897           add note about possible gst_init optimization
7898
7899 2004-07-28  David Schleef  <ds@schleef.org>
7900
7901         * testsuite/elements/Makefile.am:
7902         * testsuite/elements/struct_i386.h:
7903         * testsuite/elements/struct_size.c: (main):  A little test
7904         to keep distcheck from working if someone changes a structure
7905         size accidentally.
7906
7907 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7908
7909         * docs/libs/Makefile.am:
7910         * docs/libs/gstreamer-libs-docs.sgml:
7911         * docs/libs/gstreamer-libs-sections.txt:
7912         * docs/libs/tmpl/gstbytestream.sgml:
7913         * docs/libs/tmpl/gstcontrol.sgml:
7914         * docs/libs/tmpl/gstdataprotocol.sgml:
7915         * docs/libs/tmpl/gstgetbits.sgml:
7916         * libs/gst/bytestream/Makefile.am:
7917         * libs/gst/bytestream/bytestream.c:
7918         * libs/gst/bytestream/bytestream.h:
7919         * libs/gst/control/Makefile.am:
7920         * libs/gst/dataprotocol/Makefile.am:
7921         * libs/gst/getbits/Makefile.am:
7922         * libs/gst/getbits/getbits.h:
7923           various doc and style fixes, adding bytestream to libs docs.
7924
7925 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * docs/gst/gstreamer-docs.sgml:
7928         * docs/libs/Makefile.am:
7929         * docs/libs/gstreamer-libs-docs.sgml:
7930         * docs/libs/gstreamer-libs-sections.txt:
7931         * libs/gst/control/dparam.c:
7932           more doc fixes.  gst-libs docs now build the same way as gst.
7933
7934 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * configure.ac:
7937         * testsuite/Makefile.am:
7938         * testsuite/bins/Makefile.am:
7939         * testsuite/caps/Makefile.am:
7940         * testsuite/cleanup/Makefile.am:
7941         * testsuite/clock/Makefile.am:
7942         * testsuite/debug/Makefile.am:
7943         * testsuite/dlopen/Makefile.am:
7944         * testsuite/dynparams/Makefile.am:
7945         * testsuite/elements/.cvsignore:
7946         * testsuite/elements/Makefile.am:
7947         * testsuite/enumcaps/Makefile.am:
7948         * testsuite/enumcaps/enumcaps.c:
7949         * testsuite/ghostpads/Makefile.am:
7950         * testsuite/indexers/Makefile.am:
7951         * testsuite/negotiation/Makefile.am:
7952         * testsuite/parse/Makefile.am:
7953         * testsuite/plugin/Makefile.am:
7954         * testsuite/refcounting/Makefile.am:
7955         * testsuite/schedulers/.cvsignore:
7956         * testsuite/states/Makefile.am:
7957         * testsuite/tags/Makefile.am:
7958         * testsuite/threads/Makefile.am:
7959           fold enumcaps into caps dir
7960           clean up Makefile.am's for testsuite
7961
7962 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * docs/gst/Makefile.am:
7965         * docs/libs/Makefile.am:
7966           clean up docs build.  Fixes needless rebuilding of template files.
7967
7968 2004-07-28  Wim Taymans  <wim@fluendo.com>
7969
7970         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7971         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7972         Make sure that a bin state change tries to keep the children
7973         in sync. 
7974         Added debug logging to the thread.
7975
7976 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7977
7978         * win32/GStreamer.vcproj:
7979         * win32/gstreamer.def:
7980           more exports for the plugins
7981
7982 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7983
7984         * win32/gstgetbits.vcproj:
7985         * win32/gstgetbits.def:
7986         * win32/msvc71.sln:
7987           add support for the getbits plugin
7988
7989 2004-07-27  Wim Taymans  <wim@fluendo.com>
7990
7991         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7992         (gst_value_transform_fraction_double), (_gst_value_initialize):
7993         * testsuite/caps/Makefile.am:
7994         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7995         (check_from_fraction_convert), (transform_test), (main):
7996         Added transform functions between double and fraction.
7997         Added testcase to verify transforms
7998
7999 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8000
8001         * win32/GStreamer.vcproj:
8002           rename GStreamer-0.8.lib to libgstreamer.lib
8003
8004 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8005
8006         * win32/gstelements.vcproj:
8007         * win32/gstoptimalscheduler.vcproj:
8008           fixes for the Release build
8009
8010 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8011
8012         * win32/config.h:
8013           update the version number
8014
8015 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8016
8017         * win32/GStreamer.vcproj:
8018           add gstinterface to the build
8019
8020 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8021
8022         * win32/gstreamer.def:
8023           add many definitions needed by plugins,
8024           GST_CAT_DEFAULT only available in the Debug build ?
8025
8026 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8027
8028         * gst/gstelement.c: (gst_element_set_eos_recursive):
8029           various whitespace fixes.
8030           doc fix, fixes #148497
8031
8032 2004-07-25  Benjamin Otte  <otte@gnome.org>
8033
8034         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8035           don't delay links on the sink elements, it causes unnegotiated
8036           links.
8037         * gst/elements/gsttypefindelement.c:
8038         (gst_type_find_element_base_init):
8039           add our padtemplates, we indeed do have some.
8040         * gst/elements/gsttypefindelement.c:
8041         (gst_type_find_element_handle_event),
8042         (gst_type_find_element_chain):
8043           don't push data when typefinding failed.
8044         * gst/gstpad.c: (gst_pad_link_fixate):
8045           check that no fixate function returns empty caps.
8046         * gst/gstpad.c: (gst_pad_push):
8047           check that the link is negotiated before data gets pushed.
8048         * tools/gst-register.c: (main):
8049           don't assert (fixes #148283)
8050
8051 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8052
8053         * docs/gst/gstreamer-sections.txt:
8054         * docs/gst/tmpl/gstconfig.sgml:
8055           add GST_PLUGIN_EXPORT definition
8056
8057 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8058
8059         * gst/gstplugin.h:
8060         * gst/gstconfig.h.in:
8061         * win32/gstconfig.h:
8062         * win32/gstelements.def:
8063         * win32/gstelements.vcproj:
8064         * win32/gstoptimalscheduler.def:
8065         * win32/gstoptimalscheduler.vcproj:
8066         * win32/gstspider.def:
8067         * win32/gstspider.vcproj:
8068           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8069
8070 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8071
8072         * docs/gst/gstreamer-sections.txt:
8073           remove GST_CAT_DEFAULT because the type has changed
8074
8075 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8076
8077         * win32/gstbytestream.vcproj:
8078         * win32/gstelements.vcproj:
8079         * win32/gst-inspect.vcproj:
8080         * win32/gst-launch.vcproj:
8081         * win32/gstoptimalscheduler.vcproj:
8082         * win32/GStreamer.vcproj:
8083         * win32/gst-register.vcproj:
8084         * win32/gstspider.vcproj:
8085         * win32/msvc71.sln:
8086           Copy the files where needed after building, The testsuite will be
8087           built separately
8088
8089 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8090
8091         * win32/config.h:
8092         * win32/README.txt:
8093         * docs/manual/win32.xml:
8094         Fixed the plugin and GStreamer location
8095
8096 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8097
8098         * win32/gstreamer.def:
8099         More exports for the plugins
8100
8101 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8102
8103         * gst/gstinfo.h:
8104         Marc was right, we need to export literally GST_CAT_DEFAULT
8105
8106 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8107
8108         * win32/config.h:
8109         NLS crashes in gettext, disabled until this is solved
8110
8111 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8112
8113         * win32/gst-inspect.vcproj:
8114         * win32/gst-launch.vcproj:
8115         Should use NLS when available
8116
8117 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8118
8119         * gst/registries/gstxmlregistry.c:
8120         removing the file doesn't seem to be a good idea on Linux
8121
8122 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8123
8124         * gst/registries/gstxmlregistry.c:
8125         Remove the registry before renaming the tempfile (needed for Windows)
8126
8127 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8128
8129         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8130         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8131         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8132         * gst/elements/gstmultifilesrc.h:
8133         Added newmedia property so it generates newmedia events between each
8134         file when property is set, as well as fixed eos handling
8135
8136 2004-07-22  David Schleef  <ds@schleef.org>
8137
8138         * gst/gststructure.c: (gst_structure_id_empty_new),
8139         (gst_structure_empty_new):  Set type field correctly.
8140         * gst/gststructure.h: Check type field correctly.
8141         * testsuite/caps/Makefile.am:
8142         * testsuite/caps/structure.c: (test1), (main): Add a very small
8143         test for structures.
8144
8145 2004-07-22  David Schleef  <ds@schleef.org>
8146
8147         * docs/random/ds/0.9-suggested-changes: more comments
8148         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8149
8150 2004-07-22  Benjamin Otte  <otte@gnome.org>
8151
8152         * gst/gstelementfactory.c: (gst_element_register):
8153           set the factory in the class struct, so gst_element_get_factory
8154           actually works
8155         * gst/parse/grammar.y:
8156           set element to playing when it gets unlocked as we can't rely on the
8157           bin state - all elements in the bin state might still be locked in
8158           NULL)
8159
8160 2004-07-22  Benjamin Otte  <otte@gnome.org>
8161
8162         * gst/gstelement.c: (gst_element_set_state_func):
8163           make this a static function
8164
8165 2004-07-22  Wim Taymans  <wim@fluendo.com>
8166
8167         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8168         (gst_opt_scheduler_pad_link):
8169         fix 147894-2 and the group_link problem.
8170
8171 2004-07-22  Wim Taymans  <wim@fluendo.com>
8172
8173         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8174         (handoff_identity), (main):
8175         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8176         (handoff_identity), (main):
8177         * testsuite/schedulers/Makefile.am:
8178         * testsuite/schedulers/group_link.c: (main):
8179         Show bug in scheduler when linking chain and loop based element 
8180         where the chain based element was not yet in a group.
8181
8182 2004-07-21  Benjamin Otte  <otte@gnome.org>
8183
8184         * gst/.cvsignore:
8185         * gst/autoplug/.cvsignore:
8186         * gst/elements/.cvsignore:
8187         * gst/indexers/.cvsignore:
8188         * libs/gst/bytestream/.cvsignore:
8189         * libs/gst/control/.cvsignore:
8190         * libs/gst/getbits/.cvsignore:
8191         * testsuite/states/.cvsignore:
8192         * testsuite/threads/.cvsignore:
8193           keep this up to date, since I seem to be the only one who cares
8194           about not missing files on commits (editor's note: no you don't,
8195           but feel free to change them at the time you add stuff instead
8196           of later on)
8197
8198 2004-07-21  Benjamin Otte  <otte@gnome.org>
8199
8200         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8201         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8202         (gst_bin_child_state_change_func), (set_kid_state_func),
8203         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8204           make state changes work correctly and reentrant (so removing
8205           elements from bins during state changes of bins doesn't cause
8206           segfaults or even wrong states)
8207           add debugging category and debugging output to print children states
8208         * gst/gstbin.c: (gst_bin_dispose): 
8209           add some assertion checks
8210         * gst/gstbin.h:
8211         * gst/gstbin.c: (gst_bin_sync_children_state):
8212           deprecate this function - it just does gst_bin_set_state (bin,
8213           GST_STATE (bin)) 
8214         * testsuite/threads/queue.c: (main):
8215           don't use gst_bin_sync_children_state anymore
8216         * testsuite/states/Makefile.am:
8217         * testsuite/states/bin.c:
8218           test that the state changes of bins work as expected
8219         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8220           some adjustments to change states correctly, too
8221         * gst/gstthread.c: (gst_thread_change_state):
8222           don't enable/disable "threadsafe" properties, they're unused and
8223           cause random segfaults
8224         * testsuite/threads/Makefile.am:
8225           the queue check randomly passes now, ignore it
8226
8227 2004-07-21  Benjamin Otte  <otte@gnome.org>
8228
8229         * gst/gstpad.c:
8230           check if data is NULL before outputting debug info. (fixes #145100)
8231
8232 2004-07-21  Benjamin Otte  <otte@gnome.org>
8233
8234         * gst/schedulers/entryscheduler.c:
8235         (gst_entry_scheduler_loop_wrapper),
8236         (gst_entry_scheduler_chain_wrapper),
8237         (gst_entry_scheduler_get_wrapper):
8238           reset the state when the cothread starts, so we don't get assertion
8239           failures on restarting of cothreads
8240
8241 2004-07-20  Benjamin Otte  <otte@gnome.org>
8242
8243         * gst/gstelement.c: (gst_element_link_pads_filtered):
8244           use correct sinkpad, if only sinkpad is specified, but not srcpad
8245           (fixes #147889)
8246         * gst/gstelement.c: (gst_element_set_state_func),
8247         (gst_element_change_state): ref/unref the element, signal handlers
8248         could get rid of the element otherwise
8249
8250 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8251
8252         * docs/random/ds/0.9-suggested-changes:
8253           Make note about renaming fixed-list to array.
8254         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8255         (_gst_value_initialize):
8256           Add array intersections.
8257         * testsuite/caps/intersect2.c: (main):
8258           Add test for array intersections.
8259
8260 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8261
8262         * configure.ac: back to cvs
8263
8264 === release 0.8.4 ===
8265
8266 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8267
8268         * configure.ac:
8269           releasing 0.8.4, "Paella"
8270           bump libtool versioning
8271
8272 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8273
8274         * po/LINGUAS:
8275         * po/ca.po:
8276           adding Catalan translation (Jordi Mallach)
8277
8278 2004-07-20  Wim Taymans  <wim@fluendo.com>
8279
8280         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8281         (handoff_identity), (main):
8282         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8283         (handoff_identity), (main):
8284         * testsuite/schedulers/Makefile.am:
8285         Added failing testcase for variant of #147894
8286
8287 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8288
8289         patch by: David Moore
8290
8291         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8292         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8293         (group_migrate_connected):
8294         * testsuite/schedulers/Makefile.am:
8295           fix for #142813 (Deadlock in optimal scheduler)
8296
8297 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         patch by: Wim Taymans
8300
8301         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8302         (gst_opt_scheduler_schedule_run_queue),
8303         (gst_opt_scheduler_get_wrapper), (get_group),
8304         (group_migrate_connected):
8305         * testsuite/schedulers/Makefile.am:
8306           fix for #147819 (Add some checks in the opt scheduler)
8307
8308 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8309
8310         patch by: Benjamin Otte
8311
8312         * gst/gstelementfactory.c: (__gst_element_details_set):
8313           fix for #147929: running gst-register in non-utf8 locale can cause
8314           invalid registry
8315
8316 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8317
8318         patch by: Wim Taymans
8319
8320         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8321         (group_has_element), (element_get_reachables_func),
8322         (group_migrate_connected):
8323           fix for #147894 (opt scheduler decoupled elements mismanagement)
8324         * testsuite/schedulers/Makefile.am:
8325           testsuite app now passes
8326
8327 2004-07-19  Wim Taymans  <wim@fluendo.com>
8328
8329         * testsuite/schedulers/147819.c: (handoff_identity1),
8330         (handoff_identity2), (main):
8331         * testsuite/schedulers/Makefile.am:
8332         Added testcase for bug 147819
8333
8334 2004-07-19  Wim Taymans  <wim@fluendo.com>
8335
8336         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8337         (handoff_identity), (main):
8338         * testsuite/schedulers/Makefile.am:
8339         Added testcase for bug 147894
8340
8341 2004-07-16  Wim Taymans  <wim@fluendo.com>
8342
8343         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8344         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8345         * testsuite/schedulers/Makefile.am:
8346         Added testsuite for bug 142183 in its two incarnations. Refcount
8347         is not increased for scheduled elements and threadsafe properties
8348         mutexes are not properly unlocked.
8349
8350 2004-07-16  Wim Taymans  <wim@fluendo.com>
8351
8352         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8353         (create_chain), (destroy_chain), (create_group), (destroy_group),
8354         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8355         (group_dec_link), (gst_opt_scheduler_pad_link),
8356         (group_inc_links_for_element), (group_migrate_connected):
8357         Call group_inc_link with the proper src->sink ordering -- 
8358         break this, and we break sort_chain. patch from wingo for bug
8359         147713.
8360         Partially revert patch 1.89. When adding a loop based element to 
8361         the scheduler, the links to other groups are automatically followed
8362         and incremented. This should not happen because the bin will call
8363         pad_link explicitly for those connection, resulting in them counted 
8364         twice. Results in assertion failure on pipeline cleanup.
8365
8366 2004-07-16  Wim Taymans  <wim@fluendo.com>
8367
8368         * testsuite/schedulers/143777-2.c: (main):
8369         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8370         (main):
8371         * testsuite/schedulers/Makefile.am:
8372         Added cleanup code to testcase 143777-2.
8373         Added testcase to show bug 147713, does not really show the
8374         deadlock as I can't figure out how to trigger it, but it does
8375         demonstrate bad ordering in the scheduler.
8376
8377 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8378
8379         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8380           change strndup to g_strndup.  Fixes #147707
8381
8382 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8383
8384         * po/af.po:
8385         * po/az.po:
8386         * po/cs.po:
8387         * po/en_GB.po:
8388         * po/fr.po:
8389         * po/nl.po:
8390         * po/sr.po:
8391         * po/sv.po:
8392         * po/tr.po:
8393         * po/uk.po:
8394           updated translations
8395
8396 2004-07-16  Benjamin Otte  <otte@gnome.org>
8397
8398         * gst/gstvalue.c: (gst_greatest_common_divisor):
8399           use ints and return ints, fractions only use ints, too, so this
8400           avoids accidently casting multiplications to unsigned
8401         (gst_value_lcopy_fraction): it's ints, not uint32
8402         (gst_value_set_fraction): disallow minint, multiplying and negation
8403           are broken with it
8404         (gst_value_fraction_multiply): fix to make large numbers work and get
8405         rid of the assumption that the multiplication of two ints fits an
8406         int64 - dunno if that's true for all systems
8407         * testsuite/caps/Makefile.am:
8408         * testsuite/caps/fraction-multiply-and-zero.c:
8409         (check_multiplication), (check_equal), (zero_test), (main):
8410           add tests for all the stuff above
8411         * testsuite/caps/value_compare.c: (test1):
8412           fix comment
8413         * tests/.cvsignore:
8414         * testsuite/caps/.cvsignore:
8415         * testsuite/debug/.cvsignore:
8416         * testsuite/dlopen/.cvsignore:
8417         * testsuite/states/.cvsignore:
8418           get up to date
8419
8420 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8421
8422         * docs/manual/bins-api.xml:
8423         * docs/manual/factories.xml:
8424         * docs/manual/helloworld.xml:
8425         * docs/manual/links-api.xml: 
8426           fixes for out of date info, incorrect info and grammar
8427
8428 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8429
8430         * docs/manual/pads.xml:
8431         * docs/manual/pads-api.xml: grammar fix
8432
8433 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8434
8435         * docs/manual/pads-api.xml: typo + grammar fix
8436
8437 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8438
8439         * docs/gst/gstreamer-sections.txt:
8440           add new symbols
8441         * docs/gst/tmpl/gstelement.sgml:
8442         * docs/gst/tmpl/gstpad.sgml:
8443         * docs/gst/tmpl/gsttypes.sgml:
8444         * docs/gst/tmpl/gstvalue.sgml:
8445           update docs
8446         * gst/gststructure.c: (gst_structure_set_valist),
8447         (gst_structure_from_abbr), (gst_structure_to_abbr):
8448         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8449         (gst_greatest_common_divisor), (gst_value_init_fraction),
8450         (gst_value_copy_fraction), (gst_value_collect_fraction),
8451         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8452         (gst_value_get_fraction_numerator),
8453         (gst_value_get_fraction_denominator),
8454         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8455         (gst_value_deserialize_fraction),
8456         (gst_value_transform_fraction_string),
8457         (gst_value_transform_string_fraction),
8458         (gst_value_compare_fraction), (_gst_value_initialize):
8459         * gst/gstvalue.h:
8460           adding GstFraction GValue type, get/set, and multiply
8461         * testsuite/caps/Makefile.am:
8462         * testsuite/caps/fraction.c: (test), (main):
8463         * testsuite/caps/string-conversions.c: (main):
8464         * testsuite/caps/value_compare.c: (test1), (main):
8465           add regression tests for GstFraction
8466
8467 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8468         
8469         * docs/manual/init-api.xml: Grammar fix
8470
8471 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8472
8473         * docs/manual/states.xml: Fix inconsistent information
8474
8475 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8476
8477         * gst/gstelement.c: (gst_element_set_state):
8478         * gst/gstpad.c: (gst_pad_try_set_caps):
8479         * gst/gststructure.c:
8480         * gst/gstthread.c: (gst_thread_child_state_change):
8481         * gst/gstvalue.c: (gst_value_compare_double):
8482         * gst/gstvalue.h:
8483         * testsuite/parse/parse1.c: (main):
8484           debugging additions and style cleanups
8485
8486 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8487
8488         * docs/manual/states.xml: Grammar fix
8489
8490 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8491
8492         * docs/manual/pads.xml: Grammar fix
8493
8494 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8495
8496         * docs/manual/elements.xml: Fixed image reference
8497
8498 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8499
8500         * docs/manual/goals.xml: Grammar fix
8501
8502 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8503
8504         * docs/manual/motivation.xml:
8505         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8506
8507 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8508
8509         * docs/manual/motivation.xml: Fix spelling
8510
8511 2004-07-15  Benjamin Otte  <otte@gnome.org>
8512
8513         * gst/gstelement.h: 
8514           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8515           strings.
8516         * gst/gstelement.c (gst_element_class_init):
8517           GError's are boxed, not objects
8518         * gst/gstmarshal.list:
8519           update list for the fixed error signal
8520
8521 2004-07-14  Andy Wingo  <wingo@pobox.com>
8522
8523         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8524         there all along, but the function wasn't. (guile-gstreamer's build
8525         system uses the address of the function -- I wasn't actually
8526         trying to use this.)
8527
8528 2004-07-14  Andy Wingo  <wingo@pobox.com>
8529
8530         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8531         as gst_pad_proxy_pad_link) just link to every other pad when they
8532         are called. In the case where the graph has cycles, this will mean
8533         that a call to try_set_caps will recurse. Allow this recursion
8534         and return OK, while we wait for the first try_set_caps to give a
8535         proper return value.
8536         (gst_pad_link_call_link_functions): Since this function is the
8537         only one to set the NEGOTIATING flag on a pad, if the flag is set
8538         it means that the link functions have indirectly recursed. If this
8539         happens, error out to avoid infinite recursion and an eventual
8540         SEGV.
8541         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8542         (gst_pad_proxy_getcaps): Intersect the result with the template
8543         caps to ensure that the return value is valid.
8544
8545 2004-07-14  Andy Wingo  <wingo@pobox.com>
8546
8547         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8548         one refcount, the calling function is the owner of the buffer.
8549
8550 2004-07-14  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8553         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8554         Fix stupid warning when an element is to be migrated but
8555         is already migrated.
8556
8557 2004-07-14  Wim Taymans  <wim@fluendo.com>
8558
8559         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8560         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8561         Make sure that a single non-loop-based element does not 
8562         end up in a group. This fixes the testsuite again.
8563
8564 2004-07-14  Wim Taymans  <wim@fluendo.com>
8565
8566         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8567         (add_to_group), (merge_groups), (schedule_group),
8568         (gst_opt_scheduler_get_wrapper), (group_elements),
8569         (group_dec_link), (gst_opt_scheduler_pad_link),
8570         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8571         (gst_opt_scheduler_iterate):
8572         move isolated groups to a new chain.
8573         Emit a warning instead of segfaulting in some error cases.
8574         Fix a bug where the link count between groups was not calculated 
8575         correctly. Fixes #144510.
8576
8577 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8578         * gst/elements/gstfilesrc.c:
8579           Binary files support under Windows now OK
8580       
8581 2004-07-13  Benjamin Otte  <otte@gnome.org>
8582
8583           compatibility fixes for Solaris 8/gcc 2.95
8584         * configure.ac:
8585           include libintl libs in LDFLAGS
8586         * gstvalue.c (gst_value_deserialize_buffer):
8587           cast isxdigit stuff to int to silence compiler warning
8588
8589 2004-07-12  Benjamin Otte  <otte@gnome.org>
8590
8591         * gst/gsttypes.h:
8592           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8593           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8594           just causes support madness
8595         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8596           make it work without this
8597         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8598         (gst_file_index_commit):
8599           glib IO channels don't want binary mode
8600         * testsuite/bytestream/filepadsink.c: (main):
8601         * testsuite/bytestream/test1.c: (read_param_file):
8602           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8603
8604 2004-07-12  Benjamin Otte  <otte@gnome.org>
8605
8606         * gst/gstelement.c: (gst_element_class_init),
8607         (gst_element_set_state), (gst_element_set_state_func):
8608           virutalize gst_element_set_state, use set_state member in class
8609           struct that was already added in 0.7 for this.
8610         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8611         (gst_bin_change_state):
8612           make gst_bin_foreach works similar to other foreach functions, plug
8613           memleaks in it. Make functions using it work with the new approach.
8614           Document gst_bin_foreach, so it can be exported if we want to
8615         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8616           use virtualized set_state to make set_state on bins set the state of
8617           all its children.
8618
8619 2004-07-12  Benjamin Otte  <otte@gnome.org>
8620
8621         * configure.ac:
8622           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8623           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8624         * gst/gstpad.c: (gst_pad_alloc_buffer):
8625           allow buffer_alloc functions to return NULL and allocate a normal
8626           buffer in that case
8627
8628 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8629         * gst/elements/gstfilesink.c:
8630         * gst/elements/gstfilesrc.c:
8631         * gst/indexers/gstfileindex.c:
8632         * gst/gsttypes.h:
8633         * testsuite/bytestream/filepadsink.c:
8634         * testsuite/bytestream/test1.c:
8635           Handle binary files under Windows
8636
8637 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8638         * docs/manual/win32.xml:
8639         * win32/config.h:
8640         * win32/gst-register.vcproj:
8641         * win32/gstreamer.def:
8642           Update to another gettext public build
8643
8644 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8645         * gst/gstplugin.c:
8646           Fix an impossible C syntax
8647         * win32/config.h:
8648           Disable i18n under Windows for the moment
8649         * win32/gst-register.vcproj:
8650           Use this configuration
8651
8652 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8653         * docs/manual/quotes.xml:
8654           Keep the quotes file alive
8655         * docs/random/ds/0.9-suggested-changes:
8656           Add the suggestion of including a 'rowstride' as part of video
8657           format caps
8658
8659 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8660
8661         * gst/gstelement.c: (gst_element_set_state),
8662         (gst_element_change_state):
8663           d'oh.  Set PENDING state correctly before forcing bin to change.
8664         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8665         (gst_structure_parse_fixed_list):
8666         * gst/schedulers/gstoptimalscheduler.c:
8667         (gst_opt_scheduler_state_transition):
8668         * testsuite/states/parent.c: (main):
8669           remove comment now that it's fixed.
8670
8671 2004-07-11  Benjamin Otte  <otte@gnome.org>
8672
8673         * gst/gstclock.h:
8674           GST_SECOND shouldn't cause a conversion to unsigned.
8675         * testsuite/clock/.cvsignore:
8676         * testsuite/clock/Makefile.am:
8677         * testsuite/clock/signedness.c: (main):
8678           make sure it never will again
8679
8680 2004-07-11  Andy Wingo  <wingo@pobox.com>
8681
8682         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8683         whose state is higher than the bin state, raise the bin state to
8684         ensure that bin state := highest child state.
8685         
8686 2004-07-11  Andy Wingo  <wingo@pobox.com>
8687
8688         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8689         procedure on the children of a bin. Assumes that the procedure can
8690         change the set of children.
8691         (set_kid_state_func): New static function.
8692         (gst_bin_change_state): Use gst_bin_foreach to call
8693         set_kid_state_func. Fixes a bug: if a child had a state-change
8694         handler that removes it from the bin, there would be a segfault.
8695         Hopefully it should also work in the case where the state-change
8696         handler on one child adds or removes other children. In any case,
8697         fixes should go to gst_bin_foreach.
8698
8699 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8700
8701         * gst/gstelement.c: (gst_element_set_state):
8702           compatibility fix for latest plugins release.  Change loop back
8703           to while {}
8704
8705 2004-07-09  Wim Taymans  <wim@fluendo.com>
8706
8707         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8708         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8709         (gst_thread_main_loop):
8710         Since remove is virtual in GstBin we must not assume the 
8711         elements GList to have anothing useful.
8712         Add some more logging to GstThread and be a bit more paranoid
8713         when resetting the scheduler.
8714         Set the state of the bin to NULL before removing the children.
8715
8716 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8717
8718         * testsuite/threads/Makefile.am:
8719         * testsuite/threads/threadg.c:
8720           added test to check if problem when removing all elements from a
8721           GstThread before setting GstThread state to NULL
8722
8723 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8724
8725         * docs/gst/tmpl/gstelement.sgml:
8726         * docs/gst/tmpl/gsttypes.sgml:
8727         * gst/gstbin.c: (gst_bin_change_state):
8728         * gst/gstelement.c: (gst_element_set_state),
8729         (gst_element_change_state):
8730           rework so that for bins we try to set the state on all children
8731           as well even if the bin is in the correct state already.
8732           change while to do so at least one iteration is done.
8733           For regular elements, we fall back to the previous behaviour for
8734           now since we first need a new plugins release.
8735         * testsuite/states/parent.c: (main):
8736           test for this case
8737           Fixes #123774
8738
8739 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8740
8741         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8742         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8743         (gst_queue_release_locks), (gst_queue_change_state),
8744         (gst_queue_set_property):
8745           add proper lock debugging.  Change dispose to finalize, since
8746           we're freeing mutexes and other stuff which should happen only once.
8747
8748 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8749
8750         * docs/gst/tmpl/gstelement.sgml:
8751         * docs/gst/tmpl/gstplugin.sgml:
8752         * docs/gst/tmpl/gsttypes.sgml:
8753         * docs/pwg/building-state.xml:
8754         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8755         * gst/gstelement.c: (gst_element_change_state):
8756         * gst/gstthread.c: (gst_thread_change_state):
8757           catch wrong state changes in element base class.
8758
8759 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8760
8761         * gst/gstinfo.h:
8762           clean up layout a little.
8763
8764 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8765
8766         * configure.ac:
8767         * testsuite/Makefile.am:
8768         * testsuite/states/Makefile.am:
8769         * testsuite/states/parent.c: (main):
8770           re-enable states testsuite dir.  Add test for state changes and
8771           parent behaviour
8772
8773 2004-07-09  Wim Taymans  <wim@fluendo.com>
8774
8775         * gst/schedulers/gstoptimalscheduler.c:
8776         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8777         (element_get_reachables_func), (element_get_reachables),
8778         (debug_element), (rechain_group), (group_migrate_connected),
8779         (gst_opt_scheduler_pad_unlink):
8780         Do not try to migrate decoupled elements to a new group since
8781         they are not added to groups.
8782
8783 2004-07-08  Benjamin Otte  <otte@gnome.org>
8784
8785         * gst/gstelement.c: (gst_element_error_func):
8786           make reentrant (= allow removing elements in error handler)
8787
8788 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8789
8790         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8791         (gst_pad_send_event), (gst_pad_call_chain_function):
8792           events sent to elements below PAUSED cannot be handled, so
8793           don't try to
8794
8795 2004-07-08  Wim Taymans  <wim@fluendo.com>
8796
8797         * gst/schedulers/gstoptimalscheduler.c:
8798         (chain_recursively_migrate_group), (create_group),
8799         (schedule_group), (gst_opt_scheduler_pad_link),
8800         (group_elements_set_visited), (element_get_reachables_func),
8801         (element_get_reachables), (group_can_reach_group), (debug_element),
8802         (rechain_group), (group_migrate_connected),
8803         (gst_opt_scheduler_pad_unlink):
8804         * testsuite/schedulers/Makefile.am:
8805         Implemented group splitting and rechaining.
8806         Fixes 143777 and 143777-2 in the testsuite.
8807
8808 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8809
8810         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8811           extra debugging
8812         * gst/gstevent.h:
8813         * gst/gstinfo.c: (gst_debug_log_default):
8814           print time nicely.  add thread pointer until someone figures out
8815           a completely portable way of getting at thread id's.
8816         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8817         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8818         (gst_pad_call_chain_function):
8819           extra debugging
8820         * gst/schedulers/gstoptimalscheduler.c:
8821         (get_group_schedule_function), (loop_group_schedule_function),
8822         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8823         (pad_clear_queued), (gst_opt_scheduler_iterate):
8824           rename BUFPEN and friends to DATAPEN since that's what they are.
8825
8826 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8827
8828         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8829         * gst/gstbuffer.h:
8830         * gst/gstpad.c:
8831           cleanups and debugging
8832
8833 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8834
8835         * configure.ac:
8836         * gst/gstvalue.c: (gst_value_compare_enum),
8837         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8838         (gst_value_can_compare), (gst_value_compare):
8839         * testsuite/Makefile.am:
8840         * testsuite/enumcaps/Makefile.am:
8841         * testsuite/enumcaps/enumcaps.c:
8842           Fix enum serialization, deserialization, comparison in caps, add
8843           a test to ensure that this continues working in the future.
8844
8845 2004-07-06  David Schleef  <ds@schleef.org>
8846
8847         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8848         Fix memleak.
8849
8850 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8851
8852         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8853         * gst/gstplugin.h:
8854         * gst/registries/gstxmlregistry.c:
8855         (plugin_times_older_than_recurse), (plugin_times_older_than),
8856         (gst_xml_registry_parse_padtemplate):
8857           only rebuild registry when actual plugins have a newer time than
8858           the registry.  Fixes #145520
8859
8860 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8861
8862         * docs/manual/manual.xml:
8863         * docs/manual/win32.xml:
8864           add chapter on win32 building.  fixes #142422
8865
8866 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8867
8868         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8869
8870         * gst/autoplug/gstspider.c: (gst_spider_init),
8871         (gst_spider_dispose):
8872           fix spider memleaks.  fixes #137863
8873
8874 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8875
8876         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8877
8878         * gst/schedulers/gstoptimalscheduler.c:
8879         (gst_opt_scheduler_pad_unlink):
8880           fix SIGBUS error, fixes #145338
8881
8882 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * gst/gstobject.c: (gst_object_replace):
8885         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8886         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8887           clean up clock lifecycle.  Fixes #109831
8888
8889 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8890
8891         * po/LINGUAS:
8892         * po/cs.po:
8893           added Czech translation (Miloslav Trmac)
8894
8895 2004-07-04  David Schleef  <ds@schleef.org>
8896
8897         * tools/Makefile.am:
8898         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8899
8900 2004-07-04  David Schleef  <ds@schleef.org>
8901
8902         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8903
8904 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8905
8906         * gst/gstbin.c: (gst_bin_restore_thyself):
8907           chain to parent restore so the bins get restored correctly
8908           in the editor
8909
8910 2004-07-03  David Schleef  <ds@schleef.org>
8911
8912         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8913         Actually do something in these functions, like before the big
8914         caps change.  (bug #145137)
8915
8916 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8917
8918         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8919         (gst_element_get_compatible_pad_filtered):
8920         * gst/gstthread.c: (gst_thread_main_loop):
8921           more debugging
8922
8923 2004-07-02  David Schleef  <ds@schleef.org>
8924
8925         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8926         * gst/gstobject.h:
8927         * gst/gstparse.h:
8928         * gst/gsttrace.h:
8929         * gst/gstxml.h:
8930
8931 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8932
8933         * gst/gstpad.c: (gst_pad_check_schedulers),
8934         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8935         (gst_pad_link_prepare):
8936           revert until testsuite is fixed
8937
8938 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8939
8940         * testsuite/Makefile.am:
8941         * testsuite/caps/filtercaps.c: (main):
8942         * testsuite/clock/clock1.c: (main):
8943         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8944           fix some more tests
8945
8946 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8947
8948         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8949         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8950         * testsuite/cleanup/cleanup4.c: (main):
8951           fix testsuite
8952
8953 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8954
8955         * libs/gst/control/control.c:
8956         * libs/gst/control/dparam.c:
8957         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8958         * libs/gst/control/dparammanager.c:
8959         * libs/gst/control/dparammanager.h:
8960         * testsuite/dynparams/Makefile.am:
8961         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8962         (gst_dptest_change_state), (gst_dptest_chain), (main):
8963           fix testcase for dparams
8964           add debugging category
8965
8966 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8967
8968         * testsuite/Rules:
8969           change path
8970
8971 2004-07-02  Benjamin Otte  <otte@gnome.org>
8972
8973         * tests/.cvsignore:
8974         * tests/Makefile.am:
8975         * tests/mass_elements.c: (gst_get_current_time), (main):
8976           add simple benchmark to test various speeds of fakesrc ! identity !
8977           identity ! ... ! fakesink.
8978           Usage: mass_elements [num_identities] [num_buffers]
8979           If not specified they default to 1000.
8980
8981 2004-07-02  Benjamin Otte  <otte@gnome.org>
8982
8983         * gst/gstpad.c: (gst_pad_check_schedulers),
8984         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8985         (gst_pad_link_prepare):
8986           check that pads that get linked belong to the same manager. The old
8987           code allowed linking elements before putting them into bins, so it
8988           worked to link them and then put them in different threads, which
8989           lead to weird behaviour.
8990           Since this effectively disallows linking elements before putting
8991           them in a bin, some applications might not work after this and error
8992           out. If these applications are too critical, we might need to revert
8993           that patch. Please test this before the next release...
8994
8995 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8996
8997         * gst/gstpad.c: (gst_pad_get_caps):
8998           throw an error if the getcaps function does not return a subset of
8999           the template caps.
9000         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
9001           make disconts without position info an error in debugging
9002         * tests/spidey_bench.c: (handoff), (main):
9003           don't count first try when averaging
9004
9005 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9006
9007         * gst/gstplugin.c: (gst_plugin_load_file):
9008           figure out problem with dynamic test
9009
9010 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9011
9012         * docs/gst/Makefile.am:
9013           fix docs build
9014
9015 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9016
9017         * po/POTFILES.in:
9018         * po/af.po:
9019         * po/az.po:
9020         * po/en_GB.po:
9021         * po/fr.po:
9022         * po/nl.po:
9023         * po/sr.po:
9024         * po/sv.po:
9025         * po/tr.po:
9026         * po/uk.po:
9027         * tools/gst-register.c: (plugin_added_func), (main):
9028           i18n-ize -register, fix plural
9029
9030 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9031
9032         * gst/elements/gstidentity.c: (gst_identity_class_init),
9033         (gst_identity_init), (gst_identity_chain),
9034         (gst_identity_set_property), (gst_identity_get_property):
9035         * gst/elements/gstidentity.h:
9036           check for perfect stream
9037
9038 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9039
9040         * gst/elements/gstidentity.c: (gst_identity_chain):
9041           print offset_end
9042
9043 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9044
9045         * docs/gst/Makefile.am:
9046         * docs/gst/gstreamer-docs.sgml:
9047           doc fixes
9048
9049 2004-06-24  David Schleef  <ds@schleef.org>
9050
9051         * autogen.sh:  Remove call to env, since the buildbot isn't
9052         broken anymore.
9053
9054 2004-06-24  Wim Taymans  <wim@fluendo.com>
9055
9056         * gst/elements/Makefile.am:
9057         * gst/elements/gstelements.c:
9058         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9059         (gst_multifdsink_class_init), (gst_multifdsink_init),
9060         (gst_multifdsink_add), (gst_multifdsink_remove),
9061         (gst_multifdsink_clear), (gst_multifdsink_chain),
9062         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9063         * gst/elements/gstmultifdsink.h:
9064         Added an element that writes to multiple filedescriptors at once.
9065
9066 2004-06-24  Benjamin Otte  <otte@gnome.org>
9067
9068         * gst/parse/grammar.y:
9069           don't try to link elements before they have been added to bins
9070
9071 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9072
9073         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9074         (gst_file_pad_get_length):
9075         * libs/gst/bytestream/filepad.h:
9076           add 2 new functions
9077
9078 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9079
9080         * docs/gst/gstreamer-sections.txt:
9081         remove from docs, the define that Benjamin removed from gstelement.h
9082
9083 2004-06-22  Benjamin Otte  <otte@gnome.org>
9084
9085         * gst/gstelement.h:
9086           remove define that referenced a nonexisting GstElement struct member
9087
9088 2004-06-20  Benjamin Otte  <otte@gnome.org>
9089
9090         * gst/gstdata.c: (gst_data_is_writable):
9091           whoops, return values were wrong, so writable data was marked as
9092           non-writable and vice versa. (fixes #143953, spotted by Francis
9093           Labonte)
9094           Shows how rarely we need to copy data ;)
9095
9096 2004-06-20  Benjamin Otte  <otte@gnome.org>
9097
9098         * testsuite/schedulers/.cvsignore:
9099         * testsuite/schedulers/Makefile.am:
9100         * testsuite/schedulers/143777-2.c: (main):
9101           add test for opt breakage in bug #143777
9102
9103 2004-06-20  Benjamin Otte  <otte@gnome.org>
9104
9105         * gst/gstpad.c: (gst_pad_call_chain_function):
9106           check for if we were unlinked while inside the chainfunction (fixes
9107           entrygthread having issues with #143777)
9108         * testsuite/schedulers/143777.c: (main):
9109         * testsuite/schedulers/Makefile.am:
9110           add a test for that fix
9111
9112 2004-06-20  Benjamin Otte  <otte@gnome.org>
9113
9114         * gst/gstvalue.c: (gst_value_set_int_range):
9115           test that start is smaller then end
9116         * libs/gst/bytestream/Makefile.am:
9117         * libs/gst/bytestream/filepad.c: 
9118         * libs/gst/bytestream/filepad.h:
9119           add GstFilePad - a pad that behaves like a FILE*
9120         * testsuite/bytestream/.cvsignore:
9121         * testsuite/bytestream/Makefile.am:
9122         * testsuite/bytestream/filepadsink.c: 
9123           test for the GstFilePad
9124
9125 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * gst/elements/gstidentity.c: (gst_identity_class_init),
9128         (gst_identity_init), (gst_identity_set_clock),
9129         (gst_identity_chain), (gst_identity_set_property),
9130         (gst_identity_get_property):
9131         * gst/elements/gstidentity.h:
9132         * gst/gstclock.c: (gst_clock_id_wait):
9133           add a "sync" property to sync to the clock
9134
9135 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9136
9137         * gst/gstelementfactory.c: (gst_element_factory_create):
9138           make the freakin "elementfactory bla has no type" message more
9139           useful. So we actually can do something when someone shows up
9140           complaining about it.
9141
9142 2004-06-15  Johan Dahlin  <johan@gnome.org>
9143
9144         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9145         found. This matches the old behavior better. Thanks to Thomas for
9146         pointing out.
9147
9148 2004-06-14  David Schleef  <ds@schleef.org>
9149
9150         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9151         -fomit-frame-pointer.  Appears to generate correct code in
9152         other cases as well.
9153
9154 2004-06-14  Johan Dahlin  <johan@gnome.org>
9155
9156         * tools/gst-inspect.c (main): Add two new command line options: -a
9157         to print all elements and -n to print the name on each line. Also
9158         fix some error reporting.
9159         (main): Simplify, remove -n and always print names if -a is specified
9160
9161 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9162
9163         * win32/gstconfig.h:
9164         * win32/GSTreamer.vcproj:
9165         * win32/Makefile:
9166         * gst/gstconfig.h.in:
9167         * gst/gst.h:
9168         * gst/gstbin.h:
9169         * gst/gstelement.h:
9170         * gst/gstevent.h:
9171         * gst/gstobject.h:
9172         * gst/gstpad.h:
9173         * docs/gst/gstreamer-sections.txt:
9174         * docs/gst/tmpl/gstconfig.sgml:
9175           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9176
9177 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9178         * docs/gst/gstreamer-sections.txt:
9179         * docs/gst/tmpl/gstconfig.sgml:
9180         Add the GSTREAMER_EXPORT macro to the docs
9181
9182 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9183
9184         * tools/gst-compprep.c: (handle_xmlerror), (main):
9185         Add a check for the version that introduced SetStructuredError to fix
9186         the build on FC1
9187
9188 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9189
9190         * win32/msvc71.sln:
9191         * win32/testsuite/:
9192           prepare to compile the testsuite with MSVC
9193
9194 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9195
9196         * docs/manual/win32.xml:
9197           attempt to transform the Win32 README into an XML doc
9198
9199 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9200
9201         * gst/gst.c:
9202         * gst/gstbin.*:
9203         * gst/config.h.in:
9204         * gst/gstelement.*:
9205         * gst/gstevent.h:
9206         * gst/gstobject.*:
9207         * gst/gstpad.h:
9208         * tools/gst-register.c:
9209         * win32/gstreamer.def:
9210           extern symbols are now exported for the Windows DLL
9211
9212 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9213
9214         * gst/gstinfo.h:
9215           fix a problem to enable/disable DEBUG under MSVC
9216
9217 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9218
9219         * win32/:
9220           enable more debug code in DEBUG build
9221
9222 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9223
9224         * win32/config.h:
9225         * gst/gst-i18n-app.h:
9226           enable NLS under Windows
9227
9228 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9229         * tools/gst-compprep.c: (handle_xmlerror), (main):
9230           Make an error that baffled me a bit clearer
9231
9232 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9233
9234         * gst/gstqueue.c:
9235           don't use g_queue_get_length () because it's 2.4, use ->length
9236
9237 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9238
9239         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9240
9241         * tools/gst-inspect.c: (print_signal_info):
9242           don't free random data twice. (fixes #144185)
9243
9244 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * gst/gstqueue.c:
9247         * gst/gstqueue.h:
9248           fix removing from the wrong queue on event timeout
9249           fix disposing of the event queue by casting correctly
9250           add mutexes for handling the event queue
9251           someone was sleeping when fixing queue last time around :)
9252
9253 2004-06-10  Johan Dahlin  <johan@gnome.org>
9254
9255         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9256         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9257
9258 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9259
9260         * docs/random/gdp:
9261         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9262         * libs/gst/dataprotocol/dataprotocol.c:
9263         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9264         (gst_dp_buffer_from_header):
9265         * libs/gst/dataprotocol/dataprotocol.h:
9266         * libs/gst/dataprotocol/dp-private.h:
9267           rev version to 0.1, add buffer flags and copy them
9268
9269 2004-06-09  Johan Dahlin  <johan@gnome.org>
9270
9271         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9272         the flags from the buffer we're copying.
9273
9274 2004-06-09  Wim Taymans  <wim@fluendo.com>
9275
9276         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9277         * gst/elements/gstidentity.c: (gst_identity_init),
9278         (gst_identity_chain):
9279         Print more buffer info in fakesink.
9280         Make identity output similar to fakesink.
9281
9282 2004-06-07  Daniel Gazard  <dany42@free.fr>
9283
9284         reviewed by Benjamin Otte  <otte@gnome.org>
9285
9286         * configure.ac:
9287           fix cross compiling not working. (fixes #143741)
9288
9289 2004-06-07  Benjamin Otte  <otte@gnome.org>
9290
9291         * gst/gstelement.c: (gst_element_set_time_delay):
9292           add failure check
9293         * gst/gstinfo.h:
9294           put brackets around macro arguments of GST_TIME_ARGS, add note to
9295           move it to correct header in 0.9
9296
9297 2004-06-07  Benjamin Otte  <otte@gnome.org>
9298
9299         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9300         (gst_file_index_load), (_file_index_id_save_entries),
9301         (gst_file_index_commit), (gst_file_index_add_association),
9302         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9303         (gst_file_index_plugin_init):
9304           make debugging use a default category
9305
9306 2004-06-06  David Moore  <dcm@acm.org>
9307
9308         reviewed by Benjamin Otte  <otte@gnome.org>
9309
9310         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9311         (gst_fdsrc_change_state):
9312           reset offset counter when going READY => PAUSED. (fixes #142903)
9313
9314 2004-06-06  ed@catmur.co.uk
9315
9316         reviewed by Benjamin Otte  <otte@gnome.org>
9317
9318         * gst/registries/gstxmlregistry.c:
9319         (gst_xml_registry_rebuild_recurse):
9320           don't rely on g_dir_open to figure out if a file is a directory, use
9321           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9322           directories. (fixes #142850)
9323
9324 2004-06-06  Benjamin Otte  <otte@gnome.org>
9325
9326         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9327           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9328         * libs/gst/bytestream/adapter.c:
9329         * libs/gst/bytestream/adapter.h:
9330           fix copyright in header and typo in debugging category name
9331
9332 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9333
9334         * configure.ac:
9335           bump nano to cvs
9336
9337 === release 0.8.3 ===
9338
9339 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9340
9341         * configure.ac:
9342           update libtool versioning
9343           do a new release
9344         * docs/gst/tmpl/gstelement.sgml:
9345         * docs/gst/tmpl/gsttypes.sgml:
9346         * gst/gstinfo.c: (_gst_debug_init):
9347           put back GST_CAT_DATAFLOW to fix API breakage
9348
9349 2004-06-04  David Schleef  <ds@schleef.org>
9350
9351         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9352
9353 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9354
9355         * configure.ac:
9356           bump nano to cvs
9357
9358 === release 0.8.2 ===
9359
9360 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9363           check GST_DEBUG environment variable which is parsed the same way
9364           as --gst-debug=
9365
9366 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9367
9368         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9369                             gstmd5sink.c gstshaper.c gsttee.c
9370                             gsttypefindelement.c
9371         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9372
9373           - removing trailing commas at end of enums
9374             it is correct C99 code but C90 compilers would complain
9375             (AIX, Forte, ...)
9376             ('should' fix #143290, at least partially)
9377
9378 2004-05-27  Wim Taymans  <wim@fluendo.com>
9379
9380         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9381         (chain_group_set_enabled), (create_group), (add_to_group),
9382         (merge_groups), (setup_group_scheduler), (group_elements),
9383         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9384         Don't try to follow the pad connections with other groups
9385         when a loop based element is added to the scheduler because
9386         the bin will inform the scheduler about the pad links a little
9387         later.
9388
9389 2004-05-27  Wim Taymans  <wim@fluendo.com>
9390
9391         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9392         (remove_from_chain), (chain_group_set_enabled),
9393         (setup_group_scheduler), (group_element_set_enabled),
9394         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9395         (gst_opt_scheduler_show):
9396         Elements without a group can do a state change as well, just wait
9397         with the setup of the scheduling function when it is added to a
9398         chain.
9399
9400 2004-05-27  Wim Taymans  <wim@fluendo.com>
9401
9402         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9403         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9404         (merge_groups), (setup_group_scheduler),
9405         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9406         (gst_opt_scheduler_show):
9407         Fixes to maintain internal consistency of the scheduler data
9408         structures. 
9409          - adding an enabled group to a chain should increment the
9410            number of enabled elements in that chain.
9411          - removing an enabled group from a chain could disable the
9412            chain.
9413          - removing a disabled group from a chain could enable the
9414            chain.
9415          - add g_assert when internal inconsistency is detected.
9416          - adding an element to a group could increase the number of
9417            links this group has with other groups.
9418          - merging two groups also merges the chains.
9419          - also show group links in the _show method.
9420            
9421
9422 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9423
9424         * gst/gstcaps.c: (gst_caps_structure_simplify):
9425           don't print error messages when there is no error
9426         * gst/gstvalue.c: (gst_value_compare_int_range):
9427           compare the second value, too
9428         * testsuite/caps/Makefile.am:
9429         * testsuite/caps/random.c: (assert_on_error), (main):
9430           add tests to make sure the two things above are checked for
9431
9432 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9433
9434         * configure.ac:
9435         * libs/gst/dataprotocol/Makefile.am:
9436         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9437         * libs/gst/dataprotocol/dataprotocol.h:
9438           wrap header in GST_ENABLE_NEW.  make code use it
9439
9440 2004-05-23  Johan Dahlin  <johan@gnome.org>
9441
9442         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9443         so verbose and print GstElement signal names all the time.
9444
9445 2004-05-22  David Schleef  <ds@schleef.org>
9446
9447         * gst/registries/gstxmlregistry.c:
9448         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9449         (bug #142957)
9450
9451 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         * configure.ac:
9454           scrub cflags for glib2 so gcc doesn't complain when glib is in
9455           /usr/local
9456
9457 2004-05-21  Johan Dahlin  <johan@gnome.org>
9458
9459         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9460         __GNUC__, patch from Brian Cameron, fixes bug #142804
9461
9462 2004-05-20  David Schleef  <ds@schleef.org>
9463
9464         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9465         comparison code.  (bug #142819)
9466
9467 2004-05-20  Wim Taymans  <wim@fluendo.com>
9468
9469         * gst/gstbuffer.c: (gst_buffer_default_copy):
9470         * gst/gstbuffer.h:
9471         Added Comment to a flag.
9472         copy relevant flags in _buffer_copy.
9473
9474 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         reviewed by: Wim Taymans <wim at fluendo dot com>
9477
9478         * gst/gstbuffer.h:
9479           add GST_BUFFER_IN_CAPS buffer flag
9480         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9481         (gst_structure_parse_any_list), (gst_structure_parse_list),
9482         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9483         * gst/gstvalue.c: (gst_value_serialize_any_list),
9484         (gst_value_transform_any_list_string),
9485         (gst_value_list_prepend_value), (gst_value_list_append_value),
9486         (gst_value_list_get_size), (gst_value_list_get_value),
9487         (gst_value_transform_list_string),
9488         (gst_value_transform_fixed_list_string),
9489         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9490         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9491         (_gst_value_initialize):
9492         * gst/gstvalue.h:
9493           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9494           < , > as a format.
9495         * testsuite/caps/string-conversions.c: (main):
9496           add regression tests for < >
9497
9498 2004-05-20  Johan Dahlin  <johan@gnome.org>
9499
9500         * docs/gst/Makefile.am (all-local): Re-add
9501
9502 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9503
9504         * docs/gst/Makefile.am:
9505         * docs/gst/gstreamer-docs.sgml:
9506         * docs/libs/Makefile.am:
9507         * docs/libs/gstreamer-libs-docs.sgml:
9508           fix distcheck issues
9509
9510 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9511
9512         * libs/gst/dataprotocol/Makefile.am:
9513           add to autotest
9514
9515 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9516
9517         * libs/gst/dataprotocol/Makefile.am:
9518         * libs/gst/dataprotocol/dataprotocol.c:
9519         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9520         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9521         * libs/gst/dataprotocol/dp-private.h:
9522           use GST macros to read/write fixed length ints
9523           add some more asserts
9524
9525 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * docs/libs/gstreamer-libs-docs.sgml:
9528         * docs/libs/gstreamer-libs-sections.txt:
9529           remove idct and putbits
9530         * configure.ac:
9531         * docs/libs/tmpl/gstdataprotocol.sgml:
9532         * libs/gst/Makefile.am:
9533         * libs/gst/dataprotocol/Makefile.am:
9534         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9535         (buffer_test), (caps_test), (event_test), (main):
9536         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9537         (gst_dp_dump_byte_array), (gst_dp_init),
9538         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9539         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9540         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9541         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9542         (gst_dp_validate_header), (gst_dp_validate_payload),
9543         (gst_dp_validate_packet), (plugin_init):
9544         * libs/gst/dataprotocol/dataprotocol.h:
9545         * libs/gst/dataprotocol/dp-private.h:
9546           add dataprotocol
9547
9548 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9549
9550         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9551           fix int variable deserialization and add a helper so we can actually
9552           debug this.
9553
9554 2004-05-18  David Schleef  <ds@schleef.org>
9555
9556         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9557           argv[0].  Calling yourself is probably not the best way to
9558           construct a test like this, btw.
9559
9560 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9561
9562         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9563           don't claim to be more intelligent than a scheduler when the
9564           scheduler claims the pipeline is stopped
9565         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9566         (safe_cothread_destroy),
9567         (gst_entry_scheduler_remove_all_cothreads),
9568         (gst_entry_scheduler_reset), (_remove_cothread),
9569         (gst_entry_scheduler_state_transition):
9570           hold off cothread destruction if we're not in main cothread
9571         * configure.ac:
9572         * testsuite/Makefile.am:
9573           add new test dir
9574         * testsuite/schedulers/.cvsignore:
9575         * testsuite/schedulers/Makefile.am:
9576           add tests
9577         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9578           check relinking and adding/removing elements from a running pipeline
9579         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9580           check unlinking in a running pipeline
9581         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9582           check unreffing a running pipeline
9583         * testsuite/schedulers/useless_iteration.c: (main):
9584           check iterating a pipeline that contains running threads works
9585
9586 2004-05-18  David Schleef  <ds@schleef.org>
9587
9588         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9589           is false.
9590
9591 2004-05-18  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9594         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9595         Fixed an error introduced with patch for 1.63. When setting
9596         a get based element as the entry point in a group, make sure
9597         to mark the group as GET based.
9598
9599 2004-05-18  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9602         (setup_group_scheduler), (loop_group_schedule_function),
9603         (gst_opt_scheduler_pad_link):
9604         Added some more debug info and fixed a bug where the group
9605         type was set to LOOP but it was in fact unknown.
9606
9607 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9608
9609         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9610           make resetting scheduler work twice in a row
9611
9612 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9613
9614         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9615         (CREATE_USERIALIZATION), (_gst_value_initialize),
9616         (gst_value_compare_float), (gst_value_serialize_float),
9617         (gst_value_deserialize_float), (gst_value_compare_enum),
9618         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9619           add serialization and comparison functions for long, int64, enum and
9620           float values
9621         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9622           use best serialization function in type hierarchy instead of only a
9623           matching one. This is required for enums to work.
9624         * gst/parse/grammar.y:
9625           use gst_caps_deserialize
9626         * testsuite/parse/Makefile.am:
9627           parse1 now works
9628         * testsuite/parse/parse1.c: (main):
9629           remove aggregator check, aggregator is broken, this test works now
9630           but fails because of bug #138012
9631         * testsuite/parse/parse2.c: (main):
9632           s/xvideosink/xvimagesink - this test looks a lot like we should
9633           disable it
9634
9635 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9636
9637         * gst/gstelement.c: (gst_element_class_init):
9638           whoops, store the signal id correctly
9639         * gst/schedulers/gstbasicscheduler.c:
9640         (gst_basic_scheduler_chain_wrapper):
9641           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9642           chain function isn't linked
9643
9644 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9645         * configure.ac:
9646         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9647         support until we decide where the flags should be used
9648         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9649         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9650         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9651         Output refused caps in the debug info
9652
9653 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9654
9655         * gst/elements/gstidentity.c: (gst_identity_chain):
9656           add duration debug
9657         * gst/gstinfo.c: (gst_debug_log_default):
9658           add timestamp
9659
9660 2004-05-13  Benjamin Otte  <otte@gnome.org>
9661
9662         * gst/gstpipeline.c: (gst_pipeline_dispose),
9663         (gst_pipeline_change_state):
9664           call gst_scheduler_reset on dispose (fixes #141416)
9665
9666 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9667
9668         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9669           compute mapsize correctly
9670         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9671           use correct datatypes when calling a varargs function
9672         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9673           push a DISCONT event as first thing
9674         * gst/gst_private.h:
9675         * gst/gstinfo.c: (_gst_debug_init):
9676           remove GST_DATAFLOW debugging category
9677         * gst/gstbin.c: (gst_bin_iterate):
9678           use GST_SCHEDULING category
9679         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9680         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9681         (gst_pad_call_get_function):
9682           add GST_DATAFLOW to easily track flow of buffers or events.
9683         * gst/gstqueue.c: (gst_queue_get_type),
9684         (gst_queue_handle_pending_events), (gst_queue_chain),
9685         (gst_queue_get), (gst_queue_handle_src_event):
9686           use own static debugging category GST_DATAFLOW for dataflow,
9687           use DEBUG category for showing which path events go, use LOG
9688           category for buffers.
9689
9690 2004-05-10  David Schleef  <ds@schleef.org>
9691
9692         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9693
9694 2004-05-10  David Schleef  <ds@schleef.org>
9695
9696         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9697         symbols, because otherwise we don't know what they are.  Thanks,
9698         the GStreamer team.
9699         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9700
9701 2004-05-10  David Schleef  <ds@schleef.org>
9702
9703         (from Steve Lhomme)
9704         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9705         are deleted.  Fix.
9706         * win32/Makefile.inspect:
9707         * win32/Makefile.launch:
9708         * win32/Makefile.register:
9709
9710 2004-05-10  David Schleef  <ds@schleef.org>
9711
9712         * gst/gstinfo.h: Add missing inline function.
9713         * gst/gsttrace.c: add include
9714         * gst/parse/grammar.y: remove unused code
9715         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9716         more portable.
9717         * tools/gst-register.c: wrap unistd.h
9718         
9719         More additions/fixes from Steve for the MSVC build.
9720         * win32/GStreamer.vcproj:
9721         * win32/Makefile:
9722         * win32/Makefile.inspect:
9723         * win32/Makefile.launch:
9724         * win32/Makefile.register:
9725         * win32/README.txt:
9726         * win32/gst-inspect.vcproj:
9727         * win32/gst-launch.vcproj:
9728         * win32/gst-register.vcproj:
9729         * win32/gstbytestream.def:
9730         * win32/gstbytestream.vcproj:
9731         * win32/gstconfig.h:
9732         * win32/gstelements.def:
9733         * win32/gstelements.vcproj:
9734         * win32/gstenumtypes.c:
9735         * win32/gstenumtypes.h:
9736         * win32/gstoptimalscheduler.def:
9737         * win32/gstoptimalscheduler.vcproj:
9738         * win32/gstreamer.def:
9739         * win32/gstspider.def:
9740         * win32/gstspider.vcproj:
9741         * win32/gstversion.h:
9742         * win32/msvc71.sln:
9743
9744 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9745
9746         * gst/gstelement.c: (gst_element_class_init),
9747         (gst_element_no_more_pads):
9748         * gst/gstelement.h:
9749           add gst_element_no_more_pads and the "no-more-pads" signal
9750
9751 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9752
9753         * gst/gstregistry.c: (gst_registry_add_plugin):
9754           refuse to add plugins when a plugin with same name is already
9755           registered. Fixes a bunch of "How to remove plugins?" issues.
9756           May lead to other problems though, let's test
9757
9758 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9759
9760         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9761         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9762         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9763
9764 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9765
9766         * tests/Makefile.am: fix am16 issue
9767
9768 2004-05-09  Benjamin Otte  <otte@gnome.org>
9769
9770         * libs/gst/bytestream/Makefile.am:
9771           we should indeed add .c files to makefiles or they won't be built
9772           (d'oh)
9773
9774 2004-05-08  Benjamin Otte  <otte@gnome.org>
9775
9776         * gst/gstpad.c: (gst_pad_proxy_fixate):
9777           really reduce the set of caps
9778
9779 2004-05-08  Benjamin Otte  <otte@gnome.org>
9780
9781         * tests/Makefile.am:
9782         * tests/spidey_bench.c: (handoff), (main):
9783           add benchmark to test how long spider needs to create a pipeline
9784
9785 2004-05-08  Benjamin Otte  <otte@gnome.org>
9786
9787         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9788           mark links as unengaged when unnegotiating instead of deactivating.
9789           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9790
9791 2004-05-08  Benjamin Otte  <otte@gnome.org>
9792
9793         * docs/manual/helloworld.xml:
9794           s/audiosink/osssink (patch by Patrick Guimond)
9795
9796 2004-05-07  David Schleef  <ds@schleef.org>
9797
9798         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9799         since it contains important stuff.
9800
9801 2004-05-07  David Schleef  <ds@schleef.org>
9802
9803         * testsuite/caps/caps.c: (test3), (main): A check for appending
9804         ANY caps.
9805
9806 2004-05-07  David Schleef  <ds@schleef.org>
9807
9808         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9809         which may contain commas.  Fixes detection of -Wa,-mregnames
9810
9811 2004-05-06  David Schleef  <ds@schleef.org>
9812
9813         Changes to handle compilers that don't have variadic macro
9814         support.  In particular, glib headers define some inlines
9815         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9816         builds.
9817         * gst/Makefile.am:
9818         * gst/cothreads.c:
9819         * gst/elements/gstfdsink.c:
9820         * gst/elements/gstfdsrc.c:
9821         * gst/elements/gstfilesink.c:
9822         * gst/elements/gstfilesrc.c:
9823         * gst/gst_private.h:
9824         * gst/gstatomic.c:
9825         * gst/gstcaps.c: (gst_caps_append):
9826         * gst/gstcpu.c: (gst_cpuid_i386):
9827         * gst/gstelement.c:
9828         * gst/gsterror.c:
9829         * gst/gstfilter.c:
9830         * gst/gstinfo.h:
9831         * gst/gstprobe.c:
9832         * gst/gstquery.c:
9833         * gst/gstregistry.c:
9834         * gst/gststructure.c:
9835         * gst/gsttaginterface.c:
9836         * gst/gsttrace.c: (gst_trace_new):
9837         * gst/gsttrashstack.c:
9838         * gst/gsturi.c:
9839         * gst/gstvalue.c:
9840         * gst/parse/grammar.y:
9841         * gst/parse/parse.l:
9842         * tools/gst-inspect.c: (main):
9843         * tools/gst-launch.c: (main):
9844         * tools/gst-xmlinspect.c: (PUT_STRING):
9845
9846 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9847
9848         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9849         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9850         * gst/elements/gstfilesrc.h:
9851           send NEW_MEDIA events correctly
9852         * gst/elements/gsttypefindelement.c: (start_typefinding),
9853         (gst_type_find_element_handle_event):
9854           restart typefinding when we get a NEW_MEDIA event
9855         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9856         (gst_bin_dispose):
9857           don't die when someone removes elements in callbacks
9858         * gst/gstelement.c: (gst_element_change_state):
9859           improve debugging
9860         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9861           we need a NEW_MEDIA event to engage a link
9862         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9863           don't g_print debugging stuff
9864         * testsuite/caps/simplify.c: (check_caps):
9865
9866 2004-05-04  Benjamin Otte  <otte@gnome.org>
9867
9868         * gst/parse/grammar.y:
9869           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9870
9871 2004-05-04  Benjamin Otte  <otte@gnome.org>
9872
9873         * testsuite/caps/renegotiate.c: (main):
9874           improve output in error case
9875
9876 2004-05-04  Benjamin Otte  <otte@gnome.org>
9877
9878         * gst/parse/grammar.y:
9879           fix assert to not trigger when there's no error argument
9880         * gst/parse/parse.l:
9881           fix definition of caps to allow more than two structures
9882         * testsuite/caps/Makefile.am:
9883         * testsuite/caps/renegotiate.c: (main):
9884           it's sinesrc and works in that case
9885
9886 2004-05-04  Wim Taymans  <wim@fluendo.com>
9887
9888         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9889         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9890         when removing an element from a group, we always need to
9891         decrement the link count that this group had with other 
9892         groups through the element.
9893         added an extra assert to catch inconsistencies when decrementing
9894         the link count.
9895
9896 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * configure.ac:
9899         * docs/gst/Makefile.am:
9900         * docs/gst/gstreamer-sections.txt:
9901         * docs/gst/tmpl/gstcompat.sgml:
9902         * examples/appreader/Makefile.am:
9903         * examples/cutter/Makefile.am:
9904         * examples/events/Makefile.am:
9905         * examples/helloworld/Makefile.am:
9906         * examples/helloworld2/Makefile.am:
9907         * examples/launch/Makefile.am:
9908         * examples/manual/Makefile.am:
9909         * examples/mixer/Makefile.am:
9910         * examples/pingpong/Makefile.am:
9911         * examples/plugins/Makefile.am:
9912         * examples/queue/Makefile.am:
9913         * examples/queue2/Makefile.am:
9914         * examples/queue3/Makefile.am:
9915         * examples/queue4/Makefile.am:
9916         * examples/retag/Makefile.am:
9917         * examples/thread/Makefile.am:
9918         * examples/typefind/Makefile.am:
9919         * examples/xml/Makefile.am:
9920         * gst/Makefile.am:
9921         * gst/autoplug/Makefile.am:
9922         * gst/elements/Makefile.am:
9923         * gst/gstcompat.h:
9924         * gst/indexers/Makefile.am:
9925         * gst/parse/Makefile.am:
9926         * gst/registries/Makefile.am:
9927         * gst/schedulers/Makefile.am:
9928         * libs/gst/bytestream/Makefile.am:
9929         * libs/gst/control/Makefile.am:
9930         * libs/gst/getbits/Makefile.am:
9931         * po/af.po:
9932         * po/az.po:
9933         * po/en_GB.po:
9934         * po/fr.po:
9935         * po/nl.po:
9936         * po/sr.po:
9937         * po/sv.po:
9938         * po/tr.po:
9939         * po/uk.po:
9940         * tests/Makefile.am:
9941         * tests/bufspeed/Makefile.am:
9942         * tests/instantiate/Makefile.am:
9943         * tests/memchunk/Makefile.am:
9944         * tests/muxing/Makefile.am:
9945         * tests/negotiation/Makefile.am:
9946         * tests/probes/Makefile.am:
9947         * tests/sched/Makefile.am:
9948         * tests/seeking/Makefile.am:
9949         * tests/threadstate/Makefile.am:
9950         * testsuite/caps/Makefile.am:
9951         * testsuite/cleanup/Makefile.am:
9952         * testsuite/dlopen/Makefile.am:
9953         * testsuite/dynparams/Makefile.am:
9954         * testsuite/plugin/Makefile.am:
9955         * testsuite/states/Makefile.am:
9956         * tools/Makefile.am:
9957           reorganize compile/link flags to be consistent
9958           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9959
9960 2004-05-04  David Schleef  <ds@schleef.org>
9961
9962         The "once more, with feeling" check-in.
9963         * testsuite/caps/Makefile.am: dist caps_strings
9964         * testsuite/caps/renegotiate.c: (main): This test triggers a
9965           segfault in the core.  Marking as failing.
9966
9967 2004-05-03  David Schleef  <ds@schleef.org>
9968
9969         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9970           by the build bots.
9971         * testsuite/caps/renegotiate.c: (main): Same.
9972
9973 2004-05-03  David Schleef  <ds@schleef.org>
9974
9975         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9976
9977 2004-05-03  David Schleef  <ds@schleef.org>
9978
9979         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9980           variable to find our source file.
9981
9982 2004-05-03  David Schleef  <ds@schleef.org>
9983
9984         * configure.ac:  Link plugins with libgstreamer and dependent
9985           libraries
9986         * testsuite/caps/Makefile.am:
9987         * testsuite/caps/caps_strings:
9988         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9989           through a file of caps strings and test each one
9990
9991 2004-05-04  Benjamin Otte  <otte@gnome.org>
9992
9993         * libs/gst/bytestream/Makefile.am:
9994         * libs/gst/bytestream/adapter.c: 
9995         * libs/gst/bytestream/adapter.h:
9996           add GstAdapter, similar to bytestream, but doesn't require ugly event
9997           handling or uglier loopbased elements
9998
9999 2004-05-03  David Schleef  <ds@schleef.org>
10000
10001         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
10002         * testsuite/caps/erathostenes.c:
10003         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
10004
10005 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10006
10007         * docs/pwg/pwg.xml:
10008           remove hardcoded stylesheet path (duh)
10009         * docs/random/release:
10010         * docs/gst/gstreamer-sections.txt:
10011         * gst/Makefile.am:
10012         * gst/gst.h:
10013         * gst/gst_private.h:
10014         * gst/gstcaps.c:
10015         * gst/gstevent.c:
10016         * gst/gstformat.c:
10017         * gst/gstinfo.c:
10018         * gst/gstinfo.h:
10019         * gst/gstinterface.c:
10020         * gst/gstmemchunk.c:
10021         * gst/gstprobe.c:
10022         * gst/gstquery.c:
10023         * gst/gstregistry.c:
10024         * gst/gstregistrypool.c:
10025         * gst/gststructure.c:
10026         * gst/gsttaginterface.c:
10027         * gst/gstthread.c:
10028         * gst/gsttrace.c:
10029         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10030         * gst/gsturi.c:
10031         * gst/gstvalue.c:
10032           deprecate gst_info; remove gstlog.h
10033    
10034
10035 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10036
10037         * Makefile.am:
10038         * po/en_GB.po:
10039         * po/sv.po:
10040         * po/uk.po:
10041           updated translations
10042
10043 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10044
10045         * gst/gstbin.c: (gst_bin_dispose):
10046           better debugging
10047
10048 2004-05-03  Johan Dahlin  <johan@gnome.org>
10049
10050         * gst/schedulers/gstoptimalscheduler.c
10051         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10052         really is a GstElement. Avoids critical when running gst-launch -v
10053         and a oggdemux/decoding pipeline.
10054
10055 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10056
10057         * docs/gst/tmpl/gstpipeline.sgml :
10058         * docs/manual/elements-api.xml :
10059                 doc fix by Patrick Guimond (Protector) from devel ML
10060                 reviewed by ronald
10061
10062 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10063
10064         * docs/gst/Makefile.am :
10065         * docs/libs/Makefile.am :
10066                 apply a patch from Arwed v. Merkatz so that gtk-doc
10067                 generated docs install (same for .devhelp file)
10068                 (fixes part 1 of #138836)
10069
10070 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10071
10072         * docs/faq/dependencies.xml: typo
10073         * docs/faq/getting.xml :
10074             - fix download URL for new gstreamer site
10075             - hide sf.net download page as latest version aren't there
10076             - fix apt URLs
10077             - fill "get via CVS" paragraph (link to dev page on the site)
10078         * docs/faq/general.xml:
10079             hide status tables as they no more exists
10080             change case on plugins license file to reflect reality
10081         * docs/faq/troubleshooting.xml:
10082             remove the wiki question/answer as there is no more wiki
10083
10084 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10085
10086         * gst/gsterror.h:
10087           include the headers needed for declarations used in this header
10088
10089 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10090
10091         * docs/random/uraeus/gstreamer_and_midi.txt :
10092           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10093           (fixes #132288)
10094
10095 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10096
10097         reviewed by Benjamin Otte  <otte@gnome.org>
10098
10099         * gst/schedulers/gthread-cothreads.h:
10100           free allocated data for main cothread, too when destroying context
10101           (fixes #141417)
10102
10103 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10104
10105         * docs/manual/goals.xml : remove duplicated paragraph at end 
10106         of doc page (fixes #141448)
10107
10108 2004-04-29  David Schleef  <ds@schleef.org>
10109
10110         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10111         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10112
10113 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10114
10115         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10116           fix property
10117         * gst/gstcaps.c:
10118           fix doc string
10119         * po/POTFILES.in:
10120           rename typefind source file
10121
10122 2004-04-28  David Schleef  <ds@schleef.org>
10123
10124         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10125         * win32/GStreamer.vcproj:
10126         * win32/Makefile:
10127         * win32/config.h:
10128         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10129         (_trewinddir), (_ttelldir), (_tseekdir):
10130         * win32/dirent.h:
10131         * win32/gst-inspect.vcproj:
10132         * win32/gst-launch.vcproj:
10133         * win32/gst-register.vcproj:
10134         * win32/gstbytestream.vcproj:
10135         * win32/gstelements.vcproj:
10136         * win32/gstoptimalscheduler.vcproj:
10137         * win32/gstspider.vcproj:
10138         * win32/gtchar.h:
10139         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10140         * win32/mman.h:
10141         * win32/mman.inl:
10142         * win32/msvc71.sln:
10143
10144 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10145
10146         * gst/gst.c: (init_post):
10147         * gst/gstinfo.c:
10148           remove useless _gst_progname stuff
10149         * tools/gst-inspect.c: (print_field), (print_caps):
10150           improve caps output
10151
10152 2004-04-28  David Schleef  <ds@schleef.org>
10153
10154         Disable parsing of a lot of files that aren't part of the
10155         exported API.  Move corresponding template files to old/,
10156         waiting for removal when they don't contain anything
10157         interesting.
10158         * docs/gst/Makefile.am:
10159         * docs/gst/gstreamer-sections.txt:
10160         * docs/gst/tmpl/cothreads.sgml:
10161         * docs/gst/tmpl/cothreads_compat.sgml:
10162         * docs/gst/tmpl/gettext.sgml:
10163         * docs/gst/tmpl/gobject2gtk.sgml:
10164         * docs/gst/tmpl/grammar.tab.sgml:
10165         * docs/gst/tmpl/gst-i18n-app.sgml:
10166         * docs/gst/tmpl/gst-i18n-lib.sgml:
10167         * docs/gst/tmpl/gst_private.sgml:
10168         * docs/gst/tmpl/gstaggregator.sgml:
10169         * docs/gst/tmpl/gstarch.sgml:
10170         * docs/gst/tmpl/gstatomic_impl.sgml:
10171         * docs/gst/tmpl/gstbufferstore.sgml:
10172         * docs/gst/tmpl/gstdata_private.sgml:
10173         * docs/gst/tmpl/gstdisksink.sgml:
10174         * docs/gst/tmpl/gstdisksrc.sgml:
10175         * docs/gst/tmpl/gstelementfactory.sgml:
10176         * docs/gst/tmpl/gstextratypes.sgml:
10177         * docs/gst/tmpl/gstfakesink.sgml:
10178         * docs/gst/tmpl/gstfakesrc.sgml:
10179         * docs/gst/tmpl/gstfdsink.sgml:
10180         * docs/gst/tmpl/gstfdsrc.sgml:
10181         * docs/gst/tmpl/gstfilesink.sgml:
10182         * docs/gst/tmpl/gstfilesrc.sgml:
10183         * docs/gst/tmpl/gsthttpsrc.sgml:
10184         * docs/gst/tmpl/gstidentity.sgml:
10185         * docs/gst/tmpl/gstindexfactory.sgml:
10186         * docs/gst/tmpl/gstmarshal.sgml:
10187         * docs/gst/tmpl/gstmd5sink.sgml:
10188         * docs/gst/tmpl/gstmultidisksrc.sgml:
10189         * docs/gst/tmpl/gstmultifilesrc.sgml:
10190         * docs/gst/tmpl/gstpadtemplate.sgml:
10191         * docs/gst/tmpl/gstpipefilter.sgml:
10192         * docs/gst/tmpl/gstschedulerfactory.sgml:
10193         * docs/gst/tmpl/gstsearchfuncs.sgml:
10194         * docs/gst/tmpl/gstshaper.sgml:
10195         * docs/gst/tmpl/gstspider.sgml:
10196         * docs/gst/tmpl/gstspideridentity.sgml:
10197         * docs/gst/tmpl/gststatistics.sgml:
10198         * docs/gst/tmpl/gsttee.sgml:
10199         * docs/gst/tmpl/gsttimecache.sgml:
10200         * docs/gst/tmpl/gsttypefind.sgml:
10201         * docs/gst/tmpl/gsttypefindfactory.sgml:
10202         * docs/gst/tmpl/gstxmlregistry.sgml:
10203         * docs/gst/tmpl/gthread-cothreads.sgml:
10204         * docs/gst/tmpl/old/cothreads.sgml:
10205         * docs/gst/tmpl/old/cothreads_compat.sgml:
10206         * docs/gst/tmpl/old/gettext.sgml:
10207         * docs/gst/tmpl/old/gobject2gtk.sgml:
10208         * docs/gst/tmpl/old/grammar.tab.sgml:
10209         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10210         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10211         * docs/gst/tmpl/old/gst_private.sgml:
10212         * docs/gst/tmpl/old/gstaggregator.sgml:
10213         * docs/gst/tmpl/old/gstarch.sgml:
10214         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10215         * docs/gst/tmpl/old/gstbufferstore.sgml:
10216         * docs/gst/tmpl/old/gstdata_private.sgml:
10217         * docs/gst/tmpl/old/gstdisksink.sgml:
10218         * docs/gst/tmpl/old/gstdisksrc.sgml:
10219         * docs/gst/tmpl/old/gstelementfactory.sgml:
10220         * docs/gst/tmpl/old/gstextratypes.sgml:
10221         * docs/gst/tmpl/old/gstfakesink.sgml:
10222         * docs/gst/tmpl/old/gstfakesrc.sgml:
10223         * docs/gst/tmpl/old/gstfdsink.sgml:
10224         * docs/gst/tmpl/old/gstfdsrc.sgml:
10225         * docs/gst/tmpl/old/gstfilesink.sgml:
10226         * docs/gst/tmpl/old/gstfilesrc.sgml:
10227         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10228         * docs/gst/tmpl/old/gstidentity.sgml:
10229         * docs/gst/tmpl/old/gstindexfactory.sgml:
10230         * docs/gst/tmpl/old/gstmarshal.sgml:
10231         * docs/gst/tmpl/old/gstmd5sink.sgml:
10232         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10233         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10234         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10235         * docs/gst/tmpl/old/gstpipefilter.sgml:
10236         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10237         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10238         * docs/gst/tmpl/old/gstshaper.sgml:
10239         * docs/gst/tmpl/old/gstspider.sgml:
10240         * docs/gst/tmpl/old/gstspideridentity.sgml:
10241         * docs/gst/tmpl/old/gststatistics.sgml:
10242         * docs/gst/tmpl/old/gsttee.sgml:
10243         * docs/gst/tmpl/old/gsttimecache.sgml:
10244         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10245         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10246         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10247         * docs/gst/tmpl/old/types.sgml:
10248         * docs/gst/tmpl/types.sgml:
10249
10250         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10251         gtkdoc-scan doesn't like files with the same name in different
10252         directories.
10253         * gst/elements/Makefile.am:
10254         * gst/elements/gstelements.c:
10255         * gst/elements/gsttypefind.c: 
10256         * gst/elements/gsttypefind.h:
10257         * gst/elements/gsttypefindelement.c:
10258         * gst/elements/gsttypefindelement.h:
10259
10260 2004-04-28  David Schleef  <ds@schleef.org>
10261
10262         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10263         patch (bug #141317):
10264         * gst/gst-i18n-lib.h: Allow disabling gettext.
10265         * gst/gstatomic_impl.h: disable warning when it's dumb.
10266         * gst/gstclock.c: fix include
10267         * gst/gstcompat.h: fix variadic macro
10268         * gst/gstinfo.c: fix include
10269         * gst/gstmacros.h: add defines for inlines on MSVC
10270         * gst/gstplugin.c: fix includes
10271         * gst/gstregistry.c: fix includes
10272         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10273         * gst/gstsystemclock.c: fix include
10274         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10275         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10276         * gst/registries/gstxmlregistry.c:
10277         (gst_xml_registry_parse_element_factory): fix use of non-portable
10278         functions
10279         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10280         * libs/gst/control/dparammanager.h: same
10281
10282 2004-04-28  David Schleef  <ds@schleef.org>
10283
10284         Move a bunch of unused files to old/ with names that are
10285         not case-insensitive-unique.  These files still contain some
10286         useful information that needs to be merged into gstbin.sgml,
10287         etc., so they shouldn't be deleted yet.
10288         * docs/gst/tmpl/GstBin.sgml:
10289         * docs/gst/tmpl/GstBuffer.sgml:
10290         * docs/gst/tmpl/GstCaps.sgml:
10291         * docs/gst/tmpl/GstClock.sgml:
10292         * docs/gst/tmpl/GstCompat.sgml:
10293         * docs/gst/tmpl/GstData.sgml:
10294         * docs/gst/tmpl/GstElement.sgml:
10295         * docs/gst/tmpl/GstEvent.sgml:
10296         * docs/gst/tmpl/GstIndex.sgml:
10297         * docs/gst/tmpl/GstStructure.sgml:
10298         * docs/gst/tmpl/GstTag.sgml:
10299         * docs/gst/tmpl/old/GstBin.sgml:
10300         * docs/gst/tmpl/old/GstBuffer.sgml:
10301         * docs/gst/tmpl/old/GstCaps.sgml:
10302         * docs/gst/tmpl/old/GstClock.sgml:
10303         * docs/gst/tmpl/old/GstCompat.sgml:
10304         * docs/gst/tmpl/old/GstData.sgml:
10305         * docs/gst/tmpl/old/GstElement.sgml:
10306         * docs/gst/tmpl/old/GstEvent.sgml:
10307         * docs/gst/tmpl/old/GstIndex.sgml:
10308         * docs/gst/tmpl/old/GstStructure.sgml:
10309         * docs/gst/tmpl/old/GstTag.sgml:
10310
10311 2004-04-28  David Schleef  <ds@schleef.org>
10312
10313         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10314         (gst_caps_append), (gst_caps_append_structure),
10315         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10316         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10317         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10318         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10319         (gst_caps_intersect), (gst_caps_normalize),
10320         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10321         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10322         * gst/gstcaps.h: use GST_IS_CAPS().
10323
10324 2004-04-26  David Schleef  <ds@schleef.org>
10325
10326         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10327         assembly.  gcc doesn't handle it correctly. (bug #141083)
10328         * gst/gsttrashstack.h: same
10329
10330 2004-04-25  Benjamin Otte  <otte@gnome.org>
10331
10332         * gst/gstelement.c: (gst_element_change_state):
10333           fix assertion to do an int comparison
10334
10335 2004-04-25  Benjamin Otte  <otte@gnome.org>
10336
10337         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10338           better debugging output on error
10339
10340 2004-04-25  Benjamin Otte  <otte@gnome.org>
10341
10342         * gst/gstcaps.c: (gst_caps_subtract):
10343           fix memleak
10344
10345 2004-04-23  Benjamin Otte  <otte@gnome.org>
10346
10347         * gst/gstvalue.c: (gst_value_compare_buffer),
10348         (_gst_value_initialize):
10349           add comparison function for buffers
10350
10351 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10352
10353         * docs/pwg/pwg.xml:
10354           Just found out that this so-called "ima-wav" format is really
10355           just "dvi adpcm" (according to the MS WAV documentation). So
10356           renaming it. We didn't use it yet anyway.
10357
10358 2004-04-23  Benjamin Otte  <otte@gnome.org>
10359
10360         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10361           call gst_caps_is_subset
10362
10363 2004-04-23  Benjamin Otte  <otte@gnome.org>
10364
10365         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10366         (gst_caps_is_subset):
10367           add documentation
10368
10369 2004-04-23  Benjamin Otte  <otte@gnome.org>
10370           
10371         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10372         (gst_caps_structure_subtract), (gst_caps_subtract),
10373         (gst_caps_structure_figure_out_union),
10374         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10375           fix simplifying and subtracting not working correctly with optional
10376           properties
10377           solve assorted problems that make it now simplify ebven more
10378         * docs/gst/tmpl/gstcaps.sgml:
10379         * gst/gstcaps.h:
10380           make gst_caps_do_simplify return a bool to indicate if it simplified
10381         * testsuite/caps/simplify.c: (main):
10382           add more checks. The tests is quite a bit useless right now because
10383           the core is heavily simplifying itself.
10384         * testsuite/caps/caps.h:
10385           fix caps to contain all optional properties
10386
10387 2004-04-22  Benjamin Otte  <otte@gnome.org>
10388
10389         * docs/gst/tmpl/gstcaps.sgml:
10390         * docs/gst/tmpl/gstfilesrc.sgml:
10391         * docs/gst/tmpl/gststructure.sgml:
10392         * docs/gst/tmpl/gstvalue.sgml:
10393           update for recent API changes
10394         * gst/gstcaps.c: (gst_caps_do_simplify):
10395           fix to stop trying with a freed structure
10396         * gst/gstpad.c: (gst_pad_link_fixate):
10397           simplify caps
10398         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10399           remove C++ comment
10400         * gst/gstpad.h:
10401           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10402         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10403         (gst_structure_to_string):
10404           keep the correct type when using lists of ranges
10405         * gst/gstvalue.c: (gst_value_list_prepend_value),
10406         (gst_value_list_append_value):
10407           copy the value before adding to the list (d'oh)
10408         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10409         (gst_value_subtract_int_range_int_range):
10410           handle overflows correctly
10411         * gst/gstvalue.c: (gst_value_subtract_from_list):
10412           fix memleak
10413         * testsuite/caps/caps.h:
10414           add a caps that caused segfaults
10415
10416 2004-04-22  Benjamin Otte  <otte@gnome.org>
10417
10418         * testsuite/refcounting/pad.c: (main):
10419           fix test
10420
10421 2004-04-22  Benjamin Otte  <otte@gnome.org>
10422
10423         * gst/gstcaps.c: (gst_caps_subtract):
10424           allow subtracting ANY and EMPTY from ANY caps
10425
10426 2004-04-22  Benjamin Otte  <otte@gnome.org>
10427
10428         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10429         (gst_caps_union):
10430           only simplify in functions that create new caps. Simplifying in
10431           gst_caps_append breaks tests.
10432
10433 2004-04-22  Benjamin Otte  <otte@gnome.org>
10434
10435         * gst/gstcaps.c: (gst_caps_structure_simplify):
10436           unset GValue after use
10437         * gst/gstcaps.c: (gst_caps_append), 
10438         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10439           use gst_caps_simplify (reduces registry size by 30%)
10440         * gst/gstpad.c: (gst_pad_template_new):
10441           don't allow NULL caps
10442
10443 2004-04-22  Benjamin Otte  <otte@gnome.org>
10444
10445         * docs/gst/gstreamer-sections.txt:
10446           add gst_caps_do_simplify
10447         * gst/gstcaps.c:
10448           add documentation for gst_caps_do_simplify
10449         * gst/gstvalue.h:
10450           fix typo in gst_value_register_subtract_func declaration for gst-doc
10451
10452 2004-04-22  Benjamin Otte  <otte@gnome.org>
10453
10454         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10455           fix bug when converting from empty string.
10456         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10457         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10458           use gst_caps_new_empty to allocate a new caps. Only that function
10459           allocates memory for caps now.
10460         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10461         (gst_caps_remove_structure):
10462           add ability to remove one structure (but not to header yet)
10463         * gst/gstcaps.c: (gst_caps_compare_structures),
10464         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10465         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10466         * gst/gstcaps.h:
10467           add gst_caps_do_simplify that tries to simplify a caps in place.
10468           Deprecate old gst_caps_simplify function.
10469         * testsuite/caps/caps.h:
10470           add caps.h containing a common set of caps to test against.
10471         * testsuite/caps/sets.c: (check_caps), (main):
10472           use it.
10473         * testsuite/caps/.cvsignore:
10474         * testsuite/caps/Makefile.am:
10475         * testsuite/caps/simplify.c: (check_caps), (main):
10476           add test to check correctness and efficency of caps simplification.
10477
10478 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10479
10480         reviewed by Benjamin Otte  <otte@gnome.org>
10481
10482         * gst/gstparse.c: (_gst_parse_escape):
10483           Free the GString used in _gst_parse_escape()
10484
10485 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10486
10487         * gst/gstpad.c: (gst_pad_link_negotiate):
10488           refuse to link if the link is not possible
10489         * configure.ac:
10490         * testsuite/Makefile.am:
10491         * testsuite/negotiation/.cvsignore:
10492         * testsuite/negotiation/Makefile.am:
10493         * testsuite/negotiation/pad_link.c: (main):
10494           add test that checks the above behaviour
10495
10496 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10497
10498         * docs/gst/gstreamer-sections.txt:
10499           add newly added API
10500
10501 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10502
10503         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10504         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10505         (gst_filesrc_open_file), (gst_filesrc_close_file),
10506         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10507         * gst/elements/gstfilesrc.h:
10508           add support for non-regular files (#140734)
10509
10510 2004-04-21  Benjamin Otte  <otte@gnome.org>
10511
10512         * gst/gstpad.c: (gst_pad_link_fixate):
10513           add sophisticated error checking code to see if fixation functions
10514           did their fixation right
10515
10516 2004-04-21  Benjamin Otte  <otte@gnome.org>
10517
10518         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10519           check for ANY caps before appending/unioning
10520         * gst/gstcaps.c: (gst_caps_is_subset),
10521         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10522         (gst_caps_structure_subtract), (gst_caps_subtract):
10523         * gst/gstcaps.h:
10524           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10525           the API. deprecate gst_caps_is_equal_fixed
10526         * gst/gstpad.c: (gst_pad_try_set_caps):
10527         * gst/gstqueue.c: (gst_queue_link):
10528           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10529         * gst/gststructure.c: (gst_structure_get_name_id):
10530         * gst/gststructure.h:
10531           add function gst_structure_get_name_id
10532         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10533         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10534         (gst_value_subtract_int_range_int_range),
10535         (gst_value_subtract_double_double_range),
10536         (gst_value_subtract_double_range_double),
10537         (gst_value_subtract_double_range_double_range),
10538         (gst_value_subtract_from_list), (gst_value_subtract_list),
10539         (gst_value_can_intersect), (gst_value_subtract),
10540         (gst_value_can_subtract), (gst_value_register_subtract_func),
10541         (_gst_value_initialize):
10542         * gst/gstvalue.h:
10543           add support for subtracting values from each other. Note that
10544           subtracting means subtracting as in set theory. Required for caps
10545           stuff above.
10546         * testsuite/caps/.cvsignore:
10547         * testsuite/caps/Makefile.am:
10548         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10549         * testsuite/caps/sets.c: (check_caps), (main):
10550         * testsuite/caps/subtract.c: (check_caps), (main):
10551           add tests for subtraction and equality code.
10552
10553 2004-04-20  David Schleef  <ds@schleef.org>
10554
10555         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10556         * gst/indexers/Makefile.am:
10557         * gst/schedulers/Makefile.am:
10558         * libs/gst/bytestream/Makefile.am:
10559         * libs/gst/control/Makefile.am:
10560         * libs/gst/getbits/Makefile.am:
10561
10562 2004-04-20  David Schleef  <ds@schleef.org>
10563
10564         * common/as-libtool.mak: Fine-tune DLL building.
10565         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10566         (like gst-plugins)
10567         * examples/plugins/Makefile.am: remove plugindir
10568         * gst/autoplug/Makefile.am: DLL building fixes
10569         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10570         Windows.
10571         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10572         * gst/indexers/Makefile.am: DLL building fixes
10573         * gst/schedulers/Makefile.am: DLL building fixes.
10574         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10575         * libs/gst/control/Makefile.am: same
10576         * libs/gst/getbits/Makefile.am: same
10577         * testsuite/Makefile.am: New dlopen directory
10578         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10579         when dlopened.
10580         * testsuite/dlopen/dlopen_gst.c: (main): same
10581         * testsuite/dlopen/loadgst.c: (do_test): same
10582
10583 2004-04-20  David Schleef  <ds@schleef.org>
10584
10585         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10586         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10587
10588 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * gst/gstelement.c: (gst_element_wait),
10591         (gst_element_set_time_delay), (gst_element_change_state):
10592           Use GST_TIME_*
10593
10594 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10595
10596         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10597         (gst_spider_identity_plug):
10598           improve debugging messages
10599         * gst/gstbin.c: (gst_bin_remove_func):
10600           make sure the state_change function is only called with simple state
10601           transitions
10602
10603 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10604
10605         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10606         (gst_fakesink_set_property), (gst_fakesink_chain):
10607         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10608         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10609         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10610         * gst/elements/gstidentity.c: (gst_identity_chain),
10611         (gst_identity_set_property):
10612         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10613         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10614           add warnings to _set_property for unknown arguments
10615           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10616
10617 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10618
10619         * Makefile.am:
10620         * docs/manuals.mak:
10621           add .po file download snippet
10622           fix a bug in the doc makefile
10623
10624 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * Makefile.am:
10627         * po/LINGUAS:
10628         * po/en_GB.po:
10629           Added en_GB translation (Gareth Owen)
10630
10631 2004-04-20  Johan Dahlin  <johan@gnome.org>
10632
10633         * gst/gstpad.c (_invent_event): Clean up
10634
10635 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10636
10637         * testsuite/caps/filtercaps.c: (main):
10638           fix test to test things correctly (caps are complicated)
10639
10640 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10641
10642         * testsuite/caps/Makefile.am:
10643         * testsuite/caps/filtercaps.c: (main):
10644           add test (that doesn't work right now, but should)
10645
10646 2004-04-19  David Schleef  <ds@schleef.org>
10647
10648         * configure.ac: Add test for allowing unaligned access.  Add define
10649         to put in gstconfig.h.
10650         * docs/gst/gstreamer-sections.txt: New symbols
10651         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10652         * docs/gst/tmpl/gstfilesrc.sgml:
10653         * docs/gst/tmpl/gstparse.sgml:
10654         * docs/gst/tmpl/gsttypes.sgml:
10655         * docs/gst/tmpl/gstutils.sgml:
10656         * docs/gst/tmpl/gstvalue.sgml:
10657         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10658         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10659         on most !i386/!powerpc architectures.  From Daniel Gazard
10660         <daniel.gazard@free.fr>.  (bug #140156)
10661         * po/af.po: Check in changes made by gettext.
10662         * po/az.po:
10663         * po/fr.po:
10664         * po/nl.po:
10665         * po/sr.po:
10666         * po/sv.po:
10667
10668 2004-04-20  Benjamin Otte  <otte@gnome.org>
10669
10670         * gst/schedulers/entryscheduler.c: 
10671         (gst_entry_scheduler_yield):
10672           refuse to yield when decoupled elements insist on doing that.
10673           At least it's better than crashing
10674
10675 2004-04-19  David Schleef  <ds@schleef.org>
10676
10677         * docs/libs/Makefile.am: Change sinclude to include
10678         * docs/gst/Makefile.am: same
10679         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10680
10681 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10682
10683         * po/LINGUAS:
10684         * po/uk.po:
10685           Added Ukrainian translation (Maxim V. Dziumanenko)
10686
10687 2004-04-19  Johan Dahlin  <johan@gnome.org>
10688
10689         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10690         checking here, do it before calling the function.
10691         Clean up, use for loops instead of while loops while iterating
10692         over lists.
10693
10694         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10695         in debug message.
10696         (gst_spider_create_and_plug): Improve debug message.
10697         General: Replace while loops which iterates over GLists with for
10698         loops. Which are much cleaner, improves readability, especially
10699         for gst_spider_identity_plug
10700
10701         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10702         fixes bug 140477
10703
10704 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10705
10706         * po/LINGUAS:
10707         * po/tr.po:
10708           Added Turkish translation (Baris Cicek)
10709
10710 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10711
10712         * docs/faq/troubleshooting.xml:
10713           Mention gst-register in the FAQ (fixes 139045).
10714
10715 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10716
10717         * docs/gst/gstreamer-sections.txt:
10718
10719 2004-04-17  Benjamin Otte  <otte@gnome.org>
10720
10721         * gst/gstelement.c: (gst_element_dispose):
10722           simplify
10723         * gst/gstpad.c: (gst_pad_call_chain_function):
10724           don't create loads of events due to bad macro usage
10725
10726 2004-04-16  David Schleef  <ds@schleef.org>
10727
10728         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10729         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10730         * gst/gstvalue.c: (gst_value_serialize_buffer),
10731         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10732         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10733         to indicate types that are fixed wrt caps or not.  Switching to
10734         this function fixes (bug #140298).
10735         * gst/gstvalue.h:
10736
10737 2004-04-16  David Schleef  <ds@schleef.org>
10738
10739         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10740         for GST_UNALIGNED_ACESS, since we essentially know which archs
10741         are ok.
10742
10743 2004-04-17  Benjamin Otte  <otte@gnome.org>
10744
10745         * docs/gst/Makefile.am:
10746           ignore gst/parse directory when building docs (fixes #140205)
10747
10748 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10749
10750         * testsuite/refcounting/mem.c: (vmsize):
10751           do error checking
10752
10753 2004-04-16  Johan Dahlin  <johan@gnome.org>
10754
10755         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10756         and gst_pad_call_get_function.
10757
10758 2004-04-15  David Schleef  <ds@schleef.org>
10759
10760         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10761         checks if we can access unaligned memory.
10762         * configure.ac: Use it.
10763
10764 2004-04-16  Benjamin Otte  <otte@gnome.org>
10765
10766         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10767         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10768         * gst/elements/gstfilesrc.h:
10769           s/seek_happened/need_discont/ and require discont before sending any
10770           data
10771
10772 2004-04-15  David Schleef  <ds@schleef.org>
10773
10774         * gst/gstvalue.c: (gst_value_serialize_buffer),
10775         (gst_value_deserialize_buffer), (_gst_value_initialize):
10776         Register these types as fundamental types. (bug #140015)
10777
10778 2004-04-16  Benjamin Otte  <otte@gnome.org>
10779
10780         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10781         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10782         (gst_pad_pull):
10783           implement enforcing discont events before buffers are passed. This
10784           allows state changes of only some elements and later correctly going
10785           on where they left off (or in short: you can now set audio sinks to
10786           NULL to release the device when the pipeline is paused)
10787         * gst/gstpad.c: (gst_pad_call_chain_function),
10788         (gst_pad_call_get_function):
10789         * gst/gstpad.h:
10790           add gst_pad_call_chain_function and gst_pad_call_get_function for
10791           scheduler interaction. They are required because of the changes
10792           above.
10793         * gst/schedulers/entryscheduler.c: (get_buffer),
10794         (gst_entry_scheduler_chain_wrapper),
10795         (gst_entry_scheduler_get_wrapper),
10796         (gst_entry_scheduler_state_transition),
10797         (gst_entry_scheduler_pad_link):
10798         * gst/schedulers/gstbasicscheduler.c:
10799         (gst_basic_scheduler_chain_wrapper),
10800         (gst_basic_scheduler_src_wrapper),
10801         (gst_basic_scheduler_chainhandler_proxy),
10802         (gst_basic_scheduler_gethandler_proxy),
10803         (gst_basic_scheduler_cothreaded_chain),
10804         (gst_basic_scheduler_chain_elements):
10805         * gst/schedulers/gstoptimalscheduler.c:
10806         (get_group_schedule_function), (pad_clear_queued),
10807         (gst_opt_scheduler_pad_link):
10808           use the new functions instead of calling get/chain-functions
10809           directly.
10810
10811 2004-04-15  David Schleef  <ds@schleef.org>
10812
10813         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10814         * docs/gst/tmpl/gstinfo.sgml: same
10815         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10816         gtk-doc put here.
10817         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10818         * examples/queue/queue.c: (main):  We iterate pipelines, not
10819         bins.  (bug #139996)
10820
10821 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10822
10823         * docs/pwg/advanced-types.xml:
10824           Add MS RLE support. Also document Qt RLE although I have no sample
10825           files for that yet. And document an extra property for ADPCM.
10826
10827 2004-04-15  David Schleef  <ds@schleef.org>
10828
10829         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10830         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10831         Windows.
10832
10833 2004-04-15  David Schleef  <ds@schleef.org>
10834
10835         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10836         symbol names to not conflict with new gstinfo.h symbols.
10837         * gst/gstinfo.h: Add inline functions for all those crazy
10838         compilers that don't know how to handle variadic macros (MSVC).
10839
10840 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * configure.ac: bump nano to 1
10843
10844 === release 0.8.1 ===
10845
10846 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10847
10848         * NEWS:
10849         * RELEASE:
10850         * configure.ac:
10851           releasing 0.8.1, "Snow Brigade"
10852
10853 2004-04-14  David Schleef  <ds@schleef.org>
10854
10855         * testsuite/Makefile.am: define tests_ignore
10856         * testsuite/Rules: Added new tests_ignore, which get compiled,
10857         but not run (generally because they're inconsistent or have
10858         heisenbugs).  Now we can ensure all the .c files compile in
10859         testsuite/.
10860         * testsuite/bins/Makefile.am: define tests_ignore
10861         * testsuite/bytestream/Makefile.am:
10862         * testsuite/caps/Makefile.am:
10863         * testsuite/clock/Makefile.am:
10864         * testsuite/debug/Makefile.am:
10865         * testsuite/debug/global.c: (gst_debug_log_one),
10866         (gst_debug_log_two): Fix compilation problem.
10867         * testsuite/dynparams/Makefile.am:
10868         * testsuite/elements/Makefile.am:
10869         * testsuite/ghostpads/Makefile.am:
10870         * testsuite/indexers/Makefile.am:
10871         * testsuite/parse/Makefile.am:
10872         * testsuite/plugin/Makefile.am:
10873         * testsuite/refcounting/Makefile.am:
10874         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10875         results, because it's not calculated correctly.
10876         * testsuite/refcounting/pad.c: (main): same
10877         * testsuite/states/Makefile.am:
10878         * testsuite/tags/Makefile.am:
10879         * testsuite/threads/Makefile.am:
10880
10881 2004-04-14  David Schleef  <ds@schleef.org>
10882
10883         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10884         generating bad code around the cpu detection asm code.
10885
10886 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10887
10888         * tools/gst-inspect.c: (print_element_info):
10889           print numeric version of rank as well, since we added some - 1
10890           rank values to elements
10891
10892 2004-04-13  David Schleef  <ds@schleef.org>
10893
10894         * configure.ac:  Disable various code when compiling for MinGW.
10895         * gst/elements/Makefile.am:
10896         * gst/elements/gstelements.c:
10897         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10898         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10899         * gst/registries/gstxmlregistry.c: (make_dir):
10900
10901 2004-04-13  David Schleef  <ds@schleef.org>
10902
10903         * gst/Makefile.am:
10904         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10905         assembly.
10906         * gst/gstcpuid_i386.s: remove
10907
10908 2004-04-13  David Schleef  <ds@schleef.org>
10909
10910         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10911         seems to think it needs to be done.
10912         * docs/gst/tmpl/gstfakesink.sgml:
10913         * docs/gst/tmpl/gstfakesrc.sgml:
10914         * docs/gst/tmpl/gstfdsink.sgml:
10915         * docs/gst/tmpl/gstfdsrc.sgml:
10916         * docs/gst/tmpl/gstfilesink.sgml:
10917         * docs/gst/tmpl/gstfilesrc.sgml:
10918         * docs/gst/tmpl/gstidentity.sgml:
10919         * docs/gst/tmpl/gstmd5sink.sgml:
10920         * docs/gst/tmpl/gstmultifilesrc.sgml:
10921         * docs/gst/tmpl/gstpipefilter.sgml:
10922         * docs/gst/tmpl/gstshaper.sgml:
10923         * docs/gst/tmpl/gstspider.sgml:
10924         * docs/gst/tmpl/gstspideridentity.sgml:
10925         * docs/gst/tmpl/gststatistics.sgml:
10926         * docs/gst/tmpl/gsttee.sgml:
10927         * docs/gst/tmpl/gsttypefind.sgml:
10928         * docs/gst/tmpl/gstutils.sgml:
10929
10930 2004-04-13  David Schleef  <ds@schleef.org>
10931
10932         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10933         and to build DLLs on Windows.
10934         * gst/Makefile.am:
10935         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10936         (gst_filesrc_open_file):
10937         * gst/schedulers/Makefile.am:
10938
10939 2004-04-13  David Schleef  <ds@schleef.org>
10940
10941         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10942         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10943         fixating lists.
10944
10945 2004-04-12  David Schleef  <ds@schleef.org>
10946
10947         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10948         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10949         to using it.
10950         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10951         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10952         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10953         * gst/gststructure.c: (gst_structure_set_valist),
10954         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10955         support for buffers.
10956         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10957         intended to be const.
10958         * gst/gsttag.h: same
10959         * gst/gstvalue.c: (gst_value_serialize_buffer),
10960         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10961         to (de)serialize buffers.
10962         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10963         * testsuite/caps/string-conversions.c: (main):
10964         * testsuite/caps/value_serialize.c: add new test
10965
10966 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10967
10968         * docs/pwg/advanced-types.xml:
10969           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10970
10971 2004-04-11  Benjamin Otte  <otte@gnome.org>
10972
10973         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10974           rename categories to basic_*
10975         * gst/schedulers/gstbasicscheduler.c: 
10976         (gst_basic_scheduler_chain_wrapper),
10977         (gst_basic_scheduler_chainhandler_proxy),
10978         (gst_basic_scheduler_gethandler_proxy),
10979         (gst_basic_scheduler_eventhandler_proxy):
10980           debugging category fixes - put common stuff in log category
10981         * gst/schedulers/gstbasicscheduler.c: 
10982         (gst_basic_scheduler_chain_elements):
10983           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10984           active and linking two active chains
10985
10986 2004-04-10  Benjamin Otte  <otte@gnome.org>
10987
10988         * docs/pwg/intro-preface.xml:
10989           fix dead links and remove reference to Wiki
10990
10991 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10992
10993         * gst/schedulers/gstbasicscheduler.c:
10994           make sure we can switch back to the main function if we're still in
10995           the main function (supposed to fix #139617)
10996         * gst/schedulers/gthread-cothreads.h:
10997           don't throw an error when switching to the same cothread
10998
10999 2004-04-09  Benjamin Otte  <otte@gnome.org>
11000
11001         * gst/gstbin.c: (gst_bin_get_type):
11002         * gst/gstclock.c: (gst_clock_get_type):
11003         * gst/gstindex.c: (gst_index_get_type):
11004         * gst/gstobject.c: (gst_object_get_type),
11005         (gst_signal_object_get_type):
11006         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
11007         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
11008         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
11009         * gst/gstqueue.c: (gst_queue_get_type):
11010         * gst/gstregistry.c: (gst_registry_get_type):
11011         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11012         * gst/gstthread.c: (gst_thread_get_type):
11013           don't use memchunks for these objects, use malloc instead
11014
11015 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11016
11017         * docs/gst/.cvsignore:
11018         * docs/gst/Makefile.am:
11019         * docs/gst/gstreamer-sections.txt:
11020         * docs/gst/tmpl/gstaggregator.sgml:
11021         * docs/gst/tmpl/gstbuffer.sgml:
11022         * docs/gst/tmpl/gstclock.sgml:
11023         * docs/gst/tmpl/gstelement.sgml:
11024         * docs/gst/tmpl/gstfakesink.sgml:
11025         * docs/gst/tmpl/gstfakesrc.sgml:
11026         * docs/gst/tmpl/gstfdsink.sgml:
11027         * docs/gst/tmpl/gstfdsrc.sgml:
11028         * docs/gst/tmpl/gstfilesink.sgml:
11029         * docs/gst/tmpl/gstfilesrc.sgml:
11030         * docs/gst/tmpl/gstidentity.sgml:
11031         * docs/gst/tmpl/gstindex.sgml:
11032         * docs/gst/tmpl/gstinfo.sgml:
11033         * docs/gst/tmpl/gstmd5sink.sgml:
11034         * docs/gst/tmpl/gstmultifilesrc.sgml:
11035         * docs/gst/tmpl/gstpad.sgml:
11036         * docs/gst/tmpl/gstpipefilter.sgml:
11037         * docs/gst/tmpl/gstpipeline.sgml:
11038         * docs/gst/tmpl/gstpluginfeature.sgml:
11039         * docs/gst/tmpl/gstqueue.sgml:
11040         * docs/gst/tmpl/gstregistry.sgml:
11041         * docs/gst/tmpl/gstscheduler.sgml:
11042         * docs/gst/tmpl/gstshaper.sgml:
11043         * docs/gst/tmpl/gstspider.sgml:
11044         * docs/gst/tmpl/gstspideridentity.sgml:
11045         * docs/gst/tmpl/gststatistics.sgml:
11046         * docs/gst/tmpl/gstsystemclock.sgml:
11047         * docs/gst/tmpl/gsttee.sgml:
11048         * docs/gst/tmpl/gstthread.sgml:
11049         * docs/gst/tmpl/gsttypefind.sgml:
11050         * docs/gst/tmpl/gstutils.sgml:
11051           further doc build fixes
11052
11053 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * docs/gst/Makefile.am:
11056           make docs exit on scanning problems
11057           fix nonsrcdir build issues
11058         * docs/gst/gstreamer-sections.txt:
11059           adding stuff from -unused
11060         * gst/gstqueue.h:
11061           create GstQueueSize
11062         * gst/schedulers/cothreads_compat.h:
11063           fix cothread warnings
11064
11065 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * docs/gst/gstreamer-sections.txt:
11068           remove defines deprecated by Benjamin
11069
11070 2004-04-07  Benjamin Otte  <otte@gnome.org>
11071
11072         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11073           when the buffer is complete, don't check if other buffers are needed
11074         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11075           check that the offset is >0 so we don't try to read before the
11076           beginning of the file
11077         * gst/gstpad.c: (gst_pad_set_pad_template):
11078           sink the template, so we don't end up with 130k pad templates
11079
11080 2004-04-06  Benjamin Otte  <otte@gnome.org>
11081
11082         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11083           don't ref the element, adding already reffed it. And we didn't unref
11084           it later anyway... (huge memleak when you used many spider elements)
11085         * gst/gstelement.c: (gst_element_base_class_finalize):
11086         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11087         (gst_element_register):
11088         * gst/gsturi.c: (gst_element_make_from_uri):
11089           use gst_object_(un)ref instead of g_object(un)ref
11090
11091 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11092
11093         * gst/gstbuffer.h:
11094           remove macro that wouldn't work anymore because struct member has
11095           been removed.
11096         * gst/schedulers/entryscheduler.c: (schedule_forward):
11097           fix segfault for unconnected pads
11098         
11099 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11100
11101         reviewed by David Schleef <ds@schleef.org>
11102
11103         * gst/gstinfo.h:
11104           *_FORMAT modifiers should require putting a % in front of them for
11105           consistency reasons.
11106
11107 2004-04-05  Colin Walters  <walters@redhat.com>
11108
11109         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11110         space.
11111
11112 2004-04-05  Benjamin Otte  <otte@gnome.org>
11113
11114         * configure.ac:
11115         * gst/Makefile.am:
11116         * gst/gst_private.h:
11117         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11118           add support for detecting if GStreamer runs inside valgrind.
11119           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11120           print a big message in valgrind that GStreamer has detected it's
11121           running inside and might now use different code.
11122         * gst/gstmemchunk.c: (populate), (free_area),
11123         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11124         (gst_mem_chunk_free):
11125           flag memchunks for valgrind, so it can detect leaking of chunks.
11126           This allows detecting leaks of GstBuffer and GstEvent correctly
11127           inside valgrind.
11128
11129 2004-04-05  David Schleef  <ds@schleef.org>
11130
11131         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11132           jensgr@gmx.net (Jens Granseuer)
11133
11134 2004-04-05  David Schleef  <ds@schleef.org>
11135
11136         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11137         (gst_buffer_default_free), (gst_buffer_default_copy),
11138         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11139         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11140         structures in one place.
11141
11142 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11143
11144         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11145           (GST_TIME_FORMAT, GST_TIME_ARGS)
11146
11147 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * testsuite/elements/Makefile.am:
11150           disable test until it stops breaking make distcheck
11151
11152 2004-04-05  Johan Dahlin  <johan@gnome.org>
11153
11154         * po/sv.po: Updated translation
11155
11156 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11157
11158         * gst/gstplugin.c: (gst_plugin_load_file):
11159           fix segfault for when original plugin was loaded statically
11160
11161 2004-04-05  Benjamin Otte  <otte@gnome.org>
11162
11163         * testsuite/debug/category.c: (main):
11164         * testsuite/debug/commandline.c: (main):
11165         * testsuite/debug/output.c: (main):
11166           fix tests to work again with debugging enabled
11167
11168 2004-04-05  Benjamin Otte  <otte@gnome.org>
11169
11170         * gst/schedulers/gstbasicscheduler.c:
11171         (gst_basic_scheduler_pad_link):
11172           fix to work with recent scheduling changes
11173
11174 2004-04-05  Benjamin Otte  <otte@gnome.org>
11175
11176         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11177         prepareChangeLog doesn't work when cvs indents):
11178           don't throw an error when no element can be scheduled, there's too
11179           many weird reasons why it doesn't work. Return STOPPED instead.
11180           decoupled elemts' schedulability doesn't depend on bufpens.
11181
11182 2004-04-04  Benjamin Otte  <otte@gnome.org>
11183
11184         * gst/schedulers/gstbasicscheduler.c:
11185         (gst_basic_scheduler_pad_select):
11186           fix uninitialized variable warnings
11187
11188 2004-04-04  Benjamin Otte  <otte@gnome.org>
11189
11190         * gst/gstpad.c: (gst_pad_collect_valist):
11191           fix uninitialized variable warning
11192         * gst/schedulers/entryscheduler.c: (schedule_forward):
11193           fix shadowed variable
11194
11195 2004-04-04  Benjamin Otte  <otte@gnome.org>
11196
11197         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11198         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11199         (gst_pad_select):
11200         * gst/gstpad.h:
11201         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11202         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11203         * gst/gstscheduler.h:
11204           implement gst_pad_collect as replacement for gst_pad_select.
11205           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11206           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11207           new pad_select, lock and unlock calls.
11208         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11209         * gst/cothreads.h:
11210         * gst/schedulers/cothreads_compat.h:
11211         * gst/schedulers/gthread-cothreads.h:
11212           remove unused cothread_lock and cothread_unlock calls
11213         * gst/schedulers/entryscheduler.c:
11214         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11215         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11216         (gst_entry_scheduler_pad_select):
11217           update to new API
11218         * gst/schedulers/gstbasicscheduler.c:
11219         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11220         (gst_basic_scheduler_pad_select):
11221           remove useless lock and unlock calls, update pad_select to new API
11222           (untested)
11223         * gst/schedulers/gstoptimalscheduler.c:
11224         (gst_opt_scheduler_class_init):
11225           remove useless select, lock and unlock function calls
11226         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11227           use gst_pad_collect instead of gst_pad_select
11228
11229 2004-04-04  Benjamin Otte  <otte@gnome.org>
11230
11231         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11232         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11233         (schedule_next_element), (print_entry):
11234           add can_schedule_pad to handle element states.
11235           add schedule_forward to select the correct entry to schedule next
11236
11237 2004-04-03  Benjamin Otte  <otte@gnome.org>
11238
11239         * gst/schedulers/entryscheduler.c: 
11240           remove unused variable, fix error inside Rb, fix compile warning in
11241           unreachable code
11242
11243 2004-04-03  Benjamin Otte  <otte@gnome.org>
11244
11245         * gst/schedulers/entryscheduler.c:
11246           completely revamp the inner workings, so it's a lot easier to
11247           understand and extend
11248
11249 2004-04-03  Andy Wingo  <wingo@pobox.com>
11250
11251         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11252         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11253         This allows better introspection of pipeline topology.
11254         (add_to_chain): Don't do trickery to put loop elements first;
11255         rather, queue a chain sort by marking the chain as dirty.
11256         (remove_from_chain): Mark the chain dirty.
11257         (sort_chain): New function. Sorts the group list so that terminal
11258         sinks are first. This means elements on the sink side will be
11259         preferentially sscheduled before elements on the src side of the
11260         pipeline.
11261         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11262         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11263         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11264         (group_inc_link): Change argument and variable names to match the
11265         new link structure member names (src and sink).
11266         (group_dec_link): Add some description
11267
11268 2004-04-03  Benjamin Otte  <otte@gnome.org>
11269
11270         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11271         * gst/gstinfo.h:
11272         * testsuite/debug/category.c: (main):
11273         * testsuite/debug/commandline.c: (main):
11274         * testsuite/debug/output.c: (main):
11275         * testsuite/debug/printf_extension.c: (main):
11276           fix to successfully build and test with --disable-gst-debug
11277           configure switch (fixes #138705)
11278
11279 2004-04-03  Benjamin Otte  <otte@gnome.org>
11280
11281         * docs/pwg/building-boiler.xml:
11282           add cvs login line and s/anonymous/anoncvs/
11283
11284 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11285
11286         reviewed by Benjamin Otte  <otte@gnome.org>
11287
11288         * gst/gststructure.c: (gst_structure_free):
11289           memleak fix: free fields array (partial fix for #134839)
11290
11291 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11292
11293         * docs/random/ds/0.9-suggested-changes:
11294           Add a note to change handoff use in fakesrc to be usable in
11295           a more generic way (fakesrc should be renamed to appsrc or so).
11296         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11297           Change signal type to scope, so we can fill the buffer in the
11298           handoff handler (that's the whole use of this signal...).
11299
11300 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11301
11302         * docs/pwg/other-ntoone.xml:
11303           Document muxers and n-to-1 elements.
11304
11305 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11306
11307         * gst/registries/gstxmlregistry.c
11308         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11309         determine if a file is a G_MODULE. The old one discards paths
11310         containing "so" somewhere in the middle. My home directory is
11311         called "soto". Go figure...
11312
11313 2004-03-31  David Schleef  <ds@schleef.org>
11314
11315         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11316         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11317         * gst/gstbuffer.h:
11318
11319 2004-03-31  David Schleef  <ds@schleef.org>
11320
11321         * gst/gstvalue.c: (gst_value_union_int_int_range),
11322         (gst_value_union_int_range_int_range), (gst_value_can_union),
11323         (gst_value_union), (_gst_value_initialize):  Add some union
11324         implementations.  We didn't have any previously.
11325         * testsuite/caps/Makefile.am:
11326         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11327         (gst_audioscale_getcaps), (test_caps), (main): A little test
11328         that is the same as the caps manipulation in audioscale.
11329
11330 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11331
11332         * docs/faq/general.xml:
11333           add entry about "does gst support format X?"
11334
11335 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11336
11337         * gst/gstthread.c:
11338           fix docs
11339         * gst/gstutils.h:
11340           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11341
11342 2004-03-30  Benjamin Otte  <otte@gnome.org>
11343
11344         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11345           set the offset of the buffer to the requested offset
11346         * gst/elements/gsttypefind.c: (stop_typefinding):
11347           revert patch 1.18 (which I unfortunately don't know the reason for).
11348           This is needed to allow downstream elements to seek. Otherwise
11349           typefind might overwrite a previous seek by downstream elements.
11350           This lead to errors with id3tag and typefind on some mp3s.
11351         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11352         (gst_entry_scheduler_iterate):
11353           be more verbose when debugging
11354
11355 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11356
11357         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11358           make sure we don't get NULL strings
11359
11360 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11361
11362         * gst/gstcaps.c:
11363         * gst/gstelement.c:
11364         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11365         * gst/gstindex.c: (gst_index_resolver_get_type),
11366         (gst_index_get_type), (gst_index_factory_get_type):
11367         * gst/gstinfo.c:
11368         * gst/gstpad.c:
11369         * gst/gstplugin.c:
11370         * gst/gsturi.c: (gst_uri_handler_get_type):
11371         * gst/gstvalue.c:
11372           first batch of documentation fixes
11373
11374 2004-03-29  David Schleef  <ds@schleef.org>
11375
11376         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11377         * docs/gst/gstreamer-docs.sgml:  More hacking
11378         * docs/gst/gstreamer-sections.txt:
11379         * docs/gst/tmpl/cothreads_compat.sgml:
11380         * docs/gst/tmpl/gstcaps.sgml:
11381         * docs/gst/tmpl/gstclock.sgml:
11382         * docs/gst/tmpl/gstelement.sgml:
11383         * docs/gst/tmpl/gstevent.sgml:
11384         * docs/gst/tmpl/gstpad.sgml:
11385         * docs/gst/tmpl/gstutils.sgml:
11386         * docs/gst/tmpl/gstxml.sgml:
11387         * docs/gst/tmpl/gthread-cothreads.sgml:
11388         * docs/random/ds/0.9-suggested-changes:
11389         * gst/elements/gstfakesink.h: doc fixes
11390         * gst/elements/gstfakesrc.h: doc fixes
11391         * gst/gstcaps.c: doc fixes
11392         * gst/gstcaps.h: doc fixes
11393         * gst/gstelement.c: doc fixes
11394         * gst/gstelement.h: doc fixes
11395         * gst/gstindex.c: doc fixes
11396         * gst/gstinfo.c: doc fixes
11397         * gst/gstpad.c: doc fixes
11398         * gst/gstpad.h: doc fixes
11399         * gst/gstplugin.c: doc fixes
11400         * gst/gsttypefind.h: doc fixes
11401         * gst/gsturi.c: doc fixes
11402         * gst/gstvalue.c: doc fixes
11403
11404 2004-03-29  Colin Walters  <walters@redhat.com>
11405
11406         * gst/registries/gstxmlregistry.c (get_time)
11407         (plugin_times_older_than_recurse):
11408         Use the result of stat to determine whether a path is a file,
11409         so we don't attempt to opendir() files.
11410
11411 2004-03-29  Benjamin Otte  <otte@gnome.org>
11412
11413         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11414           print caps in debugging output when setting caps failed
11415         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11416         (schedule_next_element), (get_buffer), (run_chainhandler),
11417         (element_may_start), (gst_entry_scheduler_chain_handler),
11418         (gst_entry_scheduler_get_handler),
11419         (gst_entry_scheduler_state_transition),
11420         (gst_entry_scheduler_pad_link):
11421           make this scheduler a testcase for mandatory
11422           discont-before-first-buffer which is needed if we want to allow apps
11423           to release the sound device.
11424           add SCHED_ASSERT macro to print scheduler state before an assertion
11425           triggers.
11426
11427 2004-03-29  Benjamin Otte  <otte@gnome.org>
11428
11429         * COPYING:
11430           replace by LGPL (former COPYING.LIB). The core is completely
11431           licensed LGPL.
11432         * COPYING.LIB:
11433           remove
11434
11435 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11436
11437         * po/af.po:
11438         * po/sv.po:
11439           updated Afrikaans and Swedish
11440
11441 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * po/LINGUAS:
11444         * po/az.po:
11445           adding Azerbaijani (Mətin Əmirov)
11446
11447 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11448
11449         * gst/gstelement.h: 
11450         * gst/gstelement.c (gst_element_set_time_delay): New function for
11451         setting element time taking into account a hardware buffering
11452         delay.
11453         (gst_element_set_time): Now just an invocation of
11454         gst_element_set_time_delay.
11455         * gst/gstclock.h: 
11456         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11457         allowing to set event times in the future.
11458         (gst_clock_get_event_time): Now just an invocation of
11459         gst_clock_get_event_time_delay.
11460
11461 2004-03-28  Benjamin Otte  <otte@gnome.org>
11462
11463         * gst/gstbin.c: (gst_bin_set_element_sched),
11464         (gst_bin_unset_element_sched):
11465           don't add decoupled elements to schedulers - otherwise it's
11466           impossible to control if a link to a decoupled element was already
11467           removed from a scheduler or not.
11468         * gst/schedulers/cothreads_compat.h:
11469         * gst/schedulers/gthread-cothreads.h:
11470           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11471           is no "unused" warning.
11472         * gst/schedulers/Makefile.am:
11473         * gst/schedulers/entryscheduler.c:
11474           add new scheduler, based on ideas from talking to David and Martin.
11475           It's supposed to be small and correct. Currently it's also slow (but
11476           it's not noticable)
11477         * examples/retag/retag.c: (main):
11478         * testsuite/bytestream/test1.c: (main):
11479           fix missing NULLs at end of variadic functions
11480         * testsuite/elements/.cvsignore:
11481           update
11482
11483 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11484
11485         * gst/gstevent.h:
11486         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11487
11488 2004-03-25  David Schleef  <ds@schleef.org>
11489
11490         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11491         * docs/gst/tmpl/gstaggregator.sgml:
11492         * docs/gst/tmpl/gstautoplugfactory.sgml:
11493         * docs/gst/tmpl/gstbin.sgml:
11494         * docs/gst/tmpl/gstbuffer.sgml:
11495         * docs/gst/tmpl/gstbufferstore.sgml:
11496         * docs/gst/tmpl/gstfakesink.sgml:
11497         * docs/gst/tmpl/gstfakesrc.sgml:
11498         * docs/gst/tmpl/gstmd5sink.sgml:
11499         * docs/gst/tmpl/gstreamer-unused.sgml:
11500         * docs/gst/tmpl/gstsearchfuncs.sgml:
11501         * docs/gst/tmpl/gstshaper.sgml:
11502         * docs/gst/tmpl/gstspider.sgml:
11503         * docs/gst/tmpl/gsttee.sgml:
11504         * docs/gst/tmpl/gstutils.sgml:
11505         * docs/gst/tmpl/gstvalue.sgml:
11506         * docs/gst/tmpl/gstxml.sgml:
11507         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11508         and we don't support it.
11509         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11510         (gst_use_threads), (gst_has_threads): same
11511         * gst/gstthreaddummy.c: same
11512         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11513         * gst/autoplug/gstspider.h: same
11514         * gst/elements/gstaggregator.h: Remove bogus function from header
11515         * gst/elements/gstfakesink.h: same
11516         * gst/elements/gstfakesrc.h: same
11517         * gst/elements/gstmd5sink.h: same
11518         * gst/elements/gstshaper.h: same
11519         * gst/elements/gsttee.h: same
11520         * gst/gstbin.c: doc fixes
11521         * gst/gstbin.h: Remove unused definition.
11522         * gst/gstbuffer.c: doc fixes
11523         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11524         * gst/gstfilter.c: doc fixes
11525         * gst/gsttag.c: doc fixes
11526         * gst/gstvalue.c: doc fixes
11527
11528 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * docs/pwg/advanced-types.xml:
11531           Document typefinding.
11532         * docs/pwg/other-oneton.xml:
11533           Document one-to-n elements, demuxers and parsers.
11534
11535 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11536
11537         reviewed by: David Schleef  <ds@schleef.org>
11538
11539         * configure.ac: Check bison version (bug #127838)
11540
11541 2004-03-25  David Schleef  <ds@schleef.org>
11542
11543         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11544         * docs/gst/gstreamer-sections.txt:
11545         * docs/gst/tmpl/gstautoplug.sgml:
11546         * docs/gst/tmpl/gststaticautoplug.sgml:
11547         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11548         * docs/gst/tmpl/gstutils.sgml:
11549         * docs/gst/tmpl/gstxml.sgml:
11550
11551 2004-03-24  David Schleef  <ds@schleef.org>
11552
11553         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11554         manual being such complete crap, that I decided to do major
11555         hacking of it.  This checkin replaces any fine tuning that
11556         may have been done previously, with the benefit of actually
11557         being complete for much of the API that was changed since
11558         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11559         * docs/gst/gstreamer-sections.txt:
11560         * docs/gst/tmpl/GstBin.sgml:
11561         * docs/gst/tmpl/GstBuffer.sgml:
11562         * docs/gst/tmpl/GstCaps.sgml:
11563         * docs/gst/tmpl/GstClock.sgml:
11564         * docs/gst/tmpl/GstCompat.sgml:
11565         * docs/gst/tmpl/GstData.sgml:
11566         * docs/gst/tmpl/GstElement.sgml:
11567         * docs/gst/tmpl/GstEvent.sgml:
11568         * docs/gst/tmpl/GstIndex.sgml:
11569         * docs/gst/tmpl/GstStructure.sgml:
11570         * docs/gst/tmpl/GstTag.sgml:
11571         * docs/gst/tmpl/cothreads.sgml:
11572         * docs/gst/tmpl/cothreads_compat.sgml:
11573         * docs/gst/tmpl/gettext.sgml:
11574         * docs/gst/tmpl/grammar.tab.sgml:
11575         * docs/gst/tmpl/gst-i18n-app.sgml:
11576         * docs/gst/tmpl/gst-i18n-lib.sgml:
11577         * docs/gst/tmpl/gst.sgml:
11578         * docs/gst/tmpl/gst_private.sgml:
11579         * docs/gst/tmpl/gstaggregator.sgml:
11580         * docs/gst/tmpl/gstarch.sgml:
11581         * docs/gst/tmpl/gstatomic.sgml:
11582         * docs/gst/tmpl/gstatomic_impl.sgml:
11583         * docs/gst/tmpl/gstbin.sgml:
11584         * docs/gst/tmpl/gstbuffer.sgml:
11585         * docs/gst/tmpl/gstbufferstore.sgml:
11586         * docs/gst/tmpl/gstcaps.sgml:
11587         * docs/gst/tmpl/gstclock.sgml:
11588         * docs/gst/tmpl/gstcompat.sgml:
11589         * docs/gst/tmpl/gstconfig.sgml:
11590         * docs/gst/tmpl/gstcpu.sgml:
11591         * docs/gst/tmpl/gstdata.sgml:
11592         * docs/gst/tmpl/gstdata_private.sgml:
11593         * docs/gst/tmpl/gstelement.sgml:
11594         * docs/gst/tmpl/gstenumtypes.sgml:
11595         * docs/gst/tmpl/gsterror.sgml:
11596         * docs/gst/tmpl/gstevent.sgml:
11597         * docs/gst/tmpl/gstfakesink.sgml:
11598         * docs/gst/tmpl/gstfakesrc.sgml:
11599         * docs/gst/tmpl/gstfilesink.sgml:
11600         * docs/gst/tmpl/gstfilter.sgml:
11601         * docs/gst/tmpl/gstindex.sgml:
11602         * docs/gst/tmpl/gstinfo.sgml:
11603         * docs/gst/tmpl/gstinterface.sgml:
11604         * docs/gst/tmpl/gstlog.sgml:
11605         * docs/gst/tmpl/gstmacros.sgml:
11606         * docs/gst/tmpl/gstmarshal.sgml:
11607         * docs/gst/tmpl/gstmd5sink.sgml:
11608         * docs/gst/tmpl/gstmultifilesrc.sgml:
11609         * docs/gst/tmpl/gstobject.sgml:
11610         * docs/gst/tmpl/gstpad.sgml:
11611         * docs/gst/tmpl/gstparse.sgml:
11612         * docs/gst/tmpl/gstpipeline.sgml:
11613         * docs/gst/tmpl/gstplugin.sgml:
11614         * docs/gst/tmpl/gstpluginfeature.sgml:
11615         * docs/gst/tmpl/gstqueue.sgml:
11616         * docs/gst/tmpl/gstreamer-unused.sgml:
11617         * docs/gst/tmpl/gstregistry.sgml:
11618         * docs/gst/tmpl/gstregistrypool.sgml:
11619         * docs/gst/tmpl/gstscheduler.sgml:
11620         * docs/gst/tmpl/gstsearchfuncs.sgml:
11621         * docs/gst/tmpl/gstshaper.sgml:
11622         * docs/gst/tmpl/gstspider.sgml:
11623         * docs/gst/tmpl/gstspideridentity.sgml:
11624         * docs/gst/tmpl/gststructure.sgml:
11625         * docs/gst/tmpl/gstsystemclock.sgml:
11626         * docs/gst/tmpl/gsttag.sgml:
11627         * docs/gst/tmpl/gsttaginterface.sgml:
11628         * docs/gst/tmpl/gsttee.sgml:
11629         * docs/gst/tmpl/gstthread.sgml:
11630         * docs/gst/tmpl/gsttrace.sgml:
11631         * docs/gst/tmpl/gsttrashstack.sgml:
11632         * docs/gst/tmpl/gsttypefind.sgml:
11633         * docs/gst/tmpl/gsttypes.sgml:
11634         * docs/gst/tmpl/gsturi.sgml:
11635         * docs/gst/tmpl/gsturitype.sgml:
11636         * docs/gst/tmpl/gstutils.sgml:
11637         * docs/gst/tmpl/gstvalue.sgml:
11638         * docs/gst/tmpl/gstversion.sgml:
11639         * docs/gst/tmpl/gstxml.sgml:
11640         * docs/gst/tmpl/gstxmlregistry.sgml:
11641         * docs/gst/tmpl/gthread-cothreads.sgml:
11642         * docs/gst/tmpl/types.sgml:
11643
11644 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11645
11646         * docs/pwg/other-sink.xml:
11647         * docs/pwg/other-source.xml:
11648           Documentation on how to write source and sink elements. Other
11649           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11650           manager, autoplugger) are all still pending.
11651
11652 2004-03-25  Benjamin Otte  <otte@gnome.org>
11653
11654         * testsuite/elements/Makefile.am:
11655         * testsuite/elements/gst-compprep-check:
11656           add check to make sure gst-compprep works
11657         * testsuite/elements/gst-inspect-check.in:
11658           improve initialization output
11659         * testsuite/Makefile.am:
11660         * testsuite/gst-inspect-check:
11661           remove old file
11662
11663 2004-03-24  David Schleef  <ds@schleef.org>
11664
11665         * testsuite/elements/Makefile.am:
11666         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11667         to the testsuite.
11668
11669 2004-03-24  Benjamin Otte  <otte@gnome.org>
11670
11671         * libs/gst/control/dparam.c: (gst_dparam_attach),
11672         (gst_dparam_detach):
11673         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11674           fix lvalue casts for real
11675
11676 2004-03-24  Benjamin Otte  <otte@gnome.org>
11677
11678         * gst/schedulers/gstbasicscheduler.c:
11679         (gst_basic_scheduler_src_wrapper):
11680         * gst/schedulers/gstoptimalscheduler.c:
11681         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11682         (pad_clear_queued), (gst_opt_scheduler_add_element),
11683         (gst_opt_scheduler_remove_element):
11684           fix GStreamer to not have issues with lvalue casts anymore (fixes
11685           #136841)
11686
11687 2004-03-24  Benjamin Otte  <otte@gnome.org>
11688
11689         * gst/gstelement.c:
11690           add documentation about a gobject quirk where the object hasn't the
11691           correct class pointer set on initialization
11692         * gst/schedulers/gstbasicscheduler.c:
11693         (gst_basic_scheduler_src_wrapper):
11694           make sure to not run into an infinite loop
11695
11696 2004-03-22  Benjamin Otte  <otte@gnome.org>
11697
11698         * gst/gstutils.c: (gst_util_dump_mem):
11699         * gst/gstutils.h:
11700           first argument of gst_util_dump_mem should be const
11701
11702 2004-03-22  Johan Dahlin  <johan@gnome.org>
11703
11704         * gst/gstvalue.h: Clean up a little bit.
11705
11706 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11707
11708         reviewed by Benjamin Otte  <otte@gnome.org>
11709
11710         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11711         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11712         (gst_aggregator_class_init), (gst_aggregator_init):
11713         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11714         (gst_filesrc_dispose), (gst_filesrc_set_location):
11715         * gst/elements/gstidentity.c: (gst_identity_finalize),
11716         (gst_identity_class_init), (gst_identity_chain):
11717         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11718         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11719         (gst_statistics_class_init):
11720         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11721         (gst_tee_get_property):
11722           clean up used memory in this elements correctly on teardown (closes
11723           #137279)
11724
11725 2004-03-20  Colin Walters  <walters@redhat.com>
11726
11727         * gst/registries/gstxmlregistry.c:
11728         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11729         registry saving atomic.
11730
11731 2004-03-20  Colin Walters  <walters@redhat.com>
11732
11733         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11734         Just use
11735         access() instead of actually creating and deleting files.
11736
11737 2004-03-18  David Schleef  <ds@schleef.org>
11738
11739         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11740         (bug #137625)
11741
11742 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11743
11744         * po/sv.po: updated translation (Christian Rose)
11745
11746 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11747
11748         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11749         (gst_filesink_get_query_types), (_do_init),
11750         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11751           return FALSE silently
11752         * po/af.po: updated translation (Petri Jooste)
11753
11754 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11755
11756         * Makefile.am:
11757         * configure.ac:
11758           dist common properly
11759         * po/af.po:
11760         * po/fr.po:
11761         * po/nl.po:
11762         * po/sr.po:
11763         * po/sv.po:
11764           refreshing translations
11765
11766 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11767
11768         * po/LINGUAS:
11769         * po/sv.po:
11770         * po/af.po:
11771           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11772
11773 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11774
11775         * Makefile.am: use common/release.mak
11776
11777 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * docs/faq/gst-uninstalled:
11780           adding gst-monkeysaudio to the list of possible plugin dirs
11781
11782 2004-03-16  David Schleef  <ds@schleef.org>
11783
11784         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11785         (gst_init_check_with_popt_table):  Fix some gettext strings to
11786         make them easier to translate.  Required making the strings
11787         non-const.
11788
11789 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11790
11791         * configure.ac: bump nano to 1
11792
11793 === release 0.8.0 ===
11794
11795 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11796
11797         * configure.ac: release 0.8.0, "Executive Slacks"
11798
11799 2004-03-16  Johan Dahlin  <johan@gnome.org>
11800
11801         * gst/schedulers/gstoptimalscheduler.c
11802         (gst_opt_scheduler_pad_unlink): Remove double ;,
11803         spotted by Scott Wheeler
11804
11805 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11806
11807         * configure.ac: bump libtool version
11808
11809 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11810
11811         * gst/gstcaps.h:
11812         * gst/gststructure.h:
11813           add reserved padding
11814
11815 2004-03-15  Benjamin Otte  <otte@gnome.org>
11816
11817         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11818           set the first parameter for select call correctly.
11819           (fixes #137230)
11820
11821 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11822
11823         * *.c,*.h: don't mix tabs and spaces
11824
11825 2004-03-15  Johan Dahlin  <johan@gnome.org>
11826
11827         * gst/schedulers/gstoptimalscheduler.c
11828         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11829         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11830
11831         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11832         
11833 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11834
11835         * testsuite/Rules:
11836           fix gst-register rules
11837
11838 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11839
11840         * testsuite/Rules:
11841           use versioned gst-register
11842
11843 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11844
11845         * docs/libs/gstreamer-libs-sections.txt:
11846           remove </SUBSECTION>
11847         * gst/gstplugin.c:
11848         * gst/gstregistry.c: (gst_registry_add_plugin):
11849         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11850         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11851           add debugging and fix some comment blocks
11852
11853 2004-03-15  Johan Dahlin  <johan@gnome.org>
11854
11855         * *.h: Revert indent changes.
11856         
11857 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11860           g_error_free the g_error
11861         * tools/gst-feedback-m.m:
11862           check for other versions of gstreamer
11863         * tools/gst-indent:
11864           use sh, not bash
11865
11866 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11867
11868         * tools/gst-register.c: do not spill paths when registries are not
11869           writable, until we fix the "user running gst-register" case.
11870
11871 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11872
11873         * *.c, *.h: commit of gst-indent run on core
11874
11875 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * tools/gst-indent:
11878         * tools/Makefile.am:
11879           add our indentation style as a script
11880
11881 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11882
11883         * po/sr.po:
11884         * po/LINGUAS:
11885           added Serbian translation
11886
11887 2004-03-13  Benjamin Otte  <otte@gnome.org>
11888
11889         * gst/gstelement.c:
11890           add documentation note about gst_element_found_tags_for_pad not
11891           being usable in getfunctions. (see #137042)
11892
11893 2004-03-12  David Schleef  <ds@schleef.org>
11894
11895         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11896         change API right now!  Readd gst_caps_is_simple() macro.
11897         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11898         uninitialized variable.  I'd bet this caused crashes.
11899         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11900
11901 2004-03-12  Johan Dahlin  <johan@gnome.org>
11902
11903         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11904         * gst/gstcaps.h: Clean up
11905
11906         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11907         _gst_caps_initalize()
11908
11909         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11910         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11911
11912         * gst/gststructure.c (gst_structure_get_type): Ditto
11913
11914         * gst/gststructure.h: Ditto
11915         
11916 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11917
11918         * gst/gstqueue.c: (gst_queue_init):
11919           Reset default max. values in queues. Reason is simply to avoid
11920           braindead use. If you want wider values, use the properties. The
11921           default is supposed to always work. Wider values would make this
11922           beast a memory hog by default (250 full-PAL RGB32 video frames?
11923           That's 440 MB! No thank you).
11924
11925 2004-03-10  David Schleef  <ds@schleef.org>
11926
11927         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11928         were found.  (bug #136793)
11929
11930 2004-03-10  Johan Dahlin  <johan@gnome.org>
11931
11932         * gst/schedulers/gstoptimalscheduler.c
11933         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11934         links to elements within the same group, so we can finally remove
11935         that annoying warning. Refactor the code a little bit
11936         (group_dec_links_for_element): Split out
11937
11938 2004-03-09  David Schleef  <ds@schleef.org>
11939
11940         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11941         (bug #134863)
11942
11943 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11944
11945         * configure.ac: first bug fix due to major/minor bump
11946
11947 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11948
11949         * configure.ac: bump nano to 1
11950
11951 === release 0.7.6 ===
11952
11953 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11954
11955         * NEWS:
11956         * RELEASE:
11957         * configure.ac:
11958           releasing 0.7.6, "Almost"
11959         * po/fr.po:
11960         * po/nl.po:
11961         * tools/Makefile.am:
11962         * tools/gst-feedback-m.m:
11963           unversioned source
11964
11965 2004-03-09  Johan Dahlin  <johan@gnome.org>
11966
11967         Reviewed by: Thomas Vander Stichele
11968
11969         * gst/gstelement.c (gst_element_class_init): register second
11970         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11971         language bindings can (de)marshall correctly.
11972
11973         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11974
11975         * gst/gsterror.c (gst_g_error_get_type): New function
11976
11977         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11978         with VOID:OBJECT,OBJECT,STRING 
11979
11980 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11981
11982         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11983         Free a leaked g_timer on early returns.
11984
11985 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11986
11987         * docs/pwg/advanced-types.xml:
11988           Add cinepak description.
11989
11990 2004-03-07  David Schleef  <ds@schleef.org>
11991
11992         * docs/random/mimetypes:  Added cinepak description
11993
11994 2004-03-07  Andy Wingo  <wingo@pobox.com>
11995
11996         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11997
11998         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11999         there are no links to other groups when a group is destroyed.
12000         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
12001         removed from a group, make sure the link count to elements linked
12002         to other pads is appropriately decremented. This really fixes
12003         #135672.
12004
12005         The 1.60->1.61 patch has been reapplied in light of this fix.
12006
12007         * gst/gstelement.c (gst_element_dispose): Really protect against
12008         multiple invocations this time.
12009
12010 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * docs/gst/gstreamer-sections.txt:
12013         * docs/gst/tmpl/gsttag.sgml:
12014           remove some deprecated functions, document some existing ones
12015         * gst/gsttag.c: (gst_tag_get_flag):
12016         * gst/gsttag.h:
12017           add accessor function
12018
12019 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12020
12021         * docs/gst/gstreamer-sections.txt:
12022         * docs/gst/tmpl/gsttag.sgml:
12023         * docs/gst/tmpl/gstxml.sgml:
12024         * gst/gsttag.c: (gst_tag_get_flag):
12025         * gst/gsttag.h:
12026
12027 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12028
12029         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12030         leak
12031
12032 2004-03-05  David Schleef  <ds@schleef.org>
12033
12034         * REQUIREMENTS: Add bison and flex.
12035         * configure.ac: Fix comment about bison.
12036         * docs/random/ds/0.9-suggested-changes: yer ma
12037         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12038
12039 2004-03-05  Benjamin Otte  <otte@gnome.org>
12040
12041         * gst/gstelement.c: (gst_element_error_full):
12042           revert recent recursive state changing commit - messing with other
12043           elements' states is evil and should be done by apps only.
12044
12045 2004-03-05  Benjamin Otte  <otte@gnome.org>
12046
12047         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12048           check for empty intersection instead of NULL caps
12049         (gst_element_get_compatible_pad_filtered):
12050           remove old workaround that is only a bug nowadays
12051
12052 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12053
12054         * gst/gstelement.c: (gst_element_error_full):
12055           make elements try to recursively change state to PAUSED on all
12056           parents after an error to suppress ensuing warnings
12057         * gst/parse/grammar.y:
12058           make it check if it was able to sync the state, and throw an error
12059           if not, so stuff like
12060           oggdemux ! vorbisdec ! osssink gets caught
12061
12062 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12063
12064         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12065           it contains lib64; use AS_AC_EXPAND to handle it properly
12066
12067 2004-03-05  David Schleef  <ds@schleef.org>
12068
12069         * gst/gstcpuid_i386.s:  Remove unused code
12070         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12071         (gst_getbits_newbuf): Remove MMX code
12072         * libs/gst/getbits/getbits.h: Remove MMX code
12073
12074 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12075
12076         * debian/.cvsignore:
12077         * debian/README.Debian:
12078         * debian/changelog:
12079         * debian/control:
12080         * debian/control.in:
12081         * debian/copyright:
12082         * debian/gstreamer-core-libs-dev.files:
12083         * debian/gstreamer-core-libs.files:
12084         * debian/gstreamer-core.files:
12085         * debian/gstreamer-core.postinst:
12086         * debian/gstreamer-core.postrm:
12087         * debian/gstreamer-doc.files:
12088         * debian/gstreamer-doc.links:
12089         * debian/gstreamer-doc.lintian:
12090         * debian/gstreamer-runtime.files:
12091         * debian/gstreamer-runtime.manpages:
12092         * debian/gstreamer-runtime.postinst:
12093         * debian/gstreamer-runtime.postrm:
12094         * debian/gstreamer-tools.files:
12095         * debian/gstreamer-tools.manpages:
12096         * debian/libgstreamer-dev.files:
12097         * debian/libgstreamer0.4.1.files:
12098         * debian/libgstreamerVERSION.files:
12099         * debian/rules:
12100         Debian package info not maintained here.
12101
12102 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12103
12104         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12105         * gst/gstbin.c: (gst_bin_class_init):
12106         * gst/gstelement.c: (gst_element_class_init):
12107         * gst/gstindex.c: (gst_index_class_init):
12108         * gst/gstobject.c: (gst_object_class_init),
12109         (gst_signal_object_class_init):
12110         * gst/gstpad.c: (gst_pad_template_class_init):
12111         * gst/gstregistry.c: (gst_registry_class_init):
12112         * gst/gsturi.c: (gst_uri_handler_base_init):
12113         * gst/gstxml.c: (gst_xml_class_init):
12114         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12115         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12116           make all signal names use dashes instead of underscore
12117
12118 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12119
12120         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12121
12122 2004-03-03  Benjamin Otte  <otte@gnome.org>
12123
12124         * gst/schedulers/gstoptimalscheduler.c:
12125           revert last commit by Andy Wingo. It causes segfaults on unreffing
12126           in Rhythmbox. (see bug #135672)
12127
12128 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12129
12130         * po/fr.po: fix typo
12131
12132 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12133
12134         * tools/gst-inspect.c: (main): 
12135         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12136
12137 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12138
12139         * configure.ac:
12140           get GLIB_ONLY and POPT flags for the nonversioned binaries
12141         * tools/Makefile.am:
12142           use them
12143
12144 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12145
12146         * gst/gst.c: (init_post):
12147           change so that GST_REGISTRY now is where the global registry gets
12148           saved, since that is where plugins now get attached to first, and
12149           spilled over to the user registry.  Note that in the case of using
12150           GST_REGISTRY env var, we don't want to affect any real registries
12151           beyond the one given by this var, and thus we don't set a user
12152           registry to spill to.  So make sure GST_REGISTRY is writable.
12153
12154 2004-03-01  David Schleef  <ds@schleef.org>
12155
12156         * AUTHORS:  Added some names.  Add yourself if you're missing.
12157
12158 2004-03-01  David Schleef  <ds@schleef.org>
12159
12160         * MAINTAINERS: Add
12161
12162 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12163
12164         * configure.ac:
12165           remove whitespace
12166         * docs/gst/tmpl/gstbuffer.sgml:
12167         * docs/gst/tmpl/gstdata.sgml:
12168         * docs/gst/tmpl/gstreamer-unused.sgml:
12169         * docs/gst/tmpl/gstxml.sgml:
12170           doc update
12171         * docs/manuals.mak:
12172           add a FIXME
12173         * docs/pwg/intro-preface.xml:
12174         * docs/pwg/pwg.xml:
12175           remove GNOME
12176         * gst/gst.c: (init_post):
12177           try GST_PLUGIN_PATH paths for the _global_registry first
12178         * gst/gstelement.h:
12179           add the error message as well, otherwise (null) debug info doesn't
12180           make much sense
12181         * tools/gst-register.c: (main):
12182           spill paths to next registry if this registry is not writable
12183         * po/fr.po:
12184         * po/nl.po:
12185           translation updates
12186
12187 2004-03-01  Johan Dahlin  <johan@gnome.org>
12188
12189         * gst/gstbuffer.c (_gst_buffer_initialize): 
12190         * gst/gstdata.c (gst_data_get_type): 
12191         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12192         instead of ref, since some applications that uses GBoxed
12193         routines depends on a function that actually returns a copy.
12194
12195 2004-02-27  Benjamin Otte  <otte@gnome.org>
12196
12197         * gst/gstbuffer.h:
12198           remove gst_buffer_free, use gst_data_unref
12199         * gst/gstdata.c: (gst_data_get_type):
12200           use refcounting in GstData GBoxed registration
12201         * gst/gstdata.h:
12202           remove gst_data_free, use gst_data_unref
12203
12204 2004-02-27  Johan Dahlin  <johan@gnome.org>
12205
12206         * gst/gstdata.c (gst_data_get_type): New function, register
12207         GstData as a GBoxed type.
12208
12209         * gst/gstdata.h (GST_TYPE_DATA): New macro
12210
12211 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12212
12213         * Makefile.am:
12214         * gstreamer.spec.in:
12215           put back RELEASE
12216         * gst/Makefile.am:
12217           clean up non-disting of built files
12218         * testsuite/debug/commandline.c:
12219           test fix for option rename
12220
12221 2004-02-26  David Schleef  <ds@schleef.org>
12222
12223         * configure.ac:  We don't really need glib-2.3.  Also remove
12224         some unneeded checks for library functions.
12225         * gst/Makefile.am:  Instead, we need to not dist files created
12226         by glib-genmarshal.
12227
12228 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12229
12230         * configure.ac:
12231           bump glib required version to 2.3.0 for g_value_takes_boxed
12232
12233  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12234
12235         * common/m4/gst-docs.m4
12236         change flavour text from enable to disable as enable is our default
12237         closes bug Bug 135304
12238
12239 === release 0.7.5 ===
12240  
12241  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12242  
12243         * NEWS:
12244           instate NEWS file
12245         * Makefile.am:
12246         * gstreamer.spec.in:
12247         * RELEASE:
12248           put back release
12249         * configure.ac:
12250         * docs/random/release:
12251           more updates
12252
12253 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12254
12255         * gst/gsttag.c: (_gst_tag_initialize):
12256         * po/fr.po:
12257         * po/nl.po:
12258           remove hyphen from codec tags
12259
12260 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12261
12262         * gst/parse/Makefile.am:
12263           fix dependency so that a make from a clean build works the first
12264           time
12265
12266 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12267
12268         * docs/random/release:
12269           update release strategy
12270         * po/fr.po:
12271           auto-update po file
12272         * po/nl.po:
12273           update dutch translation
12274
12275 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12276
12277         * docs/manual/debugging.xml:
12278         fix manual for new debugging system
12279
12280 2004-02-25  Andy Wingo  <wingo@pobox.com>
12281
12282         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12283         gst_pad_link_prepare. Please email the list with specific reasons
12284         for reverting.
12285
12286 2004-02-24  Andy Wingo  <wingo@pobox.com>
12287
12288         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12289         invocations.
12290
12291         * gst/schedulers/gstoptimalscheduler.c:
12292         I added a mess of prototypes at the top of the file by way of
12293         documentation. Some of the operations on chains and groups were
12294         re-organized.
12295
12296         (create_group): Added a type argument so if the group is enabled,
12297         the setup_group_scheduler knows what to do.
12298         (group_elements): Added a type argument here, too, to be passed on
12299         to create_group.
12300         (group_element_set_enabled): If an unlinked PLAYING element is
12301         added to a bin, we have to create a new group to hold the element,
12302         and this function will be called before the group is added to the
12303         chain. Thus we have a valid case for group->chain==NULL. Instead
12304         of calling chain_group_set_enabled, just set the flag on the group
12305         (the chain's status will be set when the group is added to it).
12306         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12307         Setup the group scheduler when the group is enabled, not
12308         specifically when an element goes PAUSED->PLAYING. This means
12309         PLAYING elements can be added, linked, and scheduled into a
12310         PLAYING pipeline, as was intended.
12311         (add_to_group): Don't ref the group twice. I don't know when this
12312         double-ref got in here. Removing it has the potential to cause
12313         segfaults if other parts of the scheduler are buggy. If you find
12314         that the scheduler is segfaulting for you, put in an extra ref
12315         here and see if that hacks over the underlying issue. Of course,
12316         then find out what code is unreffing a group it doesn't own...
12317         (create_group): Make the extra refcount floating, and remove it
12318         after adding the element. This means that...
12319         (unref_group): Destroy when the refcount reaches 0, not 1, like
12320         every other refcounted object in the known universe.
12321         (remove_from_group): When a group becomes empty, set it to be not
12322         active, and remove it from its chain. Don't unref it again,
12323         there's no floating reference any more.
12324         (destroy_group): We have to remove the group from the chain in
12325         remove_from_group (rather than here) to break refcounting cycles
12326         (the chain always has a ref on the group). So assert that
12327         group->chain==NULL.
12328         (ref_group_by_count): Removed, it was commented out anyway.
12329         (merge_chains): Use the remove_from_chain and add_to_chain
12330         primitives to do the reparenting, instead of rolling our own
12331         implementation.
12332         (add_to_chain): The first non-disabled group in the chain's group
12333         list will be the entry point for the chain. Because buffers can
12334         accumulate in loop elements' peer bufpens, we preferentially
12335         schedule loop groups before get groups to avoid unnecessary
12336         execution of get-based groups when the bufpens are already full.
12337         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12338         (get_group_schedule_function): Ditto.
12339         (loop_group_schedule_function): Ditto.
12340         (gst_opt_scheduler_loop_wrapper): Ditto.
12341         (gst_opt_scheduler_iterate): Ditto.
12342
12343         I understand the opt scheduler now, yippee!
12344
12345         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12346         (gst_pad_get_name, gst_pad_set_chain_function) 
12347         (gst_pad_set_get_function, gst_pad_set_event_function) 
12348         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12349         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12350         (gst_pad_set_query_function, gst_pad_get_query_types) 
12351         (gst_pad_get_query_types_default) 
12352         (gst_pad_set_internal_link_function) 
12353         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12354         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12355         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12356         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12357         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12358         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12359         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12360         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12361         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12362         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12363         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12364         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12365         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12366         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12367         argument checks, and some doc fixes.
12368
12369         (gst_pad_custom_new_from_template): Um, does anyone
12370         use these functions? Actually make a custom pad instead of a
12371         normal one.
12372         (gst_pad_try_set_caps): Transpose some checks.
12373         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12374         the pad is in negotiation.
12375         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12376         
12377         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12378
12379         * gst/gstelement.h: 
12380         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12381         on the list.
12382
12383 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12384
12385         * gst/gstbin.c: (gst_bin_add):
12386           add error for not being able to add elements
12387
12388 2004-02-22  Julien MOUTTE <julien@moutte.net>
12389
12390         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12391         audio-codec and video-codec.
12392
12393 2004-02-22  Benjamin Otte  <otte@gnome.org>
12394
12395         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12396
12397         * autogen.sh:
12398           replace test -e with test -x for mkinstalldirs to be more portable.
12399           (fixes #134816)
12400
12401 2004-02-22  Benjamin Otte  <otte@gnome.org>
12402
12403         * gst/gstpad.c:
12404           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12405           too noisy
12406         * gst/gsttag.c: (_gst_tag_initialize):
12407         * gst/gsttag.h:
12408           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12409         * libs/gst/control/dparam.c: (gst_dparam_attach):
12410         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12411           check that types for attached dparams match
12412
12413 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12414
12415         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12416         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12417         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12418           fix errors
12419
12420 2004-02-20  Andy Wingo  <wingo@pobox.com>
12421
12422         * gst/gstbin.c:
12423         * gst/gstbuffer.c:
12424         * gst/gstplugin.c:
12425         * gst/registries/gstxmlregistry.c: 
12426         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12427
12428         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12429         (gst_element_add_pad): DEBUG->INFO, some fixes.
12430         (gst_element_get_compatible_pad_template): Just see if the
12431         templates' caps intersect, not if one is a strict subset of the
12432         other. This conforms more to what gst_pad_link_intersect() does.
12433         (gst_element_class_add_pad_template): Don't memcpy the pad
12434         template, just ref it.
12435         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12436
12437         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12438         (gst_pad_link_filtered): Debug changes.
12439         (gst_pad_link_prepare): New function, consolidated from
12440         can_link_filtered and link_filtered.
12441
12442         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12443         look more like that of the functions in gstelement.c
12444
12445         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12446         object, and return the empty string if object is NULL.
12447
12448         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12449         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12450         LOG, not DEBUG. We still get flex info on debug.
12451
12452         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12453         debug string more verbose.
12454         (plugin_times_older_than): DEBUG->LOG.
12455
12456 2004-02-20  Julien MOUTTE <julien@moutte.net>
12457
12458         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12459         will emit found_tag for each stream they demux with the codec.
12460
12461 2004-02-20  Benjamin Otte  <otte@gnome.org>
12462
12463         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12464           copy navigation event correctly. Check freeing tag lists. 
12465         * gst/gstthread.c: (gst_thread_change_state):
12466           don't abort() on state changing mess - it might happen because of
12467           bugs.
12468         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12469           use boxed functions
12470         * gst/gstvalue.h:
12471           fix GST_VALUE_HOLDS_CAPS
12472
12473 2004-02-19  David Schleef  <ds@schleef.org>
12474
12475         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12476         and use it for GST_FUNCTION.  (bug #134750)
12477
12478 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * po/fr.po:
12481         * po/nl.po:
12482           updating translations
12483
12484 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12485
12486         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12487
12488 2004-02-18  kost@imn.htwk-leipzig.de
12489
12490         reviewed by: David Schleef  <ds@schleef.org>
12491
12492         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12493         for libgstcontrol.
12494
12495 2004-02-18  David Schleef  <ds@schleef.org>
12496
12497         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12498         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12499         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12500         * tools/gst-inspect.c: (print_element_info): Support dumping of
12501         double dparam information.
12502
12503 2004-02-17  David Schleef  <ds@schleef.org>
12504
12505         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12506         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12507         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12508         Use GST_TYPE_CAPS in signal prototype.
12509         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12510         Convert GST_TYPE_CAPS to boxed.
12511         * gst/gstelement.c: (gst_element_class_init):
12512         Use GST_TYPE_TAG_LIST in signal prototype.
12513         * gst/gstindex.c: (gst_index_class_init):
12514         * gst/gstindex.h:
12515         Add GST_TYPE_INDEX_ENTRY type.
12516         * gst/gstmarshal.list:
12517         Add necessary marshal types.
12518         * gst/gstpad.c: (gst_real_pad_class_init),
12519         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12520         (gst_pad_recover_caps_error):
12521         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12522         * gst/gststructure.c: (_gst_structure_initialize),
12523         (gst_structure_copy), (_gst_structure_copy_conditional):
12524         * gst/gststructure.h:
12525         Convert GST_TYPE_STRUCTURE to boxed.
12526         * gst/gsttag.c: (gst_tag_list_get_type):
12527         * gst/gsttag.h:
12528         Add GST_TYPE_TAG_LIST type.
12529
12530 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12531
12532         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12533         to what we agreed with david.
12534         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12535
12536 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12537
12538         * po/nl.po: update translation
12539
12540 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12541
12542         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12543           throw an error if spider is trying to play a mime type there is
12544           no decoder for
12545         * po/POTFILES.in:
12546           add gst/autoplug/gstspider.c for translation
12547
12548 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12549
12550         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12551         silently when the pad is negotiating.
12552
12553 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12554
12555         * docs/faq/Makefile.am:
12556           add script to run gstreamer uninstalled 
12557         * docs/faq/faq.xml:
12558         * docs/faq/developing.xml:
12559         * docs/faq/gst-uninstalled:
12560           extract script to run gstreamer uninstalled
12561         * docs/manuals.mak:
12562           add EXTRA_SOURCES variable for Makefile.am's to set to
12563           use additional SOURCE files for the doc build
12564
12565 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12566
12567         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12568
12569 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12570
12571         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12572         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12573         an error was thrown by osssink. Basically a state change failure for
12574         an element in a different scheduling group was considered as
12575         successful, which means that caps nego was going on and weird stuff
12576         happened. Like I wrote in the comment there, if someone wants to
12577         revert that please drop me a mail explaining why because I really see
12578         no point in keeping that broken behaviour there.
12579         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12580         be empty, we then return NULL which will trigger a nice error when 
12581         pulling from the pad.
12582
12583 2004-02-13  David Schleef  <ds@schleef.org>
12584
12585         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12586         (gst_dparam_get_property), (gst_dparam_set_property),
12587         (gst_dparam_do_update_default):
12588         * libs/gst/control/dparam.h:
12589         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12590         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12591         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12592         (gst_dpsmooth_do_update_double):
12593         * libs/gst/control/dparam_smooth.h:
12594         * libs/gst/control/dparammanager.c:
12595         (gst_dpman_inline_direct_update):
12596         Add support for double dparams.
12597
12598 2004-02-13  David Schleef  <ds@schleef.org>
12599
12600         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12601         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12602
12603 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12604
12605         reviewed by: David Schleef  <ds@schleef.org>
12606
12607         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12608         (gst_fdsrc_init), (gst_fdsrc_set_property),
12609         (gst_fdsrc_get_property), (gst_fdsrc_get):
12610         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12611         and sends an EOS event if file descriptor reading times out.
12612
12613 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12614
12615         * configure.ac:
12616           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12617
12618 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12619
12620         * configure.ac: pass required libxml version as argument
12621         (bug reported by Christophe Fergeau)
12622
12623 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12624   
12625         * docs/gst/gstreamer-docs.sgml:
12626         * docs/gst/tmpl/gstxml.sgml:
12627         * docs/libs/gstreamer-libs-docs.sgml:
12628           version API docs
12629
12630 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12631
12632         * gst/gstinfo.c:
12633         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12634         (gst_registry_pool_feature_filter):
12635         * gst/gstthread.c: (gst_thread_class_init):
12636         * gst/gstvalue.c:
12637           add includes exposed by building without libxml
12638         * gst/indexers/Makefile.am:
12639           do not build fileindex when LOADSAVE disabled; we should have
12640           a better libxml check later since fileindex depends on xml, not
12641           LOADSAVE or REGISTRY
12642         * libs/gst/control/Makefile.am:
12643           link with m
12644         * tools/Makefile.am:
12645           fix wrong source code for gst-xmlinspect
12646
12647 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12648
12649         * configure.ac:
12650           fix gcov help output
12651           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12652         * docs/random/release:
12653           some updated releasing notes
12654         * gstreamer.spec.in:
12655           more updates
12656
12657 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12658
12659         * docs/faq/faq.xml:
12660         * docs/manual/manual.xml:
12661         * docs/pwg/pwg.xml:
12662         * docs/pwg/titlepage.xml:
12663           put version in documentation
12664
12665 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12666
12667         * tools/Makefile.am: fix man page installation
12668
12669 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12670
12671         * configure.ac:
12672           don't check for libxml when load/save and registry disabled (#105844)
12673         * gstreamer.spec.in:
12674           sync with fedora candidate spec
12675
12676 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12677
12678         * po/fr.po:
12679         * po/nl.po:
12680           replace multidisksrc with multifilesrc
12681
12682 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12683
12684         * po/POTFILES.in:
12685           update to multidisksrc => multifilesrc file renaming (#134145)
12686
12687 2004-02-11  David Schleef  <ds@schleef.org>
12688
12689         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12690         * docs/gst/tmpl/gstpadtemplate.sgml: same
12691         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12692         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12693         fixing dance.
12694         * gst/gstutils.c: Remove disabled code that uses GstProps.
12695         * gst/registries/gstxmlregistry.h: same
12696         * docs/random/ds/0.9-suggested-changes: random notes
12697
12698 2004-02-11  kost@imn.htwk-leipzig.de
12699
12700         reviewed by: David Schleef  <ds@schleef.org>
12701
12702         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12703         initialisation of clock (bug #134128)
12704
12705 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12706
12707         * configure.ac:
12708         * gst/elements/Makefile.am:
12709         * gst/elements/gstelements.c:
12710         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12711         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12712         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12713         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12714         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12715         * gst/elements/gstmultifilesrc.h:
12716           rename multidisksrc to multifilesrc (part of #122200)
12717
12718 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12719
12720         * docs/manuals.mak:
12721           fix automake complaints
12722         * gst-element-check.m4:
12723           fix unquotedness
12724
12725 2004-02-11  David Schleef  <ds@schleef.org>
12726
12727         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12728         * gst/gstatomic_impl.h: Disable sparc implementation.
12729
12730 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12731
12732         * gst-element-check.m4:
12733           fix underquoted macros as reported by automake 1.8.x (#133800)
12734         * configure.ac:
12735           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12736           by autopoint (fixes #132996)
12737
12738 2004-02-10  Andy Wingo  <wingo@pobox.com>
12739
12740         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12741         way to do inheritance.
12742         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12743         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12744         Routine docs.
12745         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12746         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12747         doc.
12748         (gst_pad_unlink, gst_pad_is_linked): Docs.
12749         (gst_pad_renegotiate): A brief description of capsnego.
12750         (gst_pad_try_set_caps): Document.
12751         (gst_pad_try_set_caps_nonfixed): Document.
12752         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12753         (gst_pad_set_parent): Deprecated (although not out of the API).
12754         (gst_pad_get_parent): Deprecated, although many plugins use this.
12755         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12756         are private and will go away in 0.9.
12757         (gst_pad_perform_negotiate): Doc.
12758         (gst_pad_link_unnegotiate): I think this is meant to be static.
12759         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12760         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12761         (gst_pad_get_peer): Doc updates.
12762         (gst_pad_caps_change_notify): Doc.
12763         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12764         (gst_ghost_pad_new): Doc fixes.
12765
12766         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12767         (gst_object_check_uniqueness): 
12768
12769         * gst/gstelement.c (gst_element_add_pad) 
12770         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12771         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12772         (gst_element_get_static_pad, gst_element_get_pad_list) 
12773         (gst_element_class_get_pad_template_list) 
12774         (gst_element_class_get_pad_template): Work on the docs.
12775         (gst_element_get_pad_template_list): Uses the class method.
12776         (gst_element_get_compatible_pad_template): Docs, and consolidate
12777         some test conditions. 
12778         (gst_element_get_pad_from_template): New static function.
12779         (gst_element_request_compatible_pad): Docs, and work with
12780         non-request compatible templates. 
12781         (gst_element_get_compatible_pad_filtered): Docs and remove
12782         redundant checks.
12783         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12784         (gst_element_link_filtered, gst_element_link_many) 
12785         (gst_element_link, gst_element_link_pads) 
12786         (gst_element_unlink_many): Docs.
12787
12788 2004-02-05  Andy Wingo  <wingo@pobox.com>
12789
12790         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12791         s/pointer/boxed/.
12792
12793         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12794
12795         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12796         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12797         with the type=GST_TYPE_CAPS. This allows language bindings to know
12798         what kind of data they're dealing with.
12799
12800         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12801         to NULL when g_value_init is called. GstCaps, which rolls its own
12802         type implementation, now does the same instead of allocating empty
12803         caps.
12804         (_gst_caps_initialize, _gst_caps_collect_value,
12805         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12806         table methods. This allows G_VALUE_COLLECT to work.
12807
12808 2004-02-05  Andy Wingo  <wingo@pobox.com>
12809
12810         * configure.ac:
12811         * testsuite/Makefile.am (SUBDIRS): 
12812         * testsuite/ghostpads/Makefile.am: 
12813         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12814
12815         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12816         These two routines are the only ones that set
12817         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12818         pad template. They should be made static, depending on ABI needs.
12819         (gst_real_pad_dispose): Handle the case of ghost pads without a
12820         parent. Assert after dealing with ghost pads that the ghost pad
12821         list is empty.
12822         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12823         set after creation.
12824         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12825         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12826         functions. set_property will call add_ghost_pad/remove_ghost_pad
12827         as appropriate.
12828         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12829
12830         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12831         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12832         (gst_element_remove_pad): Handle ghost pads as well.
12833         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12834         depending on API-stability needs).
12835
12836 2004-02-05  Andy Wingo  <wingo@pobox.com>
12837
12838         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12839         of course they're const
12840
12841 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12842
12843         * tools/Makefile.am:
12844         * tools/gst-feedback:
12845         * tools/gst-feedback-0.7:
12846           make gst-feedback versioned too for consistency
12847
12848 2004-02-11  David Schleef  <ds@schleef.org>
12849
12850         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12851         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12852
12853 2004-02-10  Julien MOUTTE <julien@moutte.net>
12854
12855         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12856         the structure does not contain a valid tag list. Adding a safety check
12857         to remove a noisy warning in that case.
12858
12859 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         * gst/gst.c: fix name to be in line with others
12862
12863 2004-02-09  Julien MOUTTE <julien@moutte.net>
12864
12865         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12866         not shout that loud when len is 0. Just return 0 silently.
12867
12868 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12869
12870         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12871         because data_unref has one and I prefer the debug to be symetric.
12872         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12873         were refed when added to the queue and unrefed only once when the queue
12874         was flushed. Now the flush handler unref the buffers two times : first
12875         unref for the ref added when pushing in the queue's tail and second
12876         unref to destroy the flushed buffer.
12877
12878 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12879
12880         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12881
12882 2004-02-06  David Schleef  <ds@schleef.org>
12883
12884         * docs/random/ds/0.9-suggested-changes: Random ramblings
12885         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12886         to int before printing.
12887         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12888         * gst/parse/parse.l: same.  See bug #129600
12889
12890 2004-02-06  David Schleef  <ds@schleef.org>
12891
12892         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12893         (gst_index_add_entry), (gst_index_add_associationv),
12894         (gst_index_add_association): Add gst_index_add_associationv()
12895         and clean up gst_index_add_association(). #127133
12896
12897 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * autogen.sh: check out common with right tag if CVS/Tag exists
12900
12901 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12902
12903         * testsuite/ghostpads/ghostpads.c: (main):
12904           fix testsuite from segfaulting
12905
12906 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12907
12908         * Makefile.am: add release target
12909         * configure.ac: bump nano to 1
12910         * docs/random/release:
12911
12912 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12913
12914         * gst/gstcaps.h:
12915         * gst/gstelement.c: (gst_element_base_class_init),
12916         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12917         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12918         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12919         (gst_real_pad_dispose):
12920         * gst/gststructure.c: (gst_structure_free),
12921         (gst_structure_from_string):
12922           put reverted patch back in
12923         * gst/gstelement.c: (gst_element_remove_pad):
12924           free explicit caps if they're set
12925         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12926           copy the structure when fixating
12927
12928 2004-02-05  David Schleef  <ds@schleef.org>
12929
12930         * gst/gstmarshal.list:
12931         * gst/gstpad.c: (gst_real_pad_class_init),
12932         (_gst_real_pad_fixate_accumulator):
12933         Revert POINTER->BOXED change in signal marshaller.
12934
12935 === release 0.7.4 ===
12936                                                                                 
12937 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12938                                                                                 
12939         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12940         * configure.ac: changed for release
12941
12942 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12943
12944         * gstreamer.spec.in:
12945           bump required version of gtk-doc
12946
12947 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * gst/gstcaps.h:
12950         * gst/gstelement.c: (gst_element_base_class_init),
12951         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12952         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12953         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12954         (gst_real_pad_dispose):
12955         * gst/gststructure.c: (gst_structure_free),
12956         (gst_structure_from_string):
12957           revert patch that breaks applications, reapply after release
12958           to get this fixed properly
12959
12960 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12961
12962         * gst/gsttag.c: (_gst_tag_initialize):
12963         * gst/gsttag.h:
12964           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12965
12966 2004-02-04  David Schleef  <ds@schleef.org>
12967
12968         Fix some memleaks:
12969         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12970         (gst_spider_plug_from_srcpad):
12971         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12972
12973 2004-02-04  David Schleef  <ds@schleef.org>
12974
12975         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12976         a GstRealPad before accessing its structure members.
12977
12978 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12979
12980         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12981         (gst_clock_get_speed):
12982         * gst/gstclock.h:
12983           reset padding, remove unused fields
12984
12985 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12986
12987         * gst/autoplug/gstspideridentity.c:
12988         (gst_spider_identity_sink_loop_type_finding):
12989           use get_allowed_caps, not get_caps (fixes #132519)
12990         * gst/elements/gsttypefind.c: (stop_typefinding):
12991           use correct order when sending buffers and seeking
12992
12993 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12994
12995         * configure.ac:
12996         * gst/gstelement.h:
12997         * gst/gstpad.h:
12998         * gst/gstqueue.h:
12999           upgrade libtool CURRENT, reset padding
13000
13001 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13002
13003         * configure.ac:
13004           bump to prerelease
13005           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
13006
13007 2004-02-04  David Schleef  <ds@schleef.org>
13008
13009         * docs/random/ds/0.9-suggested-changes: random notes
13010         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
13011         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
13012         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
13013         expansion.
13014         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
13015         (gst_filesink_get_query_types): same
13016         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
13017         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
13018         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
13019         to use new GST_PTR_FORMAT.
13020         * gst/gstelement.h: deprecate function factory macros
13021         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
13022         These are our last variadic macros that can't be replaced with
13023         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13024         attempting to deprecate gst_element_clock_wait().
13025         * gst/gstevent.h: same
13026         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13027         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13028         * gst/gstpad.h: deprecate function factory macros similar to above.
13029
13030 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13031
13032         * configure.ac:
13033         * tools/Makefile.am:
13034         * tools/gst-run.c: (popt_callback), (hash_print_key),
13035         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13036         (get_candidates), (main):
13037           add new source file to generate non-versioned wrapper binaries
13038           for our tools.
13039
13040 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13041
13042         * gst/gstevent.c: (_gst_event_free):
13043           actually break; inside the switch statement
13044         * gst/parse/grammar.y:
13045           fix memleak where GValues weren't unset
13046
13047 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13048
13049         * gst/gststructure.c: (gst_structure_from_string):
13050           fix huge memleak
13051         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13052         (new_entry), (gst_type_find_element_chain):
13053         * gst/gstelement.c: (gst_element_base_class_init),
13054         (gst_element_class_set_details):
13055         * gst/gstpad.c: (gst_pad_can_link_filtered):
13056           fix smaller memleaks
13057         * gst/gstpad.c: (gst_real_pad_dispose):
13058           check that explicit caps are gone
13059         * gst/gststructure.c: (gst_structure_free):
13060           actually free the structure
13061         * gst/gstelement.c: (gst_element_clear_pad_caps):
13062           unset explicit caps
13063
13064 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13065
13066         * tools/Makefile.am:
13067           use AM_CFLAGS since all the CFLAGS are the same
13068           use AM_LDFAGS
13069
13070 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13071
13072         * docs/manual/gnome.xml:
13073           expand example a little
13074         * gst/gst.c: (gst_init_with_popt_table),
13075         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13076           make sure popt option displays are done with right textdomain
13077           use GstPoptOption type
13078         * gst/gst.h:
13079           create GstPoptOption type
13080
13081 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13082
13083         * gst/gsterror.c: (_gst_stream_errors_init):
13084         * gst/gsterror.h:
13085           adding error type for no codec
13086         * po/POTFILES.in:
13087           add gst-inspect
13088         * po/nl.po:
13089           update dutch translation
13090         * tools/gst-inspect.c: (print_element_list), (main):
13091           do proper internationalization
13092         * tools/gst-launch.c: (idle_func):
13093           remove commented out function call
13094
13095 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13096
13097         * docs/README:
13098           add some error fixing notes
13099         * docs/gst/gstreamer-sections.txt:
13100           remove double entries
13101         * docs/gst/tmpl/gstbin.sgml:
13102         * docs/gst/tmpl/gstclock.sgml:
13103           remove override
13104         * docs/gst/tmpl/gstelement.sgml:
13105         * docs/gst/tmpl/gstindex.sgml:
13106         * docs/gst/tmpl/gstobject.sgml:
13107         * docs/gst/tmpl/gstpadtemplate.sgml:
13108         * docs/gst/tmpl/gstreamer-unused.sgml:
13109         * docs/gst/tmpl/gsttag.sgml:
13110         * docs/gst/tmpl/gstthread.sgml:
13111         * docs/gst/tmpl/gstxml.sgml:
13112         * gst/gsttag.h:
13113           sync header prototypes with c decls
13114         * gst/gsttaginterface.c:
13115           fix doc headers
13116
13117 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13118
13119         * gst/parse/Makefile.am:
13120         * gst/gstobject.h:
13121           get rid of gstmarshal.h dependency. It's not needed.
13122         * gst/gst.h:
13123         * gst/elements/gstfakesink.c:
13124         * gst/elements/gstfakesrc.c:
13125         * gst/elements/gstidentity.c:
13126         * gst/gstbin.c:
13127         * gst/gstelement.c:
13128         * gst/gstindex.c:
13129         * gst/gstobject.c:
13130         * gst/gstpad.c:
13131         * gst/gstthread.c:
13132         * gst/gstxml.c:
13133         * libs/gst/control/dparam.c:
13134         * libs/gst/control/dparammanager.c:
13135           include gstmarshal.h.
13136         Fixes #132045
13137
13138 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13139
13140         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13141         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13142         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13143         * gst/elements/gstfilesrc.h:
13144           don't ref the filesrc when creating mmaped buffers. Don't keep a
13145           list of not-yet-destroyed buffers.
13146         * gst/gstbuffer.h:
13147           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13148
13149 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13150
13151         * gst/gst.c: (init_pre):
13152           remove textdomain
13153
13154 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13155
13156         * docs/pwg/advanced-events.xml:
13157         * docs/pwg/advanced-scheduling.xml:
13158         * docs/pwg/intro-basics.xml:
13159         * docs/pwg/other-manager.xml:
13160         * docs/pwg/other-nton.xml:
13161         * docs/pwg/other-ntoone.xml:
13162         * docs/pwg/other-oneton.xml:
13163         * docs/pwg/pwg.xml:
13164           All sort of documentation... Forgot what. Point is that I want this
13165           in before I leave. The 'other-*' will be the last section and will
13166           explain issues specific to these type of elements.
13167
13168 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13169
13170         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13171         (gst_filesrc_get_read):
13172           set all the values on buffers that we can
13173
13174 2004-02-02  David Schleef  <ds@schleef.org>
13175
13176         Change usage of isblah() to g_ascii_isblah() to be more locale
13177         independent.  (#133076)
13178         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13179         * gst/gstutils.c:
13180         * gst/parse/parse.l:
13181
13182 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13183
13184         reviewed by: David Schleef  <ds@schleef.org>
13185
13186         Fix memory leaks:
13187         * gst/gstcaps.c: (gst_caps_to_string):
13188         * gst/registries/gstxmlregistry.c:
13189         (gst_xml_registry_add_path_list_func),
13190         (gst_xml_registry_parse_padtemplate):
13191
13192 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13193
13194         * gst/gstelement.c: (gst_element_default_error):
13195           suffix error messages with period
13196
13197 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13198
13199         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13200         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13201         * gst/gsterror.c: (gst_error_get_message):
13202           Suffix with dots
13203         * po/fr.po:
13204         * po/nl.po:
13205           Update translation files
13206
13207 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13208
13209         * gst/autoplug/gstspideridentity.c:
13210         (gst_spider_identity_sink_loop_type_finding):
13211         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13212         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13213         (gst_filesink_close_file), (gst_filesink_handle_event),
13214         (gst_filesink_chain):
13215         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13216         (gst_filesrc_get_read), (gst_filesrc_open_file):
13217         * gst/elements/gstidentity.c: (gst_identity_chain):
13218         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13219         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13220         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13221         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13222         * gst/gsterror.c: (_gst_core_errors_init),
13223         (_gst_library_errors_init), (_gst_resource_errors_init),
13224         (_gst_stream_errors_init), (gst_error_get_message):
13225         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13226         (gst_pad_recover_caps_error), (gst_pad_pull):
13227         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13228         * gst/schedulers/gstbasicscheduler.c:
13229         (gst_basic_scheduler_chainhandler_proxy),
13230         (gst_basic_scheduler_gethandler_proxy),
13231         (gst_basic_scheduler_cothreaded_chain):
13232           Suffix error messages with period.
13233           Use (NULL) instead of NULL
13234
13235 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13236
13237         * docs/gst/tmpl/gstelement.sgml:
13238         * docs/gst/tmpl/gstxml.sgml:
13239         * gst/gstelement.c: (gst_element_error_full):
13240           add element path to error
13241
13242 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13243
13244         * docs/random/mimetypes:
13245           update raw int/float info
13246         * gst/gsttag.c: (_gst_tag_initialize):
13247         * gst/gsttag.h:
13248           add GST_TAG_ENCODER
13249
13250 2004-01-30  David Schleef  <ds@schleef.org>
13251
13252         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13253           missing (#132991)
13254
13255 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13256
13257         reviewed by Benjamin Otte 
13258           parts of the patch submitted in bug #113913
13259
13260         * configure.ac:
13261           use AC_C_INLINE. Use = instead of == with test
13262         * examples/plugins/example.c:
13263         * gst/autoplug/gstspideridentity.c:
13264         * gst/elements/gstfdsrc.c:
13265         * gst/elements/gstfilesrc.c:
13266         * gst/elements/gstidentity.c:
13267         * gst/elements/gstmultidisksrc.c:
13268         * gst/elements/gststatistics.c:
13269         * gst/gstelement.c:
13270         * gst/gstobject.c:
13271         * gst/gstpad.c:
13272         * gst/gstpipeline.c:
13273         * gst/gstthread.c:
13274           don't end enums with a comma
13275         * gst/gstindex.c: (gst_index_compare_func):
13276           do explicit casting to gint
13277         * gst/gsttrace.c: (gst_trace_text_flush):
13278           #define strsize as a macro
13279
13280 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13281
13282         * docs/README:
13283         * docs/gst/gstreamer-docs.sgml:
13284         * docs/gst/gstreamer-sections.txt:
13285         * docs/gst/tmpl/gstelement.sgml:
13286         * docs/gst/tmpl/gsterror.sgml:
13287         * docs/gst/tmpl/gstinterface.sgml:
13288         * docs/gst/tmpl/gstreamer-unused.sgml:
13289         * docs/gst/tmpl/gststructure.sgml:
13290         * docs/gst/tmpl/gsttag.sgml:
13291         * docs/gst/tmpl/gsttaginterface.sgml:
13292         * docs/gst/tmpl/gstvalue.sgml:
13293         make sure all API ends up in the built docs
13294         * gst/gstinterface.c:
13295         * gst/gststructure.c: (gst_structure_id_set_value),
13296         (gst_structure_set_value), (gst_structure_id_get_value):
13297         * gst/gststructure.h:
13298         * gst/gstvalue.h:
13299         sync .h with .c declarations
13300
13301 2004-01-30  Julien Moutte  <julien@moutte.net>
13302
13303         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13304         Ronald will fix riffread.
13305
13306 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13307
13308         * docs/pwg/advanced-interfaces.xml:
13309           Added tuner interface docs.
13310
13311 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13312
13313         * docs/random/mimetypes:
13314           correct Theora information
13315         * gst/gstelement.h:
13316           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13317
13318 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13319
13320         * gst/gstelement.c: (gst_element_error_full):
13321         * gst/gstelement.h:
13322           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13323
13324 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13325
13326         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13327         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13328         again and even before DISCONT.
13329         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13330         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13331         bytestream so that it's not stopping to fill the bytestream if events
13332         different than EOS or DISCONT are received. Instead it process them so
13333         that they go downstream.
13334
13335 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13336
13337         * docs/gst/tmpl/gstelement.sgml:
13338         * docs/gst/tmpl/gstreamer-unused.sgml:
13339         * docs/gst/tmpl/gstxml.sgml:
13340         * gst/autoplug/gstspideridentity.c:
13341         (gst_spider_identity_sink_loop_type_finding):
13342         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13343         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13344         (gst_filesink_close_file), (gst_filesink_handle_event),
13345         (gst_filesink_chain):
13346         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13347         (gst_filesrc_get_read), (gst_filesrc_open_file):
13348         * gst/elements/gstidentity.c: (gst_identity_chain):
13349         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13350         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13351         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13352         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13353         * gst/gstelement.h:
13354         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13355         (gst_pad_recover_caps_error), (gst_pad_pull):
13356         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13357         * gst/schedulers/gstbasicscheduler.c:
13358         (gst_basic_scheduler_chainhandler_proxy),
13359         (gst_basic_scheduler_gethandler_proxy),
13360         (gst_basic_scheduler_cothreaded_chain):
13361           gst_element_error -> GST_ELEMENT_ERROR
13362
13363 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13364
13365         * docs/Makefile.am:
13366         * docs/gst/tmpl/gstelement.sgml:
13367         * docs/gst/tmpl/gstxml.sgml:
13368         * docs/manuals.mak:
13369         * docs/pwg/advanced-request.xml:
13370         * docs/pwg/advanced-scheduling.xml:
13371         * docs/pwg/advanced-tagging.xml:
13372           fix non-validating docbook using CDATA
13373           make sure make check-local gets run first to check if it validates
13374
13375 2004-01-29  Julien MOUTTE <julien@moutte.net>
13376
13377         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13378         handling (up and downstream).
13379         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13380         my_filter thing.
13381
13382 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13383
13384         * docs/pwg/advanced-tagging.xml:
13385           Add docs about tag writing.
13386
13387 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13388
13389         * docs/pwg/advanced-tagging.xml:
13390           Add a part about tag reading and application signalling... Tag
13391           writing still needs to be documented.
13392         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13393           We can set file locations in READY, too.
13394
13395 2004-01-29  Julien MOUTTE <julien@moutte.net>
13396
13397         * docs/random/ds/element-checklist: Adding some notes about src
13398         events.
13399
13400 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13401
13402         * docs/random/mimetypes:
13403           Update docs to point to correct elements for various mimetypes, and
13404           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13405           <stephane.loeuillet@tiscali.fr>.
13406
13407 2004-01-28  David Schleef  <ds@schleef.org>
13408
13409         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13410
13411 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13412
13413         * docs/random/mimetypes:
13414           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13415           undefined"
13416         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13417           make it only work in NULL.
13418         * gst/gstcaps.c:
13419           don't posion NULL caps
13420         * gst/gstelement.c: (gst_element_set_time):
13421           add debugging statement
13422         * gst/gstelement.c: (gst_element_emit_found_tag),
13423         (gst_element_found_tag_func), (gst_element_found_tags):
13424         * gst/gstelement.h:
13425           These functions take const taglists
13426         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13427           fix memleak
13428         * gst/gstpad.c: (gst_pad_event_default):
13429           make more effort on handling discont and clocks, g_warn if everything
13430           fails
13431         * gst/gststructure.c: (gst_structure_remove_fields),
13432         (gst_structure_remove_fields_valist):
13433         * gst/gststructure.h:
13434           add gst_structure_remove_fields(_valist)
13435         * gst/gsttag.c:
13436           fix doc glitch
13437
13438 2004-01-28  David Schleef  <ds@schleef.org>
13439
13440         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13441         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13442         Fix memory leakage of gst_caps_to_string().
13443
13444         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13445         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13446         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13447         (gst_spider_identity_sink_loop_type_finding):
13448         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13449         (find_suggest):
13450         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13451         (gst_pad_set_explicit_caps):
13452         * gst/parse/grammar.y:
13453
13454 2004-01-28  David Schleef  <ds@schleef.org>
13455
13456         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13457         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13458         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13459         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13460         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13461         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13462         (gst_debug_log_default), (_gst_info_printf_extension),
13463         (_gst_info_printf_extension_arginfo):  Add printf extension.
13464         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13465         * gst/gststructure.c: (gst_structure_to_string),
13466         (_gst_structure_parse_value): Use gst_value_deserialize() and
13467         remove old code.
13468         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13469         (gst_value_deserialize_boolean), (gst_strtoi),
13470         (gst_value_deserialize_int), (gst_value_deserialize_double),
13471         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13472         a bunch of deserialize functions and gst_value_deserialize.
13473         * gst/gstvalue.h: er, _de_serialize, not unserialize
13474         * testsuite/caps/string-conversions.c: (main): We don't currently
13475         handle (float) in caps, so convert these to (double).
13476         * testsuite/debug/Makefile.am: Add new test for the printf extension
13477         * testsuite/debug/printf_extension.c: (main): same
13478
13479 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13480
13481         * docs/random/company/time:
13482           Add some docs about clocking and time
13483
13484 2004-01-28  Julien MOUTTE <julien@moutte.net>
13485
13486         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13487
13488 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13489
13490         * docs/pwg/advanced-clock.xml:
13491         * docs/pwg/advanced-dparams.xml:
13492         * docs/pwg/advanced-events.xml:
13493         * docs/pwg/advanced-interfaces.xml:
13494         * docs/pwg/advanced-midi.xml:
13495         * docs/pwg/advanced-request.xml:
13496         * docs/pwg/advanced-scheduling.xml:
13497         * docs/pwg/advanced-tagging.xml:
13498         * docs/pwg/advanced-types.xml:
13499         * docs/pwg/appendix-checklist.xml:
13500         * docs/pwg/building-boiler.xml:
13501         * docs/pwg/building-chainfn.xml:
13502         * docs/pwg/building-filterfactory.xml:
13503         * docs/pwg/building-pads.xml:
13504         * docs/pwg/building-props.xml:
13505         * docs/pwg/building-signals.xml:
13506         * docs/pwg/building-state.xml:
13507         * docs/pwg/building-testapp.xml:
13508         * docs/pwg/intro-basics.xml:
13509         * docs/pwg/intro-preface.xml:
13510         * docs/pwg/other-autoplugger.xml:
13511         * docs/pwg/other-sink.xml:
13512         * docs/pwg/other-source.xml:
13513         * docs/pwg/titlepage.xml:
13514           fix up id's
13515
13516 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13517
13518         * docs/95NonPath:
13519         * docs/HACKING:
13520         * docs/README:
13521         * docs/building-the-docs-on-debian:
13522           collect relevant bits of doc info
13523
13524 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13525
13526         * docs/pwg/advanced_tagging.xml:
13527           Half-assed commit so Thomas can re-arrange document IDs here to be
13528           consistent, too.
13529
13530 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13531
13532         * docs/manual/autoplugging.xml:
13533         * docs/manual/bins-api.xml:
13534         * docs/manual/bins.xml:
13535         * docs/manual/buffers-api.xml:
13536         * docs/manual/buffers.xml:
13537         * docs/manual/clocks.xml:
13538         * docs/manual/components.xml:
13539         * docs/manual/cothreads.xml:
13540         * docs/manual/debugging.xml:
13541         * docs/manual/dparams-app.xml:
13542         * docs/manual/dynamic.xml:
13543         * docs/manual/elements-api.xml:
13544         * docs/manual/elements.xml:
13545         * docs/manual/factories.xml:
13546         * docs/manual/gnome.xml:
13547         * docs/manual/goals.xml:
13548         * docs/manual/helloworld.xml:
13549         * docs/manual/helloworld2.xml:
13550         * docs/manual/init-api.xml:
13551         * docs/manual/intro.xml:
13552         * docs/manual/links-api.xml:
13553         * docs/manual/links.xml:
13554         * docs/manual/manual.xml:
13555         * docs/manual/motivation.xml:
13556         * docs/manual/pads-api.xml:
13557         * docs/manual/pads.xml:
13558         * docs/manual/plugins-api.xml:
13559         * docs/manual/plugins.xml:
13560         * docs/manual/programs.xml:
13561         * docs/manual/queues.xml:
13562         * docs/manual/quotes.xml:
13563         * docs/manual/schedulers.xml:
13564         * docs/manual/states-api.xml:
13565         * docs/manual/states.xml:
13566         * docs/manual/threads.xml:
13567         * docs/manual/typedetection.xml:
13568         * docs/manual/xml.xml:
13569           use chapter, part, section or misc as id starts for all bits
13570
13571 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13572
13573         * docs/gst/gstreamer-sections.txt:
13574           Fix up TITLE of the sections
13575
13576 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13577
13578         * docs/pwg/advanced_interfaces.xml:
13579           Add documentation on propertyprobing.
13580         * docs/pwg/advanced_events.xml:
13581         * docs/pwg/advanced_tagging.xml:
13582         * docs/pwg/building_boiler.xml:
13583         * docs/pwg/building_filterfactory.xml:
13584         * docs/pwg/pwg.xml:
13585           Move filterfactory and tagging into their own chapter, add a chapter
13586           on events. all these are empty placeholders that will be filled in
13587           some day.
13588
13589 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13590
13591         * docs/pwg/advanced_interfaces.xml:
13592           Docs for mixer interface. Also a check for website uploading.
13593
13594 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13595
13596         * docs/HACKING:
13597         * docs/Makefile.am:
13598         * docs/faq/Makefile.am:
13599         * docs/gst/Makefile.am:
13600         * docs/gst/tmpl/gstelement.sgml:
13601         * docs/gst/tmpl/gstplugin.sgml:
13602         * docs/gst/tmpl/gstreamer-unused.sgml:
13603         * docs/libs/Makefile.am:
13604         * docs/manual/Makefile.am:
13605         * docs/manuals.mak:
13606         * docs/pwg/Makefile.am:
13607         * docs/upload.mak:
13608           Separate out upload target and make it similar for
13609           both docbook and gtk-doc docs
13610
13611 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13612
13613         * docs/manuals.mak:
13614           Fix upload target to work with freedesktop
13615
13616 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13617
13618         * docs/pwg/advanced_types.xml:
13619           Add notes on creating your own types.
13620         * docs/pwg/building_boiler.xml:
13621         * docs/pwg/building_pads.xml:
13622         * docs/pwg/building_state.xml:
13623           Add some stuff about how to retrieve values from structures, how
13624           that relates to types and change layout slightly again to be almost
13625           perfect.
13626
13627 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13628
13629         * docs/pwg/advanced_dparams.xml:
13630         * docs/pwg/advanced_scheduling.xml:
13631           Change index layout slightly.
13632
13633 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13634
13635         * docs/pwg/advanced_clock.xml:
13636         * docs/pwg/advanced_interfaces.xml:
13637         * docs/pwg/advanced_midi.xml:
13638           General placeholders for now.
13639         * docs/pwg/advanced_request.xml:
13640           Explanation about sometimes and request pads.
13641         * docs/pwg/advanced_scheduling.xml:
13642           Concept of bytestream, loopfunctions and schedulers.
13643         * docs/pwg/building_boiler.xml:
13644           Add something about plugin-init.
13645
13646 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13647
13648         * docs/pwg/building_pads.xml:
13649           Fix broken docbook
13650
13651 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13652
13653         * docs/pwg/advanced_interfaces.xml:
13654         * docs/pwg/pwg.xml:
13655           Add as a placeholder for future filling-in.
13656         * docs/pwg/basics_autoplugging.xml:
13657         * docs/pwg/basics_buffers.xml:
13658         * docs/pwg/basics_elements.xml:
13659         * docs/pwg/basics_events.xml:
13660         * docs/pwg/basics_plugins.xml:
13661         * docs/pwg/basics_types.xml:
13662           Remove, because unused (this is all in intro_basics.xml).
13663         * docs/pwg/building_signals.xml:
13664           Short intro to signals + reference to GObject docs - we really
13665           shouldn't go into these sort of things to deply because we don't
13666           use them that extensively anyway.
13667         * docs/pwg/building_state.xml:
13668           Explanation of states. Benjamin, please check.
13669         * docs/pwg/building_testapp.xml:
13670           Put everything in one page - putting only a few lines of content
13671           per page doesn't really make sense.
13672
13673           Time to get into the advanced topics. ;).
13674
13675 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13676
13677         * docs/pwg/advanced_types.xml:
13678           Finish documenting the current state of mimetypes.
13679         * docs/pwg/building_boiler.xml:
13680         * docs/pwg/building_chainfn.xml:
13681         * docs/pwg/building_pads.xml:
13682         * docs/pwg/building_props.xml:
13683         * docs/pwg/building_testapp.xml:
13684           Start documenting the "how to build a simple audio filter" part
13685           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13686           states and (maybe?) a short introduction to capsnego in the chapter
13687           on pads (building_pads.xml). Capsnego should probably be explained
13688           fully in advanced_capsnego.xml or so.
13689
13690 2004-01-26  David Schleef  <ds@schleef.org>
13691
13692         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13693         * gst/gstpad.h: Add new function to allow element to (somewhat)
13694         specify non-fixed caps on a pad.
13695         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13696         that I added a few weeks ago.
13697
13698 2004-01-26  David Schleef  <ds@schleef.org>
13699
13700         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13701           making try_set_caps() work with non-fixed caps.
13702
13703 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13704
13705         * docs/pwg/advanced_types.xml:
13706         * docs/pwg/intro_basics.xml:
13707         * docs/pwg/intro_preface.xml:
13708         * docs/pwg/pwg.xml:
13709         * docs/pwg/titlepage.xml:
13710           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13711           in here (docs/random/mimetypes), and will from there on work on both
13712           updating outdated parts and adding missing parts.
13713           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13714
13715 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13716
13717         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13718           policy is set
13719
13720 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13721
13722         * gst/gstelement.h:
13723           remove gst_element_factory_get_version. It doesn't exist anymore.
13724         * gst/gstplugin.c:
13725         * gst/gstplugin.h:
13726           remove gst_plugin_set_name and change gst_plugin_get_longname to
13727           gst_plugin_get_description to match code.
13728         * gst/gsterror.h:
13729           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13730         * gst/gstpad.c: (gst_pad_try_set_caps):
13731           make it work with nonfixed caps.
13732           Note that even in the nonfixed case the link function of the pad
13733           that tries to set caps isn't called.
13734
13735 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13736
13737         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13738           fix bug where buffer was not assembled correctly
13739         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13740           silence by default
13741         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13742           only seek if there's no more buffers that could work without seeking
13743
13744 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13745
13746         * gst/gsttag.c: (_gst_tag_initialize):
13747         * gst/gsttag.h:
13748           Add application tag (for encoding/muxing app).
13749
13750 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13751
13752         * autogen.sh:
13753           make autopoint force, and libtoolize not copy
13754         * common/m4/as-docbook.m4:
13755           added docbook xml catalog setup check
13756         * common/m4/gst-doc.m4:
13757           use docbook check
13758
13759 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13760
13761         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13762         * gst/gsttag.h:
13763           add GstTagFlag
13764
13765 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13766
13767         * docs/gst/gstreamer-sections.txt:
13768         * docs/gst/tmpl/gst.sgml:
13769         * docs/gst/tmpl/gstbuffer.sgml:
13770         * docs/gst/tmpl/gstclock.sgml:
13771         * docs/gst/tmpl/gstelement.sgml:
13772         * docs/gst/tmpl/gstreamer-unused.sgml:
13773         * docs/gst/tmpl/gstxml.sgml:
13774           sync latest API changes to docs
13775
13776 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13777
13778         * gst/gstpluginfeature.c:
13779           fix doc snippet
13780         * tools/gst-inspect.c: (print_element_list):
13781           fix output of typefind
13782           add GPL header
13783         * tools/gst-launch.c:
13784           add GPL header
13785
13786 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13787
13788         * gst/elements/Makefile.am:
13789         * gst/elements/gstelements.c:
13790         * gst/elements/gsttypefindelement.c:
13791         * gst/elements/gsttypefindelement.h:
13792         * po/POTFILES.in:
13793         * po/fr.po:
13794         * po/nl.po:
13795           renamed gsttypefindelement to gsttypefind, conserving CVS history
13796
13797 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13800         * gst/gsttag.h:
13801           add some tags used in ogg as well
13802           fix _ in replaygain tags
13803
13804 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13805
13806         * gst/gsterror.h:
13807           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13808
13809 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13810
13811         * gst/gstelement.c: (gst_element_error_full):
13812         * gst/gstelement.h:
13813           change _extended to _full
13814
13815 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13816
13817         reviewed by: <delete if not using a buddy>
13818
13819         * docs/gst/tmpl/gst.sgml:
13820         * docs/gst/tmpl/gstbuffer.sgml:
13821         * docs/gst/tmpl/gstclock.sgml:
13822         * docs/gst/tmpl/gstelement.sgml:
13823         * docs/gst/tmpl/gstreamer-unused.sgml:
13824         * docs/gst/tmpl/gstxml.sgml:
13825         * gst/gstelement.c: (gst_element_error_full):
13826         * gst/gstelement.h:
13827
13828 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         * gst/gstelement.h: fix _gst_element_error_printf prototype
13831
13832 2004-01-20  David Schleef  <ds@schleef.org>
13833
13834         * gst/gststructure.c: (gst_structure_to_string):
13835         Convert function to use gst_value_serialize().
13836         * gst/gstvalue.c: (gst_value_serialize_list),
13837         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13838         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13839         (gst_value_serialize_int), (gst_value_serialize_double),
13840         (gst_string_wrap), (gst_value_serialize_string),
13841         (gst_value_serialize), (gst_value_deserialize):
13842         * gst/gstvalue.h:
13843         Add implementations for serialize.
13844
13845 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13846
13847         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13848         we want to keep that one in the future or change xvidenc.c to use 
13849         another error.
13850
13851 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13852
13853         * gst/gstelement.c: (_gst_element_error_printf):
13854         * gst/gstelement.h:
13855           privatise function
13856
13857 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13858
13859         * docs/random/error:
13860           doc explaining error system
13861         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13862           cleanup
13863
13864 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * gst/gst-i18n-app.h:
13867         * gst/gst-i18n-lib.h:
13868           remove inclusion of config.h
13869         * po/POTFILES.in:
13870         * po/nl.po:
13871           add gst/gstelement.c
13872
13873 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13874
13875         * po/nl.po: updated Dutch translation
13876
13877 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13878
13879         * gst/gsterror.c: (_gst_core_errors_init),
13880         (_gst_library_errors_init), (_gst_resource_errors_init),
13881         (_gst_stream_errors_init):
13882         remove ending punctuation dots
13883
13884 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13885
13886         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13887         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13888         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13889         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13890         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13891         use GST_ERROR_SYSTEM
13892
13893 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13894
13895         * gst/gstelement.c: (gst_element_error_printf),
13896         (gst_element_error_extended):
13897         * gst/gstelement.h:
13898           add a helper printf function so we can have NULL values passed.
13899
13900 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13901
13902         * gst/gstelement.h:
13903           add G_STMT macros to gst_element_error, which isn't strictly
13904           necessary but people tell me to anyway.
13905
13906 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13907
13908         * gst/Makefile.am:
13909         * gst/autoplug/gstspideridentity.c:
13910         (gst_spider_identity_sink_loop_type_finding):
13911         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13912         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13913         (gst_filesink_close_file), (gst_filesink_handle_event),
13914         (gst_filesink_chain):
13915         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13916         (gst_filesrc_map_region), (gst_filesrc_get_read),
13917         (gst_filesrc_open_file):
13918         * gst/elements/gstidentity.c: (gst_identity_chain):
13919         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13920         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13921         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13922         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13923         * gst/gst.h:
13924         * gst/gst_private.h:
13925         * gst/gstelement.c: (gst_element_class_init),
13926         (gst_element_default_error), (gst_element_error_func),
13927         (gst_element_error_extended):
13928         * gst/gstelement.h:
13929         * gst/gsterror.c: (_gst_core_errors_init),
13930         (_gst_library_errors_init), (_gst_resource_errors_init),
13931         (_gst_stream_errors_init), (gst_error_get_message):
13932         * gst/gsterror.h:
13933         * gst/gstinfo.c: (_gst_debug_init):
13934         * gst/gstmarshal.list:
13935         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13936         (gst_pad_recover_caps_error), (gst_pad_pull):
13937         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13938         * gst/schedulers/gstbasicscheduler.c:
13939         (gst_basic_scheduler_chainhandler_proxy),
13940         (gst_basic_scheduler_gethandler_proxy),
13941         (gst_basic_scheduler_cothreaded_chain):
13942         * po/POTFILES.in:
13943         * po/fr.po:
13944         * po/nl.po:
13945           change error signal
13946           add error categories
13947
13948 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13949
13950         * gst/gsttag.c: (_gst_tag_initialize):
13951         * gst/gsttag.h:
13952         Add replaygain tag
13953
13954 2004-01-18  Colin Walters  <walters@verbum.org>
13955
13956         * examples/retag/retag.c: Call gst_init before processing
13957         program args.  Add g_assert to _link_many call.
13958
13959 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13960
13961         * gst/gstpad.c: (gst_pad_alloc_buffer):
13962           Return a newly allocated buffer when the pad has no peer.
13963
13964 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13965
13966         * gst/gstclock.c: (gst_clock_get_time):
13967           make it compile with gcc 2.95 again.
13968           Patch by Scott Wheeler
13969
13970 2004-01-15  David Schleef  <ds@schleef.org>
13971
13972         * gst/gstcaps.h:
13973         Added gst_caps_is_simple() macro.
13974         * testsuite/caps/caps.c: (test1):
13975         * testsuite/caps/intersect2.c: (main):
13976         * testsuite/caps/intersection.c: (main):
13977         Fixes to make 'make check' work again after removing
13978         gst_caps_is_chained().
13979
13980 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13981
13982         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13983         and additions to the MIDI document.
13984
13985 2004-01-15  David Schleef  <ds@schleef.org>
13986
13987         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13988         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13989         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13990
13991 2004-01-15  David Schleef  <ds@schleef.org>
13992
13993         * gst/gstqueue.c:
13994         * gst/gstqueue.h:
13995         Fix the spelling of "treshold" and make min_threshold actually
13996         affect the queue.
13997
13998 2004-01-15  David Schleef  <ds@schleef.org>
13999
14000         * gst/gstcaps.c:
14001         Add lots of documentation.
14002         * gst/gstcaps.h:
14003         Deprecate a few functions.
14004         * gst/gstpad.c:
14005         Removed use of deprecated functions.
14006
14007 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14008
14009         * gst/gstpad.c: (gst_pad_is_linked):
14010         * gst/gstpad.h:
14011           implement gst_pad_is_linked
14012         * gst/gstelement.h:
14013           reserve space for initiate_state_change
14014
14015 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14016
14017         * gst/autoplug/gstspideridentity.c:
14018         (gst_spider_identity_sink_loop_type_finding):
14019           break infinite loop by just returning instead of looping
14020         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
14021           set event time difference correctly. Set it to 1 second instead
14022           of 100ms to be more tolerant
14023         * gst/gstelement.c: (gst_element_set_time):
14024           add debugging output
14025
14026 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14027
14028         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14029           query if buffers are inside the pool, ignore events
14030
14031 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14032
14033         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14034         (gst_clock_set_speed), (gst_clock_set_active),
14035         (gst_clock_is_active), (gst_clock_reset),
14036         (gst_clock_handle_discont):
14037         * gst/gstclock.h:
14038           deprecate old interface and disable functions that aren't in use
14039           anymore.
14040         * gst/gstelement.h:
14041         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14042         (gst_element_set_time), (gst_element_adjust_time):
14043           add concept of "element time" and functions to get/set this time.
14044         * gst/gstelement.c: (gst_element_change_state):
14045           update element time correctly.
14046         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14047           This is a debug message, not a g_critical.
14048         * gst/gstpad.c: (gst_pad_event_default):
14049           handle discontinuous events right with element time.
14050         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14051           update to clocking fixes.
14052           set clocks on elements in READY=>PAUSED. The old behaviour caused
14053           a wrong element time on the first element that started playing.
14054         * gst/schedulers/gstbasicscheduler.c:
14055         (gst_basic_scheduler_class_init):
14056         * gst/schedulers/gstoptimalscheduler.c:
14057         (gst_opt_scheduler_class_init):
14058           remove code that just implements the default behaviour.
14059         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14060           update to use new clocking functions
14061         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14062         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14063           update to test new element time.
14064         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14065           use _get_allowed_caps instead of _get_caps. This catches filtered
14066           caps correctly.
14067         * testsuite/debug/commandline.c:
14068           update for new GST_DEBUG syntax.
14069         * testsuite/threads/Makefile.am:
14070           disable a test that only works sometimes.
14071
14072 2004-01-13  Julien MOUTTE <julien@moutte.net>
14073
14074         * po/LINGUAS: Adding fr.
14075         * po/fr.po: Adding french translation.
14076
14077 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * gst/parse/grammar.y:
14080         * po/POTFILES.in:
14081         * po/nl.po:
14082         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14083           translate parsing error messages
14084
14085 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14086
14087         * po/POTFILES.in: adding gst-launch
14088         * po/nl.po: updated translation, all 99 strings translated
14089         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14090         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14091           fix strings for translation
14092
14093 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14094
14095         * gst/gst.c:
14096           - capitalize beginnings of popt options
14097           - fix strings for translation
14098           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14099
14100 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14101
14102         * po/README: add some notes on how to update translations
14103
14104 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14105
14106         * ABOUT-NLS: removed, is autogenerated from autopoint
14107         * autogen.sh: add autopoint stuff
14108         * configure.ac: fix up gettext stuff
14109         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14110         * gst/elements/gsttypefindelement.c: add header include
14111         * gst/gettext.h: add header, copy from system-installed header
14112         * gst/gst-i18n-app.h: to be included by each app having translations
14113         * gst/gst-i18n-lib.h: to be included by each lib having translations
14114         * gst/gst.c: (init_pre): fix up gettext calls
14115         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14116         * po/LINGUAS: the new way to specify translations present
14117         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14118         * po/Makevars: the variables filled in for GStreamer
14119         * po/POTFILES.in: added new files with translations
14120         * po/de.po: has new strings
14121         * po/nl.po: readded, has new strings
14122
14123 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * gst/gsttag.c: fix some strings marked for translation
14126
14127 2004-01-13  Iain <iain@prettypeople.org>
14128
14129         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14130         group when we add an element to it, cos we unref it when we remove one
14131
14132 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14133
14134         * testsuite/debug/commandline.c: (debug_not_reached):
14135         * testsuite/debug/output.c: (check_message):
14136           fix testsuite
14137
14138 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14139
14140         * examples/cutter/.cvsignore:
14141         * examples/helloworld/.cvsignore:
14142         * examples/launch/.cvsignore:
14143         * examples/manual/.cvsignore:
14144         * examples/mixer/.cvsignore:
14145         * examples/pingpong/.cvsignore:
14146         * examples/plugins/.cvsignore:
14147         * examples/queue/.cvsignore:
14148         * examples/queue2/.cvsignore:
14149         * examples/queue3/.cvsignore:
14150         * examples/queue4/.cvsignore:
14151         * examples/retag/.cvsignore:
14152         * examples/thread/.cvsignore:
14153         * examples/typefind/.cvsignore:
14154         * examples/xml/.cvsignore:
14155         * gst/.cvsignore:
14156         * gst/autoplug/.cvsignore:
14157         * gst/elements/.cvsignore:
14158         * gst/indexers/.cvsignore:
14159         * gst/parse/.cvsignore:
14160         * gst/registries/.cvsignore:
14161         * gst/schedulers/.cvsignore:
14162         * libs/gst/bytestream/.cvsignore:
14163         * libs/gst/control/.cvsignore:
14164         * libs/gst/getbits/.cvsignore:
14165         * tests/.cvsignore:
14166         * tests/bufspeed/.cvsignore:
14167         * tests/instantiate/.cvsignore:
14168         * tests/memchunk/.cvsignore:
14169         * tests/muxing/.cvsignore:
14170         * tests/sched/.cvsignore:
14171         * tests/seeking/.cvsignore:
14172         * tests/threadstate/.cvsignore:
14173         * testsuite/.cvsignore:
14174         * testsuite/caps/.cvsignore:
14175         * testsuite/cleanup/.cvsignore:
14176         * testsuite/dynparams/.cvsignore:
14177         * testsuite/plugin/.cvsignore:
14178         * tools/.cvsignore:
14179           update - this is huge, because it includes *.bb, *.bbg and *.da files
14180           which are generated for gcov.
14181
14182 2004-01-11  David Schleef  <ds@schleef.org>
14183
14184         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14185         a function to parse integers in ways that strto[u]l() does not.
14186
14187 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14188
14189         * tools/gst-inspect.c: (print_caps):
14190           improve output of caps a bit
14191
14192 2004-01-11  David Schleef  <ds@schleef.org>
14193
14194         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14195         inherit correct flags (READONLY and DONTKEEP).
14196
14197 2004-01-11  David Schleef  <ds@schleef.org>
14198
14199         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14200         (gst_filesrc_map_region):
14201         * gst/gstbuffer.c: (_gst_buffer_initialize),
14202         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14203         (gst_buffer_new), (gst_buffer_create_sub),
14204         (gst_buffer_is_span_fast), (gst_buffer_span):
14205         * gst/gstbuffer.h:
14206         Change GstBuffer private structure element names. (all files)
14207         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14208         (gst_queue_link):
14209         * gst/gstqueue.h:
14210         Implement getcaps/pad_link functions that handle the case where
14211         there are data in the queue.
14212
14213 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14214
14215         * gst/elements/gstbufferstore.c:
14216           initialize debugging structure correctly
14217         * gst/elements/gsttee.c: (gst_tee_set_property):
14218           g_object_notify when property was changed
14219         * gst/elements/gsttypefindelement.c:
14220         (gst_type_find_element_change_state):
14221           clear caps correctly
14222
14223 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14224
14225         * gst/gstqueue.c: (gst_queue_init):
14226           Use better defaults for when a queue should block. This
14227           gets rid of jerky playback for quite a few files.
14228           It takes more memory.
14229
14230 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14231
14232         (gst_xml_registry_parse_padtemplate):
14233           make critical message slightly more useful
14234
14235 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14236
14237         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14238         (gst_debug_message_get), (gst_debug_log_default):
14239         * gst/gstinfo.h:
14240           Change gst_debug_log(_valist) to take a const format string.
14241           Change prototype of log function and functions using those to 
14242           take a GstDebugMessage instead of a string that requires using
14243           gst_debug_message_get.
14244
14245 2004-01-08  David Schleef  <ds@schleef.org>
14246
14247         * Makefile.am:
14248         * configure.ac:
14249         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14250         and -ftest-coverage, which allows gcov to show information about
14251         testsuite coverage.
14252
14253 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14254
14255         * gst/gstutils.h:
14256           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14257           GST_PARENT_CALL_WITH_DEFAULT
14258         * gst/elements/gstaggregator.c: 
14259         * gst/elements/gstbufferstore.c: 
14260         * gst/elements/gstfakesink.c: 
14261         * gst/elements/gstfakesrc.c: 
14262         * gst/elements/gstfdsink.c: 
14263         * gst/elements/gstfdsrc.c: 
14264         * gst/elements/gstfilesink.c: 
14265         * gst/elements/gstfilesrc.c: 
14266         * gst/elements/gstidentity.c: 
14267         * gst/elements/gstmd5sink.c: 
14268         * gst/elements/gstmultidisksrc.c:
14269         * gst/elements/gstpipefilter.c: 
14270         * gst/elements/gstshaper.c:
14271         * gst/elements/gststatistics.c:
14272         * gst/elements/gsttee.c:
14273         * gst/elements/gsttypefindelement.c:
14274           use them.
14275
14276 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14277
14278         * docs/gst/gstreamer-docs.sgml: remove props
14279         * docs/gst/gstreamer-sections.txt: remove props
14280         * docs/gst/tmpl/gst.sgml:
14281         * docs/gst/tmpl/gstbin.sgml:
14282         * docs/gst/tmpl/gstbuffer.sgml:
14283         * docs/gst/tmpl/gstcaps.sgml:
14284         * docs/gst/tmpl/gstclock.sgml:
14285         * docs/gst/tmpl/gstelement.sgml:
14286         * docs/gst/tmpl/gstindex.sgml:
14287         * docs/gst/tmpl/gstobject.sgml:
14288         * docs/gst/tmpl/gstpad.sgml:
14289         * docs/gst/tmpl/gstpadtemplate.sgml:
14290         * docs/gst/tmpl/gstreamer-unused.sgml:
14291         * docs/gst/tmpl/gstthread.sgml:
14292         * docs/gst/tmpl/gstxml.sgml:
14293           sync with code reorganization
14294
14295 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14296
14297         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14298         Make the 'Could not find compatible pad' message more informative.
14299
14300 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14301                                                                                 
14302         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14303           Fix for if we pass NULL as property to location.
14304         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14305         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14306           Fix for instantiate-test (see below).
14307         * gst/gststructure.c: (_gst_structure_parse_value):
14308           Fix compile error on gcc-2.96.
14309         * configure.ac:
14310         * tests/Makefile.am:
14311         * tests/instantiate/Makefile.am:
14312         * tests/instantiate/create.c: (create_all_elements), (main):
14313           Add a test that instantiates all elements. This makes it easy to
14314           track dead code for old API/design (like setting event functions
14315           on sink pads and so on).
14316
14317 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14318
14319         * gst/gstcaps.c: (gst_caps_append_structure):
14320           Move the poisoning to allow a NULL structure
14321         * gst/gstevent.c: (_gst_event_free):
14322           When freeing a navigation event, free the structure
14323           also
14324
14325 2004-01-04  David Schleef  <ds@schleef.org>
14326
14327         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14328         Remove usage of gst_pad_proxy_fixate.
14329         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14330         (gst_caps_split_one), (gst_caps_replace):
14331         Add poisoning code.
14332         * gst/gstmarshal.list:
14333         Add pointer__pointer for fixate signal
14334         * gst/gstpad.c: (gst_real_pad_class_init),
14335         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14336         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14337         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14338         Add poisoning code. Add fixate signal on RealPad. Change
14339         set_explicit_caps() to take const GstCaps, like try_set_caps().
14340         * gst/gstpad.h:
14341         * testsuite/caps/Makefile.am:
14342         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14343
14344 2004-01-03  David Schleef  <ds@schleef.org>
14345
14346         * gst/elements/gsttypefindelement.c:
14347         (gst_type_find_element_have_type), (gst_type_find_element_init):
14348         Use gst_pad_use_explicit_caps for src pad.
14349         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14350         before using it.
14351
14352 2004-01-03  David Schleef  <ds@schleef.org>
14353
14354         * gst/gstelement.c: (gst_element_link_pads_filtered),
14355         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14356         that linking was successful.
14357         * gst/gstpad.c: (gst_pad_link_free),
14358         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14359         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14360         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14361         GstPadLinkReturn correctly between functions, and don't fail
14362         when DELAYED is used (DELAYED is very important).  Better
14363         cleanup on unlinking and unnegotiation.  Should fix some spider
14364         bugs.
14365
14366 2004-01-02  David Schleef  <ds@schleef.org>
14367
14368         * gst/gstelement.c: (gst_element_class_init),
14369         (gst_element_base_class_init): ->padtemplates should be cleared
14370         in base_init, since we need to have a fresh list for every
14371         class.  (Alternately, we chould copy the list and share the
14372         actual pad templates (not the list), but that would require
14373         changing every plugin to move pad template registration from
14374         base_init to class_init.)
14375
14376 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14377
14378         * gst/gstelement.c: (gst_element_class_add_pad_template):
14379           Refuse registering a pad template if another pad template
14380           with the same name already exists (#114715).
14381
14382 2004-01-02  David Schleef  <ds@schleef.org>
14383
14384         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14385         (gst_caps_is_equal_fixed): Add new function.
14386         * gst/gstcaps.h: ditto.
14387         * gst/gstpad.c: (gst_real_pad_class_init),
14388         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14389         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14390         check new caps against existing caps -- if they're the same, return
14391         OK without renegotiating.  caps-nego-failed signal fixed so that
14392         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14393         to save an extra caps copy.  Don't complete negotiation if a pad
14394         link function returns DELAYED.
14395
14396 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14397
14398         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14399           Fix wrong g_return_if_fail
14400
14401 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14402
14403         * gst/gstbin.c: (gst_bin_class_init):
14404         Change the marshalling of element_added/element_removed
14405         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14406         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14407
14408 2004-01-01  David Schleef  <ds@schleef.org>
14409
14410         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14411         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14412         (gst_pad_use_explicit_caps):
14413         * gst/gstpad.h:
14414         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14415         to use an internal getcaps and link fuction so that negotiation
14416         always results in the explicitly set caps.
14417         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14418         are particularly useful for decoders.
14419
14420 2003-12-31  David Schleef  <ds@schleef.org>
14421
14422         * gst/elements/gstidentity.c: (gst_identity_class_init),
14423         (gst_identity_init), (gst_identity_chain),
14424         (gst_identity_set_property), (gst_identity_get_property):
14425         * gst/elements/gstidentity.h:
14426         * gst/gstqueue.c: (gst_queue_init):
14427           Negotiation fixes.
14428
14429 2003-12-31  David Schleef  <ds@schleef.org>
14430
14431         * gst/gstcaps.c: (gst_caps_intersect),
14432         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14433           Implement gst_caps_normalize().
14434         * testsuite/caps/normalisation.c: (main):
14435           Add an additional test
14436
14437 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14438
14439         * gst/gstqueue.c: (gst_queue_init):
14440           use gst_pad_proxy_getcaps()
14441
14442 2003-12-31  David Schleef  <ds@schleef.org>
14443
14444         * gst/elements/gstshaper.c: (gst_shaper_link):
14445         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14446         * gst/gstqueue.c: (gst_queue_link):
14447           Negotiation fixes.
14448
14449 2003-12-31  David Schleef  <ds@schleef.org>
14450
14451         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14452         * gst/gstpad.h: Add functions that are useful as default pad
14453         link and fixate functions for elements.
14454
14455 2003-12-30  David Schleef  <ds@schleef.org>
14456
14457         * gst/gstpad.c: (gst_pad_link_try):
14458           Fix segfault when attempting to return to old caps
14459
14460 2003-12-29  David Schleef  <ds@schleef.org>
14461
14462         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14463         (gst_caps_structure_simplify), (gst_caps_simplify):
14464         * gst/gstcaps.h:
14465           Add simplify function
14466         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14467         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14468         * gst/gstpad.h:
14469           Copy over srcnotify, sinknotify when calling old pad_link
14470           functions.  Add new is_negotiated() function.
14471         * gst/gststructure.c: (gst_structure_copy):
14472           Fix an incredibly stupid bug that should have been noticed
14473           weeks ago.  _copy() returned the argument, not the new copy.
14474
14475 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14476
14477         * gst/gstcaps.c: (gst_caps_append):
14478           add sanity checks
14479         * gst/gstcaps.h: (gst_caps_debug):
14480           remove, it doesn't exist anymore.
14481         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14482         (gst_element_threadsafe_properties_post_run):
14483           make debugging messages not clutter up THREAD debug category
14484         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14485         (gst_element_change_state):
14486           update to new caps API
14487         * gst/gstinterface.c: (gst_implements_interface_cast):
14488           don't put vital code in g_return_if_fail
14489         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14490         (gst_pad_link_filtered):
14491           add pst_pad_try_link and use it.
14492         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14493           implement correctly, deprecate first one.
14494         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14495           add and implement.
14496         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14497           implement.
14498         (gst_pad_get_negotiated_caps):
14499           add and implement. Make GST_PAD_CAPS call this function.
14500         (gst_pad_get_caps):
14501           remove unneeded check..
14502         (gst_pad_recover_caps_error):
14503           disable, always return FALSE.
14504         (gst_real_pad_dispose):
14505           don't free caps and appfilter anymore, they're unused.
14506         * gst/gstpad.h:
14507           Reflect changes mentioned above.
14508         * gst/gstsystemclock.c: (gst_system_clock_wait):
14509           Make 'clock is way behind' a debugging message.
14510         * gst/gstthread.c: (gst_thread_change_state):
14511           Fix debugging message
14512
14513 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14514
14515         * gst/gstinfo.h:
14516           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14517         * docs/gst/tmpl/gstreamer-unused.sgml:
14518           removed all traces of cvs conflicts
14519
14520 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14521
14522         * configure.ac:
14523         * gst/schedulers/cothreads_compat.h:
14524         * libs/Makefile.am:
14525           remove last instances of wingo cothread usage
14526
14527 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14528
14529         * gst/gstplugin.c:
14530         * gst/gstversion.h.in:
14531         * gst/parse/grammar.y:
14532           change comment block from /** to /* when not gtk-doc comments
14533
14534 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14535
14536         * gst/gst.c: whitespace and doc style fixes
14537
14538 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14539
14540         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14541
14542 2003-12-24  Colin Walters  <walters@verbum.org>
14543
14544         * gst/elements/gsttypefindelement.c:
14545           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14546           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14547           Don't double-free caps.
14548
14549 2003-12-23  David Schleef  <ds@schleef.org>
14550
14551         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14552           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14553           Many little fixes and additions of debug statements to
14554           get rhythmbox working.
14555
14556 2003-12-23  Colin Walters  <walters@verbum.org>
14557
14558         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14559         Use GST_PAD_LINK_SUCCESSFUL.
14560
14561 2003-12-23  David Schleef  <ds@schleef.org>
14562
14563         * gst/elements/gstaggregator.c:
14564         * gst/elements/gsttee.c:
14565           Use gst_pad_proxy_getcaps().
14566         * gst/gstpad.c:
14567         * gst/gstpad.h:
14568           Add gst_pad_proxy_getcaps(), which filter elements can use
14569           as a generic getcaps implementation.
14570           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14571           was advertised.
14572
14573 2003-12-23  David Schleef  <ds@schleef.org>
14574
14575         * gst/gstpad.c:
14576           Rearrange/rewrite much of the pad negotiation code, since it
14577           resembled pasta.  This actually changes the way some
14578           negotiation works, since the previous code was inconsistent
14579           depending on how it was invoked.  Add (internal) structure
14580           GstPadLink, which is used to hold some information (more in
14581           the future) about the link between two pads.  Fixes a number
14582           of bugs, including random lossage of filter caps when the
14583           initial negotiation is delayed.  A few functions are still
14584           unimplemented.
14585         * gst/gstpad.h:
14586           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14587           these when testing GstPadLinkReturn values instead of comparing
14588           directly.
14589
14590 2003-12-23  David Schleef  <ds@schleef.org>
14591
14592         * gst/gstvalue.c: 
14593         * gst/gstvalue.h:
14594           Rearrange lots of code.  Change registration of compare function
14595           into registration of compare/serialize/deserialize functions.
14596           Doesn't include implementation of gst_value_[de]serialize(),
14597           but that should be easy.
14598
14599 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14600
14601         * docs/gst/gstreamer-sections.txt:
14602         * docs/gst/tmpl/gstprops.sgml: removed
14603         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14604           David removed props and caps code, so let's remove their docs as well.
14605           Removed all no longer existing symbols from gstreamer-sections.txt
14606           
14607 2003-12-22  Colin Walters  <walters@verbum.org>
14608
14609         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14610           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14611           of tags directly.
14612
14613 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14614
14615         * gst/elements/gstelements.c:
14616           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14617         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14618           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14619           gst_caps (peer).
14620
14621 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14622
14623         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14624         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14625         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14626         (gst_spider_identity_sink_loop_type_finding):
14627         * gst/autoplug/gstspideridentity.h:
14628           Fix autoplugging in spider element, so it works with new caps.
14629           This was mainly caused by identifying empty caps incorrectly.
14630
14631 2003-12-22  David Schleef  <ds@schleef.org>
14632
14633         * gststructure.c, gstvalue.c, gstvalue.h: Add
14634           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14635           using g_value_copy()
14636
14637 2003-12-21  David Schleef  <ds@schleef.org>
14638
14639         * many, many files: Merge CAPS branch.  This includes:
14640           - implemention of GstValue and several GstValue types
14641           - implemention of GstStructure
14642           - entire rewrite of GstCaps
14643           - removal of GstProps
14644           - many changes to GstPad to compensate for new caps paradigm
14645           - removal of GstBufferpool
14646         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14647         gstvalue.h, gst/gstcaps[2]*.[ch]:
14648           - rename gstcaps2.[ch] to gstcaps.[ch]
14649
14650 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14651
14652         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14653         (gst_queue_chain), (gst_queue_handle_src_event):
14654           implement timeout for sending events. Workaround for if the
14655           pipeline on this queue is not passing any data.
14656
14657 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14658                                                                                 
14659         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14660         * moved CVS to freedesktop.org