gst/base/: fix up some debugging
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
5           fix up some debugging
6         (gst_base_transform_get_unit_size),
7         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8         (gst_base_transform_handle_buffer):
9         * gst/base/gstbasetransform.h:
10           handle and store timed NEWSEGMENT events so that subclasses that
11           calculate time by counting samples have a segment_start time they
12           need to add to their timestamps - see audioresample
13
14 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
15
16         * gst/gstbin.h:
17           removed ';' from the end of macro defs
18         * docs/gst/gstreamer-docs.sgml:
19         * docs/gst/gstreamer-sections.txt:
20         * docs/gst/tmpl/.cvsignore:
21         * gst/gstbus.h:
22         * gst/gstelement.c: (gst_element_class_init),
23         (gst_element_set_state), (activate_pads),
24         (gst_element_save_thyself):
25         * gst/gstevent.c: (gst_event_new_newsegment):
26         * gst/gstevent.h:
27         * gst/gstiterator.c:
28         * gst/gstiterator.h:
29         * gst/gstpad.c:
30         * gst/gstprobe.h:
31         * gst/gstutils.c: (gst_pad_query_convert):
32         * gst/gstutils.h:
33           fixed parameter name mismatches between source, header and docs
34           added some more docs, resolved the last batch of unused elements in
35           docs (now someone needs to doc them)
36
37 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
38
39         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
40         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
41           don't walk through the plugins backwards.  Where is all this
42           reversed logic coming from ?
43
44 2005-08-25  Wim Taymans  <wim@fluendo.com>
45
46         * gst/base/gstbasetransform.c: (gst_base_transform_init),
47         (gst_base_transform_transform_size),
48         (gst_base_transform_configure_caps),
49         (gst_base_transform_get_unit_size),
50         (gst_base_transform_buffer_alloc),
51         (gst_base_transform_change_state):
52         * gst/base/gstbasetransform.h:
53         Cache caps unit_size.
54         Make sure we cannot negotiate up and downstream at the
55         same time.
56
57 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
58
59         * gst/gst.c: (init_pre), (init_post):
60           register the installed plugin path after the env var
61         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
62         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
63           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
64           directories, so the tests can prefer uninstalled over installed
65
66 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
67
68         * gst/base/gstbasetransform.h:
69           comment
70         * gst/gstpad.c:
71           add to docs
72
73 2005-08-25  Wim Taymans  <wim@fluendo.com>
74
75         * gst/gstbin.c: (bin_bus_handler):
76         Be a bit more conservative about the posted message.
77         
78         * gst/gstbus.c: (gst_bus_post):
79         Some cleanups, warn wrong return values.
80
81 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
82
83         * check/gst/gstbin.c: (GST_START_TEST):
84         * gst/gstbin.c: (bin_bus_handler):
85         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
86         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
87         (gst_message_new_warning), (gst_message_new_tag),
88         (gst_message_new_state_changed), (gst_message_new_segment_start),
89         (gst_message_new_segment_done), (gst_message_new_custom):
90         * gst/gstmessage.h:
91         * tools/gst-launch.c: (event_loop):
92         * tools/gst-md5sum.c: (event_loop):
93           Revert unpopular change for GST_MESSAGE_SRC to GObject.
94
95 2005-08-25  Wim Taymans  <wim@fluendo.com>
96
97         * check/generic/states.c: (GST_START_TEST):
98         Cleanup can be done at the end.
99
100         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
101         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
102         (gst_task_get_state), (gst_task_start), (gst_task_pause):
103         Oh boy.. Thanks for finding this, Thomas. 
104
105 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
106
107         * docs/gst/gstreamer.types:
108           added missing types
109
110 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
111
112         * docs/gst/gstreamer-docs.sgml:
113         * docs/gst/gstreamer-sections.txt:
114         * docs/gst/tmpl/.cvsignore:
115         * gst/gstbin.c:
116         * gst/gstiterator.c:
117         * gst/gstutils.c:
118         * gst/registries/gstxmlregistry.h:
119           added miissing classes and symbols (123 more to go)
120           removed removed symbols from section file
121           fixed many doc-comments
122
123 2005-08-24  Wim Taymans  <wim@fluendo.com>
124
125         * check/generic/states.c: (GST_START_TEST):
126         Make sure all tasks are stopped.
127
128         * check/gst/gstbin.c: (GST_START_TEST):
129         Unref after usage for proper valgrinding.
130
131         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
132         Really wait for the task to stop before destroying the
133         mutex.
134
135         * gst/gstqueue.c: (gst_queue_sink_activate_push),
136         (gst_queue_src_activate_push):
137         Small cleanups. Don't stop the task when we did not start
138         it.
139
140         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
141         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
142         (gst_task_get_state), (gst_task_start), (gst_task_pause),
143         (gst_task_join):
144         * gst/gsttask.h:
145         Protect the stream lock with the object lock.
146         Disallow setting the stream lock when running.
147         Add cleanup_all to wait for the threadpool to finish.
148         Remove code to autoallocate a mutex if none was provided.
149         Add _join() to wait for a task to stop.
150         Protect the thread pool with a global lock.
151
152 2005-08-24  Wim Taymans  <wim@fluendo.com>
153
154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
155         (gst_base_sink_get_times), (gst_base_sink_do_sync),
156         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
157         * gst/base/gstbasesink.h:
158         Handle newsegment events correctly.
159         Drop buffers out of the segment range.
160
161 2005-08-22  Andy Wingo  <wingo@pobox.com>
162
163         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
164         macro, implements an interface and gstimplementsinterface for a
165         new type.
166
167 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * check/Makefile.am:
170         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
171           add a test that does a bunch of state changes on elements
172           needs some fixing for valgrind
173         * check/states/sinks.c: (gst_object_suite):
174           whitespace
175         * gst/gstcaps.h:
176           add prototype for gst_caps_is_equal_fixed
177         * gst/gstplugin.c:
178         * gst/gstregistrypool.c:
179           doc fixes
180
181 2005-08-24  Andy Wingo  <wingo@pobox.com>
182
183         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
184         convert a negative value. Doesn't make much sense. Mostly this is
185         here to force callers to ensure -1 maps to -1.
186
187 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
188
189         * docs/pwg/advanced-types.xml:
190           Well done to Michael for catching my deliberate introduction
191           of this spelling mistake. 
192         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
193         * gst/gstelement.h:
194           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
195           unlink pads before removing the element from the bin.
196
197 2005-08-24  Andy Wingo  <wingo@pobox.com>
198
199         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
200         the same thing as GST_DEBUG=*:4.
201         (parse_debug_level, parse_debug_category): New helper parsers.
202
203 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
204
205         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
206         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
207         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
208         (gst_base_transform_buffer_alloc),
209         (gst_base_transform_handle_buffer):
210           use gboolean return values and pointers to size so we can use the
211           full GST_BUFFER_SIZE range (guint) for buffer sizes
212           use GstPadDirection for transform_caps
213         * gst/base/gstbasetransform.h:
214           rename get_size to get_unit_size since that's what it is
215         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
216           use GstPadDirection for transform_caps
217         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
218         * gst/gstutils.h:
219           cleanup and debugging
220
221 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
222
223         * gst/gstelement.c: (gst_element_class_init),
224         (gst_element_set_state), (activate_pads),
225         (gst_element_save_thyself):
226         * tools/gst-compprep.c: (main):
227         * tools/gst-inspect.c: (print_element_properties_info):
228         * tools/gst-xmlinspect.c: (print_element_properties):
229           Fixed long standing mem-leak
230
231 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
232
233         * check/gst/gstbin.c: (GST_START_TEST):
234         * gst/gstbin.c: (bin_bus_handler):
235         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
236         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
237         (gst_message_new_warning), (gst_message_new_tag),
238         (gst_message_new_state_changed), (gst_message_new_segment_start),
239         (gst_message_new_segment_done), (gst_message_new_custom):
240         * gst/gstmessage.h:
241         * tools/gst-launch.c: (event_loop):
242         * tools/gst-md5sum.c: (event_loop):
243           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
244           that applications can sensibly post custom messages with references
245           to their own objects.
246
247 2005-08-24  Andy Wingo  <wingo@pobox.com>
248
249         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
250         already.
251
252 2005-08-24  Wim Taymans  <wim@fluendo.com>
253
254         * gst/base/gstbasetransform.c: (gst_base_transform_init),
255         (gst_base_transform_transform_caps),
256         (gst_base_transform_transform_size),
257         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
258         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
259         (gst_base_transform_handle_buffer):
260         * gst/base/gstbasetransform.h:
261         Many fixes and new features added by Thomas. Can now also do
262         transforms with variable sizes and a custom fixate_caps function.
263
264 2005-08-24  Wim Taymans  <wim@fluendo.com>
265
266         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
267         Some debugging.
268
269         * gst/gstclock.h:
270         Cast to ClockTime before formatting to time.
271
272         * gst/gstutils.h:
273         Cleanups.
274
275 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
276
277         * check/gst-libs/controller.c: (GST_START_TEST),
278         (gst_controller_suite):
279         * docs/gst/tmpl/gstcaps.sgml:
280         * docs/gst/tmpl/gstghostpad.sgml:
281         * docs/gst/tmpl/gstquery.sgml:
282         * docs/gst/tmpl/gstutils.sgml:
283         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
284         (gst_object_sink_values), (gst_object_get_value_arrays),
285         (gst_object_get_value_array):
286           gracefully handle helper method calls to objects that are not beeing
287           controlled, added test case for that          
288
289 2005-08-23  Wim Taymans  <wim@fluendo.com>
290
291         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
292         (gst_event_new_newsegment), (gst_event_parse_newsegment),
293         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
294         (gst_event_parse_qos), (gst_event_new_seek),
295         (gst_event_parse_seek):
296         * gst/gstevent.h:
297         Some more debugging output and doc cleanups.
298
299         * gst/gstqueue.c: (gst_queue_handle_sink_event):
300         Fix possible deadlock.
301
302 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
303
304         * docs/gst/gstreamer-docs.sgml:
305         * docs/gst/gstreamer-sections.txt:
306         * docs/gst/gstreamer.types:
307         * docs/gst/tmpl/.cvsignore:
308         * gst/gstbin.h:
309         * gst/gstbus.c:
310         * gst/gstelement.c:
311         * gst/gstevent.h:
312           added about 100 symbols from gstreamer-unused.txt to the right sections
313           fixed more broken comments
314           added GstBus to docs
315
316 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
317
318         * docs/gst/gstreamer-sections.txt:
319         * docs/gst/tmpl/.cvsignore:
320         * docs/gst/tmpl/gstbin.sgml:
321         * docs/gst/tmpl/gstbuffer.sgml:
322         * gst/base/gstbasesrc.c:
323         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
324         * gst/gstbuffer.c:
325         * gst/gstbuffer.h:
326         * tools/gst-launch.1.in:
327           inlined more doc comments, added missing comments and fixed comments
328           fixed typos
329
330 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
331
332         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
333           some debugging
334         * gst/gstcaps.h:
335           whitespace fixes
336         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
337           more debugging
338         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
339         * gst/gststructure.h:
340           add a fixate function for booleans; add a FIXME that these func
341           names should probably be gst_structure_fixate_*
342
343 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
344
345         * docs/gst/gstreamer-docs.sgml:
346         * docs/gst/gstreamer-sections.txt:
347         * gst/Makefile.am:
348         * gst/gstbin.c: (gst_bin_get_type),
349         (gst_bin_child_proxy_get_child_by_index),
350         (gst_bin_child_proxy_get_children_count),
351         (gst_bin_child_proxy_init):
352         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
353         (gst_child_proxy_get_child_by_index),
354         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
355         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
356         (gst_child_proxy_get), (gst_child_proxy_set_property),
357         (gst_child_proxy_set_valist), (gst_child_proxy_set),
358         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
359         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
360         * gst/gstchildproxy.h:
361         * gst/parse/grammar.y:
362         * tools/gst-inspect.c: (print_interfaces),
363         (print_element_properties_info), (print_element_info):
364          ported gstchildproxy over from 0.8
365          ported gst-inspect fixes and enhancements over from 0.8
366
367 2005-08-22  Wim Taymans  <wim@fluendo.com>
368
369         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
370         (gst_base_transform_handle_buffer):
371         Also call the transform function if we have ANY caps.
372
373         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
374         Fix debug info.
375
376 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
377
378         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
379           Don't pretend to handle seek events if the source is not seekable
380
381 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
382
383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
384           Remove extra parameter to debug output
385
386         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
387         (gst_base_src_do_seek), (gst_base_src_activate_push):
388           Fix seek event handling.
389
390         * gst/gstpipeline.c: (gst_pipeline_change_state):
391         * gst/gstqueue.c: (gst_queue_handle_sink_event),
392         (gst_queue_src_activate_push):
393           Don't start the src pad task on FLUSH_STOP if the pad
394           isn't linked.
395           Debug changes.
396
397 2005-08-22  Wim Taymans  <wim@fluendo.com>
398
399         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
400         Added check for gst_static_caps_get() refcounting.
401
402 2005-08-22  Wim Taymans  <wim@fluendo.com>
403
404         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
405         Make _static_caps_get() refcounting sane.
406         
407         * gst/gstelement.c: (gst_element_set_state):
408         Add g_return_val_if_fail() to protect against segfaults.
409
410 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
411
412         * docs/gst/tmpl/gstevent.sgml:
413         * gst/gstevent.c:
414         * gst/gstevent.h:
415           inlined remaining docs, added missing doc comments
416
417 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
418
419         * check/gst/gstbin.c: (GST_START_TEST):
420           since we don't know when preroll is done, use refcount range
421           check for the sink
422         * gst/check/gstcheck.h:
423           add macro for checking refcount range
424
425 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * check/Makefile.am:
428           clean up environment for when registry gets built versus
429           when actual tests are run; valgrind seems to not report
430           leaks if GST_PLUGIN_PATH is set to some specific values
431         * check/gst/gstbin.c: (GST_START_TEST):
432           add more refcounting checks; maybe this exposes a
433           preroll lock bug ?
434         * common/check.mak:
435         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
436         * gst/check/gstcheck.h:
437         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
438         (gst_bin_change_state):
439         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
440           add/fix debugging/whitespace
441
442 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
443
444         * check/gst/gstevent.c: (event_probe), (test_event),
445         (GST_START_TEST):
446          Er, don't call gst_bin_watch_for_state_change you idiot.
447
448 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
449
450         * check/Makefile.am:
451           Use CHECK_CFLAGS and CHECK_LIBS
452         * check/gst/gstevent.c: (event_probe), (test_event),
453         (GST_START_TEST):
454           Don't leak events.
455         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
456         (gst_base_src_start), (gst_base_src_stop),
457         (gst_base_src_activate_push), (gst_base_src_activate_pull),
458         (gst_base_src_change_state):
459           Sprinkle gst_base_src_stop liberally around error paths to fix
460           problems reusing a source after failed state changes.
461         * gst/base/gsttypefindhelper.c: (helper_find_peek),
462         (helper_find_suggest), (gst_type_find_helper):
463           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
464         * gst/gstevent.h:
465         * docs/gst/tmpl/gstevent.sgml:
466           Migrate part of the docs from the SGML file. Wait for ensonic to
467           tell me how I did it wrong ;)
468         * tools/gst-typefind.c: (main):
469           Extra robustness to state changes between files.
470
471 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
472
473         * check/Makefile.am:
474           don't valgrind the controller test - it's leaking - Stefan, HELP
475         * gst/check/gstcheck.c: (gst_check_message_error),
476         (gst_check_chain_func), (gst_check_setup_element),
477         (gst_check_teardown_element), (gst_check_setup_src_pad),
478         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
479         (gst_check_teardown_sink_pad):
480         * gst/check/gstcheck.h:
481           add a bunch of methods to set up elements, and src and sink pads
482         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
483         * check/elements/identity.c: (setup_identity), (cleanup_identity),
484         (GST_START_TEST):
485           use them
486         * gst/gstmessage.c:
487         * gst/gsttag.h:
488           whitespace/doc fixes
489
490 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         * gst/gstelement.h:
493           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
494           be handled by the application and not always printed as well
495
496 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
497
498         * check/Makefile.am:
499           set GST_TOOLS_DIR
500         * gst/check/gstcheck.c: (gst_check_message_error):
501         * gst/check/gstcheck.h:
502           add a fail_unless_equals_int
503           add fail_unless for error messages
504
505 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
506
507         * check/Makefile.am:
508         * check/gst.supp:
509         * common/Makefile.am:
510         * common/check.mak:
511         * common/gst.supp:
512           factor out some of the common stuff so we can use it
513
514 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
515
516         * check/Makefile.am:
517         * check/gst/gstiterator.c: (GST_START_TEST):
518         * check/gst/gstsystemclock.c: (GST_START_TEST),
519         (gst_systemclock_suite):
520         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
521         * gst/gstclock.c:
522           valgrind more tests
523
524 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
525
526         * check/elements/.cvsignore:
527         * check/elements/gstfakesrc.c:
528           rename to name of element
529         * check/elements/identity.c: (chain_func), (event_func),
530         (setup_identity), (cleanup_identity), (GST_START_TEST),
531         (identity_suite), (main):
532           add a test for identity
533         * check/Makefile.am:
534         * pkgconfig/Makefile.am:
535         * pkgconfig/gstreamer-check.pc.in:
536         * pkgconfig/gstreamer-check-uninstalled.pc.in:
537         * gst/check:
538         * gst/Makefile.am:
539         * configure.ac:
540           move the check stuff to a library that gets installed
541         * check/gst-libs/controller.c: (GST_START_TEST):
542         * check/gst-libs/gdp.c:
543         * check/gst/gst.c: (GST_START_TEST):
544         * check/gst/gstbin.c:
545         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
546         * check/gst/gstbus.c:
547         * check/gst/gstcaps.c: (GST_START_TEST):
548         * check/gst/gstelement.c:
549         * check/gst/gstghostpad.c:
550         * check/gst/gstiterator.c:
551         * check/gst/gstmessage.c:
552         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
553         * check/gst/gstobject.c:
554         * check/gst/gstpad.c: (GST_START_TEST):
555         * check/gst/gststructure.c: (GST_START_TEST):
556         * check/gst/gstsystemclock.c: (GST_START_TEST),
557         (gst_systemclock_suite):
558         * check/gst/gsttag.c: (gst_tag_suite):
559         * check/gst/gstvalue.c:
560         * check/pipelines/cleanup.c:
561         * check/pipelines/simple_launch_lines.c:
562         * check/states/sinks.c:
563           change include statement
564
565         * docs/gst/gstreamer-sections.txt:
566         * docs/gst/tmpl/gstpad.sgml:
567           document more pad stuff
568         * gst/gstminiobject.c: (gst_mini_object_ref),
569         (gst_mini_object_unref):
570           debug refcounting
571
572 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
573
574         * docs/gst/tmpl/gst.sgml:
575         * gst/gst.c:
576           eliminate another tmpl file, fix spelling in the long-description
577
578 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
579
580         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
581         (test_event), (timediff), (gstevents_suite):
582           Should fix build on 64-bit arch's
583
584 2005-08-18  Andy Wingo  <wingo@pobox.com>
585
586         Make sure that when a pipeline goes to PLAYING, that data has
587         actually hit the sink.
588
589         * check/states/sinks.c (test_sink): A sink that doesn't get any
590         data shouldn't return SUCCESS for going to either PLAYING or
591         PAUSED. Test also the return values on the way back down.
592
593         * gst/gstelement.c (gst_element_set_state): When changing the
594         state of an element currently changing state asynchronously, go to
595         lost-state after commiting the pending state. Makes future calls
596         to get_state continue to return ASYNC.
597
598         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
599         ASYNC when going to PLAYING if we still don't have preroll, as can
600         happen with live sources.
601
602 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
603
604         * docs/pwg/advanced-types.xml:
605           Hack long paragraph into 2 chunks as a workaround for buggy
606           jadetex version in sid and breezy that loops infinitely and
607           eats all RAM.
608
609 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
610
611         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
612         (test_event), (timediff), (gstevents_suite):
613           Provide more error margin in clock measurements to allow for 
614           g_get_current_time inaccuracies.
615
616 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
617
618         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
619         (test_event), (timediff), (gstevents_suite):
620            Fix error message output so I might be able to tell why the
621            test works here but fails on the build farm.
622
623 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
624
625         * check/Makefile.am:
626         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
627         (test_event), (timediff), (gstevents_suite), (main):
628           I wrote a test!
629
630         * docs/design/part-seeking.txt:
631           Spelling correction
632
633         * docs/gst/tmpl/gstevent.sgml:
634         * docs/gst/tmpl/gstfakesrc.sgml:
635           Docs updates.
636
637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
638           Treat a buffer-without-newsegment the same as a receiving 
639           a newsegment not in time format, and disable syncing to the clock
640           with a warning.
641
642         * gst/gstbus.c: (gst_bus_set_sync_handler):
643           Assert if anyone tries to replace the existing sync_handler for bus, 
644           as only the owner should be setting it.
645
646         * gst/gstevent.h:
647           Have a fixed set of custom event enums with events identified by
648           their structure name (as in 0.8), rather than a free-for-all
649           allowing collisions between enum values from different plugins.
650
651         * gst/gstpad.c: (gst_pad_class_init):
652           Docs change.
653           
654         * gst/gstqueue.c: (gst_queue_handle_sink_event):
655           Handle out-of-band downstream events from the sending thread.
656
657 2005-08-17  Andy Wingo  <wingo@pobox.com>
658
659         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
660         play-timeout==0 to mean no timeout at all. In that case, don't
661         bother with a get_state or a warning, just return directly, even
662         if it's ASYNC.
663
664         * gst/base/gstbasetransform.c: Debug changes.
665
666         * gst/gstutils.h:
667         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
668         ensure bins post state change messages. A bit of a hack but I can't
669         think of a way to avoid it.
670
671         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
672
673 2005-08-16  Andy Wingo  <wingo@pobox.com>
674
675         * gst/base/gstadapter.h:
676         * gst/base/gstadapter.c (gst_adapter_take): New function, like
677         peek() but you own the data. Not terribly efficient atm.
678
679 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
680
681         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
682         (gst_element_found_tags):
683         * gst/gstutils.h:
684           Add two utility functions for tag handling.
685
686 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
687
688         * docs/manual/advanced-dataaccess.xml:
689         * docs/manual/basics-helloworld.xml:
690           Fix docs to use _bin_add() before _link(), which fixes the examples
691           with recent core versions (reported by Madhan Raj M
692           <raj_madan@rediffmail.com>, #313199).
693
694 2005-08-16  Wim Taymans  <wim@fluendo.com>
695
696         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
697         Added subtract checks.
698
699         * docs/design/part-events.txt:
700         Some more docs about newsegment
701
702         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
703         Fix FIXME
704
705         * gst/gstcaps.c: (gst_caps_to_string):
706         Add comments, cleanups.
707         
708         * gst/gstelement.c: (gst_element_save_thyself):
709         cleanups
710         
711         * gst/gstvalue.c: (gst_value_collect_int_range),
712         (gst_string_unwrap), (gst_value_union_int_int_range),
713         (gst_value_union_int_range_int_range),
714         (gst_value_intersect_int_int_range),
715         (gst_value_intersect_int_range_int_range),
716         (gst_value_intersect_double_double_range),
717         (gst_value_intersect_double_range_double_range),
718         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
719         (gst_value_subtract_int_range_int),
720         (gst_value_subtract_double_range_double),
721         (gst_value_subtract_double_range_double_range),
722         (gst_value_subtract_from_list), (gst_value_subtract_list),
723         (gst_value_can_compare), (gst_value_compare_fraction):
724         Cleanups, add comments, remove unneeded asserts.
725
726 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
727
728         * tools/gst-launch.c: (event_loop):
729           don't convert NULL structures to strings
730
731 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
732
733         * docs/gst/gstreamer-sections.txt:
734           made some defines private
735         * docs/gst/tmpl/gstconfig.sgml:
736         * docs/gst/tmpl/gstqueue.sgml:
737         * docs/gst/tmpl/gsttaglist.sgml:
738         * docs/gst/tmpl/gsttypes.sgml:
739         * docs/gst/tmpl/gstutils.sgml:
740         * docs/pwg/appendix-porting.xml:
741         * gst/base/gstbasesink.h:
742         * gst/base/gstbasesrc.c:
743         * gst/base/gstbasesrc.h:
744         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
745         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
746         * gst/gstelement.c: (gst_element_class_init):
747         * gst/gstpad.c: (gst_pad_class_init):
748         * gst/gstqueue.c: (gst_queue_class_init):
749         * gst/gstxml.c: (gst_xml_class_init):
750           documented all undocumented signal inline
751         * libs/gst/controller/gst-controller.h:
752           added padding
753
754 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
755
756         * docs/pwg/appendix-porting.xml:
757           Document _set_link_function -> _set_setcaps_function.
758
759 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
760
761         * check/Makefile.am:
762           add a .check target for running the check
763         * check/gst-libs/controller.c: (GST_START_TEST):
764           cosmetic fixups
765         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
766           complete checks for gstbuffer; would be nice if I could get the
767           gcov stuff to work so I can see if I actually completed gstbuffer.c
768         * check/gstcheck.h:
769           add ASSERT_BUFFER_REFCOUNT
770
771 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
772
773         * docs/gst/gstreamer-sections.txt:
774         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
775         * gst/gsttag.h:
776           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
777           spew out a warning if a tag that is already registered
778           is re-registered, unless it is re-registered with a 
779           different type (#308438).
780
781 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
782
783         * docs/pwg/appendix-porting.xml:
784         * docs/pwg/building-state.xml:
785           Add some paragraphs about state changes in 0.9 to the PWG
786           and the porting guide, in particular about the new meaning
787           of GST_STATE_PAUSED and how to write state change functions
788           with concurrent access by multiple threads in mind.
789
790 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
791
792         * docs/gst/gstreamer-docs.sgml:
793         * docs/libs/gstreamer-libs-docs.sgml:
794           added deprecation and since indexes
795         * libs/gst/controller/gst-controller.c:
796         * libs/gst/controller/gst-helper.c:
797           added since tags
798
799
800 2005-08-11  Wim Taymans  <wim@fluendo.com>
801
802         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
803         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
804         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
805         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
806         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
807         (gst_ghost_pad_set_target):
808         Actually implement (re)setting the target on a ghostpad
809         as described in the docs.
810
811 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
812
813         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
814           Check whether GST_DEBUG_NO_COLOR environment variable is
815           set and disable coloured debug output if that is the case.
816
817 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
818
819         * gst/base/gsttypefindhelper.c: (helper_find_peek),
820         (gst_type_find_helper):
821           The memory returned by gst_type_find_peek() needs to
822           stay valid until the end of a typefind function, and
823           typefind functions may keep results from different 
824           offsets around, so we can't just unref the buffer from
825           the previous _peek(), but have to save all buffers 
826           returned by _peek() until typefinding is done and only
827           free them then.
828
829 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
830
831         * docs/gst/gstreamer-sections.txt:
832         * gst/gstutils.h:
833           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
834
835 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
836
837         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
838           Fix a pretty good memleak.
839
840 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
841
842         * gst/gstiterator.h:
843           Fix wrong include and 'make distcheck'.
844
845 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
846
847         * gst/gstbin.c: (bin_bus_handler):
848           Use gst_element_post_message() instead.
849
850 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
851
852         * gst/base/gstadapter.h:
853         * gst/base/gstbasesink.h:
854         * gst/base/gstbasesrc.h:
855         * gst/base/gstbasetransform.h:
856         * gst/base/gstcollectpads.h:
857         * gst/base/gstpushsrc.h:
858         * gst/gstiterator.h:
859           Add padding to our base elements' class and instance structs and
860           to GstIterator (you will need to rebuild all plugins and apps!)
861
862 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
863
864         * gst/gstbin.c: (bin_bus_handler):
865           Make default message forwarding from child->bus to bin->bus
866           threadsafe and make it not emit warnings if the parent has no bus.
867
868 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
869
870         * gst/gstelement.c: (activate_pads):
871           On paused->ready, set pad->caps to NULL, as is the documented
872           behaviour in this state change. Fixes playback of series of
873           media files when visualization is enabled in Totem.
874
875 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
876
877         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
878           Allow NULL as filter-caps (which means "any").
879
880 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
881
882         * docs/libs/gstreamer-libs-sections.txt:
883         * libs/gst/controller/gst-controller.c:
884         * libs/gst/controller/gst-controller.h:
885         * libs/gst/controller/gst-helper.c:
886           adding more entries to the docs and fix small doc-bugs
887
888 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
889
890         * docs/gst/gstreamer-docs.sgml:
891         * docs/gst/gstreamer-sections.txt:
892         * docs/gst/gstreamer.types:
893         * docs/gst/tmpl/gstbasesink.sgml:
894         * docs/gst/tmpl/gstbasesrc.sgml:
895         * docs/gst/tmpl/gstbasetransform.sgml:
896         * docs/gst/tmpl/gstfakesrc.sgml:
897         * gst/base/gstcollectpads.c:
898         * gst/base/gstcollectpads.h:
899         * libs/gst/controller/gst-controller.c:
900         * libs/gst/controller/gst-controller.h:
901         * libs/gst/controller/gst-helper.c:
902         * libs/gst/controller/gst-interpolation.c:
903         * libs/gst/controller/lib.c:
904           added long/short desc for controller docs
905           added collectpads base class docs
906           added correct includes to base-class docs
907
908 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
909
910         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
911         (gst_test_mono_source_set_property),
912         (gst_test_mono_source_class_init), (GST_START_TEST),
913         (gst_controller_suite):
914         * docs/gst/gstreamer-docs.sgml:
915         * docs/gst/gstreamer-sections.txt:
916         * docs/gst/gstreamer.types:
917         * docs/libs/gstreamer-libs-docs.sgml:
918         * docs/libs/gstreamer-libs-sections.txt:
919         * gst/base/gstadapter.c:
920         * libs/gst/controller/gst-controller.c:
921         (gst_controlled_property_new), (gst_controlled_property_free),
922         (gst_controller_new_valist),
923         (gst_controller_remove_properties_valist),
924         (gst_controller_sink_values), (_gst_controller_finalize):
925         * libs/gst/controller/gst-controller.h:
926         * libs/gst/controller/gst-helper.c:
927         (gst_object_control_properties), (gst_object_uncontrol_properties),
928         (gst_object_get_controller), (gst_object_set_controller),
929         (gst_object_sink_values), (gst_object_get_value_arrays),
930         (gst_object_get_value_array):
931           more tests (and fixes) for the controller
932           more docs for the controller
933           integrated companies docs for the adapter 
934
935 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
936
937         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
938         (GST_START_TEST), (fakesrc_suite):
939           add tests for sizetype
940
941 2005-08-04  Andy Wingo  <wingo@pobox.com>
942
943         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
944         fixes buffer_alloc proxying among other things.
945
946         * gst/base/gstbasetransform.c:
947         * gst/base/gstbasetransform.h:
948         Revert patch to gstbasetransform from 7-28 removing
949         delay_configure.
950
951         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
952         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
953         Semantics changed, should return not the size of the output buffer
954         but the byte size of a buffer with a given caps.
955
956         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
957         debug object.
958         (gst_base_transform_configure_caps): Don't set out_size here: (in,
959         out) are not the pad caps until setcaps finishes.
960         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
961         not-in-place case as well. Deal with changing from in-place to
962         not-in-place within calling pad_alloc_buffer. Still a bit
963         concerned about the overhead here...
964
965 2005-08-03  Andy Wingo  <wingo@pobox.com>
966
967         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
968         fixating is an error.
969
970 2005-08-04  Edward Hervey  <edward@fluendo.com>
971
972         * gst/base/gstadapter.h: 
973         Added gst_adapter_get_type() to the header
974
975 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
976
977         * check/Makefile.am:
978         * check/gst-libs/controller.c:
979         * libs/gst/controller/gst-controller.c:
980         (gst_controller_new_valist):
981           added check test suite for the controller
982         * gst/base/gstpushsrc.c:
983           fixed a doc typo
984
985 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
986
987         * docs/gst/Makefile.am:
988         * docs/gst/gstreamer-docs.sgml:
989         * docs/gst/gstreamer-sections.txt:
990         * docs/gst/gstreamer.types:
991         * docs/gst/tmpl/gstfakesrc.sgml:
992         * gst/base/README:
993         * gst/base/gstbasesink.c:
994         * gst/base/gstbasesink.h:
995         * gst/base/gstbasesrc.c:
996         * gst/base/gstbasesrc.h:
997         * gst/base/gstbasetransform.c:
998         * gst/base/gstpushsrc.c:
999         * gst/base/gstpushsrc.h:
1000           add short/long description docs to base classes
1001           add pushsrc to the docs
1002           remove consolidated doc fragments
1003
1004 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1005
1006         * configure.ac:
1007         * docs/libs/Makefile.am:
1008         * docs/libs/gstreamer-libs-docs.sgml:
1009         * docs/libs/gstreamer-libs-sections.txt:
1010         * docs/libs/gstreamer-libs.types:
1011         * examples/Makefile.am:
1012         * examples/controller/.cvsignore:
1013         * examples/controller/Makefile.am:
1014         * examples/controller/audio-example.c: (main):
1015         * libs/gst/Makefile.am:
1016         * libs/gst/controller/.cvsignore:
1017         * libs/gst/controller/Makefile.am:
1018         * libs/gst/controller/gst-controller.c:
1019         (on_object_controlled_property_changed), (gst_timed_value_compare),
1020         (gst_timed_value_find),
1021         (gst_controlled_property_set_interpolation_mode),
1022         (gst_controlled_property_new), (gst_controlled_property_free),
1023         (gst_controller_find_controlled_property),
1024         (gst_controller_new_valist), (gst_controller_new),
1025         (gst_controller_remove_properties_valist),
1026         (gst_controller_remove_properties), (gst_controller_set),
1027         (gst_controller_set_from_list), (gst_controller_unset),
1028         (gst_controller_get), (gst_controller_get_all),
1029         (gst_controller_sink_values), (gst_controller_get_value_arrays),
1030         (gst_controller_get_value_array),
1031         (gst_controller_set_interpolation_mode),
1032         (_gst_controller_finalize), (_gst_controller_init),
1033         (_gst_controller_class_init), (gst_controller_get_type):
1034         * libs/gst/controller/gst-controller.h:
1035         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1036         (g_object_uncontrol_properties), (g_object_get_controller),
1037         (g_object_set_controller), (g_object_sink_values),
1038         (g_object_get_value_arrays), (g_object_get_value_array):
1039         * libs/gst/controller/gst-interpolation.c:
1040         (gst_controlled_property_find_timed_value_node),
1041         (interpolate_none_get), (interpolate_trigger_get),
1042         (interpolate_trigger_get_value_array):
1043         * libs/gst/controller/lib.c: (gst_controller_init):
1044         * pkgconfig/Makefile.am:
1045         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1046         * pkgconfig/gstreamer-control.pc.in:
1047         * testsuite/Makefile.am:
1048         * testsuite/controller/.cvsignore:
1049         * testsuite/controller/Makefile.am:
1050         * testsuite/controller/interpolator.c: (main):
1051           added controller code
1052           removed dparam pc files
1053
1054 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1055         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1056         (gst_collectpads_stop):
1057           Broadcast the condition when shutting down, to make sure we wake all
1058           threads up. Shut down pads on finalize, for safety.
1059
1060 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1061         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1062         (gst_base_transform_handle_buffer),
1063         (gst_base_transform_change_state):
1064           Handle PAUSED->READY->PAUSED transition after negotiation
1065           occurred already.
1066         * gst/gstmessage.c: (gst_message_init):
1067           Extra piece of debug for new messages.
1068
1069 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1070
1071         * configure.ac:
1072         * docs/gst/tmpl/gstbasesrc.sgml:
1073         * docs/gst/tmpl/gstelement.sgml:
1074         * docs/gst/tmpl/gstevent.sgml:
1075         * docs/gst/tmpl/gstfakesrc.sgml:
1076         * docs/gst/tmpl/gstformat.sgml:
1077         * docs/gst/tmpl/gstghostpad.sgml:
1078         * docs/gst/tmpl/gstpad.sgml:
1079         * docs/gst/tmpl/gstquery.sgml:
1080         * docs/gst/tmpl/gststructure.sgml:
1081         * docs/gst/tmpl/gsttaglist.sgml:
1082         * docs/gst/tmpl/gstvalue.sgml:
1083         * docs/libs/gstreamer-libs-docs.sgml:
1084         * docs/libs/gstreamer-libs-sections.txt:
1085         * docs/libs/gstreamer-libs.types:
1086         * libs/gst/Makefile.am:
1087         * libs/gst/control/.cvsignore:
1088         * libs/gst/control/Makefile.am:
1089         * libs/gst/control/control.c:
1090         * libs/gst/control/control.h:
1091         * libs/gst/control/dparam.c:
1092         * libs/gst/control/dparam.h:
1093         * libs/gst/control/dparam_smooth.c:
1094         * libs/gst/control/dparam_smooth.h:
1095         * libs/gst/control/dparamcommon.h:
1096         * libs/gst/control/dparammanager.c:
1097         * libs/gst/control/dparammanager.h:
1098         * libs/gst/control/dplinearinterp.c:
1099         * libs/gst/control/dplinearinterp.h:
1100         * libs/gst/control/unitconvert.c:
1101         * libs/gst/control/unitconvert.h:
1102         * testsuite/Makefile.am:
1103         * testsuite/dynparams/.cvsignore:
1104         * testsuite/dynparams/Makefile.am:
1105         * testsuite/dynparams/dparamstest.c:
1106         * tools/Makefile.am:
1107         * tools/gst-inspect.c: (print_element_info), (main):
1108         * tools/gst-xmlinspect.c: (print_element_info), (main):
1109           deactivate and remove dparams (libgstcontrol)
1110
1111 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1112
1113         * gst/elements/gsttypefindelement.c:
1114         (gst_type_find_element_have_type), (gst_type_find_element_init),
1115         (stop_typefinding), (gst_type_find_element_handle_event),
1116         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1117         * gst/elements/gsttypefindelement.h:
1118           Set caps on all outgoing buffers, not just the first one.
1119
1120 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1121
1122         * gst/elements/gsttypefindelement.c:
1123         (gst_type_find_element_have_type),
1124         (gst_type_find_element_check_set_buffer_caps),
1125         (gst_type_find_element_init), (stop_typefinding),
1126         (gst_type_find_element_handle_event),
1127         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1128         * gst/elements/gsttypefindelement.h:
1129           Set caps on first outgoing buffer when we've found the type.
1130
1131 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1132
1133         * docs/gst/gstreamer-docs.sgml:
1134         * docs/gst/gstreamer-sections.txt:
1135         * docs/gst/tmpl/gstscheduler.sgml:
1136         * docs/gst/tmpl/gstschedulerfactory.sgml:
1137           Remove some old cruft from docs.
1138
1139 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
1140
1141         * gst/gstpad.h:
1142           Fix inline docs for GstPadLinkReturn.
1143           
1144         * gst/gststructure.c: (gst_structure_has_name):
1145         * gst/gststructure.h:
1146         * docs/gst/gstreamer-sections.txt:
1147           New API: gst_structure_has_name().
1148
1149 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
1150
1151         * configure.ac:
1152           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1153           and _LARGEFILE_SOURCE in config.h as required. Do not 
1154           export those flags in our .pc files any longer (#142209).
1155
1156           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1157
1158         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1159         (gst_file_sink_do_seek), (gst_file_sink_event),
1160         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1161           Redo seek/tell calls with large file support in mind; add some
1162           debugging messages; add log message that tells us when large
1163           file support is unavailable or not enabled for some reason.
1164
1165         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1166           Add log message that tells us when large file support 
1167           is unavailable or not enabled for some reason.
1168
1169 2005-07-29  Wim Taymans  <wim@fluendo.com>
1170
1171         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1172         Added test for removing an element with ghostpad from a bin.
1173         Fixed test as current implementation does the right thing.
1174
1175         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1176         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1177         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1178         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1179         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1180         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1181         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1182         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1183         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1184         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1185         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1186         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1187         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1188         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1189         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1190         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1191         * gst/gstghostpad.h:
1192         Clean up ghostpads, remove properties for internal stuff.
1193         Make threadsafe.
1194         Fix refcounting.
1195         Prepare for switching targets, not all use cases work yet.
1196
1197 2005-07-29  Wim Taymans  <wim@fluendo.com>
1198
1199         * docs/design/part-gstghostpad.txt:
1200         Small update.
1201
1202         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1203         (gst_bin_remove_func):
1204         Unlinking pads while holding the bin LOCK is not a good
1205         idea.
1206
1207         * gst/gstpad.c: (gst_pad_class_init),
1208         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1209         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1210         No prob setting template after creating the pad.
1211
1212 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1213
1214         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1215         (gst_bus_peek), (gst_bus_source_dispatch),
1216         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1217         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1218           gst_bus_poll may be called from other threads. Handle
1219           this nicely by not making poll_data disappear off the
1220           stack once gst_bus_poll returns.
1221           gst_bus_peek now increments the refcount on the returned
1222           message.
1223
1224 2005-07-29  Wim Taymans  <wim@fluendo.com>
1225
1226         * docs/design/part-gstghostpad.txt:
1227         Overview of current GhostPad datastructures and use
1228         cases for changing the target.
1229
1230 2005-07-28  Wim Taymans  <wim@fluendo.com>
1231
1232         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1233         Added checks for hierarchy consistency whan adding linked
1234         elements to bins.
1235
1236         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1237         Added check to test element scheduling without bin/pipeline.
1238
1239         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1240         First add elements to bin, then link.
1241         
1242         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1243         (gst_bin_remove_func):
1244         Unlink pads from elements added/removed from bin to maintain
1245         hierarchy consistency.
1246
1247 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1248
1249         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1250         (gst_base_transform_handle_buffer):
1251         * gst/base/gstbasetransform.h:
1252           Remove broken delay_configure (fixes renegotiation of software
1253           scaling pipelines); remove some leftover printf()s.
1254
1255 2005-07-28  Wim Taymans  <wim@fluendo.com>
1256
1257         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1258         Added some more tests for wrong hierarchy
1259
1260         * docs/design/part-overview.txt:
1261         Some updates.
1262
1263         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1264         Cleanups.
1265
1266         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1267         (gst_element_dispose):
1268         Some more cleanups.
1269
1270         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1271         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1272         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1273         (gst_pad_set_caps), (gst_pad_send_event):
1274         Check for correct hierarchy when linking pads. Moving to
1275         strict requirement for ghostpads when linking elements in
1276         different bins.
1277
1278         * gst/gstpad.h:
1279         Clean ups. Added WRONG_HIERARCHY return value.
1280
1281 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1282
1283         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1284           Better debug if no transform is possible.
1285
1286 2005-07-27  Wim Taymans  <wim@fluendo.com>
1287
1288         * docs/random/wtay/network-transp:
1289         Some old doc I had.
1290
1291 2005-07-27  Wim Taymans  <wim@fluendo.com>
1292
1293         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1294         (gst_dp_event_from_packet):
1295         Fix serialization of seek events.
1296
1297 2005-07-27  Wim Taymans  <wim@fluendo.com>
1298
1299         * check/gst-libs/gdp.c: (GST_START_TEST):
1300         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1301         Fix compilation and fix event serialization.
1302
1303 2005-07-27  Wim Taymans  <wim@fluendo.com>
1304
1305         * CHANGES-0.9:
1306         * docs/design/part-TODO.txt:
1307         * docs/design/part-events.txt:
1308         Some docs updates
1309
1310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1311         (gst_base_sink_event), (gst_base_sink_do_sync),
1312         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1313         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1314         (gst_base_src_do_seek), (gst_base_src_event_handler),
1315         (gst_base_src_loop):
1316         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1317         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1318         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1319         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1320         (gst_base_transform_set_passthrough),
1321         (gst_base_transform_is_passthrough):
1322         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1323         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1324         Event updates.
1325
1326         * gst/gstbuffer.h:
1327         Use faster casts.
1328
1329         * gst/gstelement.c: (gst_element_seek):
1330         * gst/gstelement.h:
1331         Update gst_element_seek.
1332
1333         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1334         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1335         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1336         (gst_event_new_eos), (gst_event_new_newsegment),
1337         (gst_event_parse_newsegment), (gst_event_new_tag),
1338         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1339         (gst_event_parse_qos), (gst_event_new_seek),
1340         (gst_event_parse_seek), (gst_event_new_navigation):
1341         * gst/gstevent.h:
1342         Make GstEvent use GstStructure. Add parsing code, make sure the
1343         API is sufficiently generic.
1344         Mark possible directions of events and serialization.
1345
1346         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1347         (_gst_message_copy), (gst_message_new_segment_start),
1348         (gst_message_new_segment_done), (gst_message_new_custom),
1349         (gst_message_parse_segment_start),
1350         (gst_message_parse_segment_done):
1351         Small cleanups.
1352
1353         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1354         (gst_pad_set_caps), (gst_pad_send_event):
1355         Update for new events. 
1356         Catch events sent in wrong directions.
1357
1358         * gst/gstqueue.c: (gst_queue_link_src),
1359         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1360         (gst_queue_handle_src_query):
1361         Event updates.
1362
1363         * gst/gsttag.c:
1364         * gst/gsttag.h:
1365         Remove event code from this file.
1366
1367         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1368         (gst_dp_event_from_packet):
1369         Event updates.
1370
1371 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1372
1373         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1374         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1375         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1376           Make debugging actually useful.
1377
1378 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1379
1380         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1381         (gst_pad_fixate_caps):
1382           Implement default fixation once again, so that gst_pad_fixate()
1383           actually does anything at all. This probably needs to be some
1384           sort of a last resort, and use profile-based fixation first, but
1385           since that doesn't exist yet, this is the best we have. Fixes
1386           visualization in Totem.
1387
1388 2005-07-22  Wim Taymans  <wim@fluendo.com>
1389
1390         * docs/design/part-events.txt:
1391         Small update.
1392
1393         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1394         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1395         (gst_base_sink_activate_pull):
1396         Some more comments.
1397
1398         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1399         (gst_fake_src_create):
1400         Fix handoff marshall.
1401
1402         * gst/elements/gstidentity.c: (gst_identity_class_init),
1403         (gst_identity_transform_ip):
1404         We're a real inplace element.
1405
1406         * gst/gstbus.c: (gst_bus_post):
1407         Added some comments.
1408
1409         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1410         * tests/muxing/case1.c: (main):
1411         * tests/sched/dynamic-pipeline.c: (main):
1412         * tests/sched/interrupt1.c: (main):
1413         * tests/sched/interrupt2.c: (main):
1414         * tests/sched/interrupt3.c: (main):
1415         * tests/sched/runxml.c: (main):
1416         * tests/sched/sched-stress.c: (main):
1417         * tests/seeking/seeking1.c: (event_received), (main):
1418         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1419         (main):
1420         * tests/threadstate/threadstate3.c: (main):
1421         * tests/threadstate/threadstate4.c: (main):
1422         * tests/threadstate/threadstate5.c: (main):
1423         Fix the tests.
1424
1425 2005-07-21  Wim Taymans  <wim@fluendo.com>
1426
1427         * docs/design/part-seeking.txt:
1428         Some small additions.
1429
1430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1431         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1432         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1433         * gst/base/gstbasesink.h:
1434         discont values are gint64, handle the math correctly.
1435
1436         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1437         Make the basesrc report error if the source pad is not linked.
1438
1439         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1440         (gst_queue_loop), (gst_queue_handle_src_query),
1441         (gst_queue_src_activate_push):
1442         Make queue collect data even if the srcpad is not linked.
1443         Start pushing out data as soon as it is linked.
1444
1445         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1446         * gst/gstutils.h:
1447         Added gst_flow_get_name() to ease error reporting.
1448
1449 2005-07-20  Wim Taymans  <wim@fluendo.com>
1450
1451         * gst/gstmessage.c: (gst_message_new_segment_start),
1452         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1453         (gst_message_parse_segment_done):
1454         * gst/gstmessage.h:
1455         Added a bunch of messages for advanced seeking.
1456
1457         * gst/parse/grammar.y:
1458         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1459         (gst_dpman_state_changed):
1460         Fix some new-pad -> pad-added signals
1461
1462 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1463
1464         * docs/manual/appendix-porting.xml:
1465         * docs/pwg/appendix-porting.xml:
1466           Document new-pad/state-change signal renames and the FixedList
1467           type rename.
1468
1469 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1470
1471         * docs/manual/advanced-autoplugging.xml:
1472         * docs/manual/basics-helloworld.xml:
1473         * docs/manual/basics-pads.xml:
1474         * docs/random/ds/0.9-suggested-changes:
1475         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1476         * gst/gstelement.h:
1477         * gst/gstevent.h:
1478         * gst/gstformat.h:
1479         * gst/gstquery.h:
1480         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1481         (gst_structure_parse_array), (gst_structure_parse_value):
1482         * gst/gstvalue.c: (gst_type_is_fixed),
1483         (gst_value_list_prepend_value), (gst_value_list_append_value),
1484         (gst_value_list_get_size), (gst_value_list_get_value),
1485         (gst_value_transform_array_string), (gst_value_serialize_array),
1486         (gst_value_deserialize_array), (gst_value_intersect_array),
1487         (gst_value_is_fixed), (_gst_value_initialize):
1488         * gst/gstvalue.h:
1489           GstElement::new-pad -> pad-added, GstElement::state-change ->
1490           state-changed, GstValueFixedList -> GstValueArray, add format and
1491           flags as their own arguments in gst_element_seek() (should improve
1492           "bindeability"), remove function generators since they don't work
1493           under a whole bunch of compilers (they were deprecated already
1494           anyway).
1495
1496 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1497
1498         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1499         (_gst_debug_register_funcptr):
1500         * gst/gstinfo.h:
1501           Fix illegal cast on some platforms (#309253).
1502
1503 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1504
1505         * gst/gstmessage.c: (gst_message_new_custom):
1506         * gst/gstmessage.h:
1507           Add _new_custom, make _new_application a macro to _new_custom.
1508
1509 2005-07-20  Wim Taymans  <wim@fluendo.com>
1510
1511         * gst/base/gstbasesrc.c: (gst_base_src_init),
1512         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1513         * gst/base/gstbasesrc.h:
1514         Add a gboolean to decide when to push out a discont.
1515
1516         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1517         (gst_queue_loop), (gst_queue_handle_src_query),
1518         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1519         (gst_queue_set_property), (gst_queue_get_property):
1520         Some cleanups.
1521
1522         * tests/threadstate/threadstate1.c: (main):
1523         Make a thread test compile and run... very silly..
1524
1525
1526 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1527
1528         * docs/manual/appendix-porting.xml:
1529           Mention removal of libgstgconf-0.9.la and existence of gconf
1530           elements.
1531
1532 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1533
1534         * docs/pwg/advanced-clock.xml:
1535         * docs/pwg/appendix-porting.xml:
1536         * docs/pwg/intro-preface.xml:
1537         * docs/pwg/other-base.xml:
1538         * docs/pwg/other-manager.xml:
1539         * docs/pwg/other-nton.xml:
1540         * docs/pwg/other-ntoone.xml:
1541         * docs/pwg/other-oneton.xml:
1542         * docs/pwg/pwg.xml:
1543           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1544           demuxer), remove n-to-n (was never written), fix some code examples
1545           and links and update the porting section to include all this.
1546
1547 2005-07-19  Wim Taymans  <wim@fluendo.com>
1548
1549         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1550         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1551         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1552         (gst_queue_src_activate_push), (gst_queue_change_state),
1553         (gst_queue_get_property):
1554         * gst/gstqueue.h:
1555         Propagate GstFlowReturn more intelligently upstream and output
1556         an ERROR/EOS when streaming stopped due to fatal error.
1557
1558 2005-07-19  Wim Taymans  <wim@fluendo.com>
1559
1560         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1561         Don't block forever for the state change to complete, the
1562         pipeline already did with a sensible timeout.
1563
1564 2005-07-19  Wim Taymans  <wim@fluendo.com>
1565
1566         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1567         Make sure we never call the create function is we
1568         got deactivated.
1569
1570 2005-07-19  Andy Wingo  <wingo@pobox.com>
1571
1572         * gst/parse/parse.l: Attempt to solve bug #172815.
1573
1574 2005-07-19  Wim Taymans  <wim@fluendo.com>
1575
1576         * docs/design/part-clocks.txt:
1577         * docs/design/part-events.txt:
1578         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1579         Small docs updates.
1580         Only update the seeking values when we are not
1581         busy streaming.
1582
1583 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1584
1585         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1586           Oops, ignore the result of gst_pad_push_event here.
1587
1588 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1589
1590         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1591         (gst_base_src_activate_push):
1592           Send discont event from the loop function, as pads
1593           aren't activated yet in the activate_push handler.
1594
1595         * gst/gstbin.c: (bin_bus_handler):
1596           Don't leak element name.
1597
1598 2005-07-18  Andy Wingo  <wingo@pobox.com>
1599
1600         * configure.ac: Use AS_LIBTOOL_TAGS.
1601
1602 2005-07-18  Wim Taymans  <wim@fluendo.com>
1603
1604         * docs/gst/gstreamer.types:
1605         Remove deleted types.
1606
1607 2005-07-18  Wim Taymans  <wim@fluendo.com>
1608
1609         * check/elements/gstfakesrc.c: (GST_START_TEST):
1610         * configure.ac:
1611         * gst/Makefile.am:
1612         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1613         (init_popt_callback):
1614         * gst/gst.h:
1615         * gst/gst_private.h:
1616         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1617         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1618         * gst/gstbin.h:
1619         * gst/gstbus.h:
1620         * gst/gstconfig.h.in:
1621         * gst/gstelement.c: (gst_element_class_init),
1622         (gst_element_set_base_time), (gst_element_get_base_time),
1623         (iterator_fold_with_resync), (gst_element_change_state),
1624         (gst_element_dispose), (gst_element_get_bus):
1625         * gst/gstelement.h:
1626         * gst/gstelementfactory.h:
1627         * gst/gsterror.c: (_gst_core_errors_init):
1628         * gst/gsterror.h:
1629         * gst/gstevent.h:
1630         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1631         * gst/gstindex.c:
1632         * gst/gstinfo.c: (_gst_debug_init):
1633         * gst/gstmessage.c: (_gst_message_copy):
1634         * gst/gstmessage.h:
1635         * gst/gstminiobject.h:
1636         * gst/gstobject.c:
1637         * gst/gstobject.h:
1638         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1639         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1640         * gst/gstpad.h:
1641         * gst/gstparse.h:
1642         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1643         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1644         (gst_pipeline_get_last_stream_time):
1645         * gst/gstpipeline.h:
1646         * gst/gstpluginfeature.h:
1647         * gst/gstquery.h:
1648         * gst/gstscheduler.c:
1649         * gst/gstscheduler.h:
1650         * gst/gststructure.h:
1651         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1652         (gst_task_finalize), (gst_task_func), (gst_task_create),
1653         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1654         (gst_task_stop), (gst_task_pause):
1655         * gst/gsttask.h:
1656         * gst/gsttypefind.h:
1657         * gst/gsttypes.h:
1658         * gst/registries/gstlibxmlregistry.c: (load_feature),
1659         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1660         * gst/registries/gstxmlregistry.c:
1661         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1662         * gst/schedulers/threadscheduler.c:
1663         * libs/gst/control/dparammanager.h:
1664         * tools/gst-inspect.c: (print_element_list),
1665         (print_plugin_features), (print_element_features):
1666         * tools/gst-xmlinspect.c: (print_element_list),
1667         (print_plugin_info), (main):
1668         Removed plugable schedulers.
1669         Removed Scheduler/Manager from elements.
1670         Removed gsttypes.h, rearranged includes.
1671         Removed dependency pad<->element, element<>pipeline, and
1672         various others,  fix includes.
1673         implement gst_pad_get_parent() with gst_object_get_parent()
1674         Make GstTask sefcontained.
1675         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1676         timeout.
1677         Fix endless loop in iterator_fold_with_resync.
1678
1679
1680 2005-07-18  Wim Taymans  <wim@fluendo.com>
1681
1682         * gst/Makefile.am:
1683         * gst/gstarch.h:
1684         Remove old file.
1685
1686 2005-07-18  Wim Taymans  <wim@fluendo.com>
1687
1688         * gst/Makefile.am:
1689         No more cothreads.h
1690
1691 2005-07-18  Wim Taymans  <wim@fluendo.com>
1692
1693         * gst/cothreads.c:
1694         * gst/cothreads.h:
1695         Let's remove these.
1696
1697 2005-07-18  Wim Taymans  <wim@fluendo.com>
1698
1699         * docs/design/part-dynamic.txt:
1700         * docs/design/part-events.txt:
1701         * docs/design/part-seeking.txt:
1702         Some more docs in the works.
1703
1704         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1705         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1706         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1707         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1708         (gst_base_transform_handle_buffer),
1709         (gst_base_transform_sink_activate_push),
1710         (gst_base_transform_src_activate_pull),
1711         (gst_base_transform_set_passthrough),
1712         (gst_base_transform_is_passthrough):
1713         Refcounting fixes.
1714
1715         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1716         Cleanups.
1717
1718         * gst/gstevent.c: (gst_event_finalize):
1719         Set SRC to NULL.
1720
1721         * gst/gstutils.c: (gst_element_unlink),
1722         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1723         (gst_pad_proxy_setcaps):
1724         * gst/gstutils.h:
1725         Add _get_parent_element() to get a pads parent as an element.
1726
1727 2005-07-18  Wim Taymans  <wim@fluendo.com>
1728
1729         * check/gst/gstbin.c: (GST_START_TEST):
1730         Remove bogus test.
1731
1732 2005-07-18  Wim Taymans  <wim@fluendo.com>
1733
1734         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1735         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1736         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1737         (gst_base_sink_event), (gst_base_sink_do_sync),
1738         (gst_base_sink_chain), (gst_base_sink_loop),
1739         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1740         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1741         Refcounting fixes.
1742         Fix logic for returning ASYNC when not prerolled.
1743
1744 2005-07-18  Wim Taymans  <wim@fluendo.com>
1745
1746         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1747         Fix nasty refcount bug.
1748
1749 2005-07-16 Philippe Khalaf <burger@speedy.org>
1750         * gst/elements/gstfdsrc.c:
1751         * gst/elements/gstfdsrc.h:
1752         * gst/elements/gstelements.c:
1753         * gst/elements/Makefile.am:
1754         Ported fdsrc to 0.9.
1755
1756 2005-07-16  Wim Taymans  <wim@fluendo.com>
1757
1758         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1759         (gst_base_sink_do_sync):
1760         Fix compile error.
1761
1762 2005-07-16  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1765         (gst_base_sink_event), (gst_base_sink_get_times),
1766         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1767         * gst/base/gstbasesink.h:
1768         Store and use discont values when syncing buffers as described
1769         in design docs.
1770         
1771         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1772         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1773         (gst_base_src_activate_push):
1774         Push discont event when starting.
1775
1776         * gst/elements/gstidentity.c: (gst_identity_transform):
1777         Small cleanups.
1778
1779         * gst/gstbin.c: (gst_bin_change_state):
1780         Small cleanups in base_time  distribution.
1781
1782         * gst/gstelement.c: (gst_element_set_base_time),
1783         (gst_element_get_base_time), (gst_element_change_state):
1784         * gst/gstelement.h:
1785         Added methods for the base_time of the element.
1786         Some MT fixes.
1787
1788         * gst/gstpipeline.c: (gst_pipeline_send_event),
1789         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1790         (gst_pipeline_get_last_stream_time):
1791         * gst/gstpipeline.h:
1792         MT fixes.
1793         Handle seeking as described in design doc, remove stream_time
1794         hack.
1795         Cleanups clock and stream_time selection code. Added accessors
1796         for the stream_time.
1797         
1798
1799 2005-07-16  Andy Wingo  <wingo@pobox.com>
1800
1801         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1802         (#305291).
1803
1804 2005-07-16  Wim Taymans  <wim@fluendo.com>
1805
1806         * check/gst/gstbin.c: (GST_START_TEST):
1807         Make elements silent as the deep_notify refs the
1808         parent, which might make the test fail.
1809
1810         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1811         Don't hold the lock for too long.
1812
1813 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1814
1815         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1816           Don't unref the caps we passed to gst_caps_make_writable() after
1817           passing them. gst_caps_make_writable() will do that for us.
1818
1819 2005-07-15  Andy Wingo  <wingo@pobox.com>
1820
1821         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1822         (#157311).
1823
1824         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1825         own marshalling function for the handoff signal. Properly type the
1826         buffer as a buffer. Fixes some warnings. Should do a more general
1827         solution.
1828         (gst_identity_class_init): Plug into the right marshaller.
1829
1830 2005-07-15  Wim Taymans  <wim@fluendo.com>
1831
1832         * docs/design/part-TODO.txt:
1833         * docs/design/part-clocks.txt:
1834         * docs/design/part-element-sink.txt:
1835         * docs/design/part-events.txt:
1836         * docs/design/part-gstpipeline.txt:
1837         Updated docs, mostly DISCONT related.
1838
1839 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1840
1841         * docs/pwg/building-pads.xml:
1842           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1843
1844 2005-07-15  Andy Wingo  <wingo@pobox.com>
1845
1846         * tools/gst-typefind.c: Update, add copyright block.
1847
1848         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1849         Normalize and truncate caps before fixation.
1850
1851         * gst/gstcaps.h:
1852         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1853         discards all but the first structure from its argument.
1854
1855 2005-07-15  Wim Taymans  <wim@fluendo.com>
1856
1857         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1858         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1859         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1860         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1861         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1862         (gst_base_transform_chain), (gst_base_transform_change_state),
1863         (gst_base_transform_set_passthrough),
1864         (gst_base_transform_is_passthrough):
1865         * gst/base/gstbasetransform.h:
1866         Make passthrough work using the bufferpools.
1867         Changed API a bit, subclasses have to write into a buffer
1868         provided by the base class.
1869         More debug info in nego functions.
1870         
1871         * gst/elements/gstidentity.c: (gst_identity_init),
1872         (gst_identity_transform):
1873         Port to new base class.
1874
1875 2005-07-15  Wim Taymans  <wim@fluendo.com>
1876
1877         * gst/gstmessage.c: (gst_message_new_state_changed):
1878         * tools/gst-launch.c: (event_loop), (main):
1879         Totally dump messages in -launch with the -m option.
1880         Fix message name for State messages,
1881
1882 2005-07-14  Wim Taymans  <wim@fluendo.com>
1883
1884         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1885         Post error messages on errors.
1886
1887 2005-07-14  Wim Taymans  <wim@fluendo.com>
1888
1889         * gst/gstcaps.c: (gst_caps_do_simplify):
1890         Remove debug info.
1891
1892         * gst/gsterror.h:
1893         Define error for stream stopped.
1894
1895         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1896         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1897         Do proper return values.
1898
1899         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1900         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1901         (gst_pad_get_range):
1902         Better return values.
1903
1904         * gst/gstpad.h:
1905         Reorganise return values, add macro to check for fatal errors.
1906
1907         * gst/gstqueue.c: (gst_queue_chain):
1908         Return proper GstFlowReturn values,
1909
1910 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1911
1912         * docs/gst/gstreamer-sections.txt:
1913         * docs/gst/gstreamer.types:
1914         * docs/gst/tmpl/gst.sgml:
1915         * docs/gst/tmpl/gstbasesink.sgml:
1916         * docs/gst/tmpl/gstbasesrc.sgml:
1917         * docs/gst/tmpl/gstbasetransform.sgml:
1918         * docs/gst/tmpl/gstbin.sgml:
1919         * docs/gst/tmpl/gstbuffer.sgml:
1920         * docs/gst/tmpl/gstcaps.sgml:
1921         * docs/gst/tmpl/gstclock.sgml:
1922         * docs/gst/tmpl/gstcompat.sgml:
1923         * docs/gst/tmpl/gstconfig.sgml:
1924         * docs/gst/tmpl/gstelement.sgml:
1925         * docs/gst/tmpl/gstelementdetails.sgml:
1926         * docs/gst/tmpl/gstelementfactory.sgml:
1927         * docs/gst/tmpl/gstenumtypes.sgml:
1928         * docs/gst/tmpl/gsterror.sgml:
1929         * docs/gst/tmpl/gstevent.sgml:
1930         * docs/gst/tmpl/gstfakesink.sgml:
1931         * docs/gst/tmpl/gstfakesrc.sgml:
1932         * docs/gst/tmpl/gstfilesink.sgml:
1933         * docs/gst/tmpl/gstfilesrc.sgml:
1934         * docs/gst/tmpl/gstfilter.sgml:
1935         * docs/gst/tmpl/gstformat.sgml:
1936         * docs/gst/tmpl/gstghostpad.sgml:
1937         * docs/gst/tmpl/gstimplementsinterface.sgml:
1938         * docs/gst/tmpl/gstindex.sgml:
1939         * docs/gst/tmpl/gstindexfactory.sgml:
1940         * docs/gst/tmpl/gstinfo.sgml:
1941         * docs/gst/tmpl/gstiterator.sgml:
1942         * docs/gst/tmpl/gstmacros.sgml:
1943         * docs/gst/tmpl/gstmemchunk.sgml:
1944         * docs/gst/tmpl/gstminiobject.sgml:
1945         * docs/gst/tmpl/gstobject.sgml:
1946         * docs/gst/tmpl/gstpad.sgml:
1947         * docs/gst/tmpl/gstpadtemplate.sgml:
1948         * docs/gst/tmpl/gstparse.sgml:
1949         * docs/gst/tmpl/gstpipeline.sgml:
1950         * docs/gst/tmpl/gstplugin.sgml:
1951         * docs/gst/tmpl/gstpluginfeature.sgml:
1952         * docs/gst/tmpl/gstquery.sgml:
1953         * docs/gst/tmpl/gstqueue.sgml:
1954         * docs/gst/tmpl/gstregistry.sgml:
1955         * docs/gst/tmpl/gstregistrypool.sgml:
1956         * docs/gst/tmpl/gstscheduler.sgml:
1957         * docs/gst/tmpl/gstschedulerfactory.sgml:
1958         * docs/gst/tmpl/gststructure.sgml:
1959         * docs/gst/tmpl/gstsystemclock.sgml:
1960         * docs/gst/tmpl/gsttaglist.sgml:
1961         * docs/gst/tmpl/gsttagsetter.sgml:
1962         * docs/gst/tmpl/gsttrace.sgml:
1963         * docs/gst/tmpl/gsttrashstack.sgml:
1964         * docs/gst/tmpl/gsttypefind.sgml:
1965         * docs/gst/tmpl/gsttypefindfactory.sgml:
1966         * docs/gst/tmpl/gsttypes.sgml:
1967         * docs/gst/tmpl/gsturihandler.sgml:
1968         * docs/gst/tmpl/gsturitype.sgml:
1969         * docs/gst/tmpl/gstutils.sgml:
1970         * docs/gst/tmpl/gstvalue.sgml:
1971         * docs/gst/tmpl/gstversion.sgml:
1972         * docs/gst/tmpl/gstxml.sgml:
1973         * docs/libs/tmpl/gstcontrol.sgml:
1974         * docs/libs/tmpl/gstdataprotocol.sgml:
1975         * docs/libs/tmpl/gstdparam.sgml:
1976         * docs/libs/tmpl/gstdplinint.sgml:
1977         * docs/libs/tmpl/gstdpman.sgml:
1978         * docs/libs/tmpl/gstdpsmooth.sgml:
1979         * docs/libs/tmpl/gstgetbits.sgml:
1980         * docs/libs/tmpl/gstunitconvert.sgml:
1981         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1982         (gst_push_src_base_init), (gst_push_src_class_init),
1983         (gst_push_src_init), (gst_push_src_create):
1984         * gst/base/gstpushsrc.h:
1985         * gst/elements/gstelements.c:
1986         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1987         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1988         (gst_fake_sink_init), (gst_fake_sink_set_property),
1989         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1990         (gst_fake_sink_event), (gst_fake_sink_preroll),
1991         (gst_fake_sink_render), (gst_fake_sink_change_state):
1992         * gst/elements/gstfakesink.h:
1993         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1994         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1995         (gst_fake_src_base_init), (gst_fake_src_class_init),
1996         (gst_fake_src_init), (gst_fake_src_event_handler),
1997         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1998         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1999         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
2000         (gst_fake_src_create_buffer), (gst_fake_src_create),
2001         (gst_fake_src_start), (gst_fake_src_stop):
2002         * gst/elements/gstfakesrc.h:
2003         * gst/elements/gstfilesink.c: (_do_init),
2004         (gst_file_sink_base_init), (gst_file_sink_class_init),
2005         (gst_file_sink_init), (gst_file_sink_dispose),
2006         (gst_file_sink_set_location), (gst_file_sink_set_property),
2007         (gst_file_sink_get_property), (gst_file_sink_open_file),
2008         (gst_file_sink_close_file), (gst_file_sink_query),
2009         (gst_file_sink_event), (gst_file_sink_render),
2010         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
2011         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
2012         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
2013         * gst/elements/gstfilesink.h:
2014         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
2015         (gst_file_src_class_init), (gst_file_src_init),
2016         (gst_file_src_finalize), (gst_file_src_set_location),
2017         (gst_file_src_set_property), (gst_file_src_get_property),
2018         (gst_file_src_map_region), (gst_file_src_map_small_region),
2019         (gst_file_src_create_mmap), (gst_file_src_create_read),
2020         (gst_file_src_create), (gst_file_src_is_seekable),
2021         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
2022         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
2023         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
2024         (gst_file_src_uri_handler_init):
2025         * gst/elements/gstfilesrc.h:
2026           more autistic cleanliness in functions/names/defines
2027
2028 2005-07-13  Andy Wingo  <wingo@pobox.com>
2029
2030         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
2031         source couldn't negotiate.
2032
2033         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
2034         connections again.
2035
2036         * gst/gstutils.h:
2037         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2038         function. I am channeling Hades. Put your boots on suckers!!!
2039
2040 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2041
2042         * testsuite/caps/Makefile.am:
2043         * testsuite/caps/value_compare.c:
2044         * testsuite/caps/value_intersect.c:
2045         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2046           move two testsuite apps over to the check dir
2047
2048 2005-07-12  Wim Taymans  <wim@fluendo.com>
2049
2050         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2051         Added more debug info in the negotiate process.
2052
2053         * gst/gstmessage.h:
2054         Prepare for segment playback.
2055
2056         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2057         Better debugging.
2058
2059         * gst/gstutils.c:
2060         Some more docs.
2061
2062         * tools/gst-launch.c: (main):
2063         NULL pipeline on errors.
2064
2065 2005-07-12  Andy Wingo  <wingo@pobox.com>
2066
2067         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2068         not it comes from a malloc region. Make sure our copy gets freed.
2069
2070 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2071
2072         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2073         * check/gst/gstmessage.c: (GST_START_TEST):
2074         * check/gst/gststructure.c: (GST_START_TEST),
2075         (gst_structure_suite), (main):
2076           more testing
2077         * gst/gstelement.c: (gst_element_message_full):
2078           clean up GError and debug string now that they get copied
2079         * gst/gstmessage.c: (gst_message_new_error),
2080         (gst_message_new_warning), (gst_message_parse_error),
2081         (gst_message_parse_warning):
2082           use GST_TYPE_G_ERROR for structure_new, and take copies of
2083           arguments, so that we don't mess up refcounting
2084
2085 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2086
2087         * check/Makefile.am:
2088           add per-test valgrind targets
2089         * check/gst-libs/gdp.c: (GST_START_TEST),
2090         (gst_data_protocol_suite), (main):
2091           clean up
2092
2093 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2094
2095         * check/Makefile.am:
2096           instate more valgrindable tests
2097         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2098         (GST_START_TEST), (fakesrc_suite):
2099         * check/gst/gstpad.c: (GST_START_TEST):
2100         * check/gst/gststructure.c: (GST_START_TEST):
2101           fix test leaks
2102         * docs/gst/tmpl/gstminiobject.sgml:
2103         * gst/gstpad.c: (gst_pad_finalize):
2104           fix the static mutex leak
2105
2106 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2107
2108         * check/Makefile.am:
2109           add two more tests for valgrinding
2110         * check/gst/gstvalue.c: (GST_START_TEST):
2111           test refcount of deserialized buffer, found a leak
2112         * docs/gst/gstreamer-docs.sgml:
2113         * docs/gst/gstreamer-sections.txt:
2114         * docs/gst/gstreamer.types:
2115         * docs/gst/tmpl/gstminiobject.sgml:
2116           add miniobject to docs
2117         * gst/gstminiobject.c:
2118           add some docs
2119         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2120         (gst_string_unwrap):
2121           fix a hard-to-find invalid write for one of the tests
2122           fix a leak for deserialized buffers
2123
2124 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2125
2126         * docs/pwg/advanced-events.xml:
2127         * docs/pwg/advanced-request.xml:
2128         * docs/pwg/advanced-scheduling.xml:
2129         * docs/pwg/appendix-porting.xml:
2130         * docs/pwg/building-boiler.xml:
2131         * docs/pwg/intro-preface.xml:
2132         * docs/pwg/other-ntoone.xml:
2133           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2134           of example code and explanation for pad activation, loop() and
2135           getrange() functions and a bit more. Remove old comments pointing
2136           to loop-functions.
2137         * examples/pwg/Makefile.am:
2138           Add loop/getrange examples.
2139
2140 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2141
2142         * configure.ac:
2143           check for valgrind binary + some fixes
2144         * check/gst.supp:
2145           valgrind suppressions for the tests
2146         * check/Makefile.am:
2147           add a valgrind: target that valgrinds the unit tests
2148         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2149         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2150         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2151         * check/gst/gstghostpad.c:
2152           added some cleanup
2153         * check/gst/gstdata.c:
2154           removed
2155         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2156         (thread_unref), (gst_mini_object_suite), (main):
2157           added
2158         * gst/gst.c: (gst_deinit):
2159         * gst/gst.h:
2160           add a method to clean up.
2161         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2162         (gst_system_clock_obtain):
2163           allow for disposing the system clock.
2164         * tools/gst-launch.c: (main):
2165           deinit
2166
2167 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2168
2169         * docs/gst/tmpl/gstbasesrc.sgml:
2170         * docs/gst/tmpl/gstfakesrc.sgml:
2171         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2172         (gst_base_src_init), (gst_base_src_set_property),
2173         (gst_base_src_get_property), (gst_base_src_get_range),
2174         (gst_base_src_start):
2175         * gst/base/gstbasesrc.h:
2176           add num-buffers property
2177         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2178         (gst_fakesrc_init), (gst_fakesrc_set_property),
2179         (gst_fakesrc_get_property), (gst_fakesrc_create),
2180         (gst_fakesrc_start):
2181           remove num-buffers property
2182
2183 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2184
2185         * docs/gst/gstreamer-sections.txt:
2186         * docs/gst/tmpl/gstbasesink.sgml:
2187         * docs/gst/tmpl/gstbasesrc.sgml:
2188         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2189         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2190         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2191         (gst_base_sink_set_property), (gst_base_sink_get_property),
2192         (gst_base_sink_handle_object), (gst_base_sink_event),
2193         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2194         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2195         (gst_base_sink_loop), (gst_base_sink_deactivate),
2196         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2197         (gst_base_sink_change_state):
2198         * gst/base/gstbasesink.h:
2199         * gst/base/gstbasesrc.h:
2200         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2201         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2202         (gst_filesink_init):
2203           more macro splitting
2204
2205 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2206
2207         * gst/gstelement.c: (gst_element_get_bus):
2208           add debug
2209         * tools/gst-launch.c: (check_intr), (event_loop):
2210           fix bus leaks
2211
2212 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2213
2214         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2215           fix a caps leak
2216
2217 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2218
2219         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2220         (gst_base_src_finalize):
2221           add finalize method and clean up properly
2222         * gst/gstpipeline.c: (gst_pipeline_dispose):
2223           add debug
2224
2225 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2226
2227         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2228         (gst_bin_suite):
2229           add more things to check
2230         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2231         * gst/gstelement.c:
2232           more debug
2233
2234 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2235
2236         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2237         (GST_START_TEST), (fakesrc_suite):
2238         * check/gst-libs/gdp.c: (GST_START_TEST):
2239         * check/gst/gst.c: (GST_START_TEST):
2240         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2241         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2242         * check/gst/gstbus.c: (GST_START_TEST):
2243         * check/gst/gstcaps.c: (GST_START_TEST):
2244         * check/gst/gstdata.c: (GST_START_TEST):
2245         * check/gst/gstelement.c: (GST_START_TEST):
2246         * check/gst/gstghostpad.c: (GST_START_TEST):
2247         * check/gst/gstiterator.c: (GST_START_TEST):
2248         * check/gst/gstmessage.c: (GST_START_TEST):
2249         * check/gst/gstobject.c: (GST_START_TEST):
2250         * check/gst/gstpad.c: (GST_START_TEST):
2251         * check/gst/gststructure.c: (GST_START_TEST):
2252         * check/gst/gstsystemclock.c: (GST_START_TEST),
2253         (gst_systemclock_suite):
2254         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2255         * check/gst/gstvalue.c: (GST_START_TEST):
2256         * check/pipelines/cleanup.c: (GST_START_TEST):
2257         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2258         * check/states/sinks.c: (GST_START_TEST):
2259         * check/gstcheck.c: (gst_check_init):
2260         * check/gstcheck.h:
2261           add debugging category
2262           use GST_START_TEST now, so we add a debug line
2263
2264 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2265
2266         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2267           add test for state change message on a bin
2268         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2269           add another test
2270         * gst/gstbin.c: (gst_bin_init):
2271         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2272         * gst/gstelement.c: (gst_element_post_message),
2273         (gst_element_set_state):
2274         * gst/gstelementfactory.c: (gst_element_factory_create):
2275         * gst/gstmessage.c: (gst_message_new):
2276         * gst/gstscheduler.c:
2277           various debugging additions and cleanups
2278
2279 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2280
2281         * check/Makefile.am:
2282         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2283         (main):
2284           adding tests for elements
2285         * gst/gstelement.c: (gst_element_dispose):
2286
2287 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * gst/registries/gstlibxmlregistry.c: (load_feature):
2290           plug more leaks.  A simple gst_init() now is leakfree, yay.
2291
2292 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2293
2294         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2295         (gst_xml_registry_load):
2296           plug another memleak
2297
2298 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2299
2300         * configure.ac:
2301           use GST_SET_ERROR_CFLAGS
2302         * docs/faq/cvs.xml:
2303           change to ERROR_CFLAGS
2304
2305 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2306
2307         * configure.ac:
2308           make GST_ERROR_CFLAGS overridable and re-enable Werror
2309         * docs/faq/cvs.xml:
2310           add a note about error CFLAGS
2311         * docs/gst/tmpl/gstfakesrc.sgml:
2312         * gst/elements/gstfakesrc.c:
2313           comment out some unused code
2314         * gst/gst.c: (split_and_iterate):
2315         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2316         (load_feature):
2317           plug some memleaks
2318
2319 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2320
2321         * common/Makefile.am:
2322         * common/gtk-doc.mak:
2323         * docs/gst/Makefile.am:
2324           factor out gtk-doc.mak
2325
2326 2005-07-07  Wim Taymans  <wim@fluendo.com>
2327
2328         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2329         (gst_thread_scheduler_dispose):
2330         Unlock the STREAM_LOCK completely.
2331
2332 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2333
2334         * check/Makefile.am:
2335         * check/elements/.cvsignore:
2336         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2337         (START_TEST), (fakesrc_suite), (main):
2338         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2339         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2340         (gst_fakesrc_create), (gst_fakesrc_start):
2341         * gst/elements/gstfakesrc.h:
2342           adding a first element test
2343
2344 2005-07-07  Andy Wingo  <wingo@pobox.com>
2345
2346         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2347         debug message.
2348
2349 2005-07-07  Wim Taymans  <wim@fluendo.com>
2350
2351         * gst/gstquery.c:
2352         * gst/gstquery.h:
2353         Remove old types
2354
2355 2005-07-07  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2358         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2359         Allow subclasses to implement their own negotiation.
2360
2361 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2362
2363         * docs/design/part-gstbin.txt:
2364         * docs/design/part-gstpipeline.txt:
2365           Update design notes to reflect the movement of
2366           responsibility for bus handling from GstPipeline to
2367           GstBin
2368
2369 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2370
2371         * configure.ac:
2372           Remove unnecessary queue2/3/4 examples.
2373
2374 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2375
2376         * examples/Makefile.am:
2377         * examples/helloworld/helloworld.c: (event_loop), (main):
2378         * examples/queue/queue.c: (event_loop), (main):
2379         * examples/queue2/queue2.c: (main):
2380           Update a couple of the examples to work again.
2381
2382         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2383         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2384          Spelling corrections and extra debug.
2385         
2386         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2387         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2388         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2389         * gst/gstbin.h:
2390         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2391         (gst_pipeline_change_state):
2392         * gst/gstpipeline.h:
2393           Move the bus handler for children to the GstBin, and create a
2394           separate bus for receiving messages from children to the one the
2395           bus sends 'upwards' on.
2396
2397 2005-07-06  Wim Taymans  <wim@fluendo.com>
2398
2399         * gst/base/README:
2400         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2401         (gst_base_sink_handle_object), (gst_base_sink_loop),
2402         (gst_base_sink_change_state):
2403         * gst/base/gstbasesink.h:
2404         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2405         (gst_base_src_init), (gst_base_src_setcaps),
2406         (gst_base_src_getcaps), (gst_base_src_loop),
2407         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2408         (gst_base_src_start), (gst_base_src_change_state):
2409         * gst/base/gstbasesrc.h:
2410         Make basesrc negotiate.
2411         Handle the case where preroll fails in basesink.
2412         Update README.
2413
2414 2005-07-06  Wim Taymans  <wim@fluendo.com>
2415
2416         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2417         Implement the fixate function.
2418         Clean up acceptcaps.
2419
2420 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2421
2422         * docs/pwg/building-filterfactory.xml:
2423         * docs/pwg/pwg.xml:
2424           Remove never-written filter-factory chapter; I'll add the various
2425           base classes to part 4 ("other element types") later on.
2426
2427 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2428
2429         * docs/pwg/advanced-negotiation.xml:
2430         * docs/pwg/building-boiler.xml:
2431         * docs/pwg/building-pads.xml:
2432         * docs/pwg/pwg.xml:
2433         * examples/pwg/Makefile.am:
2434           Add a chapter on caps negotiation, simplify the original code
2435           samples a bit w.r.t. caps negotiation, add link to the advanced
2436           section. Add a bunch of examples showing different use cases of
2437           different types of caps negotiation. Upstream renegotiation isn't
2438           fully documented yet since nobody knows how that works.
2439
2440 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2441
2442         * check/gst/gstpad.c:
2443         * check/gstcheck.c:
2444         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2445           if pad has no parent, return NULL as list of internal links
2446
2447 2005-07-05  Andy Wingo  <wingo@pobox.com>
2448
2449         * gst/elements/gstfilesrc.c:
2450         * gst/elements/gstfakesrc.c: 
2451         * gst/base/gstpushsrc.c:
2452         * gst/base/gstbasesrc.h: 
2453         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2454         
2455 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2456
2457         * Makefile.am:
2458           better report generation target (lcov needs a patch)
2459
2460 2005-07-05  Andy Wingo  <wingo@pobox.com>
2461
2462         * gst/elements, testsuite: Null if we got it...
2463
2464 2005-07-05  Wim Taymans  <wim@fluendo.com>
2465
2466         * configure.ac:
2467         * libs/gst/dataprotocol/Makefile.am:
2468         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2469         * libs/gst/dataprotocol/dataprotocol.h:
2470         * pkgconfig/Makefile.am:
2471         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2472         * pkgconfig/gstreamer-dataprotocol.pc.in:
2473         Ported dataprotol to 0.9. 
2474         Added pkgconfig files.
2475
2476 2005-07-05  Andy Wingo  <wingo@pobox.com>
2477
2478         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2479         Default to returning TRUE for the case when tranform_caps returns
2480         a fixed caps, like for identity or volume.
2481
2482         * check/gst/gstbus.c (pound_bus_with_messages): 
2483         * check/gst/gstmessage.c (START_TEST): 
2484         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2485         message API change.
2486
2487         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2488         logic weaks here: always run transform_caps, trying passthrough
2489         operation only if the original caps intersects with the transform.
2490
2491         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2492         source and sink caps.
2493
2494         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2495         Intersect the peer caps with the pad template before going into
2496         transform_caps.
2497         (gst_base_transform_transform_caps): More debugging.
2498
2499         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2500         src argument.
2501
2502 2005-07-04  Edward Hervey  <edward@fluendo.com>
2503
2504         * gst/gstutils.c:
2505         * gst/gstutils.h:
2506         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2507         in bindings.
2508
2509 2005-07-04  Andy Wingo  <wingo@pobox.com>
2510
2511         * check/gst/gstpad.c: Only set explicit caps on pads.
2512
2513 2005-07-01  Andy Wingo  <wingo@pobox.com>
2514
2515         * tests/network-clock.scm: Commentary update.
2516
2517         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2518         Didn't really make sense, not implementable with basetransform,
2519         etc.
2520         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2521         attempt at implementing the sync property, needs an unlock method.
2522
2523         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2524         New func, by default returns the same caps (the identity
2525         transformation).
2526         (gst_base_transform_getcaps): Uses transform_caps to return
2527         something sensible.
2528         (gst_base_transform_setcaps): Complicated logic to get caps on
2529         both pads, even if they are different, and to call set_caps once
2530         for every time both pads get their caps set.
2531         (gst_base_transform_handle_buffer): Give the ref to the transform
2532         function. Allows in-place modification of the buffer.
2533
2534         * gst/base/gstbasetransform.h (transform_caps): New class method.
2535         Given caps on one side, what can I do on the other.
2536         (set_caps): Take two caps, one for each side of the element.
2537
2538         * gst/gstpad.h:
2539         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2540         caps in place. This is safe because we can check the mutability of
2541         the caps, and a good idea because fixate functions are just called
2542         as a matter of last resort. (Not actually implemented.)
2543         (gst_pad_set_caps): If the caps we're setting is actually the same
2544         as the existing pad caps, just update the pointer without calling
2545         setcaps. Assert that caps is either NULL or fixed, as per the
2546         docs.
2547
2548         * gst/gstghostpad.c: Update for fixate changes.
2549
2550 2005-07-02  Andy Wingo  <wingo@pobox.com>
2551
2552         * gst/gstcaps.c:
2553         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2554         two refcounts makes it immutable, which is enough. Doc more.
2555
2556 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2557
2558         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2559           Put the mini_object into GValue as a mini_object,
2560           not a gpointer, since that's how we declared
2561           the signal.
2562
2563 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2564
2565         * examples/pwg/Makefile.am:
2566           Fix buildbot again.
2567
2568 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2569
2570         * docs/pwg/building-testapp.xml:
2571           Add extra check.
2572         * examples/pwg/Makefile.am:
2573           Fix buildbot.
2574
2575 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2576
2577         * configure.ac:
2578         * examples/Makefile.am:
2579         * examples/pwg/Makefile.am:
2580         * examples/pwg/extract.pl:
2581           Enable building the PWG examples.
2582         * docs/pwg/advanced-interfaces.xml:
2583           Add URI interface stub.
2584         * docs/pwg/advanced-types.xml:
2585         * docs/pwg/other-autoplugger.xml:
2586         * docs/pwg/appendix-porting.xml:
2587         * docs/pwg/pwg.xml:
2588           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2589         * docs/pwg/building-boiler.xml:
2590         * docs/pwg/building-chainfn.xml:
2591         * docs/pwg/building-pads.xml:
2592         * docs/pwg/building-props.xml:
2593         * docs/pwg/building-state.xml:
2594         * docs/pwg/building-testapp.xml:
2595           Update the building-*.xml parts for 0.9 changes. All examples
2596           code blocks compile in examples/pwg/*.
2597
2598 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2599
2600         * docs/manual/advanced-autoplugging.xml:
2601         * docs/manual/appendix-checklist.xml:
2602         * docs/manual/appendix-integration.xml:
2603         * docs/manual/highlevel-components.xml:
2604           Fix playbin/decodebin examples, update docs a bit, mention bus
2605           instead of signals in various places, mention kmplayer and
2606           kaffeine since they have a working GStreamer backend in the KDE
2607           section.
2608
2609 2005-06-30  Wim Taymans  <wim@fluendo.com>
2610
2611         * CHANGES-0.9:
2612         * docs/design/draft-ghostpads.txt:
2613         * docs/design/draft-push-pull.txt:
2614         * docs/design/draft-query.txt:
2615         * docs/design/part-TODO.txt:
2616         * docs/design/part-query.txt:
2617         Added CHANGES-0.9 doc, updated status of other docs.
2618         
2619         * gst/gstquery.h:
2620         Remove "hmm" macro
2621
2622 2005-06-30  Wim Taymans  <wim@fluendo.com>
2623
2624         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2625         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2626         (gst_base_sink_change_state):
2627         * gst/base/gstbasesink.h:
2628         Some tweaks, only EOS and a buffer complete a preroll.
2629
2630 2005-06-30  Andy Wingo  <wingo@pobox.com>
2631
2632         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2633         activate_push down to the internal pad as well.
2634
2635 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2636
2637         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2638
2639         * gst/gsttaginterface.c:
2640           Some documentation fixes (#307394 and #307397).
2641
2642 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2643
2644         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2645
2646         * gst/gstvalue.c: (gst_value_intersect_list):
2647           Fix memleak (#309125).
2648
2649 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2650
2651         * docs/manual/advanced-dataaccess.xml:
2652           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2653         * docs/manual/basics-pads.xml:
2654           Add reference for filtered caps to above chapter.
2655
2656 2005-06-30  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2659         (gst_bin_change_state):
2660         Probes are gone.
2661         Lame attempt at making the state change function a bit
2662         more readable.
2663
2664 2005-06-30  Wim Taymans  <wim@fluendo.com>
2665
2666         * docs/design/part-clocks.txt:
2667         * docs/design/part-element-sink.txt:
2668         * docs/design/part-events.txt:
2669         * docs/design/part-preroll.txt:
2670         * docs/design/part-states.txt:
2671         Some more tweeks and additions to the docs.
2672
2673 2005-06-30  Wim Taymans  <wim@fluendo.com>
2674
2675         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2676         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2677         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2678         (gst_pad_check_pull_range), (gst_pad_get_range),
2679         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2680         * gst/gstpad.h:
2681         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2682         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2683         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2684         (gst_pad_remove_buffer_probe):
2685         Removed atomic operations, use existing LOCK.
2686         Move exception handling out of main code path.
2687
2688 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2689
2690         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2691         (silly_return_true_function), (gst_pad_class_init),
2692         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2693         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2694         (gst_pad_send_event):
2695           Fix accumulator, add default value by using _emitv() instead
2696           of _emit() for signal emission.
2697
2698 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2699
2700         * docs/manual/advanced-dataaccess.xml:
2701         * examples/manual/Makefile.am:
2702           Add probe example.
2703         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2704           Make work (??).
2705
2706 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2707
2708         * gst/elements/gstfilesink.c: (gst_filesink_render):
2709           Simplify code so that we don't have to handle short
2710           writes and return GST_FLOW_ERROR if an error occured.
2711
2712 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2713
2714         * docs/gst/gstreamer-docs.sgml:
2715           Remove probes more.
2716
2717 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2718
2719         * docs/gst/gstreamer-sections.txt:
2720         * docs/gst/tmpl/gstpad.sgml:
2721         * docs/gst/tmpl/gstprobe.sgml:
2722         * gst/Makefile.am:
2723         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2724         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2725         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2726         (gst_pad_push_event), (gst_pad_send_event):
2727         * gst/gstpad.h:
2728         * gst/gstutils.c: (gst_pad_add_data_probe),
2729         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2730         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2731         (gst_pad_remove_buffer_probe):
2732         * gst/gstutils.h:
2733           Remove old probes, add new g-signal-based probes and some utility
2734           functions.
2735
2736 2005-06-29  Edward Hervey  <edward@fluendo.com>
2737
2738         * gst/gstelementfactory.c:
2739         * gst/gstutils.h:
2740         * gst/gstutils.c:
2741         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2742         the definition to the header file.
2743
2744 2005-06-29  Andy Wingo  <wingo@pobox.com>
2745
2746         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2747         plugins from the source directory.
2748
2749 2005-06-29  Wim Taymans  <wim@fluendo.com>
2750
2751         * docs/gst/tmpl/gstbuffer.sgml:
2752         * docs/gst/tmpl/gstclock.sgml:
2753         Some fixings for blantently wrong text.
2754
2755 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2756
2757         * check/Makefile.am:
2758         * gst/gst.c: (add_path_func), (init_pre):
2759         * gst/gstregistry.c: (gst_registry_add_path):
2760           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2761           only scan the GST_PLUGIN_PATH locations, and not add
2762           system locations
2763
2764 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2765
2766         * docs/gst/gstreamer-sections.txt:
2767         * docs/gst/tmpl/gstbasesrc.sgml:
2768         * gst/gstelement.c:
2769         * gst/gstelement.h:
2770         * gst/gstevent.c:
2771         * gst/gstutils.c:
2772           doc fixes
2773
2774 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2775
2776         * docs/manual/advanced-autoplugging.xml:
2777           Fix autoplugging example.
2778
2779 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2780
2781         * docs/manual/advanced-autoplugging.xml:
2782         * docs/manual/mime-world.fig:
2783           Try to get autoplugging working, fix type detection. Fix text
2784           in hello-world image.
2785
2786 2005-06-29  Wim Taymans  <wim@fluendo.com>
2787
2788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2789         (gst_base_sink_change_state):
2790         Small debug line.
2791
2792         * gst/gstclock.h:
2793         map SIGNAL and BROADCAST to the right function.
2794
2795         * gst/gstobject.h:
2796         Remove redundant braces.
2797
2798         * gst/gstpad.c: (gst_pad_set_caps):
2799         Don't call setcaps function when reseting caps to NULL.
2800
2801         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2802         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2803         (gst_system_clock_id_unschedule):
2804         Use BROADCAST as this is what we do.
2805
2806 2005-06-29  Wim Taymans  <wim@fluendo.com>
2807
2808         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2809         We are actually prerolling before commiting the state
2810         change. 
2811
2812 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2813
2814         * docs/manual/advanced-clocks.xml:
2815         * docs/manual/advanced-interfaces.xml:
2816         * docs/manual/advanced-metadata.xml:
2817         * docs/manual/advanced-position.xml:
2818         * docs/manual/advanced-schedulers.xml:
2819         * docs/manual/advanced-threads.xml:
2820         * docs/manual/appendix-porting.xml:
2821         * docs/manual/basics-bins.xml:
2822         * docs/manual/basics-bus.xml:
2823         * docs/manual/basics-elements.xml:
2824         * docs/manual/basics-helloworld.xml:
2825         * docs/manual/basics-pads.xml:
2826         * docs/manual/highlevel-components.xml:
2827         * docs/manual/manual.xml:
2828         * docs/manual/thread.fig:
2829           Update (until threads/scheduling) Application Development Manual;
2830           remove GstThread, add GstBus, add simple porting checklist, add
2831           documentation for tag writing, clocks, make all examples until this
2832           part compile and run.
2833         * examples/manual/Makefile.am:
2834           Update from changes to Application Development Manual; add bus
2835           example, remove thread example.
2836
2837 2005-06-28  Wim Taymans  <wim@fluendo.com>
2838
2839         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2840         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2841         (gst_bus_source_dispatch):
2842         Add debugging messages.
2843         Make internal methods static.
2844         Handle the case where the bus is flushed in the handler.
2845         
2846         * gst/gstelement.c: (gst_element_get_bus):
2847         Fix refcount in _get_bus();
2848
2849         * gst/gstpipeline.c: (gst_pipeline_change_state),
2850         (gst_pipeline_get_clock_func):
2851         Clock refcounting fixes.
2852         Handle the case where preroll timed out more gracefully.
2853         
2854         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2855         Clean up the internal thread in dispose. This is needed
2856         for subclasses that actually get disposed.
2857         
2858         * gst/schedulers/threadscheduler.c:
2859         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2860         (gst_thread_scheduler_dispose):
2861         Free thread pool in dispose.
2862
2863 2005-06-28  Andy Wingo  <wingo@pobox.com>
2864
2865         * tests/network-clock-utils.scm (debug, print-event): New utils.
2866
2867         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2868         (*packet-loss*): Unified loss probability.
2869         (network-time): Report out-of-band events.
2870
2871         * tests/plot-data: Add support for out-of-band events. Hack it
2872         into this script instead of passing it down the pipe; should fix
2873         this later.
2874
2875 2005-06-28  Wim Taymans  <wim@fluendo.com>
2876
2877         * docs/gst/gstreamer.types:
2878         * docs/gst/tmpl/gstbasesrc.sgml:
2879         * docs/gst/tmpl/gstpad.sgml:
2880         Docs fixes.
2881
2882 2005-06-28  Wim Taymans  <wim@fluendo.com>
2883
2884         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2885         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2886         (gst_proxy_pad_do_fixatecaps):
2887         Correctly proxy the check_pull_range function.
2888
2889 2005-06-28  Andy Wingo  <wingo@pobox.com>
2890
2891         * tests/network-clock.scm: Removed need for slib.
2892         
2893 2005-06-28  Wim Taymans  <wim@fluendo.com>
2894
2895         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2896         (gst_basesink_preroll_queue_flush):
2897         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2898         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2899         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2900         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2901         (gst_proxy_pad_set_property):
2902         * gst/gstpad.c:
2903         * gst/gstpad.h:
2904         * gst/gstqueue.c: (gst_queue_init):
2905         The deprecated pad loop function is removed now.
2906
2907 2005-06-28  Andy Wingo  <wingo@pobox.com>
2908
2909         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2910         New parameters, simulate network packet loss.
2911
2912         * tests/network-clock-utils.scm: Initialize the RNG.
2913
2914 2005-06-28  Wim Taymans  <wim@fluendo.com>
2915
2916         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2917         (gst_basesink_event), (gst_basesink_deactivate):
2918         Flushing the preroll queue always needs to unlock the waiters.
2919
2920 2005-06-28  Edward Hervey  <edward@fluendo.com>
2921
2922         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2923         Wheen a seek was successful on a pipeline, set the stream_time to the
2924         seek offset in order to have a synchronized stream_time.
2925
2926 2005-06-28  Wim Taymans  <wim@fluendo.com>
2927
2928         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2929         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2930         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2931         (gst_proxy_pad_do_fixatecaps):
2932         Call wrapper function instead of just calling the function
2933         pointers. This takes care of any locking and whatmore.
2934
2935 2005-06-28  Wim Taymans  <wim@fluendo.com>
2936
2937         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2938         (gst_pad_pull_range):
2939         * gst/gstpad.h:
2940         CONNECTED -> LINKED.
2941
2942 2005-06-28  Andy Wingo  <wingo@pobox.com>
2943
2944         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2945         source-munging commit!!!
2946
2947         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2948         (gst_object_sink): Take gpointer arguments, not GstObject --
2949         avoids casts. Like GLib.
2950
2951         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2952         activate.
2953
2954 2005-06-27  Andy Wingo  <wingo@pobox.com>
2955
2956         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2957         remaining buffer.
2958
2959         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2960         returns a sorted copy of the trace list.
2961         (gst_alloc_trace_print_live): New API, only prints traces with
2962         live objects. Sort the list.
2963         (gst_alloc_trace_print_all): Sort the list.
2964         (gst_alloc_trace_print): Align columns.
2965
2966         * gst/elements/gstttypefindelement.c:
2967         * gst/elements/gsttee.c:
2968         * gst/base/gstbasesrc.c:
2969         * gst/base/gstbasesink.c:
2970         * gst/base/gstbasetransform.c:
2971         * gst/gstqueue.c: Adapt for pad activation changes.
2972
2973         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2974         sched.
2975         (gst_pipeline_dispose): Drop ref on sched.
2976
2977         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2978         (gst_pad_activate_default): Push mode by default.
2979         (pre_activate_switch, post_activate_switch): New stubs, things to
2980         do before and after switching activation modes on pads.
2981         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2982         the pad's activate function to choose which mode to activate.
2983         Shortcut on deactivation and call the right function directly.
2984         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2985         mode.
2986         (gst_pad_activate_push): New API, same for push mode.
2987         (gst_pad_set_activate_function) 
2988         (gst_pad_set_activatepull_function) 
2989         (gst_pad_set_activatepush_function): Setters for new API.
2990
2991         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2992         Trace all miniobjects.
2993         (gst_mini_object_make_writable): Unref the arg if we copy, like
2994         gst_caps_make_writable.
2995
2996         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2997
2998         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2999         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
3000         Adapt for new pad API.
3001
3002         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
3003
3004         * gst/gstelement.h:
3005         * gst/gstelement.c (gst_element_iterate_src_pads) 
3006         (gst_element_iterate_sink_pads): New API functions.
3007         
3008         * gst/gstelement.c (iterator_fold_with_resync): New utility,
3009         should fold into gstiterator.c in some form.
3010         (gst_element_pads_activate): Simplified via use of fold and
3011         delegation of decisions to gstpad->activate.
3012
3013         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
3014         help in debugging.
3015
3016         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
3017         class once in init, like gstmessage. Didn't run into this issue
3018         but it seems correct. Don't initialize a trace, gstminiobject does
3019         that.
3020
3021         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
3022         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
3023         to the bus.
3024         (assert_live_count): New util function, uses alloc traces to check
3025         cleanup.
3026
3027         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
3028         To be modified when unlink drops the internal pad.
3029
3030 2005-06-27  Wim Taymans  <wim@fluendo.com>
3031
3032         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
3033         (gst_bin_change_state):
3034         Cleanup the get_state() function a little, make sure it
3035         iterates the same set of elements.
3036         Added stub iterate_state_order().
3037
3038 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3039
3040         * docs/gst/gstreamer-docs.sgml:
3041         * docs/gst/gstreamer-sections.txt:
3042         * docs/gst/gstreamer.types:
3043         * docs/gst/tmpl/gstbasesink.sgml:
3044         * docs/gst/tmpl/gstbasesrc.sgml:
3045         * docs/gst/tmpl/gstbasetransform.sgml:
3046         * docs/gst/tmpl/gstelement.sgml:
3047         * docs/gst/tmpl/gstiterator.sgml:
3048         * gst/base/gstbasesrc.c:
3049         * gst/base/gstbasesrc.h:
3050         * gst/base/gstbasetransform.h:
3051         * gst/gstelement.c:
3052         * gst/gstiterator.h:
3053           adding basetransform and iterator docs
3054
3055 2005-06-27  Andy Wingo  <wingo@pobox.com>
3056
3057         * docs/design/part-activation.txt: Notes on how activation should
3058         work -- not quite implemented yet.
3059
3060 2005-06-25  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3063         At least get the chain function correct, needs more
3064         fixing.
3065
3066 2005-06-25  Wim Taymans  <wim@fluendo.com>
3067
3068         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3069         (gst_basesink_handle_object), (gst_basesink_event),
3070         (gst_basesink_do_sync), (gst_basesink_handle_event),
3071         (gst_basesink_change_state):
3072         * gst/gsttask.h:
3073         Right, two problems here: ghostpads don't take locks and
3074         glib _rec_mutex_lock_full() with depth==0 still locks.
3075         Catch illegal locking and g_warn them.
3076
3077 2005-06-25  Wim Taymans  <wim@fluendo.com>
3078
3079         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3080         Have to check for completion now...
3081
3082 2005-06-25  Wim Taymans  <wim@fluendo.com>
3083
3084         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3085         (gst_basesink_handle_object), (gst_basesink_event),
3086         (gst_basesink_do_sync), (gst_basesink_handle_event),
3087         (gst_basesink_change_state):
3088         * gst/gstpad.h:
3089         Unlock STREAM_LOCK whatever the recursion was.
3090
3091 2005-06-25  Wim Taymans  <wim@fluendo.com>
3092
3093         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3094         (gst_basesink_preroll_queue_empty),
3095         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3096         (gst_basesink_event), (gst_basesink_do_sync),
3097         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3098         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3099         (gst_basesink_change_state):
3100         Reworked the base sink, handle event and buffer serialisation
3101         correctly and removed possible deadlock.
3102         Handle EOS correctly.
3103
3104 2005-06-25  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3107         (gst_pipeline_change_state):
3108         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3109         Allow elements to post EOS in the state change function.
3110         Fix up -launch, make it exit the poll loop when the
3111         pipeline actually changed state.
3112         Fix up warning parsing in -launch.
3113
3114 2005-06-25  Wim Taymans  <wim@fluendo.com>
3115
3116         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3117         (gst_tee_sink_activate):
3118         Core takes STREAM_LOCK for us now.
3119
3120 2005-06-25  Wim Taymans  <wim@fluendo.com>
3121
3122         * gst/gstelement.c: (gst_element_get_state_func),
3123         (gst_element_set_state):
3124         * gst/gstelement.h:
3125         * gst/gstmessage.c: (gst_message_parse_error),
3126         (gst_message_parse_warning):
3127         Keep track of current target state while performing a state
3128         change so that subclasses can do something interesting.
3129         Fix parsing of warning/error messages when GError is NULL.
3130
3131 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * docs/gst/Makefile.am:
3134         * docs/gst/gstreamer-docs.sgml:
3135         * docs/gst/gstreamer-sections.txt:
3136         * docs/gst/gstreamer.types:
3137         * docs/gst/tmpl/gstbasesink.sgml:
3138         * docs/gst/tmpl/gstbasesrc.sgml:
3139         * docs/gst/tmpl/gstbin.sgml:
3140         * docs/gst/tmpl/gstcompat.sgml:
3141         * docs/gst/tmpl/gstfakesink.sgml:
3142         * docs/gst/tmpl/gstfakesrc.sgml:
3143         * docs/gst/tmpl/gstfilesink.sgml:
3144         * docs/gst/tmpl/gstfilesrc.sgml:
3145         * docs/gst/tmpl/gstindex.sgml:
3146         * docs/manual/appendix-quotes.xml:
3147         * gst/base/gstbasesrc.h:
3148         * gst/elements/gstfakesrc.h:
3149         * gst/gstmessage.h:
3150           start pulling in base classes and elements in our docs
3151
3152 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3153
3154         * docs/gst/Makefile.am:
3155         * docs/libs/Makefile.am:
3156           fixed make distcheck with gtk-doc 1.3
3157
3158 2005-06-23  Wim Taymans  <wim@fluendo.com>
3159
3160         * gst/gstelement.c: (gst_element_get_state_func),
3161         (gst_element_set_state), (gst_element_change_state):
3162         When the state did not change, also report NO_PREROLL
3163         when it matters.
3164
3165 2005-06-23  Wim Taymans  <wim@fluendo.com>
3166
3167         * gst/gstpad.c: (gst_pad_event_default):
3168         * gst/gstqueue.c: (gst_queue_loop):
3169         No unsafe task pausing please.
3170
3171 2005-06-23  Wim Taymans  <wim@fluendo.com>
3172
3173         * gst/schedulers/threadscheduler.c:
3174         (gst_thread_scheduler_task_start),
3175         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3176         Ref the task before pushing it on the threadpool. This
3177         makes sure that we have a ref when the threadfunction is
3178         actually called.
3179
3180 2005-06-23  Andy Wingo  <wingo@pobox.com>
3181
3182         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3183         offset is greater than the file's size.
3184
3185         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3186         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3187         * gst/gstobject.c (gst_object_class_init): Make the class lock
3188         recursive. Wim won't let me drop deep_notify. Decodebin works
3189         again, whoopdy doo.
3190
3191         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3192         internal pad, and hacks accordingly. Doesn't do it on the target
3193         pad because we change its caps. Probably catches all cases of
3194         interest tho.
3195         (gst_ghost_pad_set_property): Connect to notify::caps as
3196         appropritate.
3197
3198         * tests/network-clock.scm (plot-simulation): Pipe data to the
3199         elite python skript.
3200
3201         * tests/network-clock-utils.scm (define-parameter): New macro,
3202         defines a parameter that can be set via the command line.
3203         (set-parameter!, parse-parameter-arguments): Command line args
3204         parser.
3205
3206         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3207         stdin.
3208
3209 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3210
3211         * gst/elements/gsttypefindelement.c:
3212         (gst_type_find_element_handle_event):
3213           Don't restart typefinding on a discont.
3214         * gst/gstelement.c: (gst_element_set_state):
3215           Debug spelling fix.
3216         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3217           Allow changing mode of an active pad.
3218           Debug output fixes.
3219         * gst/registries/gstlibxmlregistry.c: (load_feature):
3220           Don't cast a static pad template to a normal pad template.
3221
3222 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3223
3224         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3225         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3226           remove gst_strtoll completely, since it didn't actually do
3227           anything more than what g_ascii_strtoull already does.
3228           check for range errors when deserializing
3229           do a cast for the unsigned cases; but further fixing needs
3230           a decision on what the interpretation of "(int)" and
3231           deserialization should be for values that fall outside the
3232           type's boundaries (ie, refuse, or interpret as casting)
3233
3234 2005-06-23  Wim Taymans  <wim@fluendo.com>
3235
3236         * check/Makefile.am:
3237         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3238         * docs/design/part-live-source.txt:
3239         * docs/design/part-states.txt:
3240         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3241         (gst_basesrc_set_live), (gst_basesrc_is_live),
3242         (gst_basesrc_get_range), (gst_basesrc_activate),
3243         (gst_basesrc_change_state):
3244         * gst/base/gstbasesrc.h:
3245         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3246         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3247         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3248         * gst/gstelement.c: (gst_element_get_state_func),
3249         (gst_element_set_state):
3250         * gst/gstelement.h:
3251         * gst/gsttypes.h:
3252         * tools/gst-launch.c: (event_loop), (main):
3253         Added support for live sources and other elements that
3254         cannot do preroll.
3255         Updated design docs, added live-source design doc.
3256         Implemented live source functionality in basesrc
3257         Fix error condition in _bin_get_state()
3258         Implement live source handling in -launch.
3259         Added check for live sources.
3260         Fixed case in GstBin where elements were changed state
3261         multiple times.
3262
3263
3264 2005-06-23  Andy Wingo  <wingo@pobox.com>
3265
3266         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3267         borken refcounting.
3268
3269         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3270         gst_caps_replace takes care of this for us.
3271
3272         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3273         gst_pad_set_caps on the target, not just its setcaps() function.
3274
3275         * tests/network-clock.scm: 
3276         * tests/network-clock-utils.scm: A network clock simulator.
3277         Something of an algorithmic testbed before doing something in C.
3278
3279 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3280
3281         * check/Makefile.am:
3282         * check/gst/capslist.h:
3283           copy over from 0.8, and add two with bitmasks specified with
3284           (int) 0xFF...
3285         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3286           add test to parse everything from capslist.h
3287         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3288         (main):
3289           add test for structure deserialization
3290         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3291           add tests for deserialization of strings to int types
3292         * gst/gststructure.c: (gst_structure_nth_field_name):
3293         * gst/gststructure.h:
3294           add a way to get the name of a field referenced by index
3295         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3296           instead of checking if the resulting long long lies between
3297           min and max, we check if the long long would fit into
3298           a number of bytes for the final type.
3299           This fixes cases where a string represents 2^32 - 1, which
3300           when cast to int would be the (valid) -1, but is bigger than
3301           G_MAXINT
3302
3303 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3304
3305         * gst/parse/grammar.y:
3306           add a log line for type deserialization
3307
3308 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3309
3310         * check/gst/gstvalue.c: (START_TEST):
3311         * gst/gstvalue.c: (gst_value_deserialize):
3312           return long long, not int, so gint64 deserialization actually
3313           works.  Is there any flag that makes the compiler check this ?
3314           Fixes #308559
3315
3316 2005-06-22  Wim Taymans  <wim@fluendo.com>
3317
3318         * gst/gstbuffer.h:
3319         Added convenience macros for setting buffers in GValue.
3320
3321 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3322
3323         * check/gst/.cvsignore:
3324         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3325           add a test deserializing int64, and comment part out because
3326           it fails, yay !
3327
3328 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3329
3330         * check/Makefile.am:
3331         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3332         * testsuite/Makefile.am:
3333         * testsuite/caps/Makefile.am:
3334         * testsuite/caps/value_serialize.c:
3335         * testsuite/test_gst_init.c:
3336           move a value_serialize test over
3337
3338 2005-06-20  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/gstpad.c:
3341         Small doc updates.
3342         
3343         * gst/gstvalue.c: (gst_value_compare_buffer),
3344         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3345         (gst_value_compare_flags), (gst_value_serialize_flags),
3346         (gst_value_deserialize_flags), (_gst_value_initialize):
3347         Fix serialisation of buffers, they are not boxed types anymore
3348
3349 2005-06-20  Wim Taymans  <wim@fluendo.com>
3350
3351         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3352         Testcase to show error in buffer-on-caps serialisation.
3353
3354 2005-06-20  Andy Wingo  <wingo@pobox.com>
3355
3356         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3357         will be adding to later.
3358
3359         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3360         if its socks fill with rocks.
3361         (gst_system_clock_obtain): Set the name on object construction.
3362         Avoid double-checked locking.
3363
3364 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3365
3366         * gst/gsturi.c: (gst_element_make_from_uri):
3367           Fix potential endless loop.
3368
3369 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3370
3371         * check/Makefile.am:
3372           add gsttag
3373         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3374         (main):
3375           move over from testsuite dir and clean up
3376         * configure.ac:
3377         * gst/gsttag.c:
3378         * testsuite/Makefile.am:
3379         * testsuite/tags/.cvsignore:
3380         * testsuite/tags/Makefile.am:
3381         * testsuite/tags/merge.c:
3382           remove testsuite/tags
3383
3384 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3385
3386         * docs/gst/gstreamer-sections.txt:
3387         * docs/gst/tmpl/gstenumtypes.sgml:
3388         * win32/gstenumtypes.c:
3389           clean up documentation build a little
3390
3391 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3392
3393         * check/gstcheck.h:
3394           add macros for checking refcounts on objects and caps
3395         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3396           add some more unit tests
3397         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3398         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3399           fix leaked refcounts (I hope :)) so unittest works
3400         * gst/gstpad.h:
3401           whitespace removal
3402
3403 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3404
3405         * configure.ac: back to HEAD
3406
3407 === release 0.9.1 ===
3408
3409 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3410
3411         * NEWS:
3412         * RELEASE:
3413           updated
3414
3415 2005-06-17  Andy Wingo  <wingo@pobox.com>
3416
3417         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3418         assert; it's always possible that the pad gets deactivated in
3419         between the checks in gstpad.c and the implementation. Rely on
3420         finish_preroll() to return a FLUSHING or similar instead of on the
3421         assert.
3422         
3423         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3424         clock and post an EOS message if we come out of finish_preroll in
3425         the playing state.
3426
3427 2005-06-16  David Schleef  <ds@schleef.org>
3428
3429         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3430         (gst_capsfilter_set_property): Allow NULL as possible value
3431         for filter_caps property, indicating GST_CAPS_ANY.
3432
3433 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3434
3435         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3436           fix debug output
3437         * gst/schedulers/Makefile.am:
3438           use libgst prefix
3439         * gstreamer.spec.in:
3440           fix spec for it
3441
3442 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3443
3444         * gstreamer.spec.in:
3445           clean up
3446
3447 2005-06-08  Andy Wingo  <wingo@pobox.com>
3448
3449         * gst/gstutils.c: RPAD fixes all around.
3450         (gst_element_link_pads): Refcounting fixes.
3451
3452         * tools/gst-inspect.c:
3453         * tools/gst-xmlinspect.c:
3454         * parse/grammar.y:
3455         * gst/base/gsttypefindhelper.c:
3456         * gst/base/gstbasesink.c:
3457         * gst/gstqueue.c: RPAD fixes.
3458
3459         * gst/gstghostpad.h:
3460         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3461         pads. The tricky thing is they provide both source and sink
3462         interfaces, since they proxy the internal pad for the external
3463         pad, and vice versa. Implement with lower-level ProxyPad objects,
3464         with the interior proxy pad as a child of the exterior ghost pad.
3465         Should write a doc on this.
3466         
3467         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3468         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3469         gst_object API.
3470         
3471         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3472         pads are real pads. No ghost pads in this file. Not documenting
3473         the myriad s/RPAD/PAD/ and REALIZE fixes.
3474         (gst_pad_class_init): Add properties for "direction" and
3475         "template". Both are construct-only, so they can't change during
3476         the life of the pad. Fixes properly deriving from GstPad.
3477         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3478         derived objects, just set properties when creating the objects via
3479         g_object_new.
3480         (gst_pad_get_parent): Implement as a function, return NULL if the
3481         parent is not an element.
3482         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3483         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3484         
3485         * gst/gstobject.c (gst_object_class_init): Make name a construct
3486         property. Don't set it in the object init.
3487
3488         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3489         with UNKNOWN direction.
3490         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3491         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3492         (gst_element_remove_pad): Remove ghost-pad special cases.
3493         (gst_element_pads_activate): Remove rpad cruft.
3494
3495         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3496         catch the pad's-parent-not-an-element case.
3497
3498         * gst/gst.h: Include gstghostpad.h.
3499
3500         * gst/gst.c (init_post): No more real, ghost pads.
3501
3502         * gst/Makefile.am: Add gstghostpad.[ch].
3503
3504         * check/Makefile.am:
3505         * check/gst/gstbin.c:
3506         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3507         into a bin creates ghost pads, and that the refcounts are right.
3508         Partly moved from gstbin.c.
3509
3510 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * check/gst-libs/.cvsignore:
3513         * check/gst/.cvsignore:
3514         * check/pipelines/.cvsignore:
3515           ignore more
3516         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3517         (START_TEST), (cleanup_suite), (main):
3518           add some tests related to cleanup after running pipelines
3519
3520 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3521
3522         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3523           add a testsuite for GstBuffer
3524
3525 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3526
3527         * gst/gstminiobject.h:
3528           add defines for accessing the refcount
3529
3530 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * Makefile.am: added support for html unit test coverage reports
3533
3534 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3535
3536         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3537           Free existing caps if the capsfilter changes. Add a FIXME about
3538           setting those caps on the pads.
3539
3540         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3541           Before adding a ghost pad to a parent bin, check that there isn't
3542           already one for the element on the bin. Prevents infinite recursion
3543           when using decodebin in parse pipelines. Andy says he'll rewrite the
3544           way this works anyway, so ignore the hack.
3545
3546 2005-06-02  Andy Wingo  <wingo@pobox.com>
3547
3548         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3549         file size, pass it on to the type find helper.
3550
3551         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3552         segment_start and segment_end properly according to the seek
3553         method. Segment_end is still a bit flaky because offset can be
3554         negative for CUR and END cases, but it takes -1 as an "unset"
3555         value.
3556
3557 2005-06-02  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3560         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3561         (gst_basesink_activate):
3562         * gst/base/gstbasesink.h:
3563         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3564         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3565         (gst_pad_query), (gst_pad_start_task):
3566         * gst/gstpad.h:
3567         * gst/gstqueue.c: (gst_queue_bufferalloc),
3568         (gst_queue_handle_sink_event), (gst_queue_chain):
3569         Bufferalloc: return GstFlowReturn to more accuratly report
3570         why allocation failed.
3571
3572 2005-06-02  Wim Taymans  <wim@fluendo.com>
3573
3574         * gst/gstpipeline.c: (gst_pipeline_send_event):
3575         Take snapshot of state without blocking.
3576
3577 2005-06-02  Wim Taymans  <wim@fluendo.com>
3578
3579         * docs/design/part-TODO.txt:
3580         * docs/design/part-caps.txt:
3581         * docs/design/part-clocks.txt:
3582         * docs/design/part-negotiation.txt:
3583         * docs/design/part-preroll.txt:
3584         Small doc updates 
3585
3586 2005-05-30  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/elements/gstidentity.c: (gst_identity_event),
3589         (gst_identity_transform), (gst_identity_get_property):
3590         Protect last_message property as it is accessed from
3591         multiple threads.
3592
3593 2005-05-30  Wim Taymans  <wim@fluendo.com>
3594
3595         * gst/gstelement.c: (gst_element_init),
3596         (gst_element_pads_activate), (gst_element_change_state):
3597         Slicker pad activation code.
3598
3599 2005-05-30  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/Makefile.am:
3602         * gst/gstelement.h:
3603         * gst/gstelementfactory.h:
3604         * gst/gsttypes.h:
3605         Move elementfactory methods to separate .h file.
3606
3607 2005-05-30  Wim Taymans  <wim@fluendo.com>
3608
3609         * docs/design/part-overview.txt:
3610         * gst/gstsystemclock.h:
3611         Small typo fixes, doc updates.
3612
3613 2005-05-30  Wim Taymans  <wim@fluendo.com>
3614
3615         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3616         (init_popt_callback):
3617         Remove cpu-opt flag.
3618
3619 2005-05-30  Wim Taymans  <wim@fluendo.com>
3620
3621         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3622         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3623         * gst/gstbuffer.h:
3624         Avoid typechecking in places where not needed.
3625         Added accessor for malloc_data.
3626
3627 2005-05-30  Wim Taymans  <wim@fluendo.com>
3628
3629         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3630         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3631         (gst_pad_configure_sink), (gst_pad_configure_src),
3632         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3633         (gst_pad_start_task):
3634         Propagate errors from _set_caps() in configure_src/sink
3635         functions instead of returning TRUE.
3636         FLUSH events can travel up and downstream
3637
3638
3639 2005-05-30  Wim Taymans  <wim@fluendo.com>
3640
3641         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3642         (gst_basesink_activate):
3643         Handle EOS in preroll.
3644
3645 2005-05-30  Wim Taymans  <wim@fluendo.com>
3646
3647         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3648         (gst_queue_loop), (gst_queue_handle_src_event):
3649         Remove old pieces of code
3650         Flushing the queue in an upstream event is a very bad idea.
3651
3652 2005-05-26  Andy Wingo  <wingo@pobox.com>
3653
3654         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3655         gst_value_set_mini_object so as to add a ref on the object (which
3656         will be removed when the value is unset).
3657
3658         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3659         arg type in ::handoff.
3660
3661         * gst/gstelement.c (gst_element_change_state): Also deactivate
3662         pads in READY->NULL, just in case the element didn't make it to
3663         PAUSED. Wingo tested, Wim approved.
3664
3665 2005-05-26  Wim Taymans  <wim@fluendo.com>
3666
3667         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3668         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3669         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3670         A flushing pad cannot be used to alloc_buffer from.
3671
3672 2005-05-26  Wim Taymans  <wim@fluendo.com>
3673
3674         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3675         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3676         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3677         (gst_bus_create_watch), (gst_bus_add_watch_full):
3678         * gst/gstbus.h:
3679         Implement a real GSource and use g_main_context_wakeup() to
3680         signal new messages instead of the socketpair.
3681
3682 2005-05-25  Wim Taymans  <wim@fluendo.com>
3683
3684         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3685         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3686         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3687         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3688         (gst_pad_send_event), (gst_pad_start_task):
3689         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3690         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3691         (gst_queue_sink_activate), (gst_queue_src_activate),
3692         (gst_queue_change_state):
3693         * gst/gstqueue.h:
3694         Fix state changes for non sinks. We now change sinks, then elements
3695         with unconnected srcpads, then the rest.
3696         More efficient queue unlocking in flush and state changes.
3697         Set the pad activate mode even if it does not have an activate
3698         function.
3699
3700 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3701
3702         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3703           Don't go in pull mode for non-seekable sources.
3704         * gst/elements/gsttypefindelement.h:
3705         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3706         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3707         (free_entry), (stop_typefinding),
3708         (gst_type_find_element_handle_event), (find_peek),
3709         (gst_type_find_element_chain), (do_pull_typefind),
3710         (gst_type_find_element_change_state):
3711           Allow typefinding (w/o seeking) in push-mode, simplified version
3712           of what was in 0.8.
3713         * gst/gstutils.c: (gst_buffer_join):
3714         * gst/gstutils.h:
3715           gst_buffer_join() from 0.8.
3716
3717 2005-05-25  Wim Taymans  <wim@fluendo.com>
3718
3719         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3720         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3721         (gst_pad_send_event), (gst_pad_start_task):
3722         Disable attempt at mode switching until it is figured out.
3723
3724 2005-05-25  Wim Taymans  <wim@fluendo.com>
3725
3726         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3727         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3728         (gst_basesink_finish_preroll), (gst_basesink_chain),
3729         (gst_basesink_loop), (gst_basesink_activate),
3730         (gst_basesink_change_state):
3731         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3732         (gst_basesrc_get_range), (gst_basesrc_loop),
3733         (gst_basesrc_activate):
3734         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3735         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3736         (gst_real_pad_init), (gst_real_pad_set_property),
3737         (gst_real_pad_get_property), (gst_pad_set_active),
3738         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3739         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3740         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3741         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3742         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3743         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3744         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3745         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3746         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3747         (gst_pad_stop_task):
3748         * gst/gstpad.h:
3749         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3750         (gst_queue_loop), (gst_queue_src_activate):
3751         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3752         (gst_task_get_state):
3753         * gst/gsttask.h:
3754         * gst/schedulers/threadscheduler.c:
3755         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3756         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3757         in task function.
3758         Remove ACTIVE pad flag, use FLUSHING everywhere
3759         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3760         functions.
3761         Add locks around IS_FLUSHING when reading.
3762         Take STREAM lock in chain(), get_range() functions so plugins
3763         don't need to take it anymore.
3764         
3765
3766
3767 2005-05-25  Wim Taymans  <wim@fluendo.com>
3768
3769         * tools/gst-launch.c: (event_loop):
3770         Unref message after using its contents instead of
3771         before.
3772
3773 2005-05-24  Wim Taymans  <wim@fluendo.com>
3774
3775         * docs/design/draft-ghostpads.txt:
3776         * docs/design/draft-push-pull.txt:
3777         * docs/design/draft-query.txt:
3778         * docs/design/part-overview.txt:
3779         Docs updates, added general overview doc.
3780
3781 2005-05-21  David Schleef  <ds@schleef.org>
3782
3783         * docs/gst/tmpl/old/GstBin.sgml:
3784         * docs/gst/tmpl/old/GstBuffer.sgml:
3785         * docs/gst/tmpl/old/GstCaps.sgml:
3786         * docs/gst/tmpl/old/GstClock.sgml:
3787         * docs/gst/tmpl/old/GstCompat.sgml:
3788         * docs/gst/tmpl/old/GstData.sgml:
3789         * docs/gst/tmpl/old/GstElement.sgml:
3790         * docs/gst/tmpl/old/GstEvent.sgml:
3791         * docs/gst/tmpl/old/GstIndex.sgml:
3792         * docs/gst/tmpl/old/GstStructure.sgml:
3793         * docs/gst/tmpl/old/GstTag.sgml:
3794         * docs/gst/tmpl/old/cothreads.sgml:
3795         * docs/gst/tmpl/old/cothreads_compat.sgml:
3796         * docs/gst/tmpl/old/gettext.sgml:
3797         * docs/gst/tmpl/old/gobject2gtk.sgml:
3798         * docs/gst/tmpl/old/grammar.tab.sgml:
3799         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3800         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3801         * docs/gst/tmpl/old/gst_private.sgml:
3802         * docs/gst/tmpl/old/gstaggregator.sgml:
3803         * docs/gst/tmpl/old/gstarch.sgml:
3804         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3805         * docs/gst/tmpl/old/gstbufferstore.sgml:
3806         * docs/gst/tmpl/old/gstdata_private.sgml:
3807         * docs/gst/tmpl/old/gstdisksink.sgml:
3808         * docs/gst/tmpl/old/gstdisksrc.sgml:
3809         * docs/gst/tmpl/old/gstelementfactory.sgml:
3810         * docs/gst/tmpl/old/gstextratypes.sgml:
3811         * docs/gst/tmpl/old/gstfakesink.sgml:
3812         * docs/gst/tmpl/old/gstfakesrc.sgml:
3813         * docs/gst/tmpl/old/gstfdsink.sgml:
3814         * docs/gst/tmpl/old/gstfdsrc.sgml:
3815         * docs/gst/tmpl/old/gstfilesink.sgml:
3816         * docs/gst/tmpl/old/gstfilesrc.sgml:
3817         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3818         * docs/gst/tmpl/old/gstidentity.sgml:
3819         * docs/gst/tmpl/old/gstindexfactory.sgml:
3820         * docs/gst/tmpl/old/gstmarshal.sgml:
3821         * docs/gst/tmpl/old/gstmd5sink.sgml:
3822         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3823         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3824         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3825         * docs/gst/tmpl/old/gstpipefilter.sgml:
3826         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3827         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3828         * docs/gst/tmpl/old/gstshaper.sgml:
3829         * docs/gst/tmpl/old/gstspider.sgml:
3830         * docs/gst/tmpl/old/gstspideridentity.sgml:
3831         * docs/gst/tmpl/old/gststatistics.sgml:
3832         * docs/gst/tmpl/old/gsttee.sgml:
3833         * docs/gst/tmpl/old/gsttimecache.sgml:
3834         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3835         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3836         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3837         * docs/gst/tmpl/old/types.sgml:
3838           I didn't intend to add these or check them in.
3839
3840 2005-05-19  David Schleef  <ds@schleef.org>
3841
3842         * configure.ac: Use -no-common everywhere.  In a sane world, it
3843           would be the default in libtool, because without it, you can't
3844           build DLLs on Windows.
3845         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3846         * docs/gst/gstreamer-sections.txt:
3847         * docs/gst/tmpl/gstcpu.sgml:
3848         * docs/gst/tmpl/gstdata.sgml:
3849         * docs/gst/tmpl/gstthread.sgml:
3850
3851 2005-05-19  David Schleef  <ds@schleef.org>
3852
3853         * gst/gstminiobject.c: (gst_value_set_mini_object),
3854         (gst_value_take_mini_object), (gst_value_get_mini_object):
3855         * gst/gstminiobject.h: Add GValue set/get functions.
3856
3857 2005-05-19  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3860         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3861         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3862         * gst/gstbuffer.h:
3863         * gst/gstbus.c: (gst_bus_post):
3864         * gst/gstelement.c: (gst_element_get_random_pad):
3865         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3866         Make subbufer unref the parent in finalize.
3867         some more debugging info.
3868
3869
3870 2005-05-19  Wim Taymans  <wim@fluendo.com>
3871
3872         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3873         (gst_basesink_init), (gst_basesink_finalize),
3874         (gst_basesink_activate), (gst_basesink_change_state):
3875         Don't free preroll queue too early.
3876
3877 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3878
3879         * gst/Makefile.am:
3880         * gst/ROADMAP:
3881           Hi, I'm outdated. Please shoot me.
3882
3883 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3884
3885         * gst/gstpipeline.c: (gst_pipeline_send_event):
3886           Do not access variables after they have been deleted.
3887
3888 2005-05-19  Wim Taymans  <wim@fluendo.com>
3889
3890         * tools/gst-inspect.c: (print_plugin_features):
3891         A plugin feature does unfortunatly not use the
3892         object name yet...
3893
3894 2005-05-18  Wim Taymans  <wim@fluendo.com>
3895
3896         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3897         Port _span() functions to new subbuffers.
3898
3899 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3900
3901         * gst/gstbin.c: (gst_bin_add_func):
3902           Fix clock settery in bins when adding kids after the clock has
3903           been selected.
3904
3905 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3906
3907         * gst/elements/gstidentity.c: (gst_identity_class_init):
3908           Workaround until signals support GstMiniObject.
3909
3910 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3911
3912         * gst/gstbuffer.c:
3913         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3914
3915 2005-05-18  Wim Taymans  <wim@fluendo.com>
3916
3917         * gst/base/Makefile.am:
3918         * gst/base/gstadapter.c: (gst_adapter_base_init),
3919         (gst_adapter_class_init), (gst_adapter_init),
3920         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3921         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3922         (gst_adapter_flush), (gst_adapter_available),
3923         (gst_adapter_available_fast):
3924         * gst/base/gstadapter.h:
3925         Ported and added adapter to the base classes.
3926
3927 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3928
3929         * gst/gst.c:
3930         * gst/gstmessage.c:
3931           Make sure the class is reffed/unreffed once before threads can be
3932           used.  Fixes #304551.
3933
3934 2005-05-17  Wim Taymans  <wim@fluendo.com>
3935
3936         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3937         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3938         * gst/gstminiobject.c: (gst_mini_object_get_type),
3939         (gst_mini_object_free):
3940         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3941         (gst_pad_push), (gst_pad_push_event):
3942         * gst/gstqueue.c: (gst_queue_change_state):
3943         Don't queue buffers in basesink when we are flushing.
3944         Unref buffer when flushing in basesink.
3945         Flush queue when going to READY
3946         Unref buffer when _push() returns an error.
3947         Don't free MiniObject instance when refcount is incremented
3948         in _finalize() so that we can recover objects.
3949
3950 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3951
3952         * docs/manual/advanced-schedulers.xml:
3953         * docs/manual/appendix-checklist.xml:
3954         * docs/pwg/advanced-clock.xml:
3955         * docs/pwg/advanced-interfaces.xml:
3956         * docs/pwg/advanced-request.xml:
3957         * docs/pwg/advanced-types.xml:
3958         * docs/pwg/intro-preface.xml:
3959         * examples/plugins/example.c: (gst_example_get_type),
3960         (gst_example_class_init), (gst_example_chain),
3961         (gst_example_set_property), (gst_example_get_property),
3962         (gst_example_change_state), (plugin_init):
3963         * examples/plugins/example.h:
3964           small doc fixes
3965
3966 2005-05-17  Wim Taymans  <wim@fluendo.com>
3967
3968         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3969         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3970         * gst/gstqueue.c: (gst_queue_change_state):
3971         Clear queue when going to READY.
3972         Remove IN_SETCAPS flag too.
3973
3974 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3975
3976         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3977           Remove implicit cast from gboolean to GstElementStateReturn;
3978           make sure we still return failure in paused => ready case if
3979           the parent class fails to change state and our own stop 
3980           vfunc succeeds.
3981
3982 2005-05-17  Wim Taymans  <wim@fluendo.com>
3983
3984         * tools/gst-launch.c: (event_loop):
3985         Message was unreffed too soon.
3986
3987 2005-05-16  Andy Wingo  <wingo@pobox.com>
3988
3989         * gst/gstbin.c (sink_iterator_filter): Err... um...
3990
3991         * check/gst/gstbin.c (test_ghost_pads): New test for the
3992         ghosting-if-elements-not-in-same-bin behavior.
3993
3994 2005-05-16  David Schleef  <ds@schleef.org>
3995
3996         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3997         accessing refcount directly.
3998
3999 2005-05-15  David Schleef  <ds@schleef.org>
4000
4001         * check/Makefile.am: remove GstData checks
4002         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
4003         * gst/Makefile.am: add miniobject, remove data
4004         * gst/gst.h: add miniobject, remove data
4005         * gst/gstdata.c: remove
4006         * gst/gstdata.h: remove
4007         * gst/gstdata_private.h: remove
4008         * gst/gsttypes.h: remove GstEvent and GstMessage
4009         * gst/gstelement.c: (gst_element_post_message): fix for API changes
4010         * gst/gstmarshal.list: change BOXED -> OBJECT
4011
4012         Implement GstMiniObject.
4013         * gst/gstminiobject.c:
4014         * gst/gstminiobject.h:
4015
4016         Modify to be subclasses of GstMiniObject.
4017         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
4018         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
4019         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
4020         (gst_subbuffer_get_type), (gst_subbuffer_init),
4021         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
4022         (gst_buffer_span):
4023         * gst/gstbuffer.h:
4024         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
4025         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
4026         (_gst_event_copy), (gst_event_new):
4027         * gst/gstevent.h:
4028         * gst/gstmessage.c: (_gst_message_initialize),
4029         (gst_message_get_type), (gst_message_class_init),
4030         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
4031         (gst_message_new), (gst_message_new_error),
4032         (gst_message_new_warning), (gst_message_new_tag),
4033         (gst_message_new_state_changed), (gst_message_new_application):
4034         * gst/gstmessage.h:
4035         * gst/gstprobe.c: (gst_probe_perform),
4036         (gst_probe_dispatcher_dispatch):
4037         * gst/gstprobe.h:
4038         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4039         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4040         (_gst_query_copy), (gst_query_new):
4041
4042         Update elements for GstData -> GstMiniObject changes
4043         * gst/gstquery.h:
4044         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4045         (gst_queue_chain), (gst_queue_loop):
4046         * gst/elements/gstbufferstore.c:
4047         (gst_buffer_store_add_buffer_func),
4048         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4049         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4050         (gst_fakesink_render):
4051         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4052         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4053         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4054         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4055         (gst_filesrc_create_read):
4056         * gst/elements/gstidentity.c: (gst_identity_class_init):
4057         * gst/elements/gsttypefindelement.c:
4058         (gst_type_find_element_src_event), (free_entry_buffers),
4059         (gst_type_find_element_handle_event):
4060         * libs/gst/dataprotocol/dataprotocol.c:
4061         (gst_dp_header_from_buffer):
4062         * libs/gst/dataprotocol/dataprotocol.h:
4063         * libs/gst/dataprotocol/dp-private.h:
4064
4065 2005-05-15  David Schleef  <ds@schleef.org>
4066
4067         * gst/elements/gstelements.c: Don't include headers that were
4068         just removed.
4069
4070 2005-05-15  David Schleef  <ds@schleef.org>
4071
4072         * gst/elements/Makefile.am: Remove some elements that don't
4073         need to be in the core (or even exist at all).
4074         * gst/elements/gstaggregator.c:
4075         * gst/elements/gstaggregator.h:
4076         * gst/elements/gstmd5sink.c:
4077         * gst/elements/gstmd5sink.h:
4078         * gst/elements/gstmultifilesrc.c:
4079         * gst/elements/gstmultifilesrc.h:
4080         * gst/elements/gstpipefilter.c:
4081         * gst/elements/gstpipefilter.h:
4082         * gst/elements/gstshaper.c:
4083         * gst/elements/gstshaper.h:
4084         * gst/elements/gststatistics.c:
4085         * gst/elements/gststatistics.h:
4086         * po/POTFILES.in: Remove above files.
4087
4088 2005-05-14  Andy Wingo  <wingo@pobox.com>
4089
4090         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4091         so as to get the refs right.
4092         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4093         unreffing objects that don't pass the filter.
4094
4095         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4096         gst_element_set_bus.
4097         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4098         normal cases, this will destroy the bus.
4099
4100         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4101         object.
4102
4103         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4104         has no sinks.
4105
4106 2005-05-13  Andy Wingo  <wingo@pobox.com>
4107
4108         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4109         gst_pad_link, call pad_link_maybe_ghosting,
4110         (pad_link_maybe_ghosting): Links pads, making sure that the
4111         elements being linked are in the same bin.
4112         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4113         Helpers for pad_link_maybe_ghosting.
4114
4115 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4116
4117         * configure.ac:
4118           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4119
4120 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4121
4122         * docs/design/part-element-source.txt:
4123           Mention GstPushSrc
4124
4125 2005-05-12  Wim Taymans  <wim@fluendo.com>
4126
4127         * gst/base/gstbasesink.c: (gst_basesink_init),
4128         (gst_basesink_activate):
4129         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4130         (gst_basesrc_is_seekable):
4131         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4132         (bin_element_is_sink), (gst_bin_change_state):
4133         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4134         * gst/gstelement.h:
4135         Identify sinks by their flag to avoid overly complicated
4136         checks (fow now).
4137         Do state changes even for elements not reachable from the
4138         sinks.
4139         BaseSink is a sink now :)
4140         Some more debugging info in the basesrc.
4141
4142
4143 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4144
4145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4146           Implement _query on a bin, similar to _send_event.
4147
4148 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
4149
4150         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4151           Discont event offset format should be GST_FORMAT_BYTES,
4152           not GST_FORMAT_TIME.
4153
4154 2005-05-12  Wim Taymans  <wim@fluendo.com>
4155
4156         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4157         Same fix as Ronald's but without the signal. 
4158
4159 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4160
4161         * gst/gstutils.c: (gst_element_query_position):
4162           No, an element is not a pad.
4163
4164 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4165
4166         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4167         (gst_bin_get_state):
4168           If a child is removed from a bin while we remove the child from
4169           the bin and while we're retrieving its state, signal this to the
4170           get_state function so we abort the wait (instead of waiting for
4171           a timeout) and can immediately re-iterate over all other elements.
4172
4173 2005-05-12  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/base/Makefile.am:
4176         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4177         (gst_basesrc_start):
4178         * gst/base/gstbasesrc.h:
4179         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4180         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4181         (gst_pushsrc_init), (gst_pushsrc_create):
4182         * gst/base/gstpushsrc.h:
4183         Added is_seekable to BaseSrc
4184         Added simple PushSrc.
4185
4186 2005-05-11  Wim Taymans  <wim@fluendo.com>
4187
4188         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4189         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4190         (gst_element_link_pads), (gst_element_query_position),
4191         (gst_element_query_convert), (intersect_caps_func),
4192         (gst_pad_query_position), (gst_pad_query_convert):
4193         Fix refcounting in utils function.
4194         No point in trying to activate a pad when it's added, it could
4195         be added from the state change function and then we deadlock, the
4196         element has to decide what to do.
4197
4198 2005-05-10  Andy Wingo  <wingo@pobox.com>
4199
4200         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4201         *all* the arguments.
4202
4203         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4204         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4205         lock (according to the docs -- if this is wrong change the docs).
4206
4207         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4208         flush messages in the NULL state.
4209
4210         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4211         message immediately and return.
4212         (gst_bus_set_flushing): New function. If a bus is flushing, it
4213         flushes out any queued messages and immediately unrefs new
4214         messages. This is so when an element goes to NULL, all of the
4215         unhandled messages coming from it can be freed, and their
4216         references to the element dropped. In other words: message source
4217         ref considered harmful :P
4218
4219         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4220         we're finished with it.
4221
4222         * gst/gstmessage.c (gst_message_new_state_changed): 
4223
4224 2005-05-10  Wim Taymans  <wim@fluendo.com>
4225
4226         * gst/gstvalue.c: (gst_value_compare_flags),
4227         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4228         (_gst_value_initialize):
4229         Added flags serialize/deserialize/compare code.
4230
4231 2005-05-09  Andy Wingo  <wingo@pobox.com>
4232
4233         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4234         Intersect the peer's caps with our caps.
4235
4236 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4237
4238         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4239         * gst/elements/gsttypefindelement.c: (find_peek):
4240           Handle negative offsets better. Fixes decodebin.
4241
4242 2005-05-09  Wim Taymans  <wim@fluendo.com>
4243
4244         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4245         (gst_base_transform_event):
4246         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4247         Implement accept_caps.
4248         Fix silly lock/unlock mismatch in base class.
4249
4250 2005-05-09  Wim Taymans  <wim@fluendo.com>
4251
4252         * docs/design/draft-push-pull.txt:
4253         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4254         * gst/elements/gstfilesink.c: (gst_filesink_init),
4255         (gst_filesink_query):
4256         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4257         (gst_type_find_handle_src_query), (find_element_get_length):
4258         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4259         * gst/gstelement.h:
4260         * gst/gstmessage.c:
4261         * gst/gstmessage.h:
4262         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4263         (gst_real_pad_get_caps_unlocked),
4264         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4265         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4266         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4267         (gst_real_pad_dispose), (gst_real_pad_finalize),
4268         (gst_pad_load_and_link), (gst_pad_save_thyself),
4269         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4270         (gst_pad_check_pull_range), (gst_pad_pull_range),
4271         (gst_pad_template_get_type), (gst_pad_template_class_init),
4272         (gst_pad_template_init), (gst_pad_template_dispose),
4273         (name_is_valid), (gst_static_pad_template_get),
4274         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4275         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4276         (gst_pad_get_element_private), (gst_pad_start_task),
4277         (gst_pad_pause_task), (gst_pad_stop_task),
4278         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4279         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4280         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4281         (gst_ghost_pad_new):
4282         * gst/gstpad.h:
4283         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4284         (gst_query_new_position), (gst_query_set_position),
4285         (gst_query_parse_position), (gst_query_new_convert),
4286         (gst_query_set_convert), (gst_query_parse_convert):
4287         * gst/gstquery.h:
4288         * gst/gstqueryutils.c:
4289         * gst/gstqueryutils.h:
4290         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4291         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4292         (gst_queue_handle_src_query):
4293         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4294         (gst_element_query_position), (gst_element_query_convert),
4295         (intersect_caps_func), (gst_pad_query_position),
4296         (gst_pad_query_convert):
4297         * gst/gstutils.h:
4298         * tools/gst-inspect.c: (print_pad_info):
4299         * tools/gst-xmlinspect.c: (print_element_info):
4300         Remove old query functions. Ported old code.
4301         Added position/convert helper functions to gstutils.
4302         Reordered gstpad.c code, grouping relevant things.
4303         Remove gst_message_new(), always need to speficy a specific
4304         message.
4305
4306
4307 2005-05-09  Andy Wingo  <wingo@pobox.com>
4308
4309         * gst/gstiterator.h: Add some includes.
4310
4311         * gst/gstqueryutils.h: Include more headers.
4312
4313         * gst/gstpad.h:
4314         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4315         some uses of gst_pad_query.
4316
4317         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4318         NULL out parameters.
4319         (gst_query_new_position): New proc, allocates a new position
4320         query.
4321
4322         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4323         gstqueryutils.c to the build.
4324
4325         * gst/gststructure.c (gst_structure_set_valist): Implement with
4326         the generic G_VALUE_COLLECT.
4327         
4328 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4329
4330         * gst/Makefile.am: (gst_headers):
4331         Added gstqueryutils.h to the list of headers to install, that was
4332         a 'nachty' move wingo :)
4333
4334 2005-05-06  Andy Wingo  <wingo@pobox.com>
4335
4336         * gst/gstquery.h
4337         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4338         GstData, init a memchunk.
4339         (standard_definitions): Add a few query types, deprecate a few.
4340         (gst_query_get_type): New proc.
4341         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4342         implementation.
4343         (gst_query_new_application, gst_query_get_structure): New public
4344         procs.
4345
4346         * docs/design/draft-query.txt: Removed LINKS from the query types,
4347         because all the rest can be dispatched to other pads -- seemed
4348         ugly to have a query that couldn't be dispatched. internal_links
4349         is fine as a pad method.
4350
4351         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4352         in gstpad.c, but maintain binary compatibility for the moment.
4353         Will fix before 0.9 is out.
4354
4355         * gst/gstqueryutils.c: 
4356         * gst/gstqueryutils.h: New files, implement 3 methods for each
4357         query type: parse_query, parse_response, and set. Probably need an
4358         allocator as well.
4359
4360         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4361
4362         * gst/elements/gstfilesink.c (gst_filesink_query2):
4363         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4364         query_types, and formats methods.
4365
4366         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4367         (gst_pad_set_query2_function): New functions.
4368         (gst_real_pad_init): Set query2_default as the default query2
4369         function. Basically just dispatches to internally linked pads.
4370
4371         Needs review!
4372         
4373         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4374         without using the atomic operations. Only one thread can possibly
4375         be accessing the data at this point. Changed so as to avoid
4376         gst_atomic operations.
4377
4378 2005-05-06  Wim Taymans  <wim@fluendo.com>
4379
4380         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4381         Also set caps if we use the fallback buffer alloc.
4382
4383 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4384
4385         * docs/gst/Makefile.am:
4386         * docs/gst/gstreamer-docs.sgml:
4387         * docs/gst/gstreamer-sections.txt:
4388         * docs/gst/tmpl/gstatomic.sgml:
4389         * docs/gst/tmpl/gstmemchunk.sgml:
4390         * testsuite/elements/struct_i386.h:
4391         * win32/GStreamer.vcproj:
4392         * win32/Makefile:
4393           Purge GstAtomic stuff from docs and win32 makefiles as well
4394
4395 2005-05-06  Wim Taymans  <wim@fluendo.com>
4396
4397         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4398         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4399         * gst/gstpad.c: (gst_pad_peer_get_caps):
4400         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4401         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4402         (gst_queue_src_activate), (gst_queue_change_state):
4403         * gst/gstqueue.h:
4404         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4405         (intersect_caps_func):
4406         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4407         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4408         Some fixes for the peer_get_caps() change.
4409
4410 2005-05-06  Wim Taymans  <wim@fluendo.com>
4411
4412         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4413         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4414         (gst_basesink_activate):
4415         Actually do something with error codes returned from the push
4416         functions.
4417
4418 2005-05-06  Wim Taymans  <wim@fluendo.com>
4419
4420         * docs/design/part-element-sink.txt:
4421         * docs/design/part-element-source.txt:
4422         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4423         (gst_basesink_event), (gst_basesink_activate):
4424         * gst/base/gstbasesink.h:
4425         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4426         (gst_basesrc_activate):
4427         * gst/base/gstbasesrc.h:
4428         * gst/gstelement.c: (gst_element_pads_activate):
4429         Some more documentation.
4430         Fixed scheduling decision in _pads_activate().
4431
4432 2005-05-05  Andy Wingo  <wingo@pobox.com>
4433
4434         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4435         the test suite.
4436
4437 2005-05-05  Wim Taymans  <wim@fluendo.com>
4438
4439         * gst/base/Makefile.am:
4440         * gst/base/gstbasesink.h:
4441         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4442         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4443         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4444         (gst_collectpads_class_init), (gst_collectpads_init),
4445         (gst_collectpads_finalize), (gst_collectpads_new),
4446         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4447         (find_pad), (gst_collectpads_remove_pad),
4448         (gst_collectpads_is_active), (gst_collectpads_collect),
4449         (gst_collectpads_collect_range), (gst_collectpads_start),
4450         (gst_collectpads_stop), (gst_collectpads_peek),
4451         (gst_collectpads_pop), (gst_collectpads_available),
4452         (gst_collectpads_read), (gst_collectpads_flush),
4453         (gst_collectpads_chain):
4454         * gst/base/gstcollectpads.h:
4455         * gst/elements/Makefile.am:
4456         * gst/elements/gstelements.c:
4457         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4458         (gst_fakesink_get_times), (gst_fakesink_event),
4459         (gst_fakesink_preroll), (gst_fakesink_render):
4460         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4461         (gst_filesink_init), (gst_filesink_set_location),
4462         (gst_filesink_open_file), (gst_filesink_close_file),
4463         (gst_filesink_pad_query), (gst_filesink_event),
4464         (gst_filesink_render), (gst_filesink_change_state):
4465         * gst/elements/gstfilesink.h:
4466         Added object to help in making collect pad based elements.
4467         Ported filesink.
4468         Make event function in sink baseclass return gboolean.
4469
4470 2005-05-05  Wim Taymans  <wim@fluendo.com>
4471
4472         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4473         (gst_bin_get_by_name):
4474         * gst/gstbuffer.h:
4475         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4476         (gst_clock_finalize):
4477         * gst/gstdata.c: (gst_data_replace):
4478         * gst/gstdata.h:
4479         * gst/gstelement.c: (gst_element_request_pad),
4480         (gst_element_pads_activate):
4481         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4482         (gst_object_unref):
4483         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4484         (gst_pad_set_checkgetrange_function),
4485         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4486         (gst_pad_check_pull_range), (gst_pad_pull_range),
4487         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4488         (gst_pad_pause_task), (gst_pad_stop_task):
4489         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4490         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4491         Fix name lookup in GstBin.
4492         Added _data_replace() function and _buffer_replace()
4493         Use finalize method to clean up clock.
4494         Fix refcounting on request pads.
4495         Fix pad schedule mode error.
4496         Some more object refcounting debug info,
4497
4498
4499 2005-05-04  Andy Wingo <wingo@pobox.com>
4500
4501         * check/Makefile.am:
4502         * docs/gst/tmpl/gstatomic.sgml:
4503         * docs/gst/tmpl/gstplugin.sgml:
4504         * gst/base/gstbasesink.c: (gst_basesink_activate):
4505         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4506         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4507         (gst_basesrc_query), (gst_basesrc_set_property),
4508         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4509         (gst_basesrc_activate):
4510         * gst/base/gstbasesrc.h:
4511         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4512         (gst_base_transform_src_activate):
4513         * gst/elements/gstelements.c:
4514         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4515         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4516         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4517         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4518         (gst_type_find_element_checkgetrange),
4519         (gst_type_find_element_activate):
4520         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4521         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4522         (gst_caps_load_thyself):
4523         * gst/gstelement.c: (gst_element_pads_activate),
4524         (gst_element_save_thyself), (gst_element_restore_thyself):
4525         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4526         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4527         * gst/gstpad.h:
4528         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4529         (gst_xml_parse_file), (gst_xml_parse_memory),
4530         (gst_xml_get_element), (gst_xml_make_element):
4531         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4532         (_file_index_id_save_xml), (gst_file_index_commit):
4533         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4534         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4535         (load_paths):
4536         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4537         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4538         * tools/gst-complete.c: (main):
4539         * tools/gst-compprep.c: (main):
4540         * tools/gst-inspect.c: (print_element_properties_info):
4541         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4542         * tools/gst-xmlinspect.c: (print_element_properties):
4543         GCC 4 fixen.
4544         
4545 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4546
4547         * gst/gstplugin.c: (gst_plugin_check_module),
4548         (gst_plugin_check_file), (gst_plugin_load_file):
4549             apply patch from #172526 to make register work on MacOSX
4550
4551 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4552
4553         * docs/gst/tmpl/gstconfig.sgml:
4554         * gst/gstconfig.h.in:
4555           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4556         * testsuite/debug/printf_extension.c: (main):
4557           Do not use GST_PTR_FORMAT on pointers to types with
4558           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4559         * testsuite/elements/property.h:
4560           use correct printf format
4561
4562 2005-05-02  Wim Taymans  <wim@fluendo.com>
4563
4564         * docs/design/draft-push-pull.txt:
4565         * docs/design/draft-query.txt:
4566         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4567         (gst_basesrc_start):
4568         Added draft for new query API.
4569         Added draft for better selecting scheduling methods.
4570         Make basesrc ignore length if the subclass does not support
4571         it.
4572
4573 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4574
4575         * gst/Makefile.am:
4576           possible fixes for automake-1.5 - _LIBADD is reserved
4577
4578 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4579
4580         * docs/faq/Makefile.am:
4581         * docs/manual/Makefile.am:
4582         * docs/manuals.mak:
4583         * docs/pwg/Makefile.am:
4584         * gst/Makefile.am:
4585           possible fixes for automake-1.5
4586
4587 2005-04-28  Wim Taymans  <wim@fluendo.com>
4588
4589         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4590         (gst_basesink_pad_getcaps), (gst_basesink_init),
4591         (gst_basesink_do_sync):
4592         * gst/gstclock.c: (gst_clock_entry_new):
4593         * gst/gstevent.c: (gst_event_discont_get_value):
4594         * gst/gstpipeline.c: (pipeline_bus_handler),
4595         (gst_pipeline_change_state):
4596         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4597         Better debugging of clocking info.
4598         Allow NULL values when getting discont values.
4599
4600 2005-04-27  Wim Taymans  <wim@fluendo.com>
4601
4602         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4603         * check/gst/gstpad.c: (gst_pad_suite):
4604         Increase timeout for checks.
4605
4606 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4607
4608         * check/Makefile.am:
4609           fix the broken rule for cleanup.  Apparently this rule is
4610           only needed on FC2, so maybe this warrants further autotool
4611           inspection.
4612
4613 2005-04-26  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/gsttrashstack.h:
4616         Ooohh. a nasty one! After having a failed pop() from the stack,
4617         it's possible that the stack is empty. In that case, don't
4618         follow the NULL pointer.
4619
4620 2005-04-25  Wim Taymans  <wim@fluendo.com>
4621
4622         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4623         (gst_pad_set_checkgetrange_function),
4624         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4625         (gst_pad_check_pull_range), (gst_pad_pull_range),
4626         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4627         (gst_pad_pause_task), (gst_pad_stop_task):
4628         * gst/gstplugin.c: (gst_plugin_load):
4629         * gst/gstplugin.h:
4630         Remove gst_library_load as it does more harm than good with
4631         the new g_module flags.
4632         Revert bogus caps template check in pad linking, pad caps
4633         are important when linking not the template, which is more
4634         general than the current caps.
4635
4636 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4637
4638         * gst/autoplug/.cvsignore:
4639         * gst/autoplug/Makefile.am:
4640         * gst/autoplug/gstsearchfuncs.c:
4641         * gst/autoplug/gstsearchfuncs.h:
4642         * gst/autoplug/gstspider.c:
4643         * gst/autoplug/gstspider.h:
4644         * gst/autoplug/gstspideridentity.c:
4645         * gst/autoplug/gstspideridentity.h:
4646         * gst/autoplug/spidertest.c:
4647           Die, spider, die.
4648
4649 2005-04-25  Wim Taymans  <wim@fluendo.com>
4650
4651         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4652         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4653         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4654         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4655         * gst/gstpad.h:
4656         Added stubs for unimplemented functions. 
4657
4658 2005-04-24  David Schleef  <ds@schleef.org>
4659
4660         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4661         please fix.
4662
4663 2005-04-24  David Schleef  <ds@schleef.org>
4664
4665         Convert everything from GstAtomicInt to g_atomic_int_*, and
4666         remove gstatomic.
4667         * gst/Makefile.am:
4668         * gst/gstatomic.c:
4669         * gst/gstatomic.h:
4670         * gst/gstatomic_impl.h:
4671         * gst/gstbuffer.c:
4672         * gst/gstcaps.c:
4673         * gst/gstcaps.h:
4674         * gst/gstclock.c:
4675         * gst/gstclock.h:
4676         * gst/gstdata.c:
4677         * gst/gstdata.h:
4678         * gst/gstdata_private.h:
4679         * gst/gstevent.c:
4680         * gst/gstinfo.c:
4681         * gst/gstinfo.h:
4682         * gst/gstmessage.c:
4683         * gst/gstobject.c:
4684         * gst/gstobject.h:
4685         * gst/gststructure.c:
4686         * gst/gststructure.h:
4687         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4688         * gst/gstutils.h:
4689
4690 2005-04-24  David Schleef  <ds@schleef.org>
4691
4692         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4693         make the regressions tests work.  Remove some code that is no
4694         longer true.
4695         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4696         Disable warning for pads without templates.
4697
4698 2005-04-24  David Schleef  <ds@schleef.org>
4699
4700         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4701         functions that handle filtered links.
4702         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4703         removed functions.
4704         * gst/gstutils.c: Fix/remove utility functions that handle
4705         filtered caps.
4706         * gst/gstutils.h:
4707         * gst/gstvalue.c: Add serialization/deserialization of caps
4708         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4709         requires fixing so that the filter caps notation creates
4710         a capsfilter element and sets the filter_caps property.  I
4711         think everyone probably wants to keep the shorthand notation.
4712         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4713         * docs/gst/tmpl/gstpad.sgml:
4714
4715         * gst/elements/gstelements.c: Register capsfilter element.
4716         * gst/Makefile.am: fix spacing
4717         * docs/random/ds/0.9-suggested-changes: random
4718
4719 2005-04-23  David Schleef  <ds@schleef.org>
4720
4721         * gst/elements/Makefile.am:
4722         * gst/elements/gstcapsfilter.c: New element that acts like an
4723         identity, but filters caps.  Will eventually replace filtered
4724         caps in pad linking.
4725         * gst/gstutils.c: (gst_element_create_all_pads): New function
4726         to create all the ALWAYS pads that are registered with an
4727         element class.  This functionality should eventually be
4728         merged in with GstElement initialization.
4729         * gst/gstutils.h:
4730         * testsuite/trigger/README: part of trigger test code that should
4731         have been checked in a long time ago.
4732
4733 2005-04-23  David Schleef  <ds@schleef.org>
4734
4735         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4736         needed with new versions of libtool (nobody will confirm this),
4737         and hard to carry around.
4738         * gst/autoplug/Makefile.am:
4739         * gst/base/Makefile.am:
4740         * gst/elements/Makefile.am:
4741         * gst/indexers/Makefile.am:
4742         * gst/schedulers/Makefile.am:
4743         * libs/gst/bytestream/Makefile.am:
4744         * libs/gst/control/Makefile.am:
4745         * libs/gst/dataprotocol/Makefile.am:
4746         * libs/gst/getbits/Makefile.am:
4747
4748 2005-04-21  Wim Taymans  <wim@fluendo.com>
4749
4750         * docs/design/draft-push-pull.txt:
4751         * docs/design/part-MT-refcounting.txt:
4752         * docs/design/part-TODO.txt:
4753         * docs/design/part-caps.txt:
4754         * docs/design/part-events.txt:
4755         * docs/design/part-gstbus.txt:
4756         * docs/design/part-gstpipeline.txt:
4757         * docs/design/part-messages.txt:
4758         * docs/design/part-push-pull.txt:
4759         * docs/design/part-query.txt:
4760         Some more docs.
4761
4762 2005-04-21  Wim Taymans  <wim@fluendo.com>
4763
4764         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4765         (gst_message_new), (gst_message_new_error),
4766         (gst_message_new_warning), (gst_message_new_tag),
4767         (gst_message_new_state_changed), (gst_message_new_application),
4768         (gst_message_get_structure):
4769         * gst/gstmessage.h:
4770         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4771         (gst_structure_copy_conditional):
4772         Use parent refcount in GstMessage to ensure GstStructure
4773         consistency.
4774         Cleaned up headers a bit.
4775         
4776
4777 2005-04-20  Wim Taymans  <wim@fluendo.com>
4778
4779         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4780         (gst_basesink_pad_getcaps), (gst_basesink_init),
4781         (gst_basesink_chain_unlocked):
4782         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4783         (gst_type_find_helper):
4784         * gst/elements/gsttypefindelement.c:
4785         (gst_type_find_element_have_type), (gst_type_find_element_init),
4786         (stop_typefinding), (gst_type_find_element_handle_event),
4787         (find_suggest), (gst_type_find_element_chain),
4788         (gst_type_find_element_checkgetrange),
4789         (gst_type_find_element_getrange), (do_typefind),
4790         (gst_type_find_element_activate):
4791         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4792         (gst_buffer_default_free), (gst_buffer_default_copy),
4793         (gst_buffer_set_caps):
4794         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4795         (gst_caps_replace):
4796         * gst/gstmessage.c: (gst_message_new),
4797         (gst_message_new_state_changed):
4798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4799         (gst_pad_set_checkgetrange_function),
4800         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4801         (gst_pad_set_caps), (gst_pad_check_pull_range),
4802         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4803         * gst/gstpad.h:
4804         * gst/gsttypefind.c: (gst_type_find_register):
4805         Make gst_caps_replace() work like other _replace() functions.
4806         Use _caps_replace() where possible.
4807         Make sure _message_new() initialises its field.
4808         Add gst_static_pad_template_get_caps()
4809
4810
4811 2005-04-18  Andy Wingo  <wingo@pobox.com>
4812
4813         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4814         on the peer, not the pad. I think that was a typo. Pass an extra
4815         arg to see if random access is possible. Activate the pads as
4816         PULL_RANGE if possible.
4817
4818         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4819
4820         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4821         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4822         to PROP_....
4823
4824 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4825
4826         * docs/faq/using.xml:
4827           Add note on gstreamer-properties (#154996).
4828
4829 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4830
4831         * docs/random/bbb/optional-properties:
4832           Some analysis on optional properties.
4833
4834 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4835
4836         * docs/gst/tmpl/gstelementfactory.sgml:
4837         * gst/gstelement.h:
4838         * gst/gstelementfactory.c: (gst_element_factory_init),
4839         (gst_element_factory_cleanup), (gst_element_register),
4840         (__gst_element_factory_add_static_pad_template),
4841         (gst_element_factory_get_static_pad_templates),
4842         (gst_element_factory_can_src_caps),
4843         (gst_element_factory_can_sink_caps):
4844         * gst/registries/Makefile.am:
4845         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4846         (gst_xml_registry_class_init), (gst_xml_registry_init),
4847         (gst_xml_registry_new), (gst_xml_registry_set_property),
4848         (gst_xml_registry_get_property), (get_time), (make_dir),
4849         (gst_xml_registry_get_perms_func),
4850         (plugin_times_older_than_recurse), (plugin_times_older_than),
4851         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4852         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4853         (add_to_char_array), (read_string), (read_uint), (read_enum),
4854         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4855         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4856         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4857         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4858         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4859         (gst_xml_registry_rebuild):
4860         * gst/registries/gstlibxmlregistry.h:
4861         * tools/gst-compprep.c: (main):
4862         * tools/gst-inspect.c: (print_pad_templates_info):
4863         * tools/gst-xmlinspect.c: (print_element_info):
4864           Use libxml2 for registry parsing, use staticpadtemplates in
4865           elementfactories. Makes gst_init() +/- 10x faster.
4866
4867 2005-04-12  Wim Taymans  <wim@fluendo.com>
4868
4869         * gst/base/Makefile.am:
4870         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4871         (gst_basesink_pad_getcaps), (gst_basesink_init),
4872         (gst_basesink_event), (gst_basesink_change_state):
4873         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4874         (gst_basesrc_init), (gst_basesrc_query),
4875         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4876         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4877         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4878         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4879         (gst_basesrc_stop), (gst_basesrc_activate),
4880         (gst_basesrc_change_state):
4881         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4882         (helper_find_suggest), (gst_type_find_helper):
4883         * gst/base/gsttypefindhelper.h:
4884         * gst/elements/Makefile.am:
4885         * gst/elements/gstelements.c:
4886         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4887         (gst_fakesink_get_times), (gst_fakesink_event),
4888         (gst_fakesink_preroll), (gst_fakesink_render):
4889         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4890         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4891         (gst_fakesrc_get_property), (gst_fakesrc_create),
4892         (gst_fakesrc_start), (gst_fakesrc_stop):
4893         * gst/elements/gstfakesrc.h:
4894         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4895         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4896         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4897         (gst_filesrc_create_read), (gst_filesrc_create),
4898         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4899         (gst_filesrc_start):
4900         * gst/elements/gsttypefindelement.c:
4901         (gst_type_find_element_have_type), (gst_type_find_element_init),
4902         (start_typefinding), (stop_typefinding), (push_buffer_store),
4903         (gst_type_find_element_handle_event),
4904         (gst_type_find_element_chain),
4905         (gst_type_find_element_checkgetrange),
4906         (gst_type_find_element_getrange), (do_typefind),
4907         (gst_type_find_element_activate),
4908         (gst_type_find_element_change_state):
4909         * gst/elements/gsttypefindelement.h:
4910         * gst/gstpipeline.c: (pipeline_bus_handler):
4911         Added typefind helper.
4912         Small preroll fix in the base sink.
4913         Disable typefind code in basesrc.
4914         Crude port of typefindelement.
4915         Fakesrc cleanups.
4916
4917
4918 2005-04-11  Wim Taymans  <wim@fluendo.com>
4919
4920         * check/gst/gstbus.c: (gstbus_suite):
4921         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4922         * check/gstcheck.h:
4923           Fix up the timeout so that the test does not fail.
4924
4925 2005-04-06  Wim Taymans  <wim@fluendo.com>
4926
4927         * gst/base/README:
4928         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4929         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4930         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4931         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4932         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4933         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4934         (gst_basesrc_stop), (gst_basesrc_activate),
4935         (gst_basesrc_change_state), (basesrc_find_peek),
4936         (basesrc_find_suggest), (gst_basesrc_type_find):
4937         * gst/base/gstbasesrc.h:
4938         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4939         (gst_filesrc_class_init), (gst_filesrc_init),
4940         (gst_filesrc_finalize), (gst_filesrc_set_location),
4941         (gst_filesrc_set_property), (gst_filesrc_get_property),
4942         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4943         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4944         (gst_filesrc_create_read), (gst_filesrc_create),
4945         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4946         * gst/elements/gstfilesrc.h:
4947         * gst/gstelement.c: (gst_element_get_state_func),
4948         (gst_element_lost_state), (gst_element_pads_activate):
4949         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4950         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4951         (gst_pad_pull_range):
4952         * gst/gstpad.h:
4953         More work on the generic source base class, implement seeking,
4954         query.
4955         Make filesrc extend the base source class.
4956         Added gst_pad_set_checkgetrange_function to GstPad.
4957
4958 2005-04-06  Andy Wingo  <wingo@pobox.com>
4959
4960         * pkgconfig/gstreamer-base.pc.in:
4961         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4962
4963         * pkgconfig/Makefile.am:
4964         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4965
4966 2005-04-04  Wim Taymans  <wim@fluendo.com>
4967
4968         * gst/base/Makefile.am:
4969         * gst/base/README:
4970         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4971         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4972         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4973         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4974         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4975         (gst_basesrc_base_init), (gst_basesrc_class_init),
4976         (gst_basesrc_init), (gst_basesrc_get_formats),
4977         (gst_basesrc_get_query_types), (gst_basesrc_query),
4978         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4979         (gst_basesrc_set_property), (gst_basesrc_get_property),
4980         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4981         (gst_basesrc_loop), (gst_basesrc_activate),
4982         (gst_basesrc_change_state):
4983         * gst/base/gstbasesrc.h:
4984         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4985         (gst_fakesrc_class_init), (gst_fakesrc_init),
4986         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4987         (gst_fakesrc_get_property), (gst_fakesrc_create):
4988         * gst/elements/gstfakesrc.h:
4989         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4990         (gst_filesrc_open_file), (gst_filesrc_loop),
4991         (gst_filesrc_activate), (filesrc_find_peek),
4992         (gst_filesrc_type_find):
4993         Made base source class, make fakesrc extend it.
4994         Add comments to basesink class.
4995         Some filesrc cleanup.
4996
4997 2005-03-31  David Schleef  <ds@schleef.org>
4998
4999         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5000         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
5001         expected to link against libgstreamer.
5002         * gst/base/Makefile.am: link against libgstreamer
5003         * gst/elements/Makefile.am: same
5004
5005 2005-03-31  Andy Wingo  <wingo@pobox.com>
5006
5007         * tests/instantiate/Makefile.am:
5008         * tests/instantiate/caps.c: Add test to test speed of caps copy
5009         and free.
5010
5011         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
5012         GMemChunk to be fair.
5013
5014         * gst/gsttrashstack.h: Remove warning about using the fallback
5015         trash stack implementation, it's still faster than malloc.
5016
5017 2005-03-30  Andy Wingo  <wingo@pobox.com>
5018
5019         * tests/complexity.c: Add a copyright.
5020
5021 2005-03-31  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
5024         (gst_base_transform_class_init), (gst_base_transform_init),
5025         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5026         (gst_base_transform_get_property),
5027         (gst_base_transform_sink_activate),
5028         (gst_base_transform_src_activate),
5029         (gst_base_transform_change_state):
5030         * gst/base/gstbasetransform.h:
5031         * gst/elements/gstidentity.c: (gst_identity_class_init),
5032         (gst_identity_event), (gst_identity_check_perfect),
5033         (gst_identity_transform), (gst_identity_start),
5034         (gst_identity_stop):
5035         Added start/stop methods to transform base class so subclasses 
5036         don't need to deal with state changes even.
5037
5038 2005-03-31  Wim Taymans  <wim@fluendo.com>
5039
5040         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5041         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5042         * gst/gstevent.h:
5043         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5044         (gst_pad_pull_range):
5045         Added rate to the discont event to prepare for variable speed
5046         and reverse playback.
5047
5048 2005-03-29  David Schleef  <ds@schleef.org>
5049
5050         * configure.ac:
5051         * testsuite/trigger/Makefile.am:
5052         * testsuite/trigger/trigger.c: A little example program to show
5053         how trigger-based elements can work.
5054
5055 2005-03-29  Wim Taymans  <wim@fluendo.com>
5056
5057         * gst/base/Makefile.am:
5058         * gst/base/README:
5059         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5060         (gst_basesink_base_init), (gst_basesink_class_init),
5061         (gst_basesink_pad_getcaps), (gst_basesink_init),
5062         (gst_basesink_activate), (gst_basesink_change_state):
5063         * gst/base/gstbasesink.h:
5064         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5065         (gst_base_transform_base_init), (gst_base_transform_finalize),
5066         (gst_base_transform_class_init), (gst_base_transform_init),
5067         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5068         (gst_base_transform_event), (gst_base_transform_getrange),
5069         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5070         (gst_base_transform_set_property),
5071         (gst_base_transform_get_property),
5072         (gst_base_transform_sink_activate),
5073         (gst_base_transform_src_activate),
5074         (gst_base_transform_change_state):
5075         * gst/base/gstbasetransform.h:
5076         * gst/elements/gstidentity.c: (gst_identity_finalize),
5077         (gst_identity_class_init), (gst_identity_init),
5078         (gst_identity_event), (gst_identity_check_perfect),
5079         (gst_identity_transform), (gst_identity_set_property),
5080         (gst_identity_get_property), (gst_identity_change_state):
5081         * gst/elements/gstidentity.h:
5082         * gst/gstelement.c: (gst_element_get_state_func),
5083         (gst_element_lost_state), (gst_element_pads_activate):
5084         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5085         (gst_pad_check_pull_range), (gst_pad_pull_range):
5086         * gst/gstpad.h:
5087         Simplify pad activation.
5088         Added function to check if pull_range can be performed.
5089         Error out when pulling inactive or flushing pads.
5090         Removed const from refcounted types as it does not make sense.
5091         Simplify pad templates in basesink
5092         Added base class for simple 1-to-1 transforms.
5093         Make identity subclass the base transform.
5094
5095 2005-03-29  Andy Wingo  <wingo@pobox.com>
5096
5097         * docs/libs/gstreamer-libs-overrides.txt: 
5098         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5099         really don't understand what's going on, but like whatever. I want
5100         green buildbot!
5101
5102         * docs/gst/Makefile.am:
5103         * docs/libs/Makefile.am: Dist the overrides files.
5104
5105         * check/Makefile.am (clean-local): Remove .libs directories.
5106
5107         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5108         elements to EXTRA_DIST, so po/ files are happy.
5109
5110         * po/POTFILES.in: Er, remove it here.
5111
5112         * po/POTFILES: Remove gstspider.c.
5113
5114         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5115
5116         * docs/libs/gstreamer-libs-docs.sgml: 
5117         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5118         bytestream.
5119
5120         * tests/complexity.c (main): Set the length of the preroll queue
5121         on the sinks to prevent a lockup.
5122
5123         * libs/gst/dataprotocol/Makefile.am: 
5124         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5125         the same as the one in check/gst-libs/gdp.c.
5126
5127         * po/, docs/gst/: Commit automatic changes to docs and po files.
5128
5129         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5130         the versioned libgstbase.
5131
5132         * check/Makefile.am: Depend on an unversioned gst-register, seems
5133         to make autoconf happier.
5134
5135         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5136
5137 2005-03-28  Wim Taymans  <wim@fluendo.com>
5138
5139         * configure.ac:
5140         * docs/design/part-gstelement.txt:
5141         * docs/design/part-negotiation.txt:
5142         * docs/design/part-preroll.txt:
5143         * docs/design/part-scheduling.txt:
5144         * docs/design/part-states.txt:
5145         * gst/Makefile.am:
5146         * gst/base/Makefile.am:
5147         * gst/base/README:
5148         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5149         (gst_basesink_base_init), (gst_basesink_class_init),
5150         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5151         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5152         (gst_basesink_set_pad_functions),
5153         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5154         (gst_basesink_set_property), (gst_basesink_get_property),
5155         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5156         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5157         (gst_basesink_preroll_queue_push),
5158         (gst_basesink_preroll_queue_empty),
5159         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5160         (gst_basesink_event), (gst_basesink_get_times),
5161         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5162         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5163         (gst_basesink_loop), (gst_basesink_activate),
5164         (gst_basesink_change_state):
5165         * gst/base/gstbasesink.h:
5166         * gst/elements/Makefile.am:
5167         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5168         (gst_fakesink_class_init), (gst_fakesink_init),
5169         (gst_fakesink_set_property), (gst_fakesink_get_property),
5170         (gst_fakesink_get_times), (gst_fakesink_event),
5171         (gst_fakesink_preroll), (gst_fakesink_render),
5172         (gst_fakesink_change_state):
5173         * gst/elements/gstfakesink.h:
5174         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5175         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5176         * gst/gstelement.c: (gst_element_add_pad),
5177         (gst_element_get_state_func), (gst_element_abort_state),
5178         (gst_element_commit_state), (gst_element_lost_state),
5179         (gst_element_set_state), (gst_element_pads_activate):
5180         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5181         * gst/gstpipeline.c: (gst_pipeline_send_event),
5182         (gst_pipeline_change_state):
5183         Added state change code.
5184         Added/updated docs.
5185         Added sink base class, make fakesink extend the base class.
5186         Small cleanups in GstPipeline.
5187
5188 2005-03-26  David Schleef  <ds@schleef.org>
5189
5190         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5191         is broken and should be implemented in a different library.
5192         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5193         * gst/gst.h: remove gstcpu.h
5194         * gst/gstcpu.c: remove
5195         * gst/gstcpu.h: remove
5196         * gst/Makefile.am.future: Remove this file.  It's ancient.
5197
5198 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5199
5200         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5201         (gst_bin_send_event):
5202           Add default event/set_manager handlers. The set_manager handler
5203           takes care that the manager is distributed over kids that were
5204           already in the bin before the manager was set. The event handler
5205           is a utility virtual function that sends the event over all sinks,
5206           so that gst_element_send_event (bin, event); has the expected
5207           behaviour.
5208         * gst/gstpad.c: (gst_pad_event_default):
5209           Re-install default event handling for discontinuities, so that
5210           seeking works without requiring hacks in applications or extra
5211           code in sinks.
5212         * gst/gstpipeline.c: (gst_pipeline_class_init),
5213         (gst_pipeline_send_event):
5214           Half hack, half utility: set a pipeline to PAUSED for seek events,
5215           since that is the only way we can guarantee a/v sync. Means that
5216           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5217           and it "just works".
5218
5219 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5220
5221         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5222           Lock/unlock mismatch.
5223
5224 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5225
5226         * docs/faq/gst-uninstalled:
5227           add gst-plugins-base
5228         * docs/gst/Makefile.am:
5229           don't error out until docs are fixed
5230         * docs/gst/gstreamer.types:
5231           remove thread
5232
5233 2005-03-22  Wim Taymans  <wim@fluendo.com>
5234
5235         * check/Makefile.am:
5236         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5237         * gst/gststructure.c: (gst_structure_set_valist),
5238         (gst_structure_copy_conditional):
5239         Activated more tests.
5240         Added message test.
5241         Added G_TYPE_POINTER to GstStructure.
5242         
5243
5244 2005-03-22  Wim Taymans  <wim@fluendo.com>
5245
5246         * docs/design/part-TODO.txt:
5247         * docs/design/part-events.txt:
5248         * docs/design/part-gstbin.txt:
5249         * docs/design/part-gstbus.txt:
5250         * docs/design/part-gstpipeline.txt:
5251         * docs/design/part-messages.txt:
5252         * gst/gstbus.c:
5253         * gst/gstmessage.c:
5254         Docs updates
5255
5256 2005-03-21  Wim Taymans  <wim@fluendo.com>
5257
5258         * gst/gstbus.c: (gst_bus_post):
5259         Fix copy-and-paste error.
5260
5261 2005-03-21  Wim Taymans  <wim@fluendo.com>
5262
5263         * check/Makefile.am:
5264         * gst/Makefile.am:
5265         * gst/elements/Makefile.am:
5266         * gst/elements/gstelements.c:
5267         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5268         (gst_fakesink_event), (gst_fakesink_chain):
5269         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5270         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5271         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5272         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5273         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5274         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5275         (gst_fakesrc_loop), (gst_fakesrc_activate),
5276         (gst_fakesrc_change_state):
5277         * gst/elements/gstfakesrc.h:
5278         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5279         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5280         (gst_filesrc_open_file), (gst_filesrc_loop),
5281         (gst_filesrc_activate), (gst_filesrc_change_state),
5282         (filesrc_find_peek), (filesrc_find_suggest),
5283         (gst_filesrc_type_find):
5284         * gst/elements/gstidentity.c: (gst_identity_finalize),
5285         (gst_identity_class_init), (gst_identity_init),
5286         (gst_identity_proxy_getcaps), (identity_queue_push),
5287         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5288         (gst_identity_getrange), (gst_identity_chain),
5289         (gst_identity_sink_loop), (gst_identity_src_loop),
5290         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5291         (gst_identity_set_property), (gst_identity_get_property),
5292         (gst_identity_change_state):
5293         * gst/elements/gstidentity.h:
5294         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5295         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5296         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5297         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5298         (gst_tee_sink_activate):
5299         * gst/elements/gsttee.h:
5300         * gst/gst.c: (gst_register_core_elements), (init_post):
5301         * gst/gst.h:
5302         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5303         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5304         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5305         (gst_bin_change_state):
5306         * gst/gstbin.h:
5307         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5308         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5309         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5310         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5311         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5312         (bus_watch_callback), (bus_watch_destroy),
5313         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5314         (poll_timeout), (gst_bus_poll):
5315         * gst/gstbus.h:
5316         * gst/gstcaps.h:
5317         * gst/gstdata.h:
5318         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5319         (gst_element_post_message), (gst_element_message_full),
5320         (gst_element_get_state_func), (gst_element_get_state),
5321         (gst_element_abort_state), (gst_element_commit_state),
5322         (gst_element_lost_state), (gst_element_set_state),
5323         (gst_element_pads_activate), (gst_element_change_state),
5324         (gst_element_dispose), (gst_element_set_manager_func),
5325         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5326         (gst_element_set_manager), (gst_element_get_manager),
5327         (gst_element_set_bus), (gst_element_get_bus),
5328         (gst_element_set_scheduler), (gst_element_get_scheduler):
5329         * gst/gstelement.h:
5330         * gst/gstevent.c: (gst_event_new_segment_seek),
5331         (gst_event_new_flush):
5332         * gst/gstevent.h:
5333         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5334         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5335         (gst_message_new_eos), (gst_message_new_error),
5336         (gst_message_new_warning), (gst_message_new_tag),
5337         (gst_message_new_state_changed), (gst_message_new_application),
5338         (gst_message_get_structure), (gst_message_parse_tag),
5339         (gst_message_parse_state_changed), (gst_message_parse_error),
5340         (gst_message_parse_warning):
5341         * gst/gstmessage.h:
5342         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5343         (gst_real_pad_set_property), (gst_pad_set_active),
5344         (gst_pad_is_active), (gst_pad_set_blocked_async),
5345         (gst_pad_set_blocked), (gst_pad_is_blocked),
5346         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5347         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5348         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5349         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5350         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5351         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5352         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5353         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5354         (gst_pad_set_caps), (gst_pad_configure_sink),
5355         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5356         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5357         (gst_real_pad_dispose), (gst_real_pad_finalize),
5358         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5359         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5360         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5361         * gst/gstpad.h:
5362         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5363         (pipeline_bus_handler), (gst_pipeline_change_state),
5364         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5365         * gst/gstpipeline.h:
5366         * gst/gstprobe.h:
5367         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5368         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5369         (gst_queue_link_src), (gst_queue_bufferalloc),
5370         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5371         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5372         (gst_queue_loop), (gst_queue_handle_src_event),
5373         (gst_queue_handle_src_query), (gst_queue_src_activate),
5374         (gst_queue_change_state):
5375         * gst/gstqueue.h:
5376         * gst/gstscheduler.c: (gst_scheduler_init),
5377         (gst_scheduler_dispose), (gst_scheduler_create_task),
5378         (gst_scheduler_factory_create):
5379         * gst/gstscheduler.h:
5380         * gst/gststructure.c: (gst_structure_get_type),
5381         (gst_structure_copy_conditional):
5382         * gst/gststructure.h:
5383         * gst/gsttaginterface.h:
5384         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5385         (gst_task_init), (gst_task_dispose), (gst_task_create),
5386         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5387         (gst_task_pause):
5388         * gst/gsttask.h:
5389         * gst/gstthread.c:
5390         * gst/gstthread.h:
5391         * gst/gsttypes.h:
5392         * gst/schedulers/Makefile.am:
5393         * gst/schedulers/cothreads_compat.h:
5394         * gst/schedulers/entryscheduler.c:
5395         * gst/schedulers/faircothreads.c:
5396         * gst/schedulers/faircothreads.h:
5397         * gst/schedulers/fairscheduler.c:
5398         * gst/schedulers/gstbasicscheduler.c:
5399         * gst/schedulers/gstoptimalscheduler.c:
5400         * gst/schedulers/gthread-cothreads.h:
5401         * gst/schedulers/threadscheduler.c:
5402         (gst_thread_scheduler_task_get_type),
5403         (gst_thread_scheduler_task_class_init),
5404         (gst_thread_scheduler_task_init),
5405         (gst_thread_scheduler_task_start),
5406         (gst_thread_scheduler_task_stop),
5407         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5408         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5409         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5410         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5411         (plugin_init):
5412         * libs/gst/Makefile.am:
5413         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5414         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5415         (gst_file_pad_parent_set):
5416         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5417         (gst_dp_event_from_packet):
5418         * tests/complexity.c: (main):
5419         * tests/mass_elements.c: (main):
5420         * testsuite/states/locked.c: (message_received), (main):
5421         * testsuite/states/parent.c: (main):
5422         * tools/gst-inspect.c: (print_element_flag_info),
5423         (print_implementation_info), (print_pad_info):
5424         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5425         (main):
5426         * tools/gst-md5sum.c: (event_loop), (main):
5427         * tools/gst-typefind.c: (main):
5428         * tools/gst-xmlinspect.c: (print_element_info):
5429         Next big merge.
5430         Added GstBus for mainloop integration.
5431         Added GstMessage for sending notifications on the bus.
5432         Added GstTask as an abstraction for pipeline entry points.
5433         Removed GstThread.
5434         Removed Schedulers.
5435         Simplified GstQueue for multithreaded core.
5436         Made _link threadsafe, removed old capsnego.
5437         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5438         Added pad blocking functions.
5439         Reworked scheduling functions in GstPad to prepare for
5440         scheduling updates soon.
5441         Moved events out of data stream.
5442         Simplified GstEvent types.
5443         Added return values to push/pull.
5444         Removed clocking from GstElement.
5445         Added prototypes for state change function for next merge.
5446         Removed iterate from bins and state change management.
5447         Fixed some elements, disabled others for now.
5448         Fixed -inspect and -launch.
5449         Added check for GstBus.
5450
5451 2005-03-10  Wim Taymans  <wim@fluendo.com>
5452
5453         * docs/design/part-MT-refcounting.txt:
5454         * docs/design/part-clocks.txt:
5455         * docs/design/part-gstelement.txt:
5456         * docs/design/part-gstobject.txt:
5457         * docs/design/part-standards.txt:
5458         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5459         (gst_bin_remove_func), (gst_bin_remove):
5460         * gst/gstbin.h:
5461         * gst/gstbuffer.c:
5462         * gst/gstcaps.h:
5463         * testsuite/clock/clock1.c: (main):
5464         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5465         (main):
5466         * testsuite/dlopen/loadgst.c: (do_test):
5467         * testsuite/refcounting/bin.c: (add_remove_test1),
5468         (add_remove_test2), (main):
5469         * testsuite/refcounting/element.c: (main):
5470         * testsuite/refcounting/element_pad.c: (main):
5471         * testsuite/refcounting/pad.c: (main):
5472         * tools/gst-launch.c: (sigint_handler_sighandler):
5473         * tools/gst-typefind.c: (main):
5474         Doc updates.
5475         Added doc about clock.
5476         removed gst_bin_iterate_recurse_up(), marked methods
5477         for removal.
5478         Fix more testsuites.
5479
5480 2005-03-09  Wim Taymans  <wim@fluendo.com>
5481
5482         * gst/gstpad.c: (gst_pad_get_direction),
5483         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5484         (gst_pad_collect_valist):
5485         * testsuite/bins/interface.c: (main):
5486         * testsuite/caps/audioscale.c: (test_caps):
5487         * testsuite/caps/caps.c: (test1), (test2), (test3):
5488         * testsuite/caps/deserialize.c: (main):
5489         * testsuite/caps/enumcaps.c: (main):
5490         * testsuite/caps/filtercaps.c: (main):
5491         * testsuite/caps/intersect2.c: (main):
5492         * testsuite/caps/random.c: (main):
5493         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5494         * testsuite/caps/sets.c: (check_caps):
5495         * testsuite/caps/simplify.c: (check_caps), (main):
5496         * testsuite/caps/subtract.c: (check_caps):
5497         Fix _pad_get_direction wrt ghostpads.
5498         Fix caps testsuite.
5499
5500 2005-03-09  Wim Taymans  <wim@fluendo.com>
5501
5502         * check/Makefile.am:
5503         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5504         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5505         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5507         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5508         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5509         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5510         (bin_element_is_sink), (gst_bin_iterate_sinks),
5511         (gst_bin_iterate_all_by_interface):
5512         * gst/gstbin.h:
5513         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5514         (gst_element_change_state), (gst_element_dispose),
5515         (gst_element_finalize), (gst_element_set_loop_function):
5516         * gst/gstelement.h:
5517         * gst/gstiterator.c: (find_custom_fold_func):
5518         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5519         (gst_pad_collectv), (gst_pad_collect_valist),
5520         (gst_pad_template_new):
5521         * gst/gstpipeline.c: (gst_pipeline_class_init),
5522         (gst_pipeline_dispose), (gst_pipeline_set_property),
5523         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5524         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5525         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5526         * gst/gstutils.h:
5527         * gst/schedulers/entryscheduler.c:
5528         * gst/schedulers/gstbasicscheduler.c:
5529         (gst_basic_scheduler_cothreaded_chain),
5530         (gst_basic_scheduler_chain_add_element):
5531         * testsuite/bins/interface.c: (main):
5532         Added GstBin test.
5533         Added GstSystemClock test.
5534         Implemented clock distribution code in GstBin.
5535         Implemented iterate sinks method for future use.
5536         Rearranged gstelement.h
5537         Fix GstIterator comparison bug.
5538         Moved some code to GstPipeline, mostly clocking related.
5539
5540 2005-03-09  Wim Taymans  <wim@fluendo.com>
5541
5542         * configure.ac:
5543         * gst/gst_private.h:
5544         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5545         (gst_bin_remove_func), (gst_bin_remove),
5546         (gst_bin_get_by_name_recurse_up):
5547         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5548         (gst_clock_id_compare_func), (gst_clock_id_wait),
5549         (gst_clock_id_wait_async), (gst_clock_init),
5550         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5551         * gst/gstelement.h:
5552         * gst/gstinfo.c: (_gst_debug_init):
5553         * gst/gstobject.h:
5554         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5555         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5556         * gst/gstpad.h:
5557         Bump version number, we're now 0.9.0
5558         Add future debugging category.
5559         Fix NULL _unref() in _get_by_name_recurse_up
5560         Rearrange gstpad.h.
5561         Update some docs.
5562
5563 2005-03-08  Wim Taymans  <wim@fluendo.com>
5564
5565         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5566         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5567         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5568         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5569         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5570         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5571         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5572         * gst/elements/gstidentity.c: (gst_identity_class_init):
5573         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5574         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5575         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5576         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5577         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5578         (gst_tee_link):
5579         * gst/gstelement.c: (gst_element_class_init),
5580         (gst_element_base_class_init), (gst_element_init),
5581         (gst_element_get_random_pad), (gst_element_wait_state_change),
5582         (gst_element_change_state), (gst_element_dispose),
5583         (gst_element_finalize), (gst_element_set_loop_function):
5584         * gst/gstelement.h:
5585         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5586         * gst/gstthread.c: (gst_thread_class_init),
5587         (gst_thread_release_children_locks), (gst_thread_change_state):
5588         * gst/schedulers/gstbasicscheduler.c:
5589         (gst_basic_scheduler_loopfunc_wrapper),
5590         (gst_basic_scheduler_chain_wrapper),
5591         (gst_basic_scheduler_src_wrapper),
5592         (gst_basic_scheduler_remove_element):
5593         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5594         Remove threadsafe properties. Fix elements because GObject
5595         complains when installing a property before declaring a
5596         set/get_property handler.
5597         Rearrange gstelement.h file, use STATE macros for state locks.
5598         Free mutexes in the finalize method instead of dispose.
5599
5600 2005-03-08  Wim Taymans  <wim@fluendo.com>
5601
5602         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5603         * gst/gstthread.c: (gst_thread_release_children_locks):
5604         Added parentage check.
5605         Fix build og GstThread again.
5606
5607 2005-03-08  Wim Taymans  <wim@fluendo.com>
5608
5609         * docs/design/part-MT-refcounting.txt:
5610         * docs/design/part-conventions.txt:
5611         * docs/design/part-gstobject.txt:
5612         * docs/design/part-relations.txt:
5613         * docs/design/part-standards.txt:
5614         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5615         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5616         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5617         (gst_bin_iterate_all_by_interface):
5618         * gst/gstbuffer.h:
5619         * gst/gstclock.h:
5620         * gst/gstelement.c: (gst_element_class_init),
5621         (gst_element_change_state), (gst_element_set_loop_function):
5622         * gst/gstelement.h:
5623         * gst/gstiterator.c:
5624         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5625         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5626         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5627         (gst_object_set_parent), (gst_object_unparent),
5628         (gst_object_check_uniqueness):
5629         * gst/gstobject.h:
5630         Docs updates, clean up some headers.
5631
5632 2005-03-07  Wim Taymans  <wim@fluendo.com>
5633
5634         * check/.cvsignore:
5635         * check/Makefile.am:
5636         * check/gst-libs/.cvsignore:
5637         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5638         * check/gst/.cvsignore:
5639         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5640         (START_TEST), (gstbus_suite), (main):
5641         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5642         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5643         (gst_data_suite), (main):
5644         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5645         (add_fold_func), (gstiterator_suite), (main):
5646         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5647         (thread_name_object), (thread_name_object_default),
5648         (gst_object_name_compare), (gst_object_suite), (main):
5649         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5650         (gst_pad_suite), (main):
5651         * check/gstcheck.c: (gst_check_log_message_func),
5652         (gst_check_log_critical_func), (gst_check_init):
5653         * check/gstcheck.h:
5654         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5655         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5656         Added checks.
5657
5658 2005-03-07  Wim Taymans  <wim@fluendo.com>
5659
5660         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5661         (gst_list_iterator_next), (gst_list_iterator_resync),
5662         (gst_list_iterator_free), (gst_iterator_new_list),
5663         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5664         (gst_iterator_free), (gst_iterator_push), (filter_next),
5665         (filter_resync), (filter_uninit), (filter_free),
5666         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5667         (gst_iterator_foreach), (find_custom_fold_func),
5668         (gst_iterator_find_custom):
5669         * gst/gstiterator.h:
5670         Added missing files.
5671
5672 2005-03-07  Wim Taymans  <wim@fluendo.com>
5673
5674         * Makefile.am:
5675         * configure.ac:
5676         * docs/design/part-MT-refcounting.txt:
5677         * docs/design/part-conventions.txt:
5678         * docs/design/part-gstobject.txt:
5679         * docs/design/part-relations.txt:
5680         * examples/mixer/mixer.c: (main):
5681         * examples/thread/thread.c: (eos), (main):
5682         * gst/Makefile.am:
5683         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5684         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5685         (gst_spider_plug_from_srcpad):
5686         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5687         (gst_spider_identity_change_state),
5688         (gst_spider_identity_sink_loop_type_finding):
5689         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5690         * gst/elements/gstidentity.c: (gst_identity_init):
5691         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5692         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5693         * gst/elements/gsttypefindelement.c: (free_entry):
5694         * gst/gst.c:
5695         * gst/gst.h:
5696         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5697         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5698         (gst_bin_set_index), (gst_bin_set_element_sched),
5699         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5700         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5701         (gst_bin_iterate_elements), (iterate_child_recurse),
5702         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5703         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5704         (compare_interface), (gst_bin_get_by_interface),
5705         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5706         * gst/gstbin.h:
5707         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5708         (gst_buffer_default_free), (gst_buffer_default_copy),
5709         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5710         (gst_buffer_create_sub):
5711         * gst/gstbuffer.h:
5712         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5713         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5714         (gst_caps_unref), (gst_static_caps_get),
5715         (gst_caps_remove_and_get_structure), (gst_caps_append),
5716         (gst_caps_append_structure), (gst_caps_remove_structure),
5717         (gst_caps_copy_nth), (gst_caps_set_simple),
5718         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5719         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5720         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5721         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5722         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5723         (gst_caps_structure_figure_out_union),
5724         (gst_caps_switch_structures), (gst_caps_do_simplify),
5725         (gst_caps_replace), (gst_caps_from_string),
5726         (gst_caps_copy_conditional):
5727         * gst/gstcaps.h:
5728         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5729         (_gst_clock_id_free), (gst_clock_id_unref),
5730         (gst_clock_id_compare_func), (gst_clock_id_wait),
5731         (gst_clock_id_wait_async), (gst_clock_class_init),
5732         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5733         (gst_clock_get_time), (gst_clock_set_time_adjust),
5734         (gst_clock_set_property), (gst_clock_get_property):
5735         * gst/gstclock.h:
5736         * gst/gstcompat.h:
5737         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5738         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5739         * gst/gstdata.h:
5740         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5741         (gst_element_requires_clock), (gst_element_provides_clock),
5742         (gst_element_set_clock), (gst_element_clock_wait),
5743         (gst_element_wait), (gst_element_set_time_delay),
5744         (gst_element_is_indexable), (gst_element_add_pad),
5745         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5746         (pad_compare_name), (gst_element_get_static_pad),
5747         (gst_element_request_pad), (gst_element_get_request_pad),
5748         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5749         (gst_element_class_get_pad_template_list),
5750         (gst_element_class_get_pad_template), (gst_element_error_func),
5751         (gst_element_get_random_pad), (gst_element_get_event_masks),
5752         (gst_element_send_event), (gst_element_seek),
5753         (gst_element_get_query_types), (gst_element_query),
5754         (gst_element_get_formats), (gst_element_convert),
5755         (gst_element_is_locked_state), (gst_element_set_locked_state),
5756         (gst_element_sync_state_with_parent), (gst_element_change_state),
5757         (gst_element_finalize), (gst_element_yield),
5758         (gst_element_interrupt), (gst_element_set_scheduler),
5759         (gst_element_get_scheduler), (gst_element_set_loop_function):
5760         * gst/gstelement.h:
5761         * gst/gstevent.h:
5762         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5763         (gst_format_get_by_nick), (gst_format_get_details),
5764         (gst_format_iterate_definitions):
5765         * gst/gstformat.h:
5766         * gst/gstindex.c: (gst_index_gtype_resolver):
5767         * gst/gstinfo.c:
5768         * gst/gstinfo.h:
5769         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5770         (gst_mem_chunk_free):
5771         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5772         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5773         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5774         (gst_object_dispatch_properties_changed),
5775         (gst_object_set_name_default), (gst_object_set_name),
5776         (gst_object_get_name), (gst_object_set_name_prefix),
5777         (gst_object_get_name_prefix), (gst_object_set_parent),
5778         (gst_object_get_parent), (gst_object_unparent),
5779         (gst_object_check_uniqueness), (gst_object_save_thyself),
5780         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5781         (gst_object_set_property), (gst_object_get_property),
5782         (gst_object_get_path_string):
5783         * gst/gstobject.h:
5784         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5785         (gst_real_pad_init), (gst_real_pad_get_property),
5786         (gst_pad_custom_new), (gst_pad_get_direction),
5787         (gst_pad_set_active), (gst_pad_is_active),
5788         (gst_pad_set_event_function), (gst_pad_is_linked),
5789         (gst_pad_link_free), (gst_pad_link_intersect),
5790         (gst_pad_link_fixate), (gst_pad_set_caps),
5791         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5792         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5793         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5794         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5795         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5796         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5797         (gst_pad_realize), (gst_pad_get_allowed_caps),
5798         (gst_real_pad_dispose), (gst_real_pad_finalize),
5799         (gst_pad_collectv), (gst_pad_collect_valist),
5800         (gst_pad_template_dispose), (gst_pad_template_new),
5801         (gst_pad_get_internal_links):
5802         * gst/gstpad.h:
5803         * gst/gstpipeline.c: (gst_pipeline_dispose),
5804         (gst_pipeline_change_state):
5805         * gst/gstpipeline.h:
5806         * gst/gstplugin.c:
5807         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5808         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5809         * gst/gstpluginfeature.h:
5810         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5811         * gst/gstquery.c: (_gst_query_type_initialize),
5812         (gst_query_type_register), (gst_query_type_get_by_nick),
5813         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5814         * gst/gstquery.h:
5815         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5816         * gst/gstscheduler.c: (gst_scheduler_add_element),
5817         (gst_scheduler_factory_create):
5818         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5819         (gst_structure_free), (gst_structure_set_name),
5820         (gst_structure_id_set_value), (gst_structure_set_value),
5821         (gst_structure_set_valist), (gst_structure_remove_field),
5822         (gst_structure_remove_fields),
5823         (gst_structure_remove_fields_valist),
5824         (gst_structure_remove_all_fields), (gst_structure_foreach),
5825         (gst_structure_map_in_place),
5826         (gst_caps_structure_fixate_field_nearest_int),
5827         (gst_caps_structure_fixate_field_nearest_double):
5828         * gst/gststructure.h:
5829         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5830         (gst_system_clock_init), (gst_system_clock_dispose),
5831         (gst_system_clock_async_thread),
5832         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5833         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5834         * gst/gstsystemclock.h:
5835         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5836         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5837         * gst/gsttaginterface.c:
5838         * gst/gstthread.c: (gst_thread_dispose),
5839         (gst_thread_release_children_locks), (gst_thread_change_state),
5840         (gst_thread_main_loop):
5841         * gst/gsttrashstack.h:
5842         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5843         * gst/gsttypes.h:
5844         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5845         (gst_element_request_pad), (gst_element_get_pad_from_template),
5846         (gst_element_request_compatible_pad),
5847         (gst_element_get_compatible_pad_filtered),
5848         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5849         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5850         (gst_element_link_many), (gst_element_link),
5851         (gst_element_link_pads), (gst_element_unlink_pads),
5852         (gst_element_unlink_many), (gst_element_unlink),
5853         (gst_pad_can_link_filtered), (gst_pad_can_link),
5854         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5855         (gst_object_default_error), (gst_bin_add_many),
5856         (gst_bin_remove_many), (gst_element_populate_std_props),
5857         (gst_element_class_install_std_props), (gst_buffer_merge),
5858         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5859         (link_fold_func), (gst_pad_proxy_setcaps):
5860         * gst/gstutils.h:
5861         * gst/gstvalue.c: (gst_value_deserialize_string):
5862         * gst/parse/grammar.y:
5863         * gst/schedulers/gstbasicscheduler.c:
5864         (gst_basic_scheduler_cothreaded_chain),
5865         (gst_basic_scheduler_chain_recursive_add),
5866         (gst_basic_scheduler_pad_link):
5867         * gst/schedulers/gstoptimalscheduler.c:
5868         (get_group_schedule_function),
5869         (gst_opt_scheduler_state_transition),
5870         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5871         * libs/gst/bytestream/bytestream.c:
5872         * libs/gst/dataprotocol/dataprotocol.c:
5873         (gst_dp_header_from_buffer):
5874         * po/nb.po:
5875         * po/ru.po:
5876         * tests/threadstate/threadstate2.c: (eos):
5877         * tools/gst-compprep.c: (main):
5878         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5879         (print_pad_info), (print_children_info):
5880         * tools/gst-launch.c: (idle_func), (main):
5881         * tools/gst-md5sum.c: (idle_func), (main):
5882         * tools/gst-xmlinspect.c: (print_element_info):
5883         First THREADED backport attempt, focusing on adding locks and
5884         making sure the API is threadsafe. Needs more work. More docs
5885         follow this week.
5886
5887 2005-02-24  Andy Wingo  <wingo@pobox.com>
5888
5889         * tests/bench-complexity.scm:
5890         * tests/complexity.gnuplot: New files, good for running complexity
5891         benchmarks.
5892
5893         * tests/Makefile.am:
5894         * tests/complexity.c: New test, sets up N elements, at each level
5895         teeing into M streams per element. Eeeenteresting.
5896
5897         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5898         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5899         running bench-mass_elements.scm.
5900
5901         * tests/bench-mass_elements.scm: New script, runs mass_elements
5902         for various numbers of identities, outputting the results to a
5903         file. Requires guile 1.6. Just for testing.
5904
5905 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * gst/schedulers/fairscheduler.c:
5908           compile with debug disabled
5909
5910 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * configure.ac:
5913           hunting season on 0.9 is now OPEN
5914
5915 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5916
5917         * docs/libs/tmpl/gstcontrol.sgml:
5918         * docs/libs/tmpl/gstdparam.sgml:
5919         * docs/libs/tmpl/gstdplinint.sgml:
5920         * docs/libs/tmpl/gstdpman.sgml:
5921         * docs/libs/tmpl/gstdpsmooth.sgml:
5922         * docs/libs/tmpl/gstunitconvert.sgml:
5923           more docs for the state of dparams
5924
5925 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5926
5927         * gst/gstelementfactory.c: (gst_element_factory_create):
5928         * gst/gstobject.c: (gst_object_init),
5929         (gst_object_set_name_default), (gst_object_set_name):
5930           name objects by default, not in gst_element_factory_create. Allows
5931           using elements created with g_object_new. (fixes #167283)
5932
5933 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5934
5935         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5936           make the time that debugging functions print relative to when
5937           gst_init was called
5938
5939 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5940
5941         * gst/gsttaginterface.c:
5942           Fix inline docs: tag setter vararg functions are NULL-terminated,
5943           GST_TAG_INVALID doesn't exist any more.
5944
5945 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5946
5947         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5948         Allocate the 1 byte more memory that was forgotten!!!!!
5949         fixes memory corruption on 64bit platforms
5950
5951 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5952
5953         * docs/pwg/building-pads.xml:
5954         * docs/pwg/intro-basics.xml:
5955           fixed a few typos, relabeled introductionary list of types
5956         * docs/random/ensonic/dparams.txt:
5957           more notes abut dparam changes
5958         * libs/gst/control/dparam.c: (gst_dparam_attach):
5959         * libs/gst/control/dparammanager.c:
5960         * libs/gst/control/dparammanager.h:
5961           - many comments and notes on dparam implementation
5962           - new dparams are were not initialized to the default value
5963             from param spec
5964
5965 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5966
5967         submitted by: Peter Astakhov
5968
5969         * po/LINGUAS:
5970         * po/ru.po:
5971           adding Russian translation
5972
5973 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         * configure.ac:
5976         * docs/gst/Makefile.am:
5977         * docs/libs/Makefile.am:
5978           make sure popt is added to gtk-doc flags.  Fixes #147782.
5979
5980 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5981
5982         * docs/faq/using.xml:
5983           Fix typo in FAQ (artssink => artsdsink)
5984
5985 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5986
5987         * tools/gst-launch.1.in:
5988           Fix typo (#166699).
5989
5990 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5991
5992         * docs/faq/using.xml:
5993           Add -v argument to fakesrc/fakesink gst-launch line,
5994           so that the promised output will actually show up.
5995
5996 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5997
5998         * gst/gstthread.c: (gst_thread_change_state):
5999           Implement state-change error handling (#166073).
6000
6001 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6002
6003         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6004           Release interrupt after handling (#166250).
6005
6006 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6007
6008         * configure.ac:
6009           back to HEAD
6010
6011 === release 0.8.9 ===
6012
6013 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         * NEWS:
6016         * RELEASE:
6017         * configure.ac:
6018           releasing 0.8.9, "Like Eating Glass"
6019
6020 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6021
6022         submitted by: Clytie Siddall
6023
6024         * po/vi.po: Added Vietnamese translation
6025
6026 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6027
6028         patch by: Tim Philipp-Müller
6029
6030         * configure.ac:
6031         * gst/gstpad.c:
6032           unref data when probe function returns FALSE.  Fixes #166362
6033
6034 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6035
6036         * gst/gst.c: (gst_init_get_popt_table):
6037           Fix typo (#166269).
6038
6039 2005-02-04  Andy Wingo  <wingo@pobox.com>
6040
6041         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6042         the debugging on whether the caps are compatible.
6043
6044 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6045
6046         * docs/manual/basics-elements.xml:
6047           Fix two typos.
6048
6049 2005-02-02  Wim Taymans  <wim@fluendo.com>
6050
6051         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6052         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6053         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6054         Remove some FIXMEs after analysing and commenting why they
6055         are not issues.
6056
6057 2005-02-02  Wim Taymans  <wim@fluendo.com>
6058
6059         * gst/schedulers/gstoptimalscheduler.c:
6060         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6061         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6062         (get_invalid_call), (chain_invalid_call),
6063         (get_group_schedule_function), (loop_group_schedule_function),
6064         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6065         (gst_opt_scheduler_state_transition),
6066         (gst_opt_scheduler_add_element),
6067         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6068         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6069         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6070         (gst_opt_scheduler_show):
6071         Added lock to protect scheduler data structures.
6072
6073 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6074
6075         * testsuite/threads/threadi.c: (cb_data):
6076           Fix buglet in test.
6077
6078 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6079
6080         * testsuite/threads/Makefile.am:
6081         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6082           On Wim's request, split the test in three separately-compiled
6083           tests that each test a very specific bug. Two of them still fail,
6084           will create bugs for those. threadi.c indicates why they fail.
6085
6086 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6087
6088         * gst/schedulers/gstoptimalscheduler.c:
6089         (get_group_schedule_function):
6090           Try to work with the threading mess that queue_link is.
6091
6092 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6093
6094         * gst/gstbin.c: (gst_bin_remove_func):
6095           Explicitely make an element release locks in a group when being
6096           remove from a bin.
6097         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6098           If there's no scheduler, always return immediately (similar to
6099           gst_element_interrupt).
6100
6101 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6102
6103         * gst/gstbin.c: (gst_bin_child_state_change_func):
6104           Remove a piece of code that could never be reached.
6105         * docs/gst/gstreamer-sections.txt:
6106         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6107         (gst_pad_call_get_function):
6108         * gst/gstpad.h:
6109         * testsuite/pad/Makefile.am:
6110           Fix #150546, enable tests.
6111
6112 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6113
6114         * docs/pwg/advanced-types.xml:
6115           Fix description for buffer-frames=0.
6116         * docs/gst/tmpl/gstbin.sgml:
6117         * gst/gstbin.c: (gst_bin_child_state_change_func),
6118         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6119         * gst/gstbin.h:
6120         * testsuite/threads/Makefile.am:
6121         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6122         (cb_state), (cb_play), (main):
6123           Fix non-recursive state changes to *really* change the state
6124           of the object, and not just call parent_class->state_change.
6125           Fix a lot of lockups caused by this. Fixes #132775. Add test
6126           for the problem. Also enable test to show #142588 (fixed).
6127         * gst/gstthread.c: (gst_thread_change_state),
6128         (gst_thread_child_state_change):
6129           Don't exit the thread if we go to NULL and are inside thread
6130           context. Instead, return control to the main thread context
6131           and exit from there.
6132         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6133           Don't unset virtual functions, since those may still be used.
6134           That's not necessarily correct, but suffices for now.
6135         * configure.ac:
6136         * testsuite/Makefile.am:
6137         * testsuite/pad/Makefile.am:
6138         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6139         (gst_test_sink_base_init), (gst_test_sink_chain),
6140         (gst_test_sink_init), (main):
6141         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6142         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6143         (main):
6144         * testsuite/pad/link.c: (gst_test_element_class_init),
6145         (gst_test_element_base_init), (gst_test_src_get),
6146         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6147         (gst_test_filter_loop), (gst_test_filter_init),
6148         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6149         (cb_error), (main):
6150           Add tests to show #150546. Pass, but should fail (currently
6151           disabled from the testsuite).
6152         * gst/gstscheduler.c: (gst_scheduler_dispose):
6153           Dereference child schedulers on dispose (#94464).
6154         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6155           Fix typo.
6156         * testsuite/threads/thread.c: (main):
6157           Add more debug.
6158
6159 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6160
6161         * gst/gstpad.c: (gst_pad_push):
6162           Oops, revert previous commit, broke testsuite...
6163
6164 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6165
6166         * gst/gstpad.c: (gst_pad_push):
6167           Add check that the pad on which the push is performed is not a
6168           get-based pad (#150546).
6169
6170 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6171
6172         * gst/elements/gsttypefindelement.c:
6173         (gst_type_find_element_handle_event):
6174           Fix buffer pushing if stream EOSes during typefinding.
6175
6176 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6177
6178         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6179
6180         * gst/gstvalue.c: (gst_string_wrap):
6181           Allow NULL-strings as argument (#165365).
6182
6183 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6184
6185         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6186
6187         * gst/schedulers/faircothreads.c:
6188         (gst_fair_scheduler_cothread_queue_show):
6189           Fix build without debug enabled.
6190
6191 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6192
6193         * docs/gst/gstreamer-sections.txt:
6194         * docs/libs/gstreamer-libs-docs.sgml:
6195         * docs/libs/gstreamer-libs-sections.txt:
6196         * docs/libs/tmpl/gstcontrol.sgml:
6197         * docs/libs/tmpl/gstdparam.sgml:
6198         * docs/libs/tmpl/gstdplinint.sgml:
6199         * docs/libs/tmpl/gstdpman.sgml:
6200         * docs/libs/tmpl/gstdpsmooth.sgml:
6201         * docs/libs/tmpl/gstputbits.sgml:
6202         * docs/libs/tmpl/gstunitconvert.sgml:
6203         * libs/gst/control/dparam.c:
6204         * libs/gst/control/dparam.h:
6205         * libs/gst/control/dparammanager.c:
6206         (gst_dpman_add_required_dparam_callback),
6207         (gst_dpman_add_required_dparam_direct),
6208         (gst_dpman_add_required_dparam_array),
6209         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6210         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6211         (gst_dpman_get_manager)
6212           restructured DParam docs
6213
6214 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
6215
6216         * gst-element-check.m4:
6217           Only check for gst-inspect if we haven't already
6218           found it in previous element check runs
6219
6220 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6221
6222         * docs/gst/Makefile.am:
6223         * docs/libs/Makefile.am:
6224           fixed install rules to treat style.css as optional
6225
6226 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6227
6228         * docs/gst/Makefile.am:
6229         * docs/libs/Makefile.am:
6230           install style.css along with docs
6231         * docs/gst/tmpl/gstbin.sgml:
6232         * docs/gst/tmpl/gstclock.sgml:
6233         * docs/gst/tmpl/gstdata.sgml:
6234         * docs/gst/tmpl/gstelement.sgml:
6235         * gst/gstbin.h:
6236         * gst/gstelement.c: (gst_element_class_init):
6237         * gst/gstelement.h:
6238           fixing incomplete docs
6239
6240 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
6241
6242         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6243           Don't unref seek event twice when fflush() fails
6244           
6245 2005-01-22  David Schleef  <ds@schleef.org>
6246
6247         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6248
6249 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6250
6251         * docs/gst/Makefile.am:
6252         * docs/libs/Makefile.am:
6253           added params for deprecation guards
6254         * gst/gst.c:
6255         * gst/gst.h:
6256         * gst/gsterror.c: (_gst_resource_errors_init),
6257         (_gst_stream_errors_init):
6258         * gst/gsterror.h:
6259           documented some more enums
6260
6261 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6262         * gst/autoplug/gstspideridentity.c:
6263         Cosmetic fix - spider_find_peek should be static
6264         * gst/parse/parse.l:
6265         Applying fix for #164261
6266
6267 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6268
6269         * docs/gst/gstreamer-sections.txt:
6270         * docs/gst/tmpl/gstplugin.sgml:
6271         * docs/libs/gstreamer-libs-sections.txt:
6272         * docs/libs/tmpl/gstcontrol.sgml:
6273         * gst/gstbuffer.h:
6274         * gst/gsttag.h:
6275         * gst/gstvalue.c:
6276           added docs for the TAG defines
6277
6278 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6279
6280         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6281           Only unref entry if there is an entry.
6282
6283 2005-01-17  Wim Taymans  <wim@fluendo.com>
6284
6285         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6286         (remove_from_group), (schedule_group), (normalize_group),
6287         (gst_opt_scheduler_iterate):
6288         Also ref/unref decoupled elements before iterating the
6289         group since they are not added to the list of elements.
6290
6291 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6292
6293         * docs/manual/highlevel-components.xml:
6294           Add subtitle/streamselection as new features to playbin.
6295
6296 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6297
6298         * docs/manual/manual.xml:
6299           Re-enable dataaccess docs (oops).
6300
6301 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6302
6303         * docs/pwg/advanced-types.xml:
6304         * docs/random/mimetypes:
6305           Add documentation on libsndfile types (#163309), by Steve Baker
6306           <steve@stevebaker.org>.
6307         * gst/gstelement.c: (gst_element_release_request_pad):
6308           If an element has no explicit function, just remove the pad.
6309
6310 2005-01-17  Luca Ognibene  <luogni@tin.it>
6311
6312         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6313
6314         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6315           Fix memleak (#163801).
6316
6317 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6318
6319         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6320           I think this is actually more correct...
6321
6322 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6323
6324         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6325           Another workaround for memory access while destroyed in callback.
6326           Please, someone with refcount knowledge, have a look at this.
6327
6328 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6329
6330         * docs/faq/faq.xml:
6331         * docs/faq/legal.xml:
6332           move the legal Q&A here
6333
6334 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6335
6336         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6337         (gst_tee_request_new_pad):
6338           Fix negotiation.
6339
6340 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6341
6342         * docs/random/omega/caps2:
6343         * testsuite/caps/caps_strings:
6344           replace framerate aproximations by their real value
6345           (24000/1001, 30000/1001, 60000/1001)
6346           Partially fixes bug #164049
6347
6348 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6349
6350         * docs/gst/Makefile.am:
6351           don't fail on the stupid GstPoptOption
6352
6353 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6354
6355         * gst/gstpad.h:
6356         * gst/gstprobe.c:
6357           allow probes to work on ghost pads by realizing the pad
6358           probe debugging
6359
6360 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6361
6362         * docs/gst/gstreamer-sections.txt:
6363         * docs/gst/tmpl/gstpad.sgml:
6364         * gst/gstpad.c: (gst_pad_set_active_recursive):
6365         * gst/gstpad.h:
6366           Add gst_pad_set_active_recursive().
6367
6368 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6369
6370         * docs/random/release:
6371           updates
6372         * gst/gst_private.h:
6373         * gst/gstinfo.c:
6374         * gst/gstobject.c:
6375           move deep_notify logging to a new category
6376         * gst/gstprobe.c:
6377         * gst/gstprobe.h:
6378           add stuff so bindings can wrap probes
6379
6380 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6381
6382         * gst/gstplugin.c: (gst_plugin_load):
6383           Fix plugin loading if plugin/lib was already loaded. Fixes
6384           #163383
6385
6386 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6387
6388         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6389
6390         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6391           Protect plugin loading by a mutex so it's threadsafe. Fixes
6392           #163234.
6393
6394 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6395
6396         * gst/gstevent.c: (_gst_event_copy):
6397           Reference source object when copying events, since it'll be
6398           dereferenced on event dereferencing as well.
6399
6400 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6401
6402         * docs/gst/gstreamer-sections.txt:
6403         * docs/gst/tmpl/gstevent.sgml:
6404         * gst/gstevent.c: (gst_event_new_filler_stamped),
6405         (gst_event_filler_get_duration):
6406         * gst/gstevent.h:
6407           Add two new functions for filler events (which are used to
6408           synchronize streams if one of them is not having any data
6409           for a while) without interrupting the actual data-stream.
6410           Basically a no-op.
6411         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6412         (gst_queue_link_sink), (gst_queue_link_src),
6413         (gst_queue_change_state):
6414           Allow for renegotiation while filled. Required for stream
6415           switching while playing.
6416
6417 2005-01-08  Benjamin Otte  <otte@gnome.org>
6418
6419         * gst/gstelement.c: (gst_element_link_many):
6420           fix up g_return_if_fail's
6421         * po/LINGUAS:
6422         * po/de.po:
6423           add German translation, that was somehow not included
6424
6425 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6426
6427         * docs/random/mimetypes:
6428           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6429           do not add them to riff-lib as they are not common
6430
6431 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6432
6433         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6434           Check for existence of probe after performing the probe before
6435           re-accessing it to prevent segfaults caused by removal of the
6436           probe in the callback.
6437
6438 2005-01-05  David Schleef  <ds@schleef.org>
6439
6440         * testsuite/registry/Makefile.am:
6441         * testsuite/registry/gst-print-formats.c:
6442         (print_pad_templates_info), (print_element_list),
6443         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6444         (g_list_uniqify), (get_pad_templates_info),
6445         (get_element_mime_list), (print_mime_list), (main): A little
6446         program that looks through the registry to find elements of
6447         a given type.  Not particularly interesting as a test, except
6448         that there's no other test covering the same area.
6449
6450 2005-01-05  David Schleef  <ds@schleef.org>
6451
6452         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6453         (fault_handler_sigaction), (fault_spin),
6454         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6455         in signal.h-type signal handlers by not calling forbidden functions,
6456         including gst_element_set_state().
6457
6458 2005-01-05  David Schleef  <ds@schleef.org>
6459
6460         * gst/gstvalue.h: Mark _gst_reserved[] as private
6461
6462 2005-01-05  David Schleef  <ds@schleef.org>
6463
6464         * gst/gstvalue.c: Fix doc build problem.
6465
6466 2005-01-05  David Schleef  <ds@schleef.org>
6467
6468         * gst/gstvalue.c: Add some documentation
6469
6470 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6471
6472         * docs/README:
6473           another shell oneliner for empty return value docs
6474         * gst/gstcaps.c:
6475         * gst/gstvalue.c:
6476         * libs/gst/control/dparam.c:
6477           more doc fixes (parameters and return values)
6478
6479 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6480
6481         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6482
6483         * gst/gstregistry.h:
6484         * gst/registries/gstxmlregistry.c:
6485           Fix macro's for Mingw (fixes #162276).
6486
6487 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6488
6489         * docs/README:
6490           quick shell oneliner to find undocumented members
6491         * docs/gst/tmpl/gstplugin.sgml:
6492         * docs/gst/tmpl/gstscheduler.sgml:
6493         * docs/gst/tmpl/gstthread.sgml:
6494           more enumtypes cleanup
6495         * gst/gsterror.h:
6496           activated documentation comments, now someone needs to document
6497           the enums :(
6498
6499 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6500
6501         * docs/manual/manual.xml:
6502           Add dataaccess part (doh!).
6503
6504 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6505
6506         * docs/manual/advanced-autoplugging.xml:
6507           Fix typo (intiate -> initiate).
6508
6509 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6510
6511         * docs/random/bbb/streamselection:
6512           Add some notes on how to handle multi-subtitle/-audio streams.
6513
6514 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6515
6516         * docs/gst/gstreamer-docs.sgml:
6517         * docs/gst/gstreamer-sections.txt:
6518         * docs/gst/tmpl/gstenumtypes.sgml:
6519         * docs/gst/tmpl/gsterror.sgml:
6520         * docs/gst/tmpl/gstevent.sgml:
6521         * docs/gst/tmpl/gstpad.sgml:
6522         * docs/gst/tmpl/gstpadtemplate.sgml:
6523         * docs/gst/tmpl/gstthread.sgml:
6524           removed gstenumtypes section from docs and put all the enums into
6525           their sections
6526
6527 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6528
6529         * gst/gstplugin.c:
6530           document gst_library_load a bit more (riff special case + return
6531           value if already loaded)
6532         * testsuite/bytestream/filepadsink.c:
6533           plugin name is 'gstbytestream', not 'bytestream'
6534
6535 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6536
6537         * docs/random/bbb/subtitles:
6538           Add some first mind rumblings on proper subtitle support.
6539
6540 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         * po/ca.po:
6543         * po/sv.po:
6544           updated translations
6545
6546 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6547
6548         * docs/manual/advanced-dataaccess.xml:
6549           Add section on how to use fakesrc/fakesink/identity in your
6550           application, plus section on how to embed plugins. Also mention
6551           probes.
6552         * docs/manual/appendix-checklist.xml:
6553         * docs/manual/appendix-debugging.xml:
6554         * docs/manual/appendix-gnome.xml:
6555         * docs/manual/appendix-integration.xml:
6556           Debug -> checklist, GNOME -> integration, add sections on Linux,
6557           KDE integration and add other things useful for application
6558           development.
6559         * docs/manual/manual.xml:
6560           Remove some fixmes, update some file pointers.
6561         * docs/pwg/appendix-checklist.xml:
6562           Fix typo.
6563         * docs/pwg/building-boiler.xml:
6564           Remove ugly header and add commented fixme.
6565         * docs/pwg/pwg.xml:
6566           Add fixme.
6567         * examples/manual/Makefile.am:
6568           Add example for added docs.
6569
6570 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6571
6572         * configure.ac:
6573           back to HEAD
6574
6575 === release 0.8.8 ===
6576
6577 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6578
6579         * NEWS:
6580         * RELEASE:
6581         * configure.ac:
6582           Releasing 0.8.8, "I'll Take Care Of You"
6583
6584 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6585
6586         * configure.ac:
6587           second prerelease
6588
6589 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         patch by: Wim Taymans
6592
6593         * gst/gstbin.c:
6594           Fix for #159852 - make iterate emission threadsafe
6595
6596 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         * docs/faq/cvs.xml:
6599           notes about new fdo account request
6600
6601 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6602
6603         * docs/gst/gstreamer-docs.sgml:
6604         * docs/gst/tmpl/gstenumtypes.sgml:
6605         * docs/gst/tmpl/gstplugin.sgml:
6606         * docs/libs/gstreamer-libs-docs.sgml:
6607           Added missing short docs. Added ids for navigation.
6608
6609 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6610
6611         * docs/manual/advanced-autoplugging.xml:
6612         * docs/manual/advanced-schedulers.xml:
6613         * docs/manual/advanced-threads.xml:
6614           Rewrites. Remove cothreads, go a bit into opt specifically,
6615           document threads and their gotchas, and do some technical stuff
6616           on autoplugging plus add some working examples. Fixes #157395.
6617         * examples/manual/Makefile.am:
6618           Add typefind/autoplugger example (one that actually works).
6619           Remove queue example since it's a duplicate of the thread one.
6620
6621 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6622
6623         * gst/gstvalue.c: (gst_value_deserialize_string):
6624           use deprecated g_value_set_string_take_ownership to keep compatible
6625           with glib 2.2
6626
6627 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6628
6629         * gst/gstvalue.c: (gst_value_deserialize_string):
6630           revert last patch, only dom a g_utf8_validate now before accepting
6631           the string - caps parsing strips " from strings so we can't rely on
6632           them
6633         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6634           disable a test that tested the above and comment it
6635
6636 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6637
6638         Patch reviewed by David Schleef  <ds@schleef.org>
6639
6640         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6641         bug #153882)
6642         * win32/gstenumtypes.h: same
6643
6644 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6645
6646         * gst/gstpad.c: (gst_pad_query):
6647           Do query on realized pad, similar to how convert/send_event handle
6648           this. Also makes sense, since this pad belongs to the function to
6649           which this query will be sent. Fixes #158163.
6650
6651 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6652
6653         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6654
6655 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6656
6657         * docs/faq/general.xml: fix pipeline to actually work
6658
6659 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6660
6661         * gst/gstvalue.c: (gst_value_deserialize_string):
6662           check that a simple string that gets deserialized does not contain
6663           invalid characters
6664         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6665           remove a test that tested a wring behaviour
6666
6667 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6668
6669         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6670
6671         * docs/manual/intro-motivation.xml:
6672           Fix typos.
6673
6674 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6675
6676         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6677
6678         * docs/gst/tmpl/gstprobe.sgml:
6679           Fix documentation of probe callback - it is supposed to return
6680           FALSE, not TRUE, to remove data from the stream (#159087).
6681
6682 2004-12-16  Daniel Gazard  <dany42@free.fr>
6683
6684         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6685
6686         * gst/gstelementfactory.c: (gst_element_factory_create):
6687           Fix compile failure if compiling without libxml2 support (#149936).
6688
6689 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6690
6691         * docs/manual/advanced-autoplugging.xml:
6692         * docs/manual/highlevel-components.xml:
6693           Move spider from autoplugging to components. Autoplugging is for
6694           internals, not for solutions. ;-).
6695
6696 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6697
6698         * docs/random/ds/0.9-suggested-changes:
6699           Make note on device/location/uri property names.
6700
6701 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6702
6703         * docs/manual/advanced-autoplugging.xml:
6704         * docs/manual/advanced-clocks.xml:
6705         * docs/manual/advanced-interfaces.xml:
6706         * docs/manual/advanced-metadata.xml:
6707         * docs/manual/advanced-position.xml:
6708         * docs/manual/advanced-schedulers.xml:
6709         * docs/manual/advanced-threads.xml:
6710         * docs/manual/appendix-gnome.xml:
6711         * docs/manual/appendix-programs.xml:
6712         * docs/manual/appendix-quotes.xml:
6713         * docs/manual/autoplugging.xml:
6714         * docs/manual/basics-bins.xml:
6715         * docs/manual/basics-data.xml:
6716         * docs/manual/basics-elements.xml:
6717         * docs/manual/basics-helloworld.xml:
6718         * docs/manual/basics-init.xml:
6719         * docs/manual/basics-pads.xml:
6720         * docs/manual/basics-plugins.xml:
6721         * docs/manual/bins-api.xml:
6722         * docs/manual/bins.xml:
6723         * docs/manual/buffers-api.xml:
6724         * docs/manual/buffers.xml:
6725         * docs/manual/clocks.xml:
6726         * docs/manual/components.xml:
6727         * docs/manual/cothreads.xml:
6728         * docs/manual/debugging.xml:
6729         * docs/manual/dparams-app.xml:
6730         * docs/manual/dynamic.xml:
6731         * docs/manual/elements-api.xml:
6732         * docs/manual/elements.xml:
6733         * docs/manual/factories.xml:
6734         * docs/manual/gnome.xml:
6735         * docs/manual/goals.xml:
6736         * docs/manual/helloworld.xml:
6737         * docs/manual/helloworld2.xml:
6738         * docs/manual/highlevel-components.xml:
6739         * docs/manual/highlevel-xml.xml:
6740         * docs/manual/init-api.xml:
6741         * docs/manual/intro-basics.xml:
6742         * docs/manual/intro-motivation.xml:
6743         * docs/manual/intro-preface.xml:
6744         * docs/manual/intro.xml:
6745         * docs/manual/links-api.xml:
6746         * docs/manual/links.xml:
6747         * docs/manual/manual.xml:
6748         * docs/manual/motivation.xml:
6749         * docs/manual/pads-api.xml:
6750         * docs/manual/pads.xml:
6751         * docs/manual/plugins-api.xml:
6752         * docs/manual/plugins.xml:
6753         * docs/manual/programs.xml:
6754         * docs/manual/queues.xml:
6755         * docs/manual/quotes.xml:
6756         * docs/manual/schedulers.xml:
6757         * docs/manual/states-api.xml:
6758         * docs/manual/states.xml:
6759         * docs/manual/threads.xml:
6760         * docs/manual/typedetection.xml:
6761         * docs/manual/win32.xml:
6762         * docs/manual/xml.xml:
6763           Try 2. This time, include a short preface as a "general
6764           introduction", also add code blocks around all code samples
6765           so they get compiled. We still need a way to tell readers
6766           the filename of the code sample. In some cases, don't show
6767           all code in the documentation, but do include it in the generated
6768           code. This allows for focussing on specific bits in the docs,
6769           while still having a full test application available.
6770         * examples/manual/Makefile.am:
6771           Fix up examples for new ADM. Add several of the new examples that
6772           were either added or were missing from the build system.
6773         * examples/manual/extract.pl:
6774           Allow nameless blocks.
6775
6776 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         * docs/manual/elements-api.xml:
6779         * docs/manual/helloworld.xml:
6780         * examples/manual/extract.pl:
6781           fix last example.  Add example of adding code blocks that are not
6782           shown in docbook output.
6783
6784 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         * docs/manual/dynamic.xml:
6787         * docs/manual/elements-api.xml:
6788         * docs/manual/gnome.xml:
6789         * docs/manual/helloworld2.xml:
6790         * docs/manual/init-api.xml:
6791         * docs/manual/queues.xml:
6792         * docs/manual/threads.xml:
6793         * docs/manual/xml.xml:
6794         * examples/manual/extract.pl:
6795           Make it possible to extract example code from separate blocks.
6796           Should make Ronald happy.
6797
6798 2004-12-15  Wim Taymans  <wim@fluendo.com>
6799
6800         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6801         (remove_from_group), (group_elements_set_visited),
6802         (normalize_group), (gst_opt_scheduler_iterate):
6803         Fix bug where a flag was not updated on a decoupled entry point 
6804         because we were just checking the group element list and decoupled
6805         elements are not in that list..
6806
6807 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6808
6809         * docs/manual/advanced-autoplugging.xml:
6810         * docs/manual/advanced-clocks.xml:
6811         * docs/manual/advanced-dparams.xml:
6812         * docs/manual/advanced-interfaces.xml:
6813         * docs/manual/advanced-metadata.xml:
6814         * docs/manual/advanced-position.xml:
6815         * docs/manual/advanced-schedulers.xml:
6816         * docs/manual/advanced-threads.xml:
6817         * docs/manual/appendix-debugging.xml:
6818         * docs/manual/appendix-gnome.xml:
6819         * docs/manual/appendix-programs.xml:
6820         * docs/manual/appendix-quotes.xml:
6821         * docs/manual/appendix-win32.xml:
6822         * docs/manual/autoplugging.xml:
6823         * docs/manual/basics-bins.xml:
6824         * docs/manual/basics-data.xml:
6825         * docs/manual/basics-elements.xml:
6826         * docs/manual/basics-helloworld.xml:
6827         * docs/manual/basics-init.xml:
6828         * docs/manual/basics-pads.xml:
6829         * docs/manual/basics-plugins.xml:
6830         * docs/manual/bins-api.xml:
6831         * docs/manual/bins.xml:
6832         * docs/manual/buffers-api.xml:
6833         * docs/manual/buffers.xml:
6834         * docs/manual/clocks.xml:
6835         * docs/manual/components.xml:
6836         * docs/manual/cothreads.xml:
6837         * docs/manual/debugging.xml:
6838         * docs/manual/dparams-app.xml:
6839         * docs/manual/dynamic.xml:
6840         * docs/manual/elements-api.xml:
6841         * docs/manual/elements.xml:
6842         * docs/manual/factories.xml:
6843         * docs/manual/gnome.xml:
6844         * docs/manual/goals.xml:
6845         * docs/manual/helloworld.xml:
6846         * docs/manual/helloworld2.xml:
6847         * docs/manual/highlevel-components.xml:
6848         * docs/manual/highlevel-xml.xml:
6849         * docs/manual/init-api.xml:
6850         * docs/manual/intro-motivation.xml:
6851         * docs/manual/intro-preface.xml:
6852         * docs/manual/intro.xml:
6853         * docs/manual/links-api.xml:
6854         * docs/manual/links.xml:
6855         * docs/manual/manual.xml:
6856         * docs/manual/motivation.xml:
6857         * docs/manual/pads-api.xml:
6858         * docs/manual/pads.xml:
6859         * docs/manual/plugins-api.xml:
6860         * docs/manual/plugins.xml:
6861         * docs/manual/programs.xml:
6862         * docs/manual/queues.xml:
6863         * docs/manual/quotes.xml:
6864         * docs/manual/schedulers.xml:
6865         * docs/manual/states-api.xml:
6866         * docs/manual/states.xml:
6867         * docs/manual/threads.xml:
6868         * docs/manual/typedetection.xml:
6869         * docs/manual/win32.xml:
6870         * docs/manual/xml.xml:
6871           First try at rewriting the ADM. Needs lotsamore work, but some
6872           parts might already be somewhat useful.
6873         * docs/pwg/advanced-interfaces.xml:
6874           Remove properties interface, it never actually existed (except for
6875           on my HD...).
6876
6877 2004-12-13  David Schleef  <ds@schleef.org>
6878
6879         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6880         be NULL (bug #160220).
6881
6882 2004-12-13  David Schleef  <ds@schleef.org>
6883
6884         * configure.ac: remove all mmx stuff, because it's not used.
6885         * docs/random/ds/0.9-suggested-changes: additional notes
6886         * include/Makefile.am: we don't use these anymore
6887         * include/mmx.h: remove
6888         * include/sse.h: remove
6889
6890 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6891
6892         * docs/random/mimetypes:
6893           Add FOURCC code for h264 codec (VSSH)
6894           Add alternate FOURCC codes for h263 related codecs
6895
6896 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6897
6898         * docs/manual/programs.xml:
6899           Added more gst-launch examples.
6900
6901 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6902
6903         * gst/gstqueue.c: (gst_queue_handle_src_query):
6904           Check for availability again.
6905
6906 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6907
6908         * gst/gstcaps.c: (gst_caps_compare_structures):
6909           Simple caps go first. This has the nice side-effect of fixing an
6910           obscure warning.
6911
6912 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6913
6914         * gst/gstversion.h.in:
6915           Protect header.
6916
6917 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6918
6919         * gst/schedulers/gstoptimalscheduler.c:
6920         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6921         (gst_opt_scheduler_get_wrapper):
6922           When we're recursing into a chain run, only run the directly
6923           related group, not all queued ones. This will fix a possible
6924           deadlock in chains with more than two groups.
6925
6926 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6927
6928         * autogen.sh:
6929           remove patch if autopoint fails
6930
6931 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6932
6933         * docs/gst/gstreamer-sections.txt:
6934           Document Thomas' addition, fix build, make Luis the sheriff happy.
6935
6936 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6937
6938         * gst/gstplugin.c:
6939         * gst/gstplugin.h:
6940           add accessor for version field
6941
6942 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         submitted by: Luca Ferretti <elle.uca@infinito.it>
6945
6946         * po/LINGUAS:
6947         * po/it.po:
6948           New tranlation added: Italian
6949
6950 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6951
6952         * gst/gstpad.c: (gst_pad_is_negotiated),
6953         (gst_pad_get_negotiated_caps):
6954           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6955           it doesn't actually check the contents), so be sure to hand it
6956           a RealPad else we'll crash.
6957
6958 2004-12-03  Wim Taymans  <wim@fluendo.com>
6959
6960         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6961         (gst_queue_link), (gst_queue_handle_src_query):
6962         Reverted to 1.110 until this makes the testsuite and various
6963         apps work.
6964
6965 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6966
6967         * docs/upload.mak: fix included CVS conflict strings
6968
6969 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6970
6971         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6972
6973         * gst/gstelement.c: (gst_element_error_full):
6974           Use g_error_new_literal because error text may have
6975           percentage signs in it. Fixes #160019.
6976
6977 2004-12-01  Benjamin Otte  <otte@gnome.org>
6978
6979         * gst/elements/gstbufferstore.c:
6980         (gst_buffer_store_add_buffer_func):
6981           don't try to make subbuffers bigger than they can be. (fixes
6982           #159970)
6983
6984 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6985
6986         * docs/gst/gstreamer-sections.txt:
6987         * docs/gst/tmpl/gstvalue.sgml:
6988           Add new function to docs to fix build.
6989
6990 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6991
6992         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6993         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6994         (_gst_pad_default_fixate_foreach):
6995         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6996         * gst/gstvalue.h:
6997           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6998           in some cases (arrays), the fixedness depends on the content.
6999         * gst/gstqueue.c: (gst_queue_handle_src_query):
7000           Check for availability before doing something.
7001
7002 2004-11-29  Wim Taymans  <wim@fluendo.com>
7003
7004         * testsuite/threads/Makefile.am:
7005         * testsuite/threads/signals.c: (gst_test_get_type),
7006         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
7007         (gst_test_set_property), (gst_test_get_property),
7008         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
7009         (gst_test_do_prop), (run_thread), (main):
7010         Added a bunch of testcases that show threadsafety bugs in glib.
7011
7012 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
7013
7014         * docs/manual/programs.xml:
7015           Added a first batch of gst-launch examples, as provided by Ronald
7016           and others from the devel-mlist
7017
7018 2004-11-28  Benjamin Otte  <otte@gnome.org>
7019
7020         * gst/gstelement.c: (gst_element_negotiate_pads):
7021           simplify
7022         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
7023         (gst_value_serialize_string), (gst_value_deserialize_string):
7024           add unwrapping of previously wrapped strings. Fix bug in wrapping
7025           while at it.
7026         * testsuite/caps/value_serialize.c: (test1),
7027         (test_string_serialization), (test_string_deserialization), (main):
7028           add tests for string (de)serialization
7029
7030 2004-11-26  Wim Taymans  <wim@fluendo.com>
7031
7032         * testsuite/threads/159566.c: (object_deep_notify), (main):
7033         * testsuite/threads/Makefile.am:
7034         Added testsuite to show bug #159566
7035
7036 2004-11-25  Wim Taymans  <wim@fluendo.com>
7037
7038         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7039         (gst_thread_child_state_change), (gst_thread_main_loop):
7040         Ref the thread object in the GThread mainloop. Break out of the
7041         thread mainloop if it holds the last ref. This properly exits
7042         the threads when disposing the thread from its own context. It
7043         also avoids possible deadlocks in the dispose function.
7044
7045 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7046
7047         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7048         it is necessary to wait.
7049
7050 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7051
7052         * docs/pwg/building-boiler.xml:
7053           Make description somewhat clearer.
7054
7055 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7056
7057         * docs/upload.mak:
7058           Apparently docs changed location on FDO's server.
7059
7060 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7061
7062         * docs/pwg/appendix-checklist.xml:
7063           Add some random notes on things to check when writing an element.
7064           This list can be extended as people see fit.
7065
7066 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7067
7068         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7069         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7070         pad. The queue will now wait until it is empty and forward the new
7071         caps to the source.
7072         * gst/gstbin.c (gst_bin_set_element_sched)
7073         (gst_bin_unset_element_sched): Make sure that all elements and
7074         links are registered and unregistered with the scheduler exactly
7075         once. This elaborates on a fix by Benjamin Otte, but
7076         guarantees that decoupled elements are also registered.
7077
7078 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7079
7080         * docs/manual/quotes.xml:
7081           add a quote
7082         * configure.ac:
7083         * gst/gst.c:
7084         * gst/gstinfo.c:
7085           add LIBDIR and move init message higher up so it's at the start
7086
7087 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7088
7089         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7090         * gstreamer.spec.in: add fair
7091
7092 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7093
7094         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7095         * gst/elements/gstidentity.c: (gst_identity_class_init):
7096           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7097           <teuf@gnome.org> (#157263).
7098         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7099         (gst_type_find_handle_src_query):
7100           Subtract size of internally stored data from position queries.
7101
7102 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7103
7104         * gst/schedulers/fairscheduler.c:
7105         * gst/schedulers/faircothreads.c:
7106         * gst/schedulers/faircothreads.h:
7107         New cothread based scheduler: Fair scheduler.
7108         * gst/schedulers/gthread-cothreads.h: 
7109         Add the standard #if around the whole file.
7110         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7111         compilation of the functions defined in this file. This is
7112         necessary to be able to use this file as a normal header.
7113         * gst/schedulers/Makefile.am: Add compiling support for fair
7114         scheduler.
7115         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7116         scheduler cothreads layer from documentation generation.
7117
7118 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7119
7120         * gst/autoplug/gstspideridentity.c:
7121         (gst_spider_identity_sink_loop_type_finding):
7122           Don't crash if that function is not implemented.
7123
7124 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7125
7126         * docs/pwg/advanced-types.xml:
7127           Another typo.
7128
7129 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7130
7131         * docs/pwg/intro-preface.xml:
7132           Hm, ok, so the brackets weren't really useful...
7133         * docs/pwg/other-ntoone.xml:
7134           Fix embarassing typo.
7135
7136 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7137
7138         * docs/pwg/intro-preface.xml:
7139           Rewrite preface.
7140
7141 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7142
7143         * docs/pwg/advanced-scheduling.xml:
7144         * docs/pwg/advanced-tagging.xml:
7145         * docs/pwg/advanced-types.xml:
7146         * docs/pwg/building-boiler.xml:
7147         * docs/pwg/building-chainfn.xml:
7148         * docs/pwg/building-signals.xml:
7149         * docs/pwg/building-state.xml:
7150         * docs/pwg/building-testapp.xml:
7151         * docs/pwg/intro-basics.xml:
7152         * docs/pwg/other-manager.xml:
7153         * docs/pwg/other-source.xml:
7154           Typo fixes.
7155         * docs/pwg/other-manager.xml:
7156           Add some first content. No example code yet.
7157         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7158           Remove double newlines.
7159
7160 2004-11-04  Wim Taymans  <wim@fluendo.com>
7161
7162         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7163         (remove_from_group), (normalize_group), (group_migrate_connected),
7164         (gst_opt_scheduler_iterate):
7165         * testsuite/schedulers/.cvsignore:
7166         * testsuite/schedulers/Makefile.am:
7167         * testsuite/schedulers/queue_link.c: (main):
7168         Added testcase for scheduler segfault.
7169         Fix scheduler segfault when removing a decoupled
7170         entry point as the last element from a group.
7171
7172 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7173
7174         * gst/gstmarshal.list: add missing marshaller, fixes build
7175
7176 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7177
7178         * docs/random/signal: added notes about using BOXED for GstBuffer
7179         signal marshallers, not POINTER
7180
7181 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7182
7183         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7184         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7185         POINTER=>BOXED changes to marshal GstBuffers
7186
7187 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7188
7189         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7190         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7191
7192 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7193
7194         * docs/gst/gstreamer-sections.txt:
7195         * docs/gst/tmpl/gstcaps.sgml:
7196         * docs/gst/tmpl/gsterror.sgml:
7197         * docs/gst/tmpl/gstinfo.sgml:
7198         * docs/gst/tmpl/gstmacros.sgml:
7199         * docs/gst/tmpl/gstutils.sgml:
7200         * docs/random/ensonic/interfaces.txt:
7201         * gst/gstinfo.h:
7202           added some more docs, removed two obsolete defines
7203
7204 2004-11-02  Kjartan Maraas <as at gnome.org>
7205
7206         reviewed by: Wim Taymans, Ronald Bultje.
7207
7208         * gst/cothreads.c: (cothread_create):
7209         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7210         (gst_bin_child_state_change_func):
7211         * gst/gstbuffer.c: (gst_buffer_span):
7212         * gst/gstelement.c: (gst_element_get_index),
7213         (gst_element_get_event_masks), (gst_element_get_query_types),
7214         (gst_element_get_formats):
7215         * gst/gsterror.c: (_gst_core_errors_init),
7216         (_gst_library_errors_init), (_gst_resource_errors_init),
7217         (_gst_stream_errors_init):
7218         * gst/gstobject.c: (gst_object_default_deep_notify):
7219         * gst/gstpad.c: (gst_pad_get_event_masks),
7220         (gst_pad_get_internal_links_default):
7221         * gst/gstplugin.c: (gst_plugin_register_func),
7222         (gst_plugin_get_module):
7223         * gst/gststructure.c: (gst_structure_get_string),
7224         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7225         (gst_structure_to_abbr):
7226         * gst/gstutils.c: (gst_print_element_args):
7227         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7228         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7229         Aplied part of patch #157127: Cleanup of issues reported by 
7230         sparse.
7231         Also do not try to use cothreads when there is no cothread
7232         context yet.
7233
7234 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7235
7236         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7237         (gst_opt_scheduler_iterate):
7238         Applied patch #154061. Running a pipeline in which an element 
7239         calls GST_ELEMENT_ERROR in the chain function, the opt 
7240         scheduler doesn't unref the chain so it never gets freed.
7241
7242 2004-11-02  Wim Taymans  <wim@fluendo.com>
7243
7244         * gst/gststructure.c: (gst_structure_get_abbrs),
7245         (gst_structure_from_abbr), (gst_structure_to_abbr):
7246         Remove that ugly if-then thing in the code that converts
7247         between strings and types.
7248
7249 2004-11-02  Wim Taymans  <wim@fluendo.com>
7250
7251         * gst/gstscheduler.c: (gst_scheduler_add_element),
7252         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7253         Aplied clock distribution patch, this should fix bug
7254         #148787.
7255
7256 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7257
7258         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7259
7260         * po/LINGUAS:
7261         * po/nb.po:
7262           Added Norwegian Bokmaal translation
7263
7264 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7265
7266         * tools/gst-inspect.c: (print_signal_info):
7267           print signal arguments as pointers if they are
7268
7269 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7270
7271         * docs/pwg/building-boiler.xml:
7272           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7273
7274 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7275
7276         * gst/parse/parse.l:
7277         * testsuite/parse/parse1.c: (main):
7278         Since parse can do 'element name=a:b' make 'a:b.' work as
7279         well. 
7280         Added testcase to verify fix.
7281
7282 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7283
7284         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7285         Use the realpad when printing the direction.
7286         Add extra \n when printing extensions of typefind factories.
7287
7288 2004-10-13  David Schleef  <ds@schleef.org>
7289
7290         * examples/manual/Makefile.am: $< isn't portable in Makefile
7291         rules.
7292
7293 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7294
7295         * docs/gst/tmpl/gstobject.sgml:
7296         * docs/gst/tmpl/gstplugin.sgml:
7297         * docs/gst/tmpl/gstpluginfeature.sgml:
7298         * docs/gst/tmpl/gstregistry.sgml:
7299         * docs/gst/tmpl/gstversion.sgml:
7300         * gst/gstbin.c:
7301           more api documentation
7302         * gst/gstplugin.c: (gst_plugin_register_func),
7303         (gst_plugin_check_file), (gst_plugin_load_file):
7304           better error signaling and logging
7305
7306 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7307
7308         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7309           Subtract current queue contents from position queries.
7310
7311 2004-10-11  Johan Dahlin  <johan@gnome.org>
7312
7313         * gst/gsturi.c (gst_uri_get_location): unescape string
7314         (gst_uri_construct): escape string.
7315
7316 2004-10-11  Benjamin Otte  <otte@gnome.org>
7317
7318         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7319         (gst_pad_try_set_caps_nonfixed):
7320           allow renegotiation of unconnected pads (as inside spider). Simply
7321           return OK if unconnected - mimic try_set_caps there.
7322
7323 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7324
7325         * gst/gstbin.c: (gst_bin_sync_children_state):
7326           Add missing break.
7327
7328 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7329
7330         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7331         Set element to EOS before sending EOS event
7332
7333 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7334
7335         * gst/elements/gsttypefindelement.c:
7336         (gst_type_find_element_handle_event):
7337         Handle EOS events when doing the transition from
7338         typefind to data passing. This should fix the
7339         infinite loops in short files.
7340
7341 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7342
7343         * gst/gstthread.c: (gst_thread_change_state),
7344         (gst_thread_child_state_change):
7345         Make sure no iteration happens while performing
7346         the state change as it could mess up the internal
7347         consistency of the thread state.
7348
7349 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7350
7351         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7352         (gst_thread_change_state), (gst_thread_child_state_change):
7353         Do not try to grab the iterate lock in the state change method
7354         when we are in the same thread as the iterate or else we
7355         could deadlock. Some other cleanups.
7356
7357 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7358
7359         * configure.ac:
7360           bump nano to cvs
7361
7362 === release 0.8.7 ===
7363
7364 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7365
7366         * configure.ac:
7367         * NEWS:
7368         * RELEASE:
7369         * configure.ac:
7370           releasing 0.8.7, "A Cruise"
7371
7372 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7373
7374         * docs/random/mimetypes:
7375         Add an entry for Sony ATRAC3 audio format with mime-type
7376         used by rmdemux et riff-read
7377
7378 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7379
7380         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7381         Push the buffer store instead of clearing it in case that
7382         the stream is not seekable.
7383
7384 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7385
7386         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7387         (gst_thread_main_loop):
7388         Lock the iteration and the state change so that automatic
7389         negotiation and fixation does not happen at the same time
7390         as the in stream negotiation.
7391
7392 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         * configure.ac:
7395           bump nano to cvs
7396
7397 === release 0.8.6 ===
7398
7399 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * configure.ac:
7402         * NEWS:
7403         * RELEASE:
7404         * configure.ac:
7405           releasing 0.8.6, "Narc"
7406
7407 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7408
7409         * configure.ac:
7410           prerel bump
7411
7412 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7413
7414         patch by: Steve Lhomme
7415
7416         * gst/elements/gstfakesrc.c:
7417         * gst/elements/gstidentity.c:
7418         * gst/gstthread.c:
7419           Fix for #153881
7420
7421 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7422
7423         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7424         Fix threadsafety of the crc checking function.
7425
7426 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         patch by: Ronald Bultje
7429
7430         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7431         (gst_type_find_element_handle_event),
7432         (gst_type_find_element_chain):
7433         * gst/elements/gsttypefindelement.h:
7434          #153657.
7435          Filter out discont event from seekable sources when typefind
7436          asks them to seek.  Fixes typefind with demuxers for
7437          avi, asf and matroska.
7438
7439 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * docs/gst/gstreamer-sections.txt:
7442         * gst/gstcaps.c:
7443         * gst/gstcaps.h:
7444         * gst/gstpad.c:
7445           Revert preferred caps: (#147789)
7446
7447 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7448
7449         * win32/dirent.c:
7450           fix a memory leak
7451
7452 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         * configure.ac:
7455           bump for prerelease
7456
7457 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7458
7459         * docs/Makefile.am:
7460         * docs/manual/elements-api.xml:
7461           restructure so that common stuff is shown first
7462         * docs/manual/init-api.xml:
7463           convert to examples
7464         * docs/manual/manual.xml:
7465         * docs/manuals.mak:
7466         * docs/url.entities:
7467           link to API on the website, possibly override later in build
7468         * examples/manual/.cvsignore:
7469           ignore more
7470         * examples/manual/Makefile.am:
7471           add more examples
7472         * examples/manual/extract.pl:
7473           error out on failure
7474
7475 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7476
7477         * docs/gst/tmpl/gstthread.sgml:
7478         * docs/manual/init-api.xml:
7479         * examples/manual/Makefile.am:
7480           convert two code bits to examples
7481
7482 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7483
7484         * gst/gstelement.c: (gst_element_change_state):
7485           Well, actually, I was about to remove this insane assert when
7486           I noticed Wim already did that. A warning is nice so we can
7487           fix actual ugs (using --g-fatal-warnings and backtraces), so
7488           I added that instead.
7489
7490 2004-09-06  Wim Taymans  <wim@fluendo.com>
7491
7492         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7493         (gst_element_threadsafe_properties_post_run),
7494         (gst_element_set_state), (gst_element_change_state):
7495         Added extra refcounting around various places. 
7496
7497 2004-09-06  Wim Taymans  <wim@fluendo.com>
7498
7499         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7500         Fix debug info.
7501
7502 2004-09-06  Wim Taymans  <wim@fluendo.com>
7503
7504         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7505         (remove_from_group):
7506         Some more debug info.
7507
7508 2004-09-03  Wim Taymans  <wim@fluendo.com>
7509
7510         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7511         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7512         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7513         (gst_fakesrc_get), (gst_fakesrc_change_state):
7514         * gst/elements/gstfakesrc.h:
7515         * gst/elements/gstidentity.c: (gst_identity_class_init),
7516         (gst_identity_init), (gst_identity_chain),
7517         (gst_identity_set_property), (gst_identity_get_property),
7518         (gst_identity_change_state):
7519         * gst/elements/gstidentity.h:
7520         Added datarate properties to limit the datarate.
7521
7522 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7523
7524         * gst/autoplug/gstspider.c: (plugin_init):
7525           don't set a rank. We don't want to autoplug by inserting spiders.
7526
7527 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7528
7529         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7530         (gst_spider_identity_plug):
7531           add a template for spider's sink
7532         * gst/gst.c: (gst_register_core_elements):
7533           queue's rank should be NULL, we don't want spider to add it.
7534
7535 2004-08-18  David Schleef  <ds@schleef.org>
7536
7537         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7538         * docs/libs/Makefile.am: same
7539         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7540         * docs/random/ds/0.9-planning: random additions
7541         * docs/random/ds/0.9-suggested-changes: same
7542         * gst/gstxml.h: remove vestigal GstXMLNs definition
7543
7544         Preferred caps: (#147789)
7545         * docs/gst/gstreamer-sections.txt: Add symbols
7546         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7547         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7548         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7549         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7550         (gst_caps_get_preferred), (gst_caps_set_preferred),
7551         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7552         (gst_caps_use_preferred): Handle caps preferences
7553         * gst/gstcaps.h: Add caps preferences
7554         * gst/gstpad.c: (gst_pad_link_get_preferred),
7555         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7556         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7557         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7558         negotiation.
7559
7560 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7561
7562         * gst/autoplug/gstspideridentity.c:
7563         (gst_spider_identity_request_new_pad):
7564         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7565         (gst_aggregator_init):
7566         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7567         (gst_fakesink_init):
7568         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7569         (gst_fakesrc_init):
7570         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7571         (gst_fdsink_init):
7572         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7573         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7574         (gst_filesink_init):
7575         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7576         (gst_filesrc_init):
7577         * gst/elements/gstidentity.c: (gst_identity_base_init),
7578         (gst_identity_init):
7579         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7580         (gst_multifilesrc_init):
7581         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7582         (gst_pipefilter_init):
7583         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7584         (gst_statistics_init):
7585         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7586         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7587           s/gst_pad_new/&_from_template/
7588           register pad templates in the base_init function
7589           add static pad template definitions
7590
7591 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7592
7593         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7594         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7595         * testsuite/refcounting/pad.c: (main):
7596         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7597           s/gst_pad_new/&_from_template/
7598           prepare deprecation of gst_pad_new
7599
7600 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         patch by: Luca Ognibene <skaboy81@virgilio.it>
7603
7604         * gst/gstcaps.c:
7605         * gst/gstelement.c:
7606         * gst/gstpad.c:
7607         * gst/gstxml.c:
7608           fix memleaks.  Fixes #150001
7609
7610 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7611
7612         * docs/random/ds/0.9-suggested-changes:
7613           add notes - mostly about pad templates
7614
7615 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7616
7617         * win32/GStreamer.vcproj:
7618           temporary locale files are .gmo not .mo
7619
7620 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7621
7622         * configure.ac: bump nano to cvs
7623
7624 === release 0.8.5 ===
7625
7626 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7627
7628         * configure.ac:
7629           releasing 0.8.5, "Stuttgart"
7630         * NEWS:
7631         * RELEASE:
7632         * configure.ac:
7633         * docs/random/release:
7634           updates for release
7635
7636 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         patch by: Wim Taymans (wim@fluendo.com)
7639
7640         * gst/gstbuffer.c:
7641         * gst/gstindex.h:
7642         * libs/gst/dataprotocol/dataprotocol.c:
7643           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7644
7645 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7646
7647         * Makefile.am:
7648         * win32/MANIFEST:
7649           add win32 dir to the build.  Fixes #149981.
7650
7651 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * configure.ac:
7654           bump libtool versioning
7655         * gst/gststructure.c:
7656           mark function as static
7657         * po/af.po:
7658         * po/az.po:
7659         * po/ca.po:
7660         * po/cs.po:
7661         * po/en_GB.po:
7662         * po/fr.po:
7663         * po/nl.po:
7664         * po/sq.po:
7665         * po/sr.po:
7666         * po/sv.po:
7667         * po/tr.po:
7668         * po/uk.po:
7669           translations update
7670         * win32/README.txt:
7671           trademark protection
7672
7673 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7674
7675         * configure.ac:
7676           fix GST_ORIGIN
7677           set GST_PACKAGE to source, and distinguish between release and other
7678         * tools/gst-inspect.c:
7679           print out plugin an element factory is part of so we see this info
7680
7681 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * docs/gst/gstreamer-sections.txt:
7684         * docs/gst/tmpl/gstbuffer.sgml:
7685         * docs/gst/tmpl/gstschedulerfactory.sgml:
7686           reorder docs a little, make GstBuffer's more sensible.
7687         * gst/gstbuffer.h:
7688           API: added GST_BUFFER_FLAG_DELTA_UNIT
7689         * gst/gstscheduler.c:
7690           comment API addition
7691
7692 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7693
7694         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7695           work with non-regular files that can be mmapped (like /dev/zero)
7696         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7697           get rid of typefinds that require a seek when we can't seek instead
7698           of trying them over and over again
7699         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7700           return non-zero failure value when the pipeline was interrupted or
7701           an error occurred
7702
7703 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7704
7705         * win32/config.h:
7706         * win32/GStreamer.vcproj:
7707           compile and install the locales
7708
7709 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7710
7711         * gst/gstvalue.c:
7712           fix a possible memory leak under Windows
7713
7714 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7715
7716         * win32/GStreamer.vcproj:
7717           fix a memory leak that occured under Windows
7718         * win32/gstreamer.def:
7719           add gst_scheduler_register
7720
7721 2004-08-11  Benjamin Otte  <otte@gnome.org>
7722
7723         * docs/gst/gstreamer-sections.txt:
7724         * gst/gstscheduler.c: (gst_scheduler_register):
7725         * gst/gstscheduler.h:
7726           API:
7727           add gst_scheduler_register shortcut similar to gst_element_register
7728         * gst/schedulers/entryscheduler.c: (plugin_init):
7729         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7730         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7731           use it
7732
7733 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7734
7735         * gst/gstvalue.h:
7736           fix a memory leak that occured under Windows
7737
7738 2004-08-10  Colin Walters  <walters@redhat.com>
7739
7740         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7741         Don't use O_EXCL to open temporary registry.  It will prevent
7742         registry creation if a temporary one already exists, which
7743         is unnecessary.
7744
7745 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7746
7747         * docs/gst/gstreamer-sections.txt:
7748         * docs/gst/tmpl/gstvalue.sgml:
7749           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7750
7751 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7752
7753         * win32/gstbytestream.vcproj:
7754         * win32/gstelements.vcproj:
7755         * win32/gstgetbits.vcproj:
7756         * win32/gst-inspect.vcproj:
7757         * win32/gst-launch.vcproj:
7758         * win32/gstoptimalscheduler.vcproj:
7759         * win32/GStreamer.vcproj:
7760         * win32/gst-register.vcproj:
7761         * win32/gstspider.vcproj:
7762           update the include and lib dirs to fit standard libraries as
7763           described in the Win32 manual
7764
7765 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7766
7767         * win32/config.h:
7768         * win32/gstversion.h:
7769           enable NLS again, push the version number for the coming 0.8.5 release
7770
7771 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7772
7773         * gst/gstvalue.h:
7774           export gst_type_XXX for windows DLLs
7775
7776 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7777
7778         * docs/faq/gst-uninstalled:
7779           fix PKG_CONFIG_PATH and PYTHONPATH
7780         * gst/schedulers/Makefile.am:
7781           cleanup
7782         * libs/gst/bytestream/bytestream.c:
7783           remove newline
7784         * po/LINGUAS:
7785         * po/sq.po:
7786           adding Albanian translation (Laurent Dhima)
7787         * po/cs.po:
7788           updated
7789
7790 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7791
7792         * po/ca.po:
7793         * po/sv.po:
7794           updated translations
7795
7796 2004-08-04  Benjamin Otte  <otte@gnome.org>
7797
7798         * tests/mass_elements.c: (main):
7799           allow specifying src and sink element explicitly, so I can test
7800           videotestsrc instead of fakesrc
7801
7802 2004-08-04  Benjamin Otte  <otte@gnome.org>
7803
7804         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7805         (gst_structure_id_empty_new), (gst_structure_empty_new),
7806         (gst_structure_copy):
7807           add gst_structure_id_empty_new_with_size to allow preallocating
7808           value array sizes. Use this in gst_structure_copy to get rid of
7809           reallocs.
7810           don't do quark=>string=>quark when copying structures
7811
7812 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7813
7814         * docs/manual/win32.xml:
7815         * win32/README.txt:
7816           update documentation with the clean version of dependencies
7817
7818 2004-08-03  Benjamin Otte  <otte@gnome.org>
7819
7820         * gst/schedulers/entryscheduler.c:
7821         (gst_entry_scheduler_remove_element):
7822           fix for GST_DISABLE_DEBUG
7823         * tools/gst-launch.c: (print_tag):
7824           fixes for G_DISABLE_ASSERT
7825
7826 2004-08-03  Benjamin Otte  <otte@gnome.org>
7827
7828         * gst/gst.c: (gst_register_core_elements):
7829           fix for G_DISABLE_ASSERT
7830         * gst/gstinfo.c: (__gst_in_valgrind):
7831           add for GST_DISABLE_DEBUG
7832
7833 2004-08-03  Benjamin Otte  <otte@gnome.org>
7834
7835         * gst/parse/parse.l:
7836           fix for G_DISABLE_ASSERT
7837
7838 2004-08-03  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/gstbin.c: (gst_bin_get_type),
7841         (gst_bin_child_state_change_func):
7842         * gst/gstthread.c: (gst_thread_change_state):
7843         Backported some debug logging from a reverted patch
7844         Don't try to destroy the thread twice. Added some more
7845         debugging in GstThread. Unlock and signal even if we
7846         are in the thread context.
7847
7848 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7849
7850         * po/uk.po:
7851           updated translation
7852
7853 2004-07-30  David Schleef  <ds@schleef.org>
7854
7855         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7856
7857 2004-07-29  David Schleef  <ds@schleef.org>
7858
7859         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7860         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7861
7862 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7863
7864         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7865         (gst_bin_add_func), (gst_bin_remove_func),
7866         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7867         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7868         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7869         (gst_bin_sync_children_state):
7870         * gst/gstbin.h:
7871         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7872         (gst_thread_change_state):
7873         * testsuite/states/Makefile.am:
7874           revert state change patches as agreed so we can rework them
7875           gradually
7876
7877 2004-07-29  Benjamin Otte  <otte@gnome.org>
7878
7879         * libs/gst/control/Makefile.am:
7880           link to libgstreamer (fixes Debian bug 262019, see
7881           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7882
7883 2004-07-29  Wim Taymans  <wim@fluendo.com>
7884
7885         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7886         (check_from_fraction_convert), (transform_test), (main):
7887         Make the test less pedantic about float roundoff errors.
7888
7889 2004-07-29  Benjamin Otte  <otte@gnome.org>
7890
7891         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7892         (gst_filesrc_srcpad_event):
7893           make seek events to before start/after end of file not fail, but
7894           seek to start/end instead
7895         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7896           add more output
7897
7898 2004-07-29  Benjamin Otte  <otte@gnome.org>
7899
7900         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7901           check that caps are fixed
7902         * gst/gstpad.c: (gst_pad_template_new):
7903           don't try to simplify caps, costs too much time on gst_init
7904         * gst/gstplugin.c: (gst_plugin_add_feature):
7905           G_ERROR if features are added twice
7906         * gst/gsttypefind.c: (gst_type_find_register):
7907         * gst/gstelementfactory.c: (gst_element_register):
7908           don't add features twice
7909         * docs/random/ds/0.9-suggested-changes:
7910           add note about possible gst_init optimization
7911
7912 2004-07-28  David Schleef  <ds@schleef.org>
7913
7914         * testsuite/elements/Makefile.am:
7915         * testsuite/elements/struct_i386.h:
7916         * testsuite/elements/struct_size.c: (main):  A little test
7917         to keep distcheck from working if someone changes a structure
7918         size accidentally.
7919
7920 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7921
7922         * docs/libs/Makefile.am:
7923         * docs/libs/gstreamer-libs-docs.sgml:
7924         * docs/libs/gstreamer-libs-sections.txt:
7925         * docs/libs/tmpl/gstbytestream.sgml:
7926         * docs/libs/tmpl/gstcontrol.sgml:
7927         * docs/libs/tmpl/gstdataprotocol.sgml:
7928         * docs/libs/tmpl/gstgetbits.sgml:
7929         * libs/gst/bytestream/Makefile.am:
7930         * libs/gst/bytestream/bytestream.c:
7931         * libs/gst/bytestream/bytestream.h:
7932         * libs/gst/control/Makefile.am:
7933         * libs/gst/dataprotocol/Makefile.am:
7934         * libs/gst/getbits/Makefile.am:
7935         * libs/gst/getbits/getbits.h:
7936           various doc and style fixes, adding bytestream to libs docs.
7937
7938 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7939
7940         * docs/gst/gstreamer-docs.sgml:
7941         * docs/libs/Makefile.am:
7942         * docs/libs/gstreamer-libs-docs.sgml:
7943         * docs/libs/gstreamer-libs-sections.txt:
7944         * libs/gst/control/dparam.c:
7945           more doc fixes.  gst-libs docs now build the same way as gst.
7946
7947 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7948
7949         * configure.ac:
7950         * testsuite/Makefile.am:
7951         * testsuite/bins/Makefile.am:
7952         * testsuite/caps/Makefile.am:
7953         * testsuite/cleanup/Makefile.am:
7954         * testsuite/clock/Makefile.am:
7955         * testsuite/debug/Makefile.am:
7956         * testsuite/dlopen/Makefile.am:
7957         * testsuite/dynparams/Makefile.am:
7958         * testsuite/elements/.cvsignore:
7959         * testsuite/elements/Makefile.am:
7960         * testsuite/enumcaps/Makefile.am:
7961         * testsuite/enumcaps/enumcaps.c:
7962         * testsuite/ghostpads/Makefile.am:
7963         * testsuite/indexers/Makefile.am:
7964         * testsuite/negotiation/Makefile.am:
7965         * testsuite/parse/Makefile.am:
7966         * testsuite/plugin/Makefile.am:
7967         * testsuite/refcounting/Makefile.am:
7968         * testsuite/schedulers/.cvsignore:
7969         * testsuite/states/Makefile.am:
7970         * testsuite/tags/Makefile.am:
7971         * testsuite/threads/Makefile.am:
7972           fold enumcaps into caps dir
7973           clean up Makefile.am's for testsuite
7974
7975 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * docs/gst/Makefile.am:
7978         * docs/libs/Makefile.am:
7979           clean up docs build.  Fixes needless rebuilding of template files.
7980
7981 2004-07-28  Wim Taymans  <wim@fluendo.com>
7982
7983         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7984         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7985         Make sure that a bin state change tries to keep the children
7986         in sync. 
7987         Added debug logging to the thread.
7988
7989 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7990
7991         * win32/GStreamer.vcproj:
7992         * win32/gstreamer.def:
7993           more exports for the plugins
7994
7995 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7996
7997         * win32/gstgetbits.vcproj:
7998         * win32/gstgetbits.def:
7999         * win32/msvc71.sln:
8000           add support for the getbits plugin
8001
8002 2004-07-27  Wim Taymans  <wim@fluendo.com>
8003
8004         * gst/gstvalue.c: (gst_value_transform_double_fraction),
8005         (gst_value_transform_fraction_double), (_gst_value_initialize):
8006         * testsuite/caps/Makefile.am:
8007         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8008         (check_from_fraction_convert), (transform_test), (main):
8009         Added transform functions between double and fraction.
8010         Added testcase to verify transforms
8011
8012 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8013
8014         * win32/GStreamer.vcproj:
8015           rename GStreamer-0.8.lib to libgstreamer.lib
8016
8017 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8018
8019         * win32/gstelements.vcproj:
8020         * win32/gstoptimalscheduler.vcproj:
8021           fixes for the Release build
8022
8023 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8024
8025         * win32/config.h:
8026           update the version number
8027
8028 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8029
8030         * win32/GStreamer.vcproj:
8031           add gstinterface to the build
8032
8033 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8034
8035         * win32/gstreamer.def:
8036           add many definitions needed by plugins,
8037           GST_CAT_DEFAULT only available in the Debug build ?
8038
8039 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8040
8041         * gst/gstelement.c: (gst_element_set_eos_recursive):
8042           various whitespace fixes.
8043           doc fix, fixes #148497
8044
8045 2004-07-25  Benjamin Otte  <otte@gnome.org>
8046
8047         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8048           don't delay links on the sink elements, it causes unnegotiated
8049           links.
8050         * gst/elements/gsttypefindelement.c:
8051         (gst_type_find_element_base_init):
8052           add our padtemplates, we indeed do have some.
8053         * gst/elements/gsttypefindelement.c:
8054         (gst_type_find_element_handle_event),
8055         (gst_type_find_element_chain):
8056           don't push data when typefinding failed.
8057         * gst/gstpad.c: (gst_pad_link_fixate):
8058           check that no fixate function returns empty caps.
8059         * gst/gstpad.c: (gst_pad_push):
8060           check that the link is negotiated before data gets pushed.
8061         * tools/gst-register.c: (main):
8062           don't assert (fixes #148283)
8063
8064 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8065
8066         * docs/gst/gstreamer-sections.txt:
8067         * docs/gst/tmpl/gstconfig.sgml:
8068           add GST_PLUGIN_EXPORT definition
8069
8070 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8071
8072         * gst/gstplugin.h:
8073         * gst/gstconfig.h.in:
8074         * win32/gstconfig.h:
8075         * win32/gstelements.def:
8076         * win32/gstelements.vcproj:
8077         * win32/gstoptimalscheduler.def:
8078         * win32/gstoptimalscheduler.vcproj:
8079         * win32/gstspider.def:
8080         * win32/gstspider.vcproj:
8081           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8082
8083 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8084
8085         * docs/gst/gstreamer-sections.txt:
8086           remove GST_CAT_DEFAULT because the type has changed
8087
8088 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8089
8090         * win32/gstbytestream.vcproj:
8091         * win32/gstelements.vcproj:
8092         * win32/gst-inspect.vcproj:
8093         * win32/gst-launch.vcproj:
8094         * win32/gstoptimalscheduler.vcproj:
8095         * win32/GStreamer.vcproj:
8096         * win32/gst-register.vcproj:
8097         * win32/gstspider.vcproj:
8098         * win32/msvc71.sln:
8099           Copy the files where needed after building, The testsuite will be
8100           built separately
8101
8102 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8103
8104         * win32/config.h:
8105         * win32/README.txt:
8106         * docs/manual/win32.xml:
8107         Fixed the plugin and GStreamer location
8108
8109 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8110
8111         * win32/gstreamer.def:
8112         More exports for the plugins
8113
8114 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8115
8116         * gst/gstinfo.h:
8117         Marc was right, we need to export literally GST_CAT_DEFAULT
8118
8119 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8120
8121         * win32/config.h:
8122         NLS crashes in gettext, disabled until this is solved
8123
8124 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8125
8126         * win32/gst-inspect.vcproj:
8127         * win32/gst-launch.vcproj:
8128         Should use NLS when available
8129
8130 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8131
8132         * gst/registries/gstxmlregistry.c:
8133         removing the file doesn't seem to be a good idea on Linux
8134
8135 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8136
8137         * gst/registries/gstxmlregistry.c:
8138         Remove the registry before renaming the tempfile (needed for Windows)
8139
8140 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8141
8142         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8143         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8144         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8145         * gst/elements/gstmultifilesrc.h:
8146         Added newmedia property so it generates newmedia events between each
8147         file when property is set, as well as fixed eos handling
8148
8149 2004-07-22  David Schleef  <ds@schleef.org>
8150
8151         * gst/gststructure.c: (gst_structure_id_empty_new),
8152         (gst_structure_empty_new):  Set type field correctly.
8153         * gst/gststructure.h: Check type field correctly.
8154         * testsuite/caps/Makefile.am:
8155         * testsuite/caps/structure.c: (test1), (main): Add a very small
8156         test for structures.
8157
8158 2004-07-22  David Schleef  <ds@schleef.org>
8159
8160         * docs/random/ds/0.9-suggested-changes: more comments
8161         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8162
8163 2004-07-22  Benjamin Otte  <otte@gnome.org>
8164
8165         * gst/gstelementfactory.c: (gst_element_register):
8166           set the factory in the class struct, so gst_element_get_factory
8167           actually works
8168         * gst/parse/grammar.y:
8169           set element to playing when it gets unlocked as we can't rely on the
8170           bin state - all elements in the bin state might still be locked in
8171           NULL)
8172
8173 2004-07-22  Benjamin Otte  <otte@gnome.org>
8174
8175         * gst/gstelement.c: (gst_element_set_state_func):
8176           make this a static function
8177
8178 2004-07-22  Wim Taymans  <wim@fluendo.com>
8179
8180         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8181         (gst_opt_scheduler_pad_link):
8182         fix 147894-2 and the group_link problem.
8183
8184 2004-07-22  Wim Taymans  <wim@fluendo.com>
8185
8186         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8187         (handoff_identity), (main):
8188         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8189         (handoff_identity), (main):
8190         * testsuite/schedulers/Makefile.am:
8191         * testsuite/schedulers/group_link.c: (main):
8192         Show bug in scheduler when linking chain and loop based element 
8193         where the chain based element was not yet in a group.
8194
8195 2004-07-21  Benjamin Otte  <otte@gnome.org>
8196
8197         * gst/.cvsignore:
8198         * gst/autoplug/.cvsignore:
8199         * gst/elements/.cvsignore:
8200         * gst/indexers/.cvsignore:
8201         * libs/gst/bytestream/.cvsignore:
8202         * libs/gst/control/.cvsignore:
8203         * libs/gst/getbits/.cvsignore:
8204         * testsuite/states/.cvsignore:
8205         * testsuite/threads/.cvsignore:
8206           keep this up to date, since I seem to be the only one who cares
8207           about not missing files on commits (editor's note: no you don't,
8208           but feel free to change them at the time you add stuff instead
8209           of later on)
8210
8211 2004-07-21  Benjamin Otte  <otte@gnome.org>
8212
8213         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8214         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8215         (gst_bin_child_state_change_func), (set_kid_state_func),
8216         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8217           make state changes work correctly and reentrant (so removing
8218           elements from bins during state changes of bins doesn't cause
8219           segfaults or even wrong states)
8220           add debugging category and debugging output to print children states
8221         * gst/gstbin.c: (gst_bin_dispose): 
8222           add some assertion checks
8223         * gst/gstbin.h:
8224         * gst/gstbin.c: (gst_bin_sync_children_state):
8225           deprecate this function - it just does gst_bin_set_state (bin,
8226           GST_STATE (bin)) 
8227         * testsuite/threads/queue.c: (main):
8228           don't use gst_bin_sync_children_state anymore
8229         * testsuite/states/Makefile.am:
8230         * testsuite/states/bin.c:
8231           test that the state changes of bins work as expected
8232         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8233           some adjustments to change states correctly, too
8234         * gst/gstthread.c: (gst_thread_change_state):
8235           don't enable/disable "threadsafe" properties, they're unused and
8236           cause random segfaults
8237         * testsuite/threads/Makefile.am:
8238           the queue check randomly passes now, ignore it
8239
8240 2004-07-21  Benjamin Otte  <otte@gnome.org>
8241
8242         * gst/gstpad.c:
8243           check if data is NULL before outputting debug info. (fixes #145100)
8244
8245 2004-07-21  Benjamin Otte  <otte@gnome.org>
8246
8247         * gst/schedulers/entryscheduler.c:
8248         (gst_entry_scheduler_loop_wrapper),
8249         (gst_entry_scheduler_chain_wrapper),
8250         (gst_entry_scheduler_get_wrapper):
8251           reset the state when the cothread starts, so we don't get assertion
8252           failures on restarting of cothreads
8253
8254 2004-07-20  Benjamin Otte  <otte@gnome.org>
8255
8256         * gst/gstelement.c: (gst_element_link_pads_filtered):
8257           use correct sinkpad, if only sinkpad is specified, but not srcpad
8258           (fixes #147889)
8259         * gst/gstelement.c: (gst_element_set_state_func),
8260         (gst_element_change_state): ref/unref the element, signal handlers
8261         could get rid of the element otherwise
8262
8263 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8264
8265         * docs/random/ds/0.9-suggested-changes:
8266           Make note about renaming fixed-list to array.
8267         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8268         (_gst_value_initialize):
8269           Add array intersections.
8270         * testsuite/caps/intersect2.c: (main):
8271           Add test for array intersections.
8272
8273 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * configure.ac: back to cvs
8276
8277 === release 0.8.4 ===
8278
8279 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8280
8281         * configure.ac:
8282           releasing 0.8.4, "Paella"
8283           bump libtool versioning
8284
8285 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8286
8287         * po/LINGUAS:
8288         * po/ca.po:
8289           adding Catalan translation (Jordi Mallach)
8290
8291 2004-07-20  Wim Taymans  <wim@fluendo.com>
8292
8293         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8294         (handoff_identity), (main):
8295         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8296         (handoff_identity), (main):
8297         * testsuite/schedulers/Makefile.am:
8298         Added failing testcase for variant of #147894
8299
8300 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8301
8302         patch by: David Moore
8303
8304         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8305         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8306         (group_migrate_connected):
8307         * testsuite/schedulers/Makefile.am:
8308           fix for #142813 (Deadlock in optimal scheduler)
8309
8310 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8311
8312         patch by: Wim Taymans
8313
8314         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8315         (gst_opt_scheduler_schedule_run_queue),
8316         (gst_opt_scheduler_get_wrapper), (get_group),
8317         (group_migrate_connected):
8318         * testsuite/schedulers/Makefile.am:
8319           fix for #147819 (Add some checks in the opt scheduler)
8320
8321 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8322
8323         patch by: Benjamin Otte
8324
8325         * gst/gstelementfactory.c: (__gst_element_details_set):
8326           fix for #147929: running gst-register in non-utf8 locale can cause
8327           invalid registry
8328
8329 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8330
8331         patch by: Wim Taymans
8332
8333         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8334         (group_has_element), (element_get_reachables_func),
8335         (group_migrate_connected):
8336           fix for #147894 (opt scheduler decoupled elements mismanagement)
8337         * testsuite/schedulers/Makefile.am:
8338           testsuite app now passes
8339
8340 2004-07-19  Wim Taymans  <wim@fluendo.com>
8341
8342         * testsuite/schedulers/147819.c: (handoff_identity1),
8343         (handoff_identity2), (main):
8344         * testsuite/schedulers/Makefile.am:
8345         Added testcase for bug 147819
8346
8347 2004-07-19  Wim Taymans  <wim@fluendo.com>
8348
8349         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8350         (handoff_identity), (main):
8351         * testsuite/schedulers/Makefile.am:
8352         Added testcase for bug 147894
8353
8354 2004-07-16  Wim Taymans  <wim@fluendo.com>
8355
8356         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8357         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8358         * testsuite/schedulers/Makefile.am:
8359         Added testsuite for bug 142183 in its two incarnations. Refcount
8360         is not increased for scheduled elements and threadsafe properties
8361         mutexes are not properly unlocked.
8362
8363 2004-07-16  Wim Taymans  <wim@fluendo.com>
8364
8365         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8366         (create_chain), (destroy_chain), (create_group), (destroy_group),
8367         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8368         (group_dec_link), (gst_opt_scheduler_pad_link),
8369         (group_inc_links_for_element), (group_migrate_connected):
8370         Call group_inc_link with the proper src->sink ordering -- 
8371         break this, and we break sort_chain. patch from wingo for bug
8372         147713.
8373         Partially revert patch 1.89. When adding a loop based element to 
8374         the scheduler, the links to other groups are automatically followed
8375         and incremented. This should not happen because the bin will call
8376         pad_link explicitly for those connection, resulting in them counted 
8377         twice. Results in assertion failure on pipeline cleanup.
8378
8379 2004-07-16  Wim Taymans  <wim@fluendo.com>
8380
8381         * testsuite/schedulers/143777-2.c: (main):
8382         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8383         (main):
8384         * testsuite/schedulers/Makefile.am:
8385         Added cleanup code to testcase 143777-2.
8386         Added testcase to show bug 147713, does not really show the
8387         deadlock as I can't figure out how to trigger it, but it does
8388         demonstrate bad ordering in the scheduler.
8389
8390 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8393           change strndup to g_strndup.  Fixes #147707
8394
8395 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8396
8397         * po/af.po:
8398         * po/az.po:
8399         * po/cs.po:
8400         * po/en_GB.po:
8401         * po/fr.po:
8402         * po/nl.po:
8403         * po/sr.po:
8404         * po/sv.po:
8405         * po/tr.po:
8406         * po/uk.po:
8407           updated translations
8408
8409 2004-07-16  Benjamin Otte  <otte@gnome.org>
8410
8411         * gst/gstvalue.c: (gst_greatest_common_divisor):
8412           use ints and return ints, fractions only use ints, too, so this
8413           avoids accidently casting multiplications to unsigned
8414         (gst_value_lcopy_fraction): it's ints, not uint32
8415         (gst_value_set_fraction): disallow minint, multiplying and negation
8416           are broken with it
8417         (gst_value_fraction_multiply): fix to make large numbers work and get
8418         rid of the assumption that the multiplication of two ints fits an
8419         int64 - dunno if that's true for all systems
8420         * testsuite/caps/Makefile.am:
8421         * testsuite/caps/fraction-multiply-and-zero.c:
8422         (check_multiplication), (check_equal), (zero_test), (main):
8423           add tests for all the stuff above
8424         * testsuite/caps/value_compare.c: (test1):
8425           fix comment
8426         * tests/.cvsignore:
8427         * testsuite/caps/.cvsignore:
8428         * testsuite/debug/.cvsignore:
8429         * testsuite/dlopen/.cvsignore:
8430         * testsuite/states/.cvsignore:
8431           get up to date
8432
8433 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8434
8435         * docs/manual/bins-api.xml:
8436         * docs/manual/factories.xml:
8437         * docs/manual/helloworld.xml:
8438         * docs/manual/links-api.xml: 
8439           fixes for out of date info, incorrect info and grammar
8440
8441 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8442
8443         * docs/manual/pads.xml:
8444         * docs/manual/pads-api.xml: grammar fix
8445
8446 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8447
8448         * docs/manual/pads-api.xml: typo + grammar fix
8449
8450 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8451
8452         * docs/gst/gstreamer-sections.txt:
8453           add new symbols
8454         * docs/gst/tmpl/gstelement.sgml:
8455         * docs/gst/tmpl/gstpad.sgml:
8456         * docs/gst/tmpl/gsttypes.sgml:
8457         * docs/gst/tmpl/gstvalue.sgml:
8458           update docs
8459         * gst/gststructure.c: (gst_structure_set_valist),
8460         (gst_structure_from_abbr), (gst_structure_to_abbr):
8461         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8462         (gst_greatest_common_divisor), (gst_value_init_fraction),
8463         (gst_value_copy_fraction), (gst_value_collect_fraction),
8464         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8465         (gst_value_get_fraction_numerator),
8466         (gst_value_get_fraction_denominator),
8467         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8468         (gst_value_deserialize_fraction),
8469         (gst_value_transform_fraction_string),
8470         (gst_value_transform_string_fraction),
8471         (gst_value_compare_fraction), (_gst_value_initialize):
8472         * gst/gstvalue.h:
8473           adding GstFraction GValue type, get/set, and multiply
8474         * testsuite/caps/Makefile.am:
8475         * testsuite/caps/fraction.c: (test), (main):
8476         * testsuite/caps/string-conversions.c: (main):
8477         * testsuite/caps/value_compare.c: (test1), (main):
8478           add regression tests for GstFraction
8479
8480 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8481         
8482         * docs/manual/init-api.xml: Grammar fix
8483
8484 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8485
8486         * docs/manual/states.xml: Fix inconsistent information
8487
8488 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8489
8490         * gst/gstelement.c: (gst_element_set_state):
8491         * gst/gstpad.c: (gst_pad_try_set_caps):
8492         * gst/gststructure.c:
8493         * gst/gstthread.c: (gst_thread_child_state_change):
8494         * gst/gstvalue.c: (gst_value_compare_double):
8495         * gst/gstvalue.h:
8496         * testsuite/parse/parse1.c: (main):
8497           debugging additions and style cleanups
8498
8499 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8500
8501         * docs/manual/states.xml: Grammar fix
8502
8503 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8504
8505         * docs/manual/pads.xml: Grammar fix
8506
8507 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8508
8509         * docs/manual/elements.xml: Fixed image reference
8510
8511 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8512
8513         * docs/manual/goals.xml: Grammar fix
8514
8515 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8516
8517         * docs/manual/motivation.xml:
8518         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8519
8520 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8521
8522         * docs/manual/motivation.xml: Fix spelling
8523
8524 2004-07-15  Benjamin Otte  <otte@gnome.org>
8525
8526         * gst/gstelement.h: 
8527           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8528           strings.
8529         * gst/gstelement.c (gst_element_class_init):
8530           GError's are boxed, not objects
8531         * gst/gstmarshal.list:
8532           update list for the fixed error signal
8533
8534 2004-07-14  Andy Wingo  <wingo@pobox.com>
8535
8536         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8537         there all along, but the function wasn't. (guile-gstreamer's build
8538         system uses the address of the function -- I wasn't actually
8539         trying to use this.)
8540
8541 2004-07-14  Andy Wingo  <wingo@pobox.com>
8542
8543         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8544         as gst_pad_proxy_pad_link) just link to every other pad when they
8545         are called. In the case where the graph has cycles, this will mean
8546         that a call to try_set_caps will recurse. Allow this recursion
8547         and return OK, while we wait for the first try_set_caps to give a
8548         proper return value.
8549         (gst_pad_link_call_link_functions): Since this function is the
8550         only one to set the NEGOTIATING flag on a pad, if the flag is set
8551         it means that the link functions have indirectly recursed. If this
8552         happens, error out to avoid infinite recursion and an eventual
8553         SEGV.
8554         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8555         (gst_pad_proxy_getcaps): Intersect the result with the template
8556         caps to ensure that the return value is valid.
8557
8558 2004-07-14  Andy Wingo  <wingo@pobox.com>
8559
8560         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8561         one refcount, the calling function is the owner of the buffer.
8562
8563 2004-07-14  Wim Taymans  <wim@fluendo.com>
8564
8565         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8566         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8567         Fix stupid warning when an element is to be migrated but
8568         is already migrated.
8569
8570 2004-07-14  Wim Taymans  <wim@fluendo.com>
8571
8572         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8573         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8574         Make sure that a single non-loop-based element does not 
8575         end up in a group. This fixes the testsuite again.
8576
8577 2004-07-14  Wim Taymans  <wim@fluendo.com>
8578
8579         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8580         (add_to_group), (merge_groups), (schedule_group),
8581         (gst_opt_scheduler_get_wrapper), (group_elements),
8582         (group_dec_link), (gst_opt_scheduler_pad_link),
8583         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8584         (gst_opt_scheduler_iterate):
8585         move isolated groups to a new chain.
8586         Emit a warning instead of segfaulting in some error cases.
8587         Fix a bug where the link count between groups was not calculated 
8588         correctly. Fixes #144510.
8589
8590 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8591         * gst/elements/gstfilesrc.c:
8592           Binary files support under Windows now OK
8593       
8594 2004-07-13  Benjamin Otte  <otte@gnome.org>
8595
8596           compatibility fixes for Solaris 8/gcc 2.95
8597         * configure.ac:
8598           include libintl libs in LDFLAGS
8599         * gstvalue.c (gst_value_deserialize_buffer):
8600           cast isxdigit stuff to int to silence compiler warning
8601
8602 2004-07-12  Benjamin Otte  <otte@gnome.org>
8603
8604         * gst/gsttypes.h:
8605           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8606           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8607           just causes support madness
8608         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8609           make it work without this
8610         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8611         (gst_file_index_commit):
8612           glib IO channels don't want binary mode
8613         * testsuite/bytestream/filepadsink.c: (main):
8614         * testsuite/bytestream/test1.c: (read_param_file):
8615           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8616
8617 2004-07-12  Benjamin Otte  <otte@gnome.org>
8618
8619         * gst/gstelement.c: (gst_element_class_init),
8620         (gst_element_set_state), (gst_element_set_state_func):
8621           virutalize gst_element_set_state, use set_state member in class
8622           struct that was already added in 0.7 for this.
8623         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8624         (gst_bin_change_state):
8625           make gst_bin_foreach works similar to other foreach functions, plug
8626           memleaks in it. Make functions using it work with the new approach.
8627           Document gst_bin_foreach, so it can be exported if we want to
8628         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8629           use virtualized set_state to make set_state on bins set the state of
8630           all its children.
8631
8632 2004-07-12  Benjamin Otte  <otte@gnome.org>
8633
8634         * configure.ac:
8635           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8636           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8637         * gst/gstpad.c: (gst_pad_alloc_buffer):
8638           allow buffer_alloc functions to return NULL and allocate a normal
8639           buffer in that case
8640
8641 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8642         * gst/elements/gstfilesink.c:
8643         * gst/elements/gstfilesrc.c:
8644         * gst/indexers/gstfileindex.c:
8645         * gst/gsttypes.h:
8646         * testsuite/bytestream/filepadsink.c:
8647         * testsuite/bytestream/test1.c:
8648           Handle binary files under Windows
8649
8650 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8651         * docs/manual/win32.xml:
8652         * win32/config.h:
8653         * win32/gst-register.vcproj:
8654         * win32/gstreamer.def:
8655           Update to another gettext public build
8656
8657 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8658         * gst/gstplugin.c:
8659           Fix an impossible C syntax
8660         * win32/config.h:
8661           Disable i18n under Windows for the moment
8662         * win32/gst-register.vcproj:
8663           Use this configuration
8664
8665 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8666         * docs/manual/quotes.xml:
8667           Keep the quotes file alive
8668         * docs/random/ds/0.9-suggested-changes:
8669           Add the suggestion of including a 'rowstride' as part of video
8670           format caps
8671
8672 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8673
8674         * gst/gstelement.c: (gst_element_set_state),
8675         (gst_element_change_state):
8676           d'oh.  Set PENDING state correctly before forcing bin to change.
8677         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8678         (gst_structure_parse_fixed_list):
8679         * gst/schedulers/gstoptimalscheduler.c:
8680         (gst_opt_scheduler_state_transition):
8681         * testsuite/states/parent.c: (main):
8682           remove comment now that it's fixed.
8683
8684 2004-07-11  Benjamin Otte  <otte@gnome.org>
8685
8686         * gst/gstclock.h:
8687           GST_SECOND shouldn't cause a conversion to unsigned.
8688         * testsuite/clock/.cvsignore:
8689         * testsuite/clock/Makefile.am:
8690         * testsuite/clock/signedness.c: (main):
8691           make sure it never will again
8692
8693 2004-07-11  Andy Wingo  <wingo@pobox.com>
8694
8695         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8696         whose state is higher than the bin state, raise the bin state to
8697         ensure that bin state := highest child state.
8698         
8699 2004-07-11  Andy Wingo  <wingo@pobox.com>
8700
8701         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8702         procedure on the children of a bin. Assumes that the procedure can
8703         change the set of children.
8704         (set_kid_state_func): New static function.
8705         (gst_bin_change_state): Use gst_bin_foreach to call
8706         set_kid_state_func. Fixes a bug: if a child had a state-change
8707         handler that removes it from the bin, there would be a segfault.
8708         Hopefully it should also work in the case where the state-change
8709         handler on one child adds or removes other children. In any case,
8710         fixes should go to gst_bin_foreach.
8711
8712 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8713
8714         * gst/gstelement.c: (gst_element_set_state):
8715           compatibility fix for latest plugins release.  Change loop back
8716           to while {}
8717
8718 2004-07-09  Wim Taymans  <wim@fluendo.com>
8719
8720         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8721         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8722         (gst_thread_main_loop):
8723         Since remove is virtual in GstBin we must not assume the 
8724         elements GList to have anothing useful.
8725         Add some more logging to GstThread and be a bit more paranoid
8726         when resetting the scheduler.
8727         Set the state of the bin to NULL before removing the children.
8728
8729 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8730
8731         * testsuite/threads/Makefile.am:
8732         * testsuite/threads/threadg.c:
8733           added test to check if problem when removing all elements from a
8734           GstThread before setting GstThread state to NULL
8735
8736 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8737
8738         * docs/gst/tmpl/gstelement.sgml:
8739         * docs/gst/tmpl/gsttypes.sgml:
8740         * gst/gstbin.c: (gst_bin_change_state):
8741         * gst/gstelement.c: (gst_element_set_state),
8742         (gst_element_change_state):
8743           rework so that for bins we try to set the state on all children
8744           as well even if the bin is in the correct state already.
8745           change while to do so at least one iteration is done.
8746           For regular elements, we fall back to the previous behaviour for
8747           now since we first need a new plugins release.
8748         * testsuite/states/parent.c: (main):
8749           test for this case
8750           Fixes #123774
8751
8752 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8753
8754         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8755         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8756         (gst_queue_release_locks), (gst_queue_change_state),
8757         (gst_queue_set_property):
8758           add proper lock debugging.  Change dispose to finalize, since
8759           we're freeing mutexes and other stuff which should happen only once.
8760
8761 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8762
8763         * docs/gst/tmpl/gstelement.sgml:
8764         * docs/gst/tmpl/gstplugin.sgml:
8765         * docs/gst/tmpl/gsttypes.sgml:
8766         * docs/pwg/building-state.xml:
8767         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8768         * gst/gstelement.c: (gst_element_change_state):
8769         * gst/gstthread.c: (gst_thread_change_state):
8770           catch wrong state changes in element base class.
8771
8772 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8773
8774         * gst/gstinfo.h:
8775           clean up layout a little.
8776
8777 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8778
8779         * configure.ac:
8780         * testsuite/Makefile.am:
8781         * testsuite/states/Makefile.am:
8782         * testsuite/states/parent.c: (main):
8783           re-enable states testsuite dir.  Add test for state changes and
8784           parent behaviour
8785
8786 2004-07-09  Wim Taymans  <wim@fluendo.com>
8787
8788         * gst/schedulers/gstoptimalscheduler.c:
8789         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8790         (element_get_reachables_func), (element_get_reachables),
8791         (debug_element), (rechain_group), (group_migrate_connected),
8792         (gst_opt_scheduler_pad_unlink):
8793         Do not try to migrate decoupled elements to a new group since
8794         they are not added to groups.
8795
8796 2004-07-08  Benjamin Otte  <otte@gnome.org>
8797
8798         * gst/gstelement.c: (gst_element_error_func):
8799           make reentrant (= allow removing elements in error handler)
8800
8801 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8802
8803         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8804         (gst_pad_send_event), (gst_pad_call_chain_function):
8805           events sent to elements below PAUSED cannot be handled, so
8806           don't try to
8807
8808 2004-07-08  Wim Taymans  <wim@fluendo.com>
8809
8810         * gst/schedulers/gstoptimalscheduler.c:
8811         (chain_recursively_migrate_group), (create_group),
8812         (schedule_group), (gst_opt_scheduler_pad_link),
8813         (group_elements_set_visited), (element_get_reachables_func),
8814         (element_get_reachables), (group_can_reach_group), (debug_element),
8815         (rechain_group), (group_migrate_connected),
8816         (gst_opt_scheduler_pad_unlink):
8817         * testsuite/schedulers/Makefile.am:
8818         Implemented group splitting and rechaining.
8819         Fixes 143777 and 143777-2 in the testsuite.
8820
8821 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8822
8823         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8824           extra debugging
8825         * gst/gstevent.h:
8826         * gst/gstinfo.c: (gst_debug_log_default):
8827           print time nicely.  add thread pointer until someone figures out
8828           a completely portable way of getting at thread id's.
8829         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8830         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8831         (gst_pad_call_chain_function):
8832           extra debugging
8833         * gst/schedulers/gstoptimalscheduler.c:
8834         (get_group_schedule_function), (loop_group_schedule_function),
8835         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8836         (pad_clear_queued), (gst_opt_scheduler_iterate):
8837           rename BUFPEN and friends to DATAPEN since that's what they are.
8838
8839 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8840
8841         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8842         * gst/gstbuffer.h:
8843         * gst/gstpad.c:
8844           cleanups and debugging
8845
8846 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8847
8848         * configure.ac:
8849         * gst/gstvalue.c: (gst_value_compare_enum),
8850         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8851         (gst_value_can_compare), (gst_value_compare):
8852         * testsuite/Makefile.am:
8853         * testsuite/enumcaps/Makefile.am:
8854         * testsuite/enumcaps/enumcaps.c:
8855           Fix enum serialization, deserialization, comparison in caps, add
8856           a test to ensure that this continues working in the future.
8857
8858 2004-07-06  David Schleef  <ds@schleef.org>
8859
8860         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8861         Fix memleak.
8862
8863 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8864
8865         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8866         * gst/gstplugin.h:
8867         * gst/registries/gstxmlregistry.c:
8868         (plugin_times_older_than_recurse), (plugin_times_older_than),
8869         (gst_xml_registry_parse_padtemplate):
8870           only rebuild registry when actual plugins have a newer time than
8871           the registry.  Fixes #145520
8872
8873 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * docs/manual/manual.xml:
8876         * docs/manual/win32.xml:
8877           add chapter on win32 building.  fixes #142422
8878
8879 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8880
8881         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8882
8883         * gst/autoplug/gstspider.c: (gst_spider_init),
8884         (gst_spider_dispose):
8885           fix spider memleaks.  fixes #137863
8886
8887 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8888
8889         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8890
8891         * gst/schedulers/gstoptimalscheduler.c:
8892         (gst_opt_scheduler_pad_unlink):
8893           fix SIGBUS error, fixes #145338
8894
8895 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8896
8897         * gst/gstobject.c: (gst_object_replace):
8898         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8899         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8900           clean up clock lifecycle.  Fixes #109831
8901
8902 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8903
8904         * po/LINGUAS:
8905         * po/cs.po:
8906           added Czech translation (Miloslav Trmac)
8907
8908 2004-07-04  David Schleef  <ds@schleef.org>
8909
8910         * tools/Makefile.am:
8911         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8912
8913 2004-07-04  David Schleef  <ds@schleef.org>
8914
8915         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8916
8917 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8918
8919         * gst/gstbin.c: (gst_bin_restore_thyself):
8920           chain to parent restore so the bins get restored correctly
8921           in the editor
8922
8923 2004-07-03  David Schleef  <ds@schleef.org>
8924
8925         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8926         Actually do something in these functions, like before the big
8927         caps change.  (bug #145137)
8928
8929 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8930
8931         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8932         (gst_element_get_compatible_pad_filtered):
8933         * gst/gstthread.c: (gst_thread_main_loop):
8934           more debugging
8935
8936 2004-07-02  David Schleef  <ds@schleef.org>
8937
8938         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8939         * gst/gstobject.h:
8940         * gst/gstparse.h:
8941         * gst/gsttrace.h:
8942         * gst/gstxml.h:
8943
8944 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8945
8946         * gst/gstpad.c: (gst_pad_check_schedulers),
8947         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8948         (gst_pad_link_prepare):
8949           revert until testsuite is fixed
8950
8951 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8952
8953         * testsuite/Makefile.am:
8954         * testsuite/caps/filtercaps.c: (main):
8955         * testsuite/clock/clock1.c: (main):
8956         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8957           fix some more tests
8958
8959 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8960
8961         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8962         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8963         * testsuite/cleanup/cleanup4.c: (main):
8964           fix testsuite
8965
8966 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8967
8968         * libs/gst/control/control.c:
8969         * libs/gst/control/dparam.c:
8970         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8971         * libs/gst/control/dparammanager.c:
8972         * libs/gst/control/dparammanager.h:
8973         * testsuite/dynparams/Makefile.am:
8974         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8975         (gst_dptest_change_state), (gst_dptest_chain), (main):
8976           fix testcase for dparams
8977           add debugging category
8978
8979 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8980
8981         * testsuite/Rules:
8982           change path
8983
8984 2004-07-02  Benjamin Otte  <otte@gnome.org>
8985
8986         * tests/.cvsignore:
8987         * tests/Makefile.am:
8988         * tests/mass_elements.c: (gst_get_current_time), (main):
8989           add simple benchmark to test various speeds of fakesrc ! identity !
8990           identity ! ... ! fakesink.
8991           Usage: mass_elements [num_identities] [num_buffers]
8992           If not specified they default to 1000.
8993
8994 2004-07-02  Benjamin Otte  <otte@gnome.org>
8995
8996         * gst/gstpad.c: (gst_pad_check_schedulers),
8997         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8998         (gst_pad_link_prepare):
8999           check that pads that get linked belong to the same manager. The old
9000           code allowed linking elements before putting them into bins, so it
9001           worked to link them and then put them in different threads, which
9002           lead to weird behaviour.
9003           Since this effectively disallows linking elements before putting
9004           them in a bin, some applications might not work after this and error
9005           out. If these applications are too critical, we might need to revert
9006           that patch. Please test this before the next release...
9007
9008 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9009
9010         * gst/gstpad.c: (gst_pad_get_caps):
9011           throw an error if the getcaps function does not return a subset of
9012           the template caps.
9013         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
9014           make disconts without position info an error in debugging
9015         * tests/spidey_bench.c: (handoff), (main):
9016           don't count first try when averaging
9017
9018 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9019
9020         * gst/gstplugin.c: (gst_plugin_load_file):
9021           figure out problem with dynamic test
9022
9023 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9024
9025         * docs/gst/Makefile.am:
9026           fix docs build
9027
9028 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9029
9030         * po/POTFILES.in:
9031         * po/af.po:
9032         * po/az.po:
9033         * po/en_GB.po:
9034         * po/fr.po:
9035         * po/nl.po:
9036         * po/sr.po:
9037         * po/sv.po:
9038         * po/tr.po:
9039         * po/uk.po:
9040         * tools/gst-register.c: (plugin_added_func), (main):
9041           i18n-ize -register, fix plural
9042
9043 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9044
9045         * gst/elements/gstidentity.c: (gst_identity_class_init),
9046         (gst_identity_init), (gst_identity_chain),
9047         (gst_identity_set_property), (gst_identity_get_property):
9048         * gst/elements/gstidentity.h:
9049           check for perfect stream
9050
9051 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * gst/elements/gstidentity.c: (gst_identity_chain):
9054           print offset_end
9055
9056 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9057
9058         * docs/gst/Makefile.am:
9059         * docs/gst/gstreamer-docs.sgml:
9060           doc fixes
9061
9062 2004-06-24  David Schleef  <ds@schleef.org>
9063
9064         * autogen.sh:  Remove call to env, since the buildbot isn't
9065         broken anymore.
9066
9067 2004-06-24  Wim Taymans  <wim@fluendo.com>
9068
9069         * gst/elements/Makefile.am:
9070         * gst/elements/gstelements.c:
9071         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9072         (gst_multifdsink_class_init), (gst_multifdsink_init),
9073         (gst_multifdsink_add), (gst_multifdsink_remove),
9074         (gst_multifdsink_clear), (gst_multifdsink_chain),
9075         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9076         * gst/elements/gstmultifdsink.h:
9077         Added an element that writes to multiple filedescriptors at once.
9078
9079 2004-06-24  Benjamin Otte  <otte@gnome.org>
9080
9081         * gst/parse/grammar.y:
9082           don't try to link elements before they have been added to bins
9083
9084 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9085
9086         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9087         (gst_file_pad_get_length):
9088         * libs/gst/bytestream/filepad.h:
9089           add 2 new functions
9090
9091 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9092
9093         * docs/gst/gstreamer-sections.txt:
9094         remove from docs, the define that Benjamin removed from gstelement.h
9095
9096 2004-06-22  Benjamin Otte  <otte@gnome.org>
9097
9098         * gst/gstelement.h:
9099           remove define that referenced a nonexisting GstElement struct member
9100
9101 2004-06-20  Benjamin Otte  <otte@gnome.org>
9102
9103         * gst/gstdata.c: (gst_data_is_writable):
9104           whoops, return values were wrong, so writable data was marked as
9105           non-writable and vice versa. (fixes #143953, spotted by Francis
9106           Labonte)
9107           Shows how rarely we need to copy data ;)
9108
9109 2004-06-20  Benjamin Otte  <otte@gnome.org>
9110
9111         * testsuite/schedulers/.cvsignore:
9112         * testsuite/schedulers/Makefile.am:
9113         * testsuite/schedulers/143777-2.c: (main):
9114           add test for opt breakage in bug #143777
9115
9116 2004-06-20  Benjamin Otte  <otte@gnome.org>
9117
9118         * gst/gstpad.c: (gst_pad_call_chain_function):
9119           check for if we were unlinked while inside the chainfunction (fixes
9120           entrygthread having issues with #143777)
9121         * testsuite/schedulers/143777.c: (main):
9122         * testsuite/schedulers/Makefile.am:
9123           add a test for that fix
9124
9125 2004-06-20  Benjamin Otte  <otte@gnome.org>
9126
9127         * gst/gstvalue.c: (gst_value_set_int_range):
9128           test that start is smaller then end
9129         * libs/gst/bytestream/Makefile.am:
9130         * libs/gst/bytestream/filepad.c: 
9131         * libs/gst/bytestream/filepad.h:
9132           add GstFilePad - a pad that behaves like a FILE*
9133         * testsuite/bytestream/.cvsignore:
9134         * testsuite/bytestream/Makefile.am:
9135         * testsuite/bytestream/filepadsink.c: 
9136           test for the GstFilePad
9137
9138 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9139
9140         * gst/elements/gstidentity.c: (gst_identity_class_init),
9141         (gst_identity_init), (gst_identity_set_clock),
9142         (gst_identity_chain), (gst_identity_set_property),
9143         (gst_identity_get_property):
9144         * gst/elements/gstidentity.h:
9145         * gst/gstclock.c: (gst_clock_id_wait):
9146           add a "sync" property to sync to the clock
9147
9148 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9149
9150         * gst/gstelementfactory.c: (gst_element_factory_create):
9151           make the freakin "elementfactory bla has no type" message more
9152           useful. So we actually can do something when someone shows up
9153           complaining about it.
9154
9155 2004-06-15  Johan Dahlin  <johan@gnome.org>
9156
9157         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9158         found. This matches the old behavior better. Thanks to Thomas for
9159         pointing out.
9160
9161 2004-06-14  David Schleef  <ds@schleef.org>
9162
9163         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9164         -fomit-frame-pointer.  Appears to generate correct code in
9165         other cases as well.
9166
9167 2004-06-14  Johan Dahlin  <johan@gnome.org>
9168
9169         * tools/gst-inspect.c (main): Add two new command line options: -a
9170         to print all elements and -n to print the name on each line. Also
9171         fix some error reporting.
9172         (main): Simplify, remove -n and always print names if -a is specified
9173
9174 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9175
9176         * win32/gstconfig.h:
9177         * win32/GSTreamer.vcproj:
9178         * win32/Makefile:
9179         * gst/gstconfig.h.in:
9180         * gst/gst.h:
9181         * gst/gstbin.h:
9182         * gst/gstelement.h:
9183         * gst/gstevent.h:
9184         * gst/gstobject.h:
9185         * gst/gstpad.h:
9186         * docs/gst/gstreamer-sections.txt:
9187         * docs/gst/tmpl/gstconfig.sgml:
9188           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9189
9190 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9191         * docs/gst/gstreamer-sections.txt:
9192         * docs/gst/tmpl/gstconfig.sgml:
9193         Add the GSTREAMER_EXPORT macro to the docs
9194
9195 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9196
9197         * tools/gst-compprep.c: (handle_xmlerror), (main):
9198         Add a check for the version that introduced SetStructuredError to fix
9199         the build on FC1
9200
9201 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9202
9203         * win32/msvc71.sln:
9204         * win32/testsuite/:
9205           prepare to compile the testsuite with MSVC
9206
9207 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9208
9209         * docs/manual/win32.xml:
9210           attempt to transform the Win32 README into an XML doc
9211
9212 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9213
9214         * gst/gst.c:
9215         * gst/gstbin.*:
9216         * gst/config.h.in:
9217         * gst/gstelement.*:
9218         * gst/gstevent.h:
9219         * gst/gstobject.*:
9220         * gst/gstpad.h:
9221         * tools/gst-register.c:
9222         * win32/gstreamer.def:
9223           extern symbols are now exported for the Windows DLL
9224
9225 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9226
9227         * gst/gstinfo.h:
9228           fix a problem to enable/disable DEBUG under MSVC
9229
9230 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9231
9232         * win32/:
9233           enable more debug code in DEBUG build
9234
9235 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9236
9237         * win32/config.h:
9238         * gst/gst-i18n-app.h:
9239           enable NLS under Windows
9240
9241 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9242         * tools/gst-compprep.c: (handle_xmlerror), (main):
9243           Make an error that baffled me a bit clearer
9244
9245 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9246
9247         * gst/gstqueue.c:
9248           don't use g_queue_get_length () because it's 2.4, use ->length
9249
9250 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9251
9252         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9253
9254         * tools/gst-inspect.c: (print_signal_info):
9255           don't free random data twice. (fixes #144185)
9256
9257 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9258
9259         * gst/gstqueue.c:
9260         * gst/gstqueue.h:
9261           fix removing from the wrong queue on event timeout
9262           fix disposing of the event queue by casting correctly
9263           add mutexes for handling the event queue
9264           someone was sleeping when fixing queue last time around :)
9265
9266 2004-06-10  Johan Dahlin  <johan@gnome.org>
9267
9268         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9269         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9270
9271 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9272
9273         * docs/random/gdp:
9274         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9275         * libs/gst/dataprotocol/dataprotocol.c:
9276         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9277         (gst_dp_buffer_from_header):
9278         * libs/gst/dataprotocol/dataprotocol.h:
9279         * libs/gst/dataprotocol/dp-private.h:
9280           rev version to 0.1, add buffer flags and copy them
9281
9282 2004-06-09  Johan Dahlin  <johan@gnome.org>
9283
9284         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9285         the flags from the buffer we're copying.
9286
9287 2004-06-09  Wim Taymans  <wim@fluendo.com>
9288
9289         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9290         * gst/elements/gstidentity.c: (gst_identity_init),
9291         (gst_identity_chain):
9292         Print more buffer info in fakesink.
9293         Make identity output similar to fakesink.
9294
9295 2004-06-07  Daniel Gazard  <dany42@free.fr>
9296
9297         reviewed by Benjamin Otte  <otte@gnome.org>
9298
9299         * configure.ac:
9300           fix cross compiling not working. (fixes #143741)
9301
9302 2004-06-07  Benjamin Otte  <otte@gnome.org>
9303
9304         * gst/gstelement.c: (gst_element_set_time_delay):
9305           add failure check
9306         * gst/gstinfo.h:
9307           put brackets around macro arguments of GST_TIME_ARGS, add note to
9308           move it to correct header in 0.9
9309
9310 2004-06-07  Benjamin Otte  <otte@gnome.org>
9311
9312         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9313         (gst_file_index_load), (_file_index_id_save_entries),
9314         (gst_file_index_commit), (gst_file_index_add_association),
9315         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9316         (gst_file_index_plugin_init):
9317           make debugging use a default category
9318
9319 2004-06-06  David Moore  <dcm@acm.org>
9320
9321         reviewed by Benjamin Otte  <otte@gnome.org>
9322
9323         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9324         (gst_fdsrc_change_state):
9325           reset offset counter when going READY => PAUSED. (fixes #142903)
9326
9327 2004-06-06  ed@catmur.co.uk
9328
9329         reviewed by Benjamin Otte  <otte@gnome.org>
9330
9331         * gst/registries/gstxmlregistry.c:
9332         (gst_xml_registry_rebuild_recurse):
9333           don't rely on g_dir_open to figure out if a file is a directory, use
9334           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9335           directories. (fixes #142850)
9336
9337 2004-06-06  Benjamin Otte  <otte@gnome.org>
9338
9339         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9340           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9341         * libs/gst/bytestream/adapter.c:
9342         * libs/gst/bytestream/adapter.h:
9343           fix copyright in header and typo in debugging category name
9344
9345 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9346
9347         * configure.ac:
9348           bump nano to cvs
9349
9350 === release 0.8.3 ===
9351
9352 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9353
9354         * configure.ac:
9355           update libtool versioning
9356           do a new release
9357         * docs/gst/tmpl/gstelement.sgml:
9358         * docs/gst/tmpl/gsttypes.sgml:
9359         * gst/gstinfo.c: (_gst_debug_init):
9360           put back GST_CAT_DATAFLOW to fix API breakage
9361
9362 2004-06-04  David Schleef  <ds@schleef.org>
9363
9364         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9365
9366 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9367
9368         * configure.ac:
9369           bump nano to cvs
9370
9371 === release 0.8.2 ===
9372
9373 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9374
9375         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9376           check GST_DEBUG environment variable which is parsed the same way
9377           as --gst-debug=
9378
9379 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9380
9381         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9382                             gstmd5sink.c gstshaper.c gsttee.c
9383                             gsttypefindelement.c
9384         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9385
9386           - removing trailing commas at end of enums
9387             it is correct C99 code but C90 compilers would complain
9388             (AIX, Forte, ...)
9389             ('should' fix #143290, at least partially)
9390
9391 2004-05-27  Wim Taymans  <wim@fluendo.com>
9392
9393         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9394         (chain_group_set_enabled), (create_group), (add_to_group),
9395         (merge_groups), (setup_group_scheduler), (group_elements),
9396         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9397         Don't try to follow the pad connections with other groups
9398         when a loop based element is added to the scheduler because
9399         the bin will inform the scheduler about the pad links a little
9400         later.
9401
9402 2004-05-27  Wim Taymans  <wim@fluendo.com>
9403
9404         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9405         (remove_from_chain), (chain_group_set_enabled),
9406         (setup_group_scheduler), (group_element_set_enabled),
9407         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9408         (gst_opt_scheduler_show):
9409         Elements without a group can do a state change as well, just wait
9410         with the setup of the scheduling function when it is added to a
9411         chain.
9412
9413 2004-05-27  Wim Taymans  <wim@fluendo.com>
9414
9415         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9416         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9417         (merge_groups), (setup_group_scheduler),
9418         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9419         (gst_opt_scheduler_show):
9420         Fixes to maintain internal consistency of the scheduler data
9421         structures. 
9422          - adding an enabled group to a chain should increment the
9423            number of enabled elements in that chain.
9424          - removing an enabled group from a chain could disable the
9425            chain.
9426          - removing a disabled group from a chain could enable the
9427            chain.
9428          - add g_assert when internal inconsistency is detected.
9429          - adding an element to a group could increase the number of
9430            links this group has with other groups.
9431          - merging two groups also merges the chains.
9432          - also show group links in the _show method.
9433            
9434
9435 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9436
9437         * gst/gstcaps.c: (gst_caps_structure_simplify):
9438           don't print error messages when there is no error
9439         * gst/gstvalue.c: (gst_value_compare_int_range):
9440           compare the second value, too
9441         * testsuite/caps/Makefile.am:
9442         * testsuite/caps/random.c: (assert_on_error), (main):
9443           add tests to make sure the two things above are checked for
9444
9445 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9446
9447         * configure.ac:
9448         * libs/gst/dataprotocol/Makefile.am:
9449         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9450         * libs/gst/dataprotocol/dataprotocol.h:
9451           wrap header in GST_ENABLE_NEW.  make code use it
9452
9453 2004-05-23  Johan Dahlin  <johan@gnome.org>
9454
9455         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9456         so verbose and print GstElement signal names all the time.
9457
9458 2004-05-22  David Schleef  <ds@schleef.org>
9459
9460         * gst/registries/gstxmlregistry.c:
9461         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9462         (bug #142957)
9463
9464 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9465
9466         * configure.ac:
9467           scrub cflags for glib2 so gcc doesn't complain when glib is in
9468           /usr/local
9469
9470 2004-05-21  Johan Dahlin  <johan@gnome.org>
9471
9472         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9473         __GNUC__, patch from Brian Cameron, fixes bug #142804
9474
9475 2004-05-20  David Schleef  <ds@schleef.org>
9476
9477         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9478         comparison code.  (bug #142819)
9479
9480 2004-05-20  Wim Taymans  <wim@fluendo.com>
9481
9482         * gst/gstbuffer.c: (gst_buffer_default_copy):
9483         * gst/gstbuffer.h:
9484         Added Comment to a flag.
9485         copy relevant flags in _buffer_copy.
9486
9487 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9488
9489         reviewed by: Wim Taymans <wim at fluendo dot com>
9490
9491         * gst/gstbuffer.h:
9492           add GST_BUFFER_IN_CAPS buffer flag
9493         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9494         (gst_structure_parse_any_list), (gst_structure_parse_list),
9495         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9496         * gst/gstvalue.c: (gst_value_serialize_any_list),
9497         (gst_value_transform_any_list_string),
9498         (gst_value_list_prepend_value), (gst_value_list_append_value),
9499         (gst_value_list_get_size), (gst_value_list_get_value),
9500         (gst_value_transform_list_string),
9501         (gst_value_transform_fixed_list_string),
9502         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9503         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9504         (_gst_value_initialize):
9505         * gst/gstvalue.h:
9506           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9507           < , > as a format.
9508         * testsuite/caps/string-conversions.c: (main):
9509           add regression tests for < >
9510
9511 2004-05-20  Johan Dahlin  <johan@gnome.org>
9512
9513         * docs/gst/Makefile.am (all-local): Re-add
9514
9515 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9516
9517         * docs/gst/Makefile.am:
9518         * docs/gst/gstreamer-docs.sgml:
9519         * docs/libs/Makefile.am:
9520         * docs/libs/gstreamer-libs-docs.sgml:
9521           fix distcheck issues
9522
9523 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9524
9525         * libs/gst/dataprotocol/Makefile.am:
9526           add to autotest
9527
9528 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9529
9530         * libs/gst/dataprotocol/Makefile.am:
9531         * libs/gst/dataprotocol/dataprotocol.c:
9532         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9533         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9534         * libs/gst/dataprotocol/dp-private.h:
9535           use GST macros to read/write fixed length ints
9536           add some more asserts
9537
9538 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9539
9540         * docs/libs/gstreamer-libs-docs.sgml:
9541         * docs/libs/gstreamer-libs-sections.txt:
9542           remove idct and putbits
9543         * configure.ac:
9544         * docs/libs/tmpl/gstdataprotocol.sgml:
9545         * libs/gst/Makefile.am:
9546         * libs/gst/dataprotocol/Makefile.am:
9547         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9548         (buffer_test), (caps_test), (event_test), (main):
9549         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9550         (gst_dp_dump_byte_array), (gst_dp_init),
9551         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9552         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9553         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9554         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9555         (gst_dp_validate_header), (gst_dp_validate_payload),
9556         (gst_dp_validate_packet), (plugin_init):
9557         * libs/gst/dataprotocol/dataprotocol.h:
9558         * libs/gst/dataprotocol/dp-private.h:
9559           add dataprotocol
9560
9561 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9562
9563         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9564           fix int variable deserialization and add a helper so we can actually
9565           debug this.
9566
9567 2004-05-18  David Schleef  <ds@schleef.org>
9568
9569         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9570           argv[0].  Calling yourself is probably not the best way to
9571           construct a test like this, btw.
9572
9573 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9574
9575         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9576           don't claim to be more intelligent than a scheduler when the
9577           scheduler claims the pipeline is stopped
9578         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9579         (safe_cothread_destroy),
9580         (gst_entry_scheduler_remove_all_cothreads),
9581         (gst_entry_scheduler_reset), (_remove_cothread),
9582         (gst_entry_scheduler_state_transition):
9583           hold off cothread destruction if we're not in main cothread
9584         * configure.ac:
9585         * testsuite/Makefile.am:
9586           add new test dir
9587         * testsuite/schedulers/.cvsignore:
9588         * testsuite/schedulers/Makefile.am:
9589           add tests
9590         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9591           check relinking and adding/removing elements from a running pipeline
9592         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9593           check unlinking in a running pipeline
9594         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9595           check unreffing a running pipeline
9596         * testsuite/schedulers/useless_iteration.c: (main):
9597           check iterating a pipeline that contains running threads works
9598
9599 2004-05-18  David Schleef  <ds@schleef.org>
9600
9601         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9602           is false.
9603
9604 2004-05-18  Wim Taymans  <wim@fluendo.com>
9605
9606         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9607         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9608         Fixed an error introduced with patch for 1.63. When setting
9609         a get based element as the entry point in a group, make sure
9610         to mark the group as GET based.
9611
9612 2004-05-18  Wim Taymans  <wim@fluendo.com>
9613
9614         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9615         (setup_group_scheduler), (loop_group_schedule_function),
9616         (gst_opt_scheduler_pad_link):
9617         Added some more debug info and fixed a bug where the group
9618         type was set to LOOP but it was in fact unknown.
9619
9620 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9621
9622         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9623           make resetting scheduler work twice in a row
9624
9625 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9626
9627         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9628         (CREATE_USERIALIZATION), (_gst_value_initialize),
9629         (gst_value_compare_float), (gst_value_serialize_float),
9630         (gst_value_deserialize_float), (gst_value_compare_enum),
9631         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9632           add serialization and comparison functions for long, int64, enum and
9633           float values
9634         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9635           use best serialization function in type hierarchy instead of only a
9636           matching one. This is required for enums to work.
9637         * gst/parse/grammar.y:
9638           use gst_caps_deserialize
9639         * testsuite/parse/Makefile.am:
9640           parse1 now works
9641         * testsuite/parse/parse1.c: (main):
9642           remove aggregator check, aggregator is broken, this test works now
9643           but fails because of bug #138012
9644         * testsuite/parse/parse2.c: (main):
9645           s/xvideosink/xvimagesink - this test looks a lot like we should
9646           disable it
9647
9648 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9649
9650         * gst/gstelement.c: (gst_element_class_init):
9651           whoops, store the signal id correctly
9652         * gst/schedulers/gstbasicscheduler.c:
9653         (gst_basic_scheduler_chain_wrapper):
9654           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9655           chain function isn't linked
9656
9657 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9658         * configure.ac:
9659         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9660         support until we decide where the flags should be used
9661         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9662         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9663         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9664         Output refused caps in the debug info
9665
9666 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9667
9668         * gst/elements/gstidentity.c: (gst_identity_chain):
9669           add duration debug
9670         * gst/gstinfo.c: (gst_debug_log_default):
9671           add timestamp
9672
9673 2004-05-13  Benjamin Otte  <otte@gnome.org>
9674
9675         * gst/gstpipeline.c: (gst_pipeline_dispose),
9676         (gst_pipeline_change_state):
9677           call gst_scheduler_reset on dispose (fixes #141416)
9678
9679 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9680
9681         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9682           compute mapsize correctly
9683         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9684           use correct datatypes when calling a varargs function
9685         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9686           push a DISCONT event as first thing
9687         * gst/gst_private.h:
9688         * gst/gstinfo.c: (_gst_debug_init):
9689           remove GST_DATAFLOW debugging category
9690         * gst/gstbin.c: (gst_bin_iterate):
9691           use GST_SCHEDULING category
9692         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9693         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9694         (gst_pad_call_get_function):
9695           add GST_DATAFLOW to easily track flow of buffers or events.
9696         * gst/gstqueue.c: (gst_queue_get_type),
9697         (gst_queue_handle_pending_events), (gst_queue_chain),
9698         (gst_queue_get), (gst_queue_handle_src_event):
9699           use own static debugging category GST_DATAFLOW for dataflow,
9700           use DEBUG category for showing which path events go, use LOG
9701           category for buffers.
9702
9703 2004-05-10  David Schleef  <ds@schleef.org>
9704
9705         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9706
9707 2004-05-10  David Schleef  <ds@schleef.org>
9708
9709         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9710         symbols, because otherwise we don't know what they are.  Thanks,
9711         the GStreamer team.
9712         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9713
9714 2004-05-10  David Schleef  <ds@schleef.org>
9715
9716         (from Steve Lhomme)
9717         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9718         are deleted.  Fix.
9719         * win32/Makefile.inspect:
9720         * win32/Makefile.launch:
9721         * win32/Makefile.register:
9722
9723 2004-05-10  David Schleef  <ds@schleef.org>
9724
9725         * gst/gstinfo.h: Add missing inline function.
9726         * gst/gsttrace.c: add include
9727         * gst/parse/grammar.y: remove unused code
9728         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9729         more portable.
9730         * tools/gst-register.c: wrap unistd.h
9731         
9732         More additions/fixes from Steve for the MSVC build.
9733         * win32/GStreamer.vcproj:
9734         * win32/Makefile:
9735         * win32/Makefile.inspect:
9736         * win32/Makefile.launch:
9737         * win32/Makefile.register:
9738         * win32/README.txt:
9739         * win32/gst-inspect.vcproj:
9740         * win32/gst-launch.vcproj:
9741         * win32/gst-register.vcproj:
9742         * win32/gstbytestream.def:
9743         * win32/gstbytestream.vcproj:
9744         * win32/gstconfig.h:
9745         * win32/gstelements.def:
9746         * win32/gstelements.vcproj:
9747         * win32/gstenumtypes.c:
9748         * win32/gstenumtypes.h:
9749         * win32/gstoptimalscheduler.def:
9750         * win32/gstoptimalscheduler.vcproj:
9751         * win32/gstreamer.def:
9752         * win32/gstspider.def:
9753         * win32/gstspider.vcproj:
9754         * win32/gstversion.h:
9755         * win32/msvc71.sln:
9756
9757 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9758
9759         * gst/gstelement.c: (gst_element_class_init),
9760         (gst_element_no_more_pads):
9761         * gst/gstelement.h:
9762           add gst_element_no_more_pads and the "no-more-pads" signal
9763
9764 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9765
9766         * gst/gstregistry.c: (gst_registry_add_plugin):
9767           refuse to add plugins when a plugin with same name is already
9768           registered. Fixes a bunch of "How to remove plugins?" issues.
9769           May lead to other problems though, let's test
9770
9771 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9772
9773         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9774         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9775         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9776
9777 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * tests/Makefile.am: fix am16 issue
9780
9781 2004-05-09  Benjamin Otte  <otte@gnome.org>
9782
9783         * libs/gst/bytestream/Makefile.am:
9784           we should indeed add .c files to makefiles or they won't be built
9785           (d'oh)
9786
9787 2004-05-08  Benjamin Otte  <otte@gnome.org>
9788
9789         * gst/gstpad.c: (gst_pad_proxy_fixate):
9790           really reduce the set of caps
9791
9792 2004-05-08  Benjamin Otte  <otte@gnome.org>
9793
9794         * tests/Makefile.am:
9795         * tests/spidey_bench.c: (handoff), (main):
9796           add benchmark to test how long spider needs to create a pipeline
9797
9798 2004-05-08  Benjamin Otte  <otte@gnome.org>
9799
9800         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9801           mark links as unengaged when unnegotiating instead of deactivating.
9802           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9803
9804 2004-05-08  Benjamin Otte  <otte@gnome.org>
9805
9806         * docs/manual/helloworld.xml:
9807           s/audiosink/osssink (patch by Patrick Guimond)
9808
9809 2004-05-07  David Schleef  <ds@schleef.org>
9810
9811         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9812         since it contains important stuff.
9813
9814 2004-05-07  David Schleef  <ds@schleef.org>
9815
9816         * testsuite/caps/caps.c: (test3), (main): A check for appending
9817         ANY caps.
9818
9819 2004-05-07  David Schleef  <ds@schleef.org>
9820
9821         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9822         which may contain commas.  Fixes detection of -Wa,-mregnames
9823
9824 2004-05-06  David Schleef  <ds@schleef.org>
9825
9826         Changes to handle compilers that don't have variadic macro
9827         support.  In particular, glib headers define some inlines
9828         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9829         builds.
9830         * gst/Makefile.am:
9831         * gst/cothreads.c:
9832         * gst/elements/gstfdsink.c:
9833         * gst/elements/gstfdsrc.c:
9834         * gst/elements/gstfilesink.c:
9835         * gst/elements/gstfilesrc.c:
9836         * gst/gst_private.h:
9837         * gst/gstatomic.c:
9838         * gst/gstcaps.c: (gst_caps_append):
9839         * gst/gstcpu.c: (gst_cpuid_i386):
9840         * gst/gstelement.c:
9841         * gst/gsterror.c:
9842         * gst/gstfilter.c:
9843         * gst/gstinfo.h:
9844         * gst/gstprobe.c:
9845         * gst/gstquery.c:
9846         * gst/gstregistry.c:
9847         * gst/gststructure.c:
9848         * gst/gsttaginterface.c:
9849         * gst/gsttrace.c: (gst_trace_new):
9850         * gst/gsttrashstack.c:
9851         * gst/gsturi.c:
9852         * gst/gstvalue.c:
9853         * gst/parse/grammar.y:
9854         * gst/parse/parse.l:
9855         * tools/gst-inspect.c: (main):
9856         * tools/gst-launch.c: (main):
9857         * tools/gst-xmlinspect.c: (PUT_STRING):
9858
9859 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9860
9861         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9862         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9863         * gst/elements/gstfilesrc.h:
9864           send NEW_MEDIA events correctly
9865         * gst/elements/gsttypefindelement.c: (start_typefinding),
9866         (gst_type_find_element_handle_event):
9867           restart typefinding when we get a NEW_MEDIA event
9868         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9869         (gst_bin_dispose):
9870           don't die when someone removes elements in callbacks
9871         * gst/gstelement.c: (gst_element_change_state):
9872           improve debugging
9873         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9874           we need a NEW_MEDIA event to engage a link
9875         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9876           don't g_print debugging stuff
9877         * testsuite/caps/simplify.c: (check_caps):
9878
9879 2004-05-04  Benjamin Otte  <otte@gnome.org>
9880
9881         * gst/parse/grammar.y:
9882           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9883
9884 2004-05-04  Benjamin Otte  <otte@gnome.org>
9885
9886         * testsuite/caps/renegotiate.c: (main):
9887           improve output in error case
9888
9889 2004-05-04  Benjamin Otte  <otte@gnome.org>
9890
9891         * gst/parse/grammar.y:
9892           fix assert to not trigger when there's no error argument
9893         * gst/parse/parse.l:
9894           fix definition of caps to allow more than two structures
9895         * testsuite/caps/Makefile.am:
9896         * testsuite/caps/renegotiate.c: (main):
9897           it's sinesrc and works in that case
9898
9899 2004-05-04  Wim Taymans  <wim@fluendo.com>
9900
9901         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9902         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9903         when removing an element from a group, we always need to
9904         decrement the link count that this group had with other 
9905         groups through the element.
9906         added an extra assert to catch inconsistencies when decrementing
9907         the link count.
9908
9909 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * configure.ac:
9912         * docs/gst/Makefile.am:
9913         * docs/gst/gstreamer-sections.txt:
9914         * docs/gst/tmpl/gstcompat.sgml:
9915         * examples/appreader/Makefile.am:
9916         * examples/cutter/Makefile.am:
9917         * examples/events/Makefile.am:
9918         * examples/helloworld/Makefile.am:
9919         * examples/helloworld2/Makefile.am:
9920         * examples/launch/Makefile.am:
9921         * examples/manual/Makefile.am:
9922         * examples/mixer/Makefile.am:
9923         * examples/pingpong/Makefile.am:
9924         * examples/plugins/Makefile.am:
9925         * examples/queue/Makefile.am:
9926         * examples/queue2/Makefile.am:
9927         * examples/queue3/Makefile.am:
9928         * examples/queue4/Makefile.am:
9929         * examples/retag/Makefile.am:
9930         * examples/thread/Makefile.am:
9931         * examples/typefind/Makefile.am:
9932         * examples/xml/Makefile.am:
9933         * gst/Makefile.am:
9934         * gst/autoplug/Makefile.am:
9935         * gst/elements/Makefile.am:
9936         * gst/gstcompat.h:
9937         * gst/indexers/Makefile.am:
9938         * gst/parse/Makefile.am:
9939         * gst/registries/Makefile.am:
9940         * gst/schedulers/Makefile.am:
9941         * libs/gst/bytestream/Makefile.am:
9942         * libs/gst/control/Makefile.am:
9943         * libs/gst/getbits/Makefile.am:
9944         * po/af.po:
9945         * po/az.po:
9946         * po/en_GB.po:
9947         * po/fr.po:
9948         * po/nl.po:
9949         * po/sr.po:
9950         * po/sv.po:
9951         * po/tr.po:
9952         * po/uk.po:
9953         * tests/Makefile.am:
9954         * tests/bufspeed/Makefile.am:
9955         * tests/instantiate/Makefile.am:
9956         * tests/memchunk/Makefile.am:
9957         * tests/muxing/Makefile.am:
9958         * tests/negotiation/Makefile.am:
9959         * tests/probes/Makefile.am:
9960         * tests/sched/Makefile.am:
9961         * tests/seeking/Makefile.am:
9962         * tests/threadstate/Makefile.am:
9963         * testsuite/caps/Makefile.am:
9964         * testsuite/cleanup/Makefile.am:
9965         * testsuite/dlopen/Makefile.am:
9966         * testsuite/dynparams/Makefile.am:
9967         * testsuite/plugin/Makefile.am:
9968         * testsuite/states/Makefile.am:
9969         * tools/Makefile.am:
9970           reorganize compile/link flags to be consistent
9971           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9972
9973 2004-05-04  David Schleef  <ds@schleef.org>
9974
9975         The "once more, with feeling" check-in.
9976         * testsuite/caps/Makefile.am: dist caps_strings
9977         * testsuite/caps/renegotiate.c: (main): This test triggers a
9978           segfault in the core.  Marking as failing.
9979
9980 2004-05-03  David Schleef  <ds@schleef.org>
9981
9982         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9983           by the build bots.
9984         * testsuite/caps/renegotiate.c: (main): Same.
9985
9986 2004-05-03  David Schleef  <ds@schleef.org>
9987
9988         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9989
9990 2004-05-03  David Schleef  <ds@schleef.org>
9991
9992         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9993           variable to find our source file.
9994
9995 2004-05-03  David Schleef  <ds@schleef.org>
9996
9997         * configure.ac:  Link plugins with libgstreamer and dependent
9998           libraries
9999         * testsuite/caps/Makefile.am:
10000         * testsuite/caps/caps_strings:
10001         * testsuite/caps/deserialize.c: (main): Add a little test to slog
10002           through a file of caps strings and test each one
10003
10004 2004-05-04  Benjamin Otte  <otte@gnome.org>
10005
10006         * libs/gst/bytestream/Makefile.am:
10007         * libs/gst/bytestream/adapter.c: 
10008         * libs/gst/bytestream/adapter.h:
10009           add GstAdapter, similar to bytestream, but doesn't require ugly event
10010           handling or uglier loopbased elements
10011
10012 2004-05-03  David Schleef  <ds@schleef.org>
10013
10014         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
10015         * testsuite/caps/erathostenes.c:
10016         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
10017
10018 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10019
10020         * docs/pwg/pwg.xml:
10021           remove hardcoded stylesheet path (duh)
10022         * docs/random/release:
10023         * docs/gst/gstreamer-sections.txt:
10024         * gst/Makefile.am:
10025         * gst/gst.h:
10026         * gst/gst_private.h:
10027         * gst/gstcaps.c:
10028         * gst/gstevent.c:
10029         * gst/gstformat.c:
10030         * gst/gstinfo.c:
10031         * gst/gstinfo.h:
10032         * gst/gstinterface.c:
10033         * gst/gstmemchunk.c:
10034         * gst/gstprobe.c:
10035         * gst/gstquery.c:
10036         * gst/gstregistry.c:
10037         * gst/gstregistrypool.c:
10038         * gst/gststructure.c:
10039         * gst/gsttaginterface.c:
10040         * gst/gstthread.c:
10041         * gst/gsttrace.c:
10042         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10043         * gst/gsturi.c:
10044         * gst/gstvalue.c:
10045           deprecate gst_info; remove gstlog.h
10046    
10047
10048 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * Makefile.am:
10051         * po/en_GB.po:
10052         * po/sv.po:
10053         * po/uk.po:
10054           updated translations
10055
10056 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10057
10058         * gst/gstbin.c: (gst_bin_dispose):
10059           better debugging
10060
10061 2004-05-03  Johan Dahlin  <johan@gnome.org>
10062
10063         * gst/schedulers/gstoptimalscheduler.c
10064         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10065         really is a GstElement. Avoids critical when running gst-launch -v
10066         and a oggdemux/decoding pipeline.
10067
10068 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10069
10070         * docs/gst/tmpl/gstpipeline.sgml :
10071         * docs/manual/elements-api.xml :
10072                 doc fix by Patrick Guimond (Protector) from devel ML
10073                 reviewed by ronald
10074
10075 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10076
10077         * docs/gst/Makefile.am :
10078         * docs/libs/Makefile.am :
10079                 apply a patch from Arwed v. Merkatz so that gtk-doc
10080                 generated docs install (same for .devhelp file)
10081                 (fixes part 1 of #138836)
10082
10083 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10084
10085         * docs/faq/dependencies.xml: typo
10086         * docs/faq/getting.xml :
10087             - fix download URL for new gstreamer site
10088             - hide sf.net download page as latest version aren't there
10089             - fix apt URLs
10090             - fill "get via CVS" paragraph (link to dev page on the site)
10091         * docs/faq/general.xml:
10092             hide status tables as they no more exists
10093             change case on plugins license file to reflect reality
10094         * docs/faq/troubleshooting.xml:
10095             remove the wiki question/answer as there is no more wiki
10096
10097 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * gst/gsterror.h:
10100           include the headers needed for declarations used in this header
10101
10102 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10103
10104         * docs/random/uraeus/gstreamer_and_midi.txt :
10105           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10106           (fixes #132288)
10107
10108 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10109
10110         reviewed by Benjamin Otte  <otte@gnome.org>
10111
10112         * gst/schedulers/gthread-cothreads.h:
10113           free allocated data for main cothread, too when destroying context
10114           (fixes #141417)
10115
10116 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10117
10118         * docs/manual/goals.xml : remove duplicated paragraph at end 
10119         of doc page (fixes #141448)
10120
10121 2004-04-29  David Schleef  <ds@schleef.org>
10122
10123         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10124         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10125
10126 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10129           fix property
10130         * gst/gstcaps.c:
10131           fix doc string
10132         * po/POTFILES.in:
10133           rename typefind source file
10134
10135 2004-04-28  David Schleef  <ds@schleef.org>
10136
10137         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10138         * win32/GStreamer.vcproj:
10139         * win32/Makefile:
10140         * win32/config.h:
10141         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10142         (_trewinddir), (_ttelldir), (_tseekdir):
10143         * win32/dirent.h:
10144         * win32/gst-inspect.vcproj:
10145         * win32/gst-launch.vcproj:
10146         * win32/gst-register.vcproj:
10147         * win32/gstbytestream.vcproj:
10148         * win32/gstelements.vcproj:
10149         * win32/gstoptimalscheduler.vcproj:
10150         * win32/gstspider.vcproj:
10151         * win32/gtchar.h:
10152         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10153         * win32/mman.h:
10154         * win32/mman.inl:
10155         * win32/msvc71.sln:
10156
10157 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10158
10159         * gst/gst.c: (init_post):
10160         * gst/gstinfo.c:
10161           remove useless _gst_progname stuff
10162         * tools/gst-inspect.c: (print_field), (print_caps):
10163           improve caps output
10164
10165 2004-04-28  David Schleef  <ds@schleef.org>
10166
10167         Disable parsing of a lot of files that aren't part of the
10168         exported API.  Move corresponding template files to old/,
10169         waiting for removal when they don't contain anything
10170         interesting.
10171         * docs/gst/Makefile.am:
10172         * docs/gst/gstreamer-sections.txt:
10173         * docs/gst/tmpl/cothreads.sgml:
10174         * docs/gst/tmpl/cothreads_compat.sgml:
10175         * docs/gst/tmpl/gettext.sgml:
10176         * docs/gst/tmpl/gobject2gtk.sgml:
10177         * docs/gst/tmpl/grammar.tab.sgml:
10178         * docs/gst/tmpl/gst-i18n-app.sgml:
10179         * docs/gst/tmpl/gst-i18n-lib.sgml:
10180         * docs/gst/tmpl/gst_private.sgml:
10181         * docs/gst/tmpl/gstaggregator.sgml:
10182         * docs/gst/tmpl/gstarch.sgml:
10183         * docs/gst/tmpl/gstatomic_impl.sgml:
10184         * docs/gst/tmpl/gstbufferstore.sgml:
10185         * docs/gst/tmpl/gstdata_private.sgml:
10186         * docs/gst/tmpl/gstdisksink.sgml:
10187         * docs/gst/tmpl/gstdisksrc.sgml:
10188         * docs/gst/tmpl/gstelementfactory.sgml:
10189         * docs/gst/tmpl/gstextratypes.sgml:
10190         * docs/gst/tmpl/gstfakesink.sgml:
10191         * docs/gst/tmpl/gstfakesrc.sgml:
10192         * docs/gst/tmpl/gstfdsink.sgml:
10193         * docs/gst/tmpl/gstfdsrc.sgml:
10194         * docs/gst/tmpl/gstfilesink.sgml:
10195         * docs/gst/tmpl/gstfilesrc.sgml:
10196         * docs/gst/tmpl/gsthttpsrc.sgml:
10197         * docs/gst/tmpl/gstidentity.sgml:
10198         * docs/gst/tmpl/gstindexfactory.sgml:
10199         * docs/gst/tmpl/gstmarshal.sgml:
10200         * docs/gst/tmpl/gstmd5sink.sgml:
10201         * docs/gst/tmpl/gstmultidisksrc.sgml:
10202         * docs/gst/tmpl/gstmultifilesrc.sgml:
10203         * docs/gst/tmpl/gstpadtemplate.sgml:
10204         * docs/gst/tmpl/gstpipefilter.sgml:
10205         * docs/gst/tmpl/gstschedulerfactory.sgml:
10206         * docs/gst/tmpl/gstsearchfuncs.sgml:
10207         * docs/gst/tmpl/gstshaper.sgml:
10208         * docs/gst/tmpl/gstspider.sgml:
10209         * docs/gst/tmpl/gstspideridentity.sgml:
10210         * docs/gst/tmpl/gststatistics.sgml:
10211         * docs/gst/tmpl/gsttee.sgml:
10212         * docs/gst/tmpl/gsttimecache.sgml:
10213         * docs/gst/tmpl/gsttypefind.sgml:
10214         * docs/gst/tmpl/gsttypefindfactory.sgml:
10215         * docs/gst/tmpl/gstxmlregistry.sgml:
10216         * docs/gst/tmpl/gthread-cothreads.sgml:
10217         * docs/gst/tmpl/old/cothreads.sgml:
10218         * docs/gst/tmpl/old/cothreads_compat.sgml:
10219         * docs/gst/tmpl/old/gettext.sgml:
10220         * docs/gst/tmpl/old/gobject2gtk.sgml:
10221         * docs/gst/tmpl/old/grammar.tab.sgml:
10222         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10223         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10224         * docs/gst/tmpl/old/gst_private.sgml:
10225         * docs/gst/tmpl/old/gstaggregator.sgml:
10226         * docs/gst/tmpl/old/gstarch.sgml:
10227         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10228         * docs/gst/tmpl/old/gstbufferstore.sgml:
10229         * docs/gst/tmpl/old/gstdata_private.sgml:
10230         * docs/gst/tmpl/old/gstdisksink.sgml:
10231         * docs/gst/tmpl/old/gstdisksrc.sgml:
10232         * docs/gst/tmpl/old/gstelementfactory.sgml:
10233         * docs/gst/tmpl/old/gstextratypes.sgml:
10234         * docs/gst/tmpl/old/gstfakesink.sgml:
10235         * docs/gst/tmpl/old/gstfakesrc.sgml:
10236         * docs/gst/tmpl/old/gstfdsink.sgml:
10237         * docs/gst/tmpl/old/gstfdsrc.sgml:
10238         * docs/gst/tmpl/old/gstfilesink.sgml:
10239         * docs/gst/tmpl/old/gstfilesrc.sgml:
10240         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10241         * docs/gst/tmpl/old/gstidentity.sgml:
10242         * docs/gst/tmpl/old/gstindexfactory.sgml:
10243         * docs/gst/tmpl/old/gstmarshal.sgml:
10244         * docs/gst/tmpl/old/gstmd5sink.sgml:
10245         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10246         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10247         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10248         * docs/gst/tmpl/old/gstpipefilter.sgml:
10249         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10250         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10251         * docs/gst/tmpl/old/gstshaper.sgml:
10252         * docs/gst/tmpl/old/gstspider.sgml:
10253         * docs/gst/tmpl/old/gstspideridentity.sgml:
10254         * docs/gst/tmpl/old/gststatistics.sgml:
10255         * docs/gst/tmpl/old/gsttee.sgml:
10256         * docs/gst/tmpl/old/gsttimecache.sgml:
10257         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10258         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10259         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10260         * docs/gst/tmpl/old/types.sgml:
10261         * docs/gst/tmpl/types.sgml:
10262
10263         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10264         gtkdoc-scan doesn't like files with the same name in different
10265         directories.
10266         * gst/elements/Makefile.am:
10267         * gst/elements/gstelements.c:
10268         * gst/elements/gsttypefind.c: 
10269         * gst/elements/gsttypefind.h:
10270         * gst/elements/gsttypefindelement.c:
10271         * gst/elements/gsttypefindelement.h:
10272
10273 2004-04-28  David Schleef  <ds@schleef.org>
10274
10275         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10276         patch (bug #141317):
10277         * gst/gst-i18n-lib.h: Allow disabling gettext.
10278         * gst/gstatomic_impl.h: disable warning when it's dumb.
10279         * gst/gstclock.c: fix include
10280         * gst/gstcompat.h: fix variadic macro
10281         * gst/gstinfo.c: fix include
10282         * gst/gstmacros.h: add defines for inlines on MSVC
10283         * gst/gstplugin.c: fix includes
10284         * gst/gstregistry.c: fix includes
10285         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10286         * gst/gstsystemclock.c: fix include
10287         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10288         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10289         * gst/registries/gstxmlregistry.c:
10290         (gst_xml_registry_parse_element_factory): fix use of non-portable
10291         functions
10292         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10293         * libs/gst/control/dparammanager.h: same
10294
10295 2004-04-28  David Schleef  <ds@schleef.org>
10296
10297         Move a bunch of unused files to old/ with names that are
10298         not case-insensitive-unique.  These files still contain some
10299         useful information that needs to be merged into gstbin.sgml,
10300         etc., so they shouldn't be deleted yet.
10301         * docs/gst/tmpl/GstBin.sgml:
10302         * docs/gst/tmpl/GstBuffer.sgml:
10303         * docs/gst/tmpl/GstCaps.sgml:
10304         * docs/gst/tmpl/GstClock.sgml:
10305         * docs/gst/tmpl/GstCompat.sgml:
10306         * docs/gst/tmpl/GstData.sgml:
10307         * docs/gst/tmpl/GstElement.sgml:
10308         * docs/gst/tmpl/GstEvent.sgml:
10309         * docs/gst/tmpl/GstIndex.sgml:
10310         * docs/gst/tmpl/GstStructure.sgml:
10311         * docs/gst/tmpl/GstTag.sgml:
10312         * docs/gst/tmpl/old/GstBin.sgml:
10313         * docs/gst/tmpl/old/GstBuffer.sgml:
10314         * docs/gst/tmpl/old/GstCaps.sgml:
10315         * docs/gst/tmpl/old/GstClock.sgml:
10316         * docs/gst/tmpl/old/GstCompat.sgml:
10317         * docs/gst/tmpl/old/GstData.sgml:
10318         * docs/gst/tmpl/old/GstElement.sgml:
10319         * docs/gst/tmpl/old/GstEvent.sgml:
10320         * docs/gst/tmpl/old/GstIndex.sgml:
10321         * docs/gst/tmpl/old/GstStructure.sgml:
10322         * docs/gst/tmpl/old/GstTag.sgml:
10323
10324 2004-04-28  David Schleef  <ds@schleef.org>
10325
10326         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10327         (gst_caps_append), (gst_caps_append_structure),
10328         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10329         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10330         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10331         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10332         (gst_caps_intersect), (gst_caps_normalize),
10333         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10334         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10335         * gst/gstcaps.h: use GST_IS_CAPS().
10336
10337 2004-04-26  David Schleef  <ds@schleef.org>
10338
10339         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10340         assembly.  gcc doesn't handle it correctly. (bug #141083)
10341         * gst/gsttrashstack.h: same
10342
10343 2004-04-25  Benjamin Otte  <otte@gnome.org>
10344
10345         * gst/gstelement.c: (gst_element_change_state):
10346           fix assertion to do an int comparison
10347
10348 2004-04-25  Benjamin Otte  <otte@gnome.org>
10349
10350         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10351           better debugging output on error
10352
10353 2004-04-25  Benjamin Otte  <otte@gnome.org>
10354
10355         * gst/gstcaps.c: (gst_caps_subtract):
10356           fix memleak
10357
10358 2004-04-23  Benjamin Otte  <otte@gnome.org>
10359
10360         * gst/gstvalue.c: (gst_value_compare_buffer),
10361         (_gst_value_initialize):
10362           add comparison function for buffers
10363
10364 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10365
10366         * docs/pwg/pwg.xml:
10367           Just found out that this so-called "ima-wav" format is really
10368           just "dvi adpcm" (according to the MS WAV documentation). So
10369           renaming it. We didn't use it yet anyway.
10370
10371 2004-04-23  Benjamin Otte  <otte@gnome.org>
10372
10373         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10374           call gst_caps_is_subset
10375
10376 2004-04-23  Benjamin Otte  <otte@gnome.org>
10377
10378         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10379         (gst_caps_is_subset):
10380           add documentation
10381
10382 2004-04-23  Benjamin Otte  <otte@gnome.org>
10383           
10384         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10385         (gst_caps_structure_subtract), (gst_caps_subtract),
10386         (gst_caps_structure_figure_out_union),
10387         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10388           fix simplifying and subtracting not working correctly with optional
10389           properties
10390           solve assorted problems that make it now simplify ebven more
10391         * docs/gst/tmpl/gstcaps.sgml:
10392         * gst/gstcaps.h:
10393           make gst_caps_do_simplify return a bool to indicate if it simplified
10394         * testsuite/caps/simplify.c: (main):
10395           add more checks. The tests is quite a bit useless right now because
10396           the core is heavily simplifying itself.
10397         * testsuite/caps/caps.h:
10398           fix caps to contain all optional properties
10399
10400 2004-04-22  Benjamin Otte  <otte@gnome.org>
10401
10402         * docs/gst/tmpl/gstcaps.sgml:
10403         * docs/gst/tmpl/gstfilesrc.sgml:
10404         * docs/gst/tmpl/gststructure.sgml:
10405         * docs/gst/tmpl/gstvalue.sgml:
10406           update for recent API changes
10407         * gst/gstcaps.c: (gst_caps_do_simplify):
10408           fix to stop trying with a freed structure
10409         * gst/gstpad.c: (gst_pad_link_fixate):
10410           simplify caps
10411         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10412           remove C++ comment
10413         * gst/gstpad.h:
10414           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10415         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10416         (gst_structure_to_string):
10417           keep the correct type when using lists of ranges
10418         * gst/gstvalue.c: (gst_value_list_prepend_value),
10419         (gst_value_list_append_value):
10420           copy the value before adding to the list (d'oh)
10421         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10422         (gst_value_subtract_int_range_int_range):
10423           handle overflows correctly
10424         * gst/gstvalue.c: (gst_value_subtract_from_list):
10425           fix memleak
10426         * testsuite/caps/caps.h:
10427           add a caps that caused segfaults
10428
10429 2004-04-22  Benjamin Otte  <otte@gnome.org>
10430
10431         * testsuite/refcounting/pad.c: (main):
10432           fix test
10433
10434 2004-04-22  Benjamin Otte  <otte@gnome.org>
10435
10436         * gst/gstcaps.c: (gst_caps_subtract):
10437           allow subtracting ANY and EMPTY from ANY caps
10438
10439 2004-04-22  Benjamin Otte  <otte@gnome.org>
10440
10441         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10442         (gst_caps_union):
10443           only simplify in functions that create new caps. Simplifying in
10444           gst_caps_append breaks tests.
10445
10446 2004-04-22  Benjamin Otte  <otte@gnome.org>
10447
10448         * gst/gstcaps.c: (gst_caps_structure_simplify):
10449           unset GValue after use
10450         * gst/gstcaps.c: (gst_caps_append), 
10451         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10452           use gst_caps_simplify (reduces registry size by 30%)
10453         * gst/gstpad.c: (gst_pad_template_new):
10454           don't allow NULL caps
10455
10456 2004-04-22  Benjamin Otte  <otte@gnome.org>
10457
10458         * docs/gst/gstreamer-sections.txt:
10459           add gst_caps_do_simplify
10460         * gst/gstcaps.c:
10461           add documentation for gst_caps_do_simplify
10462         * gst/gstvalue.h:
10463           fix typo in gst_value_register_subtract_func declaration for gst-doc
10464
10465 2004-04-22  Benjamin Otte  <otte@gnome.org>
10466
10467         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10468           fix bug when converting from empty string.
10469         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10470         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10471           use gst_caps_new_empty to allocate a new caps. Only that function
10472           allocates memory for caps now.
10473         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10474         (gst_caps_remove_structure):
10475           add ability to remove one structure (but not to header yet)
10476         * gst/gstcaps.c: (gst_caps_compare_structures),
10477         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10478         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10479         * gst/gstcaps.h:
10480           add gst_caps_do_simplify that tries to simplify a caps in place.
10481           Deprecate old gst_caps_simplify function.
10482         * testsuite/caps/caps.h:
10483           add caps.h containing a common set of caps to test against.
10484         * testsuite/caps/sets.c: (check_caps), (main):
10485           use it.
10486         * testsuite/caps/.cvsignore:
10487         * testsuite/caps/Makefile.am:
10488         * testsuite/caps/simplify.c: (check_caps), (main):
10489           add test to check correctness and efficency of caps simplification.
10490
10491 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10492
10493         reviewed by Benjamin Otte  <otte@gnome.org>
10494
10495         * gst/gstparse.c: (_gst_parse_escape):
10496           Free the GString used in _gst_parse_escape()
10497
10498 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10499
10500         * gst/gstpad.c: (gst_pad_link_negotiate):
10501           refuse to link if the link is not possible
10502         * configure.ac:
10503         * testsuite/Makefile.am:
10504         * testsuite/negotiation/.cvsignore:
10505         * testsuite/negotiation/Makefile.am:
10506         * testsuite/negotiation/pad_link.c: (main):
10507           add test that checks the above behaviour
10508
10509 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10510
10511         * docs/gst/gstreamer-sections.txt:
10512           add newly added API
10513
10514 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10515
10516         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10517         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10518         (gst_filesrc_open_file), (gst_filesrc_close_file),
10519         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10520         * gst/elements/gstfilesrc.h:
10521           add support for non-regular files (#140734)
10522
10523 2004-04-21  Benjamin Otte  <otte@gnome.org>
10524
10525         * gst/gstpad.c: (gst_pad_link_fixate):
10526           add sophisticated error checking code to see if fixation functions
10527           did their fixation right
10528
10529 2004-04-21  Benjamin Otte  <otte@gnome.org>
10530
10531         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10532           check for ANY caps before appending/unioning
10533         * gst/gstcaps.c: (gst_caps_is_subset),
10534         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10535         (gst_caps_structure_subtract), (gst_caps_subtract):
10536         * gst/gstcaps.h:
10537           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10538           the API. deprecate gst_caps_is_equal_fixed
10539         * gst/gstpad.c: (gst_pad_try_set_caps):
10540         * gst/gstqueue.c: (gst_queue_link):
10541           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10542         * gst/gststructure.c: (gst_structure_get_name_id):
10543         * gst/gststructure.h:
10544           add function gst_structure_get_name_id
10545         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10546         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10547         (gst_value_subtract_int_range_int_range),
10548         (gst_value_subtract_double_double_range),
10549         (gst_value_subtract_double_range_double),
10550         (gst_value_subtract_double_range_double_range),
10551         (gst_value_subtract_from_list), (gst_value_subtract_list),
10552         (gst_value_can_intersect), (gst_value_subtract),
10553         (gst_value_can_subtract), (gst_value_register_subtract_func),
10554         (_gst_value_initialize):
10555         * gst/gstvalue.h:
10556           add support for subtracting values from each other. Note that
10557           subtracting means subtracting as in set theory. Required for caps
10558           stuff above.
10559         * testsuite/caps/.cvsignore:
10560         * testsuite/caps/Makefile.am:
10561         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10562         * testsuite/caps/sets.c: (check_caps), (main):
10563         * testsuite/caps/subtract.c: (check_caps), (main):
10564           add tests for subtraction and equality code.
10565
10566 2004-04-20  David Schleef  <ds@schleef.org>
10567
10568         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10569         * gst/indexers/Makefile.am:
10570         * gst/schedulers/Makefile.am:
10571         * libs/gst/bytestream/Makefile.am:
10572         * libs/gst/control/Makefile.am:
10573         * libs/gst/getbits/Makefile.am:
10574
10575 2004-04-20  David Schleef  <ds@schleef.org>
10576
10577         * common/as-libtool.mak: Fine-tune DLL building.
10578         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10579         (like gst-plugins)
10580         * examples/plugins/Makefile.am: remove plugindir
10581         * gst/autoplug/Makefile.am: DLL building fixes
10582         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10583         Windows.
10584         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10585         * gst/indexers/Makefile.am: DLL building fixes
10586         * gst/schedulers/Makefile.am: DLL building fixes.
10587         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10588         * libs/gst/control/Makefile.am: same
10589         * libs/gst/getbits/Makefile.am: same
10590         * testsuite/Makefile.am: New dlopen directory
10591         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10592         when dlopened.
10593         * testsuite/dlopen/dlopen_gst.c: (main): same
10594         * testsuite/dlopen/loadgst.c: (do_test): same
10595
10596 2004-04-20  David Schleef  <ds@schleef.org>
10597
10598         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10599         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10600
10601 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10602
10603         * gst/gstelement.c: (gst_element_wait),
10604         (gst_element_set_time_delay), (gst_element_change_state):
10605           Use GST_TIME_*
10606
10607 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10608
10609         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10610         (gst_spider_identity_plug):
10611           improve debugging messages
10612         * gst/gstbin.c: (gst_bin_remove_func):
10613           make sure the state_change function is only called with simple state
10614           transitions
10615
10616 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10617
10618         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10619         (gst_fakesink_set_property), (gst_fakesink_chain):
10620         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10621         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10622         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10623         * gst/elements/gstidentity.c: (gst_identity_chain),
10624         (gst_identity_set_property):
10625         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10626         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10627           add warnings to _set_property for unknown arguments
10628           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10629
10630 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10631
10632         * Makefile.am:
10633         * docs/manuals.mak:
10634           add .po file download snippet
10635           fix a bug in the doc makefile
10636
10637 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10638
10639         * Makefile.am:
10640         * po/LINGUAS:
10641         * po/en_GB.po:
10642           Added en_GB translation (Gareth Owen)
10643
10644 2004-04-20  Johan Dahlin  <johan@gnome.org>
10645
10646         * gst/gstpad.c (_invent_event): Clean up
10647
10648 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10649
10650         * testsuite/caps/filtercaps.c: (main):
10651           fix test to test things correctly (caps are complicated)
10652
10653 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10654
10655         * testsuite/caps/Makefile.am:
10656         * testsuite/caps/filtercaps.c: (main):
10657           add test (that doesn't work right now, but should)
10658
10659 2004-04-19  David Schleef  <ds@schleef.org>
10660
10661         * configure.ac: Add test for allowing unaligned access.  Add define
10662         to put in gstconfig.h.
10663         * docs/gst/gstreamer-sections.txt: New symbols
10664         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10665         * docs/gst/tmpl/gstfilesrc.sgml:
10666         * docs/gst/tmpl/gstparse.sgml:
10667         * docs/gst/tmpl/gsttypes.sgml:
10668         * docs/gst/tmpl/gstutils.sgml:
10669         * docs/gst/tmpl/gstvalue.sgml:
10670         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10671         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10672         on most !i386/!powerpc architectures.  From Daniel Gazard
10673         <daniel.gazard@free.fr>.  (bug #140156)
10674         * po/af.po: Check in changes made by gettext.
10675         * po/az.po:
10676         * po/fr.po:
10677         * po/nl.po:
10678         * po/sr.po:
10679         * po/sv.po:
10680
10681 2004-04-20  Benjamin Otte  <otte@gnome.org>
10682
10683         * gst/schedulers/entryscheduler.c: 
10684         (gst_entry_scheduler_yield):
10685           refuse to yield when decoupled elements insist on doing that.
10686           At least it's better than crashing
10687
10688 2004-04-19  David Schleef  <ds@schleef.org>
10689
10690         * docs/libs/Makefile.am: Change sinclude to include
10691         * docs/gst/Makefile.am: same
10692         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10693
10694 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10695
10696         * po/LINGUAS:
10697         * po/uk.po:
10698           Added Ukrainian translation (Maxim V. Dziumanenko)
10699
10700 2004-04-19  Johan Dahlin  <johan@gnome.org>
10701
10702         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10703         checking here, do it before calling the function.
10704         Clean up, use for loops instead of while loops while iterating
10705         over lists.
10706
10707         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10708         in debug message.
10709         (gst_spider_create_and_plug): Improve debug message.
10710         General: Replace while loops which iterates over GLists with for
10711         loops. Which are much cleaner, improves readability, especially
10712         for gst_spider_identity_plug
10713
10714         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10715         fixes bug 140477
10716
10717 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10718
10719         * po/LINGUAS:
10720         * po/tr.po:
10721           Added Turkish translation (Baris Cicek)
10722
10723 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10724
10725         * docs/faq/troubleshooting.xml:
10726           Mention gst-register in the FAQ (fixes 139045).
10727
10728 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10729
10730         * docs/gst/gstreamer-sections.txt:
10731
10732 2004-04-17  Benjamin Otte  <otte@gnome.org>
10733
10734         * gst/gstelement.c: (gst_element_dispose):
10735           simplify
10736         * gst/gstpad.c: (gst_pad_call_chain_function):
10737           don't create loads of events due to bad macro usage
10738
10739 2004-04-16  David Schleef  <ds@schleef.org>
10740
10741         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10742         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10743         * gst/gstvalue.c: (gst_value_serialize_buffer),
10744         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10745         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10746         to indicate types that are fixed wrt caps or not.  Switching to
10747         this function fixes (bug #140298).
10748         * gst/gstvalue.h:
10749
10750 2004-04-16  David Schleef  <ds@schleef.org>
10751
10752         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10753         for GST_UNALIGNED_ACESS, since we essentially know which archs
10754         are ok.
10755
10756 2004-04-17  Benjamin Otte  <otte@gnome.org>
10757
10758         * docs/gst/Makefile.am:
10759           ignore gst/parse directory when building docs (fixes #140205)
10760
10761 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10762
10763         * testsuite/refcounting/mem.c: (vmsize):
10764           do error checking
10765
10766 2004-04-16  Johan Dahlin  <johan@gnome.org>
10767
10768         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10769         and gst_pad_call_get_function.
10770
10771 2004-04-15  David Schleef  <ds@schleef.org>
10772
10773         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10774         checks if we can access unaligned memory.
10775         * configure.ac: Use it.
10776
10777 2004-04-16  Benjamin Otte  <otte@gnome.org>
10778
10779         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10780         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10781         * gst/elements/gstfilesrc.h:
10782           s/seek_happened/need_discont/ and require discont before sending any
10783           data
10784
10785 2004-04-15  David Schleef  <ds@schleef.org>
10786
10787         * gst/gstvalue.c: (gst_value_serialize_buffer),
10788         (gst_value_deserialize_buffer), (_gst_value_initialize):
10789         Register these types as fundamental types. (bug #140015)
10790
10791 2004-04-16  Benjamin Otte  <otte@gnome.org>
10792
10793         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10794         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10795         (gst_pad_pull):
10796           implement enforcing discont events before buffers are passed. This
10797           allows state changes of only some elements and later correctly going
10798           on where they left off (or in short: you can now set audio sinks to
10799           NULL to release the device when the pipeline is paused)
10800         * gst/gstpad.c: (gst_pad_call_chain_function),
10801         (gst_pad_call_get_function):
10802         * gst/gstpad.h:
10803           add gst_pad_call_chain_function and gst_pad_call_get_function for
10804           scheduler interaction. They are required because of the changes
10805           above.
10806         * gst/schedulers/entryscheduler.c: (get_buffer),
10807         (gst_entry_scheduler_chain_wrapper),
10808         (gst_entry_scheduler_get_wrapper),
10809         (gst_entry_scheduler_state_transition),
10810         (gst_entry_scheduler_pad_link):
10811         * gst/schedulers/gstbasicscheduler.c:
10812         (gst_basic_scheduler_chain_wrapper),
10813         (gst_basic_scheduler_src_wrapper),
10814         (gst_basic_scheduler_chainhandler_proxy),
10815         (gst_basic_scheduler_gethandler_proxy),
10816         (gst_basic_scheduler_cothreaded_chain),
10817         (gst_basic_scheduler_chain_elements):
10818         * gst/schedulers/gstoptimalscheduler.c:
10819         (get_group_schedule_function), (pad_clear_queued),
10820         (gst_opt_scheduler_pad_link):
10821           use the new functions instead of calling get/chain-functions
10822           directly.
10823
10824 2004-04-15  David Schleef  <ds@schleef.org>
10825
10826         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10827         * docs/gst/tmpl/gstinfo.sgml: same
10828         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10829         gtk-doc put here.
10830         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10831         * examples/queue/queue.c: (main):  We iterate pipelines, not
10832         bins.  (bug #139996)
10833
10834 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10835
10836         * docs/pwg/advanced-types.xml:
10837           Add MS RLE support. Also document Qt RLE although I have no sample
10838           files for that yet. And document an extra property for ADPCM.
10839
10840 2004-04-15  David Schleef  <ds@schleef.org>
10841
10842         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10843         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10844         Windows.
10845
10846 2004-04-15  David Schleef  <ds@schleef.org>
10847
10848         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10849         symbol names to not conflict with new gstinfo.h symbols.
10850         * gst/gstinfo.h: Add inline functions for all those crazy
10851         compilers that don't know how to handle variadic macros (MSVC).
10852
10853 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * configure.ac: bump nano to 1
10856
10857 === release 0.8.1 ===
10858
10859 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10860
10861         * NEWS:
10862         * RELEASE:
10863         * configure.ac:
10864           releasing 0.8.1, "Snow Brigade"
10865
10866 2004-04-14  David Schleef  <ds@schleef.org>
10867
10868         * testsuite/Makefile.am: define tests_ignore
10869         * testsuite/Rules: Added new tests_ignore, which get compiled,
10870         but not run (generally because they're inconsistent or have
10871         heisenbugs).  Now we can ensure all the .c files compile in
10872         testsuite/.
10873         * testsuite/bins/Makefile.am: define tests_ignore
10874         * testsuite/bytestream/Makefile.am:
10875         * testsuite/caps/Makefile.am:
10876         * testsuite/clock/Makefile.am:
10877         * testsuite/debug/Makefile.am:
10878         * testsuite/debug/global.c: (gst_debug_log_one),
10879         (gst_debug_log_two): Fix compilation problem.
10880         * testsuite/dynparams/Makefile.am:
10881         * testsuite/elements/Makefile.am:
10882         * testsuite/ghostpads/Makefile.am:
10883         * testsuite/indexers/Makefile.am:
10884         * testsuite/parse/Makefile.am:
10885         * testsuite/plugin/Makefile.am:
10886         * testsuite/refcounting/Makefile.am:
10887         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10888         results, because it's not calculated correctly.
10889         * testsuite/refcounting/pad.c: (main): same
10890         * testsuite/states/Makefile.am:
10891         * testsuite/tags/Makefile.am:
10892         * testsuite/threads/Makefile.am:
10893
10894 2004-04-14  David Schleef  <ds@schleef.org>
10895
10896         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10897         generating bad code around the cpu detection asm code.
10898
10899 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10900
10901         * tools/gst-inspect.c: (print_element_info):
10902           print numeric version of rank as well, since we added some - 1
10903           rank values to elements
10904
10905 2004-04-13  David Schleef  <ds@schleef.org>
10906
10907         * configure.ac:  Disable various code when compiling for MinGW.
10908         * gst/elements/Makefile.am:
10909         * gst/elements/gstelements.c:
10910         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10911         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10912         * gst/registries/gstxmlregistry.c: (make_dir):
10913
10914 2004-04-13  David Schleef  <ds@schleef.org>
10915
10916         * gst/Makefile.am:
10917         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10918         assembly.
10919         * gst/gstcpuid_i386.s: remove
10920
10921 2004-04-13  David Schleef  <ds@schleef.org>
10922
10923         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10924         seems to think it needs to be done.
10925         * docs/gst/tmpl/gstfakesink.sgml:
10926         * docs/gst/tmpl/gstfakesrc.sgml:
10927         * docs/gst/tmpl/gstfdsink.sgml:
10928         * docs/gst/tmpl/gstfdsrc.sgml:
10929         * docs/gst/tmpl/gstfilesink.sgml:
10930         * docs/gst/tmpl/gstfilesrc.sgml:
10931         * docs/gst/tmpl/gstidentity.sgml:
10932         * docs/gst/tmpl/gstmd5sink.sgml:
10933         * docs/gst/tmpl/gstmultifilesrc.sgml:
10934         * docs/gst/tmpl/gstpipefilter.sgml:
10935         * docs/gst/tmpl/gstshaper.sgml:
10936         * docs/gst/tmpl/gstspider.sgml:
10937         * docs/gst/tmpl/gstspideridentity.sgml:
10938         * docs/gst/tmpl/gststatistics.sgml:
10939         * docs/gst/tmpl/gsttee.sgml:
10940         * docs/gst/tmpl/gsttypefind.sgml:
10941         * docs/gst/tmpl/gstutils.sgml:
10942
10943 2004-04-13  David Schleef  <ds@schleef.org>
10944
10945         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10946         and to build DLLs on Windows.
10947         * gst/Makefile.am:
10948         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10949         (gst_filesrc_open_file):
10950         * gst/schedulers/Makefile.am:
10951
10952 2004-04-13  David Schleef  <ds@schleef.org>
10953
10954         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10955         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10956         fixating lists.
10957
10958 2004-04-12  David Schleef  <ds@schleef.org>
10959
10960         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10961         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10962         to using it.
10963         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10964         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10965         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10966         * gst/gststructure.c: (gst_structure_set_valist),
10967         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10968         support for buffers.
10969         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10970         intended to be const.
10971         * gst/gsttag.h: same
10972         * gst/gstvalue.c: (gst_value_serialize_buffer),
10973         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10974         to (de)serialize buffers.
10975         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10976         * testsuite/caps/string-conversions.c: (main):
10977         * testsuite/caps/value_serialize.c: add new test
10978
10979 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10980
10981         * docs/pwg/advanced-types.xml:
10982           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10983
10984 2004-04-11  Benjamin Otte  <otte@gnome.org>
10985
10986         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10987           rename categories to basic_*
10988         * gst/schedulers/gstbasicscheduler.c: 
10989         (gst_basic_scheduler_chain_wrapper),
10990         (gst_basic_scheduler_chainhandler_proxy),
10991         (gst_basic_scheduler_gethandler_proxy),
10992         (gst_basic_scheduler_eventhandler_proxy):
10993           debugging category fixes - put common stuff in log category
10994         * gst/schedulers/gstbasicscheduler.c: 
10995         (gst_basic_scheduler_chain_elements):
10996           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10997           active and linking two active chains
10998
10999 2004-04-10  Benjamin Otte  <otte@gnome.org>
11000
11001         * docs/pwg/intro-preface.xml:
11002           fix dead links and remove reference to Wiki
11003
11004 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11005
11006         * gst/schedulers/gstbasicscheduler.c:
11007           make sure we can switch back to the main function if we're still in
11008           the main function (supposed to fix #139617)
11009         * gst/schedulers/gthread-cothreads.h:
11010           don't throw an error when switching to the same cothread
11011
11012 2004-04-09  Benjamin Otte  <otte@gnome.org>
11013
11014         * gst/gstbin.c: (gst_bin_get_type):
11015         * gst/gstclock.c: (gst_clock_get_type):
11016         * gst/gstindex.c: (gst_index_get_type):
11017         * gst/gstobject.c: (gst_object_get_type),
11018         (gst_signal_object_get_type):
11019         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
11020         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
11021         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
11022         * gst/gstqueue.c: (gst_queue_get_type):
11023         * gst/gstregistry.c: (gst_registry_get_type):
11024         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11025         * gst/gstthread.c: (gst_thread_get_type):
11026           don't use memchunks for these objects, use malloc instead
11027
11028 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11029
11030         * docs/gst/.cvsignore:
11031         * docs/gst/Makefile.am:
11032         * docs/gst/gstreamer-sections.txt:
11033         * docs/gst/tmpl/gstaggregator.sgml:
11034         * docs/gst/tmpl/gstbuffer.sgml:
11035         * docs/gst/tmpl/gstclock.sgml:
11036         * docs/gst/tmpl/gstelement.sgml:
11037         * docs/gst/tmpl/gstfakesink.sgml:
11038         * docs/gst/tmpl/gstfakesrc.sgml:
11039         * docs/gst/tmpl/gstfdsink.sgml:
11040         * docs/gst/tmpl/gstfdsrc.sgml:
11041         * docs/gst/tmpl/gstfilesink.sgml:
11042         * docs/gst/tmpl/gstfilesrc.sgml:
11043         * docs/gst/tmpl/gstidentity.sgml:
11044         * docs/gst/tmpl/gstindex.sgml:
11045         * docs/gst/tmpl/gstinfo.sgml:
11046         * docs/gst/tmpl/gstmd5sink.sgml:
11047         * docs/gst/tmpl/gstmultifilesrc.sgml:
11048         * docs/gst/tmpl/gstpad.sgml:
11049         * docs/gst/tmpl/gstpipefilter.sgml:
11050         * docs/gst/tmpl/gstpipeline.sgml:
11051         * docs/gst/tmpl/gstpluginfeature.sgml:
11052         * docs/gst/tmpl/gstqueue.sgml:
11053         * docs/gst/tmpl/gstregistry.sgml:
11054         * docs/gst/tmpl/gstscheduler.sgml:
11055         * docs/gst/tmpl/gstshaper.sgml:
11056         * docs/gst/tmpl/gstspider.sgml:
11057         * docs/gst/tmpl/gstspideridentity.sgml:
11058         * docs/gst/tmpl/gststatistics.sgml:
11059         * docs/gst/tmpl/gstsystemclock.sgml:
11060         * docs/gst/tmpl/gsttee.sgml:
11061         * docs/gst/tmpl/gstthread.sgml:
11062         * docs/gst/tmpl/gsttypefind.sgml:
11063         * docs/gst/tmpl/gstutils.sgml:
11064           further doc build fixes
11065
11066 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11067
11068         * docs/gst/Makefile.am:
11069           make docs exit on scanning problems
11070           fix nonsrcdir build issues
11071         * docs/gst/gstreamer-sections.txt:
11072           adding stuff from -unused
11073         * gst/gstqueue.h:
11074           create GstQueueSize
11075         * gst/schedulers/cothreads_compat.h:
11076           fix cothread warnings
11077
11078 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11079
11080         * docs/gst/gstreamer-sections.txt:
11081           remove defines deprecated by Benjamin
11082
11083 2004-04-07  Benjamin Otte  <otte@gnome.org>
11084
11085         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11086           when the buffer is complete, don't check if other buffers are needed
11087         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11088           check that the offset is >0 so we don't try to read before the
11089           beginning of the file
11090         * gst/gstpad.c: (gst_pad_set_pad_template):
11091           sink the template, so we don't end up with 130k pad templates
11092
11093 2004-04-06  Benjamin Otte  <otte@gnome.org>
11094
11095         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11096           don't ref the element, adding already reffed it. And we didn't unref
11097           it later anyway... (huge memleak when you used many spider elements)
11098         * gst/gstelement.c: (gst_element_base_class_finalize):
11099         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11100         (gst_element_register):
11101         * gst/gsturi.c: (gst_element_make_from_uri):
11102           use gst_object_(un)ref instead of g_object(un)ref
11103
11104 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11105
11106         * gst/gstbuffer.h:
11107           remove macro that wouldn't work anymore because struct member has
11108           been removed.
11109         * gst/schedulers/entryscheduler.c: (schedule_forward):
11110           fix segfault for unconnected pads
11111         
11112 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11113
11114         reviewed by David Schleef <ds@schleef.org>
11115
11116         * gst/gstinfo.h:
11117           *_FORMAT modifiers should require putting a % in front of them for
11118           consistency reasons.
11119
11120 2004-04-05  Colin Walters  <walters@redhat.com>
11121
11122         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11123         space.
11124
11125 2004-04-05  Benjamin Otte  <otte@gnome.org>
11126
11127         * configure.ac:
11128         * gst/Makefile.am:
11129         * gst/gst_private.h:
11130         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11131           add support for detecting if GStreamer runs inside valgrind.
11132           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11133           print a big message in valgrind that GStreamer has detected it's
11134           running inside and might now use different code.
11135         * gst/gstmemchunk.c: (populate), (free_area),
11136         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11137         (gst_mem_chunk_free):
11138           flag memchunks for valgrind, so it can detect leaking of chunks.
11139           This allows detecting leaks of GstBuffer and GstEvent correctly
11140           inside valgrind.
11141
11142 2004-04-05  David Schleef  <ds@schleef.org>
11143
11144         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11145           jensgr@gmx.net (Jens Granseuer)
11146
11147 2004-04-05  David Schleef  <ds@schleef.org>
11148
11149         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11150         (gst_buffer_default_free), (gst_buffer_default_copy),
11151         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11152         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11153         structures in one place.
11154
11155 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11158           (GST_TIME_FORMAT, GST_TIME_ARGS)
11159
11160 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11161
11162         * testsuite/elements/Makefile.am:
11163           disable test until it stops breaking make distcheck
11164
11165 2004-04-05  Johan Dahlin  <johan@gnome.org>
11166
11167         * po/sv.po: Updated translation
11168
11169 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * gst/gstplugin.c: (gst_plugin_load_file):
11172           fix segfault for when original plugin was loaded statically
11173
11174 2004-04-05  Benjamin Otte  <otte@gnome.org>
11175
11176         * testsuite/debug/category.c: (main):
11177         * testsuite/debug/commandline.c: (main):
11178         * testsuite/debug/output.c: (main):
11179           fix tests to work again with debugging enabled
11180
11181 2004-04-05  Benjamin Otte  <otte@gnome.org>
11182
11183         * gst/schedulers/gstbasicscheduler.c:
11184         (gst_basic_scheduler_pad_link):
11185           fix to work with recent scheduling changes
11186
11187 2004-04-05  Benjamin Otte  <otte@gnome.org>
11188
11189         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11190         prepareChangeLog doesn't work when cvs indents):
11191           don't throw an error when no element can be scheduled, there's too
11192           many weird reasons why it doesn't work. Return STOPPED instead.
11193           decoupled elemts' schedulability doesn't depend on bufpens.
11194
11195 2004-04-04  Benjamin Otte  <otte@gnome.org>
11196
11197         * gst/schedulers/gstbasicscheduler.c:
11198         (gst_basic_scheduler_pad_select):
11199           fix uninitialized variable warnings
11200
11201 2004-04-04  Benjamin Otte  <otte@gnome.org>
11202
11203         * gst/gstpad.c: (gst_pad_collect_valist):
11204           fix uninitialized variable warning
11205         * gst/schedulers/entryscheduler.c: (schedule_forward):
11206           fix shadowed variable
11207
11208 2004-04-04  Benjamin Otte  <otte@gnome.org>
11209
11210         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11211         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11212         (gst_pad_select):
11213         * gst/gstpad.h:
11214         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11215         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11216         * gst/gstscheduler.h:
11217           implement gst_pad_collect as replacement for gst_pad_select.
11218           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11219           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11220           new pad_select, lock and unlock calls.
11221         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11222         * gst/cothreads.h:
11223         * gst/schedulers/cothreads_compat.h:
11224         * gst/schedulers/gthread-cothreads.h:
11225           remove unused cothread_lock and cothread_unlock calls
11226         * gst/schedulers/entryscheduler.c:
11227         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11228         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11229         (gst_entry_scheduler_pad_select):
11230           update to new API
11231         * gst/schedulers/gstbasicscheduler.c:
11232         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11233         (gst_basic_scheduler_pad_select):
11234           remove useless lock and unlock calls, update pad_select to new API
11235           (untested)
11236         * gst/schedulers/gstoptimalscheduler.c:
11237         (gst_opt_scheduler_class_init):
11238           remove useless select, lock and unlock function calls
11239         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11240           use gst_pad_collect instead of gst_pad_select
11241
11242 2004-04-04  Benjamin Otte  <otte@gnome.org>
11243
11244         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11245         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11246         (schedule_next_element), (print_entry):
11247           add can_schedule_pad to handle element states.
11248           add schedule_forward to select the correct entry to schedule next
11249
11250 2004-04-03  Benjamin Otte  <otte@gnome.org>
11251
11252         * gst/schedulers/entryscheduler.c: 
11253           remove unused variable, fix error inside Rb, fix compile warning in
11254           unreachable code
11255
11256 2004-04-03  Benjamin Otte  <otte@gnome.org>
11257
11258         * gst/schedulers/entryscheduler.c:
11259           completely revamp the inner workings, so it's a lot easier to
11260           understand and extend
11261
11262 2004-04-03  Andy Wingo  <wingo@pobox.com>
11263
11264         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11265         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11266         This allows better introspection of pipeline topology.
11267         (add_to_chain): Don't do trickery to put loop elements first;
11268         rather, queue a chain sort by marking the chain as dirty.
11269         (remove_from_chain): Mark the chain dirty.
11270         (sort_chain): New function. Sorts the group list so that terminal
11271         sinks are first. This means elements on the sink side will be
11272         preferentially sscheduled before elements on the src side of the
11273         pipeline.
11274         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11275         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11276         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11277         (group_inc_link): Change argument and variable names to match the
11278         new link structure member names (src and sink).
11279         (group_dec_link): Add some description
11280
11281 2004-04-03  Benjamin Otte  <otte@gnome.org>
11282
11283         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11284         * gst/gstinfo.h:
11285         * testsuite/debug/category.c: (main):
11286         * testsuite/debug/commandline.c: (main):
11287         * testsuite/debug/output.c: (main):
11288         * testsuite/debug/printf_extension.c: (main):
11289           fix to successfully build and test with --disable-gst-debug
11290           configure switch (fixes #138705)
11291
11292 2004-04-03  Benjamin Otte  <otte@gnome.org>
11293
11294         * docs/pwg/building-boiler.xml:
11295           add cvs login line and s/anonymous/anoncvs/
11296
11297 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11298
11299         reviewed by Benjamin Otte  <otte@gnome.org>
11300
11301         * gst/gststructure.c: (gst_structure_free):
11302           memleak fix: free fields array (partial fix for #134839)
11303
11304 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11305
11306         * docs/random/ds/0.9-suggested-changes:
11307           Add a note to change handoff use in fakesrc to be usable in
11308           a more generic way (fakesrc should be renamed to appsrc or so).
11309         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11310           Change signal type to scope, so we can fill the buffer in the
11311           handoff handler (that's the whole use of this signal...).
11312
11313 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11314
11315         * docs/pwg/other-ntoone.xml:
11316           Document muxers and n-to-1 elements.
11317
11318 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11319
11320         * gst/registries/gstxmlregistry.c
11321         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11322         determine if a file is a G_MODULE. The old one discards paths
11323         containing "so" somewhere in the middle. My home directory is
11324         called "soto". Go figure...
11325
11326 2004-03-31  David Schleef  <ds@schleef.org>
11327
11328         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11329         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11330         * gst/gstbuffer.h:
11331
11332 2004-03-31  David Schleef  <ds@schleef.org>
11333
11334         * gst/gstvalue.c: (gst_value_union_int_int_range),
11335         (gst_value_union_int_range_int_range), (gst_value_can_union),
11336         (gst_value_union), (_gst_value_initialize):  Add some union
11337         implementations.  We didn't have any previously.
11338         * testsuite/caps/Makefile.am:
11339         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11340         (gst_audioscale_getcaps), (test_caps), (main): A little test
11341         that is the same as the caps manipulation in audioscale.
11342
11343 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11344
11345         * docs/faq/general.xml:
11346           add entry about "does gst support format X?"
11347
11348 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11349
11350         * gst/gstthread.c:
11351           fix docs
11352         * gst/gstutils.h:
11353           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11354
11355 2004-03-30  Benjamin Otte  <otte@gnome.org>
11356
11357         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11358           set the offset of the buffer to the requested offset
11359         * gst/elements/gsttypefind.c: (stop_typefinding):
11360           revert patch 1.18 (which I unfortunately don't know the reason for).
11361           This is needed to allow downstream elements to seek. Otherwise
11362           typefind might overwrite a previous seek by downstream elements.
11363           This lead to errors with id3tag and typefind on some mp3s.
11364         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11365         (gst_entry_scheduler_iterate):
11366           be more verbose when debugging
11367
11368 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11369
11370         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11371           make sure we don't get NULL strings
11372
11373 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11374
11375         * gst/gstcaps.c:
11376         * gst/gstelement.c:
11377         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11378         * gst/gstindex.c: (gst_index_resolver_get_type),
11379         (gst_index_get_type), (gst_index_factory_get_type):
11380         * gst/gstinfo.c:
11381         * gst/gstpad.c:
11382         * gst/gstplugin.c:
11383         * gst/gsturi.c: (gst_uri_handler_get_type):
11384         * gst/gstvalue.c:
11385           first batch of documentation fixes
11386
11387 2004-03-29  David Schleef  <ds@schleef.org>
11388
11389         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11390         * docs/gst/gstreamer-docs.sgml:  More hacking
11391         * docs/gst/gstreamer-sections.txt:
11392         * docs/gst/tmpl/cothreads_compat.sgml:
11393         * docs/gst/tmpl/gstcaps.sgml:
11394         * docs/gst/tmpl/gstclock.sgml:
11395         * docs/gst/tmpl/gstelement.sgml:
11396         * docs/gst/tmpl/gstevent.sgml:
11397         * docs/gst/tmpl/gstpad.sgml:
11398         * docs/gst/tmpl/gstutils.sgml:
11399         * docs/gst/tmpl/gstxml.sgml:
11400         * docs/gst/tmpl/gthread-cothreads.sgml:
11401         * docs/random/ds/0.9-suggested-changes:
11402         * gst/elements/gstfakesink.h: doc fixes
11403         * gst/elements/gstfakesrc.h: doc fixes
11404         * gst/gstcaps.c: doc fixes
11405         * gst/gstcaps.h: doc fixes
11406         * gst/gstelement.c: doc fixes
11407         * gst/gstelement.h: doc fixes
11408         * gst/gstindex.c: doc fixes
11409         * gst/gstinfo.c: doc fixes
11410         * gst/gstpad.c: doc fixes
11411         * gst/gstpad.h: doc fixes
11412         * gst/gstplugin.c: doc fixes
11413         * gst/gsttypefind.h: doc fixes
11414         * gst/gsturi.c: doc fixes
11415         * gst/gstvalue.c: doc fixes
11416
11417 2004-03-29  Colin Walters  <walters@redhat.com>
11418
11419         * gst/registries/gstxmlregistry.c (get_time)
11420         (plugin_times_older_than_recurse):
11421         Use the result of stat to determine whether a path is a file,
11422         so we don't attempt to opendir() files.
11423
11424 2004-03-29  Benjamin Otte  <otte@gnome.org>
11425
11426         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11427           print caps in debugging output when setting caps failed
11428         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11429         (schedule_next_element), (get_buffer), (run_chainhandler),
11430         (element_may_start), (gst_entry_scheduler_chain_handler),
11431         (gst_entry_scheduler_get_handler),
11432         (gst_entry_scheduler_state_transition),
11433         (gst_entry_scheduler_pad_link):
11434           make this scheduler a testcase for mandatory
11435           discont-before-first-buffer which is needed if we want to allow apps
11436           to release the sound device.
11437           add SCHED_ASSERT macro to print scheduler state before an assertion
11438           triggers.
11439
11440 2004-03-29  Benjamin Otte  <otte@gnome.org>
11441
11442         * COPYING:
11443           replace by LGPL (former COPYING.LIB). The core is completely
11444           licensed LGPL.
11445         * COPYING.LIB:
11446           remove
11447
11448 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11449
11450         * po/af.po:
11451         * po/sv.po:
11452           updated Afrikaans and Swedish
11453
11454 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11455
11456         * po/LINGUAS:
11457         * po/az.po:
11458           adding Azerbaijani (Mətin Əmirov)
11459
11460 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11461
11462         * gst/gstelement.h: 
11463         * gst/gstelement.c (gst_element_set_time_delay): New function for
11464         setting element time taking into account a hardware buffering
11465         delay.
11466         (gst_element_set_time): Now just an invocation of
11467         gst_element_set_time_delay.
11468         * gst/gstclock.h: 
11469         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11470         allowing to set event times in the future.
11471         (gst_clock_get_event_time): Now just an invocation of
11472         gst_clock_get_event_time_delay.
11473
11474 2004-03-28  Benjamin Otte  <otte@gnome.org>
11475
11476         * gst/gstbin.c: (gst_bin_set_element_sched),
11477         (gst_bin_unset_element_sched):
11478           don't add decoupled elements to schedulers - otherwise it's
11479           impossible to control if a link to a decoupled element was already
11480           removed from a scheduler or not.
11481         * gst/schedulers/cothreads_compat.h:
11482         * gst/schedulers/gthread-cothreads.h:
11483           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11484           is no "unused" warning.
11485         * gst/schedulers/Makefile.am:
11486         * gst/schedulers/entryscheduler.c:
11487           add new scheduler, based on ideas from talking to David and Martin.
11488           It's supposed to be small and correct. Currently it's also slow (but
11489           it's not noticable)
11490         * examples/retag/retag.c: (main):
11491         * testsuite/bytestream/test1.c: (main):
11492           fix missing NULLs at end of variadic functions
11493         * testsuite/elements/.cvsignore:
11494           update
11495
11496 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11497
11498         * gst/gstevent.h:
11499         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11500
11501 2004-03-25  David Schleef  <ds@schleef.org>
11502
11503         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11504         * docs/gst/tmpl/gstaggregator.sgml:
11505         * docs/gst/tmpl/gstautoplugfactory.sgml:
11506         * docs/gst/tmpl/gstbin.sgml:
11507         * docs/gst/tmpl/gstbuffer.sgml:
11508         * docs/gst/tmpl/gstbufferstore.sgml:
11509         * docs/gst/tmpl/gstfakesink.sgml:
11510         * docs/gst/tmpl/gstfakesrc.sgml:
11511         * docs/gst/tmpl/gstmd5sink.sgml:
11512         * docs/gst/tmpl/gstreamer-unused.sgml:
11513         * docs/gst/tmpl/gstsearchfuncs.sgml:
11514         * docs/gst/tmpl/gstshaper.sgml:
11515         * docs/gst/tmpl/gstspider.sgml:
11516         * docs/gst/tmpl/gsttee.sgml:
11517         * docs/gst/tmpl/gstutils.sgml:
11518         * docs/gst/tmpl/gstvalue.sgml:
11519         * docs/gst/tmpl/gstxml.sgml:
11520         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11521         and we don't support it.
11522         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11523         (gst_use_threads), (gst_has_threads): same
11524         * gst/gstthreaddummy.c: same
11525         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11526         * gst/autoplug/gstspider.h: same
11527         * gst/elements/gstaggregator.h: Remove bogus function from header
11528         * gst/elements/gstfakesink.h: same
11529         * gst/elements/gstfakesrc.h: same
11530         * gst/elements/gstmd5sink.h: same
11531         * gst/elements/gstshaper.h: same
11532         * gst/elements/gsttee.h: same
11533         * gst/gstbin.c: doc fixes
11534         * gst/gstbin.h: Remove unused definition.
11535         * gst/gstbuffer.c: doc fixes
11536         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11537         * gst/gstfilter.c: doc fixes
11538         * gst/gsttag.c: doc fixes
11539         * gst/gstvalue.c: doc fixes
11540
11541 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11542
11543         * docs/pwg/advanced-types.xml:
11544           Document typefinding.
11545         * docs/pwg/other-oneton.xml:
11546           Document one-to-n elements, demuxers and parsers.
11547
11548 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11549
11550         reviewed by: David Schleef  <ds@schleef.org>
11551
11552         * configure.ac: Check bison version (bug #127838)
11553
11554 2004-03-25  David Schleef  <ds@schleef.org>
11555
11556         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11557         * docs/gst/gstreamer-sections.txt:
11558         * docs/gst/tmpl/gstautoplug.sgml:
11559         * docs/gst/tmpl/gststaticautoplug.sgml:
11560         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11561         * docs/gst/tmpl/gstutils.sgml:
11562         * docs/gst/tmpl/gstxml.sgml:
11563
11564 2004-03-24  David Schleef  <ds@schleef.org>
11565
11566         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11567         manual being such complete crap, that I decided to do major
11568         hacking of it.  This checkin replaces any fine tuning that
11569         may have been done previously, with the benefit of actually
11570         being complete for much of the API that was changed since
11571         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11572         * docs/gst/gstreamer-sections.txt:
11573         * docs/gst/tmpl/GstBin.sgml:
11574         * docs/gst/tmpl/GstBuffer.sgml:
11575         * docs/gst/tmpl/GstCaps.sgml:
11576         * docs/gst/tmpl/GstClock.sgml:
11577         * docs/gst/tmpl/GstCompat.sgml:
11578         * docs/gst/tmpl/GstData.sgml:
11579         * docs/gst/tmpl/GstElement.sgml:
11580         * docs/gst/tmpl/GstEvent.sgml:
11581         * docs/gst/tmpl/GstIndex.sgml:
11582         * docs/gst/tmpl/GstStructure.sgml:
11583         * docs/gst/tmpl/GstTag.sgml:
11584         * docs/gst/tmpl/cothreads.sgml:
11585         * docs/gst/tmpl/cothreads_compat.sgml:
11586         * docs/gst/tmpl/gettext.sgml:
11587         * docs/gst/tmpl/grammar.tab.sgml:
11588         * docs/gst/tmpl/gst-i18n-app.sgml:
11589         * docs/gst/tmpl/gst-i18n-lib.sgml:
11590         * docs/gst/tmpl/gst.sgml:
11591         * docs/gst/tmpl/gst_private.sgml:
11592         * docs/gst/tmpl/gstaggregator.sgml:
11593         * docs/gst/tmpl/gstarch.sgml:
11594         * docs/gst/tmpl/gstatomic.sgml:
11595         * docs/gst/tmpl/gstatomic_impl.sgml:
11596         * docs/gst/tmpl/gstbin.sgml:
11597         * docs/gst/tmpl/gstbuffer.sgml:
11598         * docs/gst/tmpl/gstbufferstore.sgml:
11599         * docs/gst/tmpl/gstcaps.sgml:
11600         * docs/gst/tmpl/gstclock.sgml:
11601         * docs/gst/tmpl/gstcompat.sgml:
11602         * docs/gst/tmpl/gstconfig.sgml:
11603         * docs/gst/tmpl/gstcpu.sgml:
11604         * docs/gst/tmpl/gstdata.sgml:
11605         * docs/gst/tmpl/gstdata_private.sgml:
11606         * docs/gst/tmpl/gstelement.sgml:
11607         * docs/gst/tmpl/gstenumtypes.sgml:
11608         * docs/gst/tmpl/gsterror.sgml:
11609         * docs/gst/tmpl/gstevent.sgml:
11610         * docs/gst/tmpl/gstfakesink.sgml:
11611         * docs/gst/tmpl/gstfakesrc.sgml:
11612         * docs/gst/tmpl/gstfilesink.sgml:
11613         * docs/gst/tmpl/gstfilter.sgml:
11614         * docs/gst/tmpl/gstindex.sgml:
11615         * docs/gst/tmpl/gstinfo.sgml:
11616         * docs/gst/tmpl/gstinterface.sgml:
11617         * docs/gst/tmpl/gstlog.sgml:
11618         * docs/gst/tmpl/gstmacros.sgml:
11619         * docs/gst/tmpl/gstmarshal.sgml:
11620         * docs/gst/tmpl/gstmd5sink.sgml:
11621         * docs/gst/tmpl/gstmultifilesrc.sgml:
11622         * docs/gst/tmpl/gstobject.sgml:
11623         * docs/gst/tmpl/gstpad.sgml:
11624         * docs/gst/tmpl/gstparse.sgml:
11625         * docs/gst/tmpl/gstpipeline.sgml:
11626         * docs/gst/tmpl/gstplugin.sgml:
11627         * docs/gst/tmpl/gstpluginfeature.sgml:
11628         * docs/gst/tmpl/gstqueue.sgml:
11629         * docs/gst/tmpl/gstreamer-unused.sgml:
11630         * docs/gst/tmpl/gstregistry.sgml:
11631         * docs/gst/tmpl/gstregistrypool.sgml:
11632         * docs/gst/tmpl/gstscheduler.sgml:
11633         * docs/gst/tmpl/gstsearchfuncs.sgml:
11634         * docs/gst/tmpl/gstshaper.sgml:
11635         * docs/gst/tmpl/gstspider.sgml:
11636         * docs/gst/tmpl/gstspideridentity.sgml:
11637         * docs/gst/tmpl/gststructure.sgml:
11638         * docs/gst/tmpl/gstsystemclock.sgml:
11639         * docs/gst/tmpl/gsttag.sgml:
11640         * docs/gst/tmpl/gsttaginterface.sgml:
11641         * docs/gst/tmpl/gsttee.sgml:
11642         * docs/gst/tmpl/gstthread.sgml:
11643         * docs/gst/tmpl/gsttrace.sgml:
11644         * docs/gst/tmpl/gsttrashstack.sgml:
11645         * docs/gst/tmpl/gsttypefind.sgml:
11646         * docs/gst/tmpl/gsttypes.sgml:
11647         * docs/gst/tmpl/gsturi.sgml:
11648         * docs/gst/tmpl/gsturitype.sgml:
11649         * docs/gst/tmpl/gstutils.sgml:
11650         * docs/gst/tmpl/gstvalue.sgml:
11651         * docs/gst/tmpl/gstversion.sgml:
11652         * docs/gst/tmpl/gstxml.sgml:
11653         * docs/gst/tmpl/gstxmlregistry.sgml:
11654         * docs/gst/tmpl/gthread-cothreads.sgml:
11655         * docs/gst/tmpl/types.sgml:
11656
11657 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11658
11659         * docs/pwg/other-sink.xml:
11660         * docs/pwg/other-source.xml:
11661           Documentation on how to write source and sink elements. Other
11662           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11663           manager, autoplugger) are all still pending.
11664
11665 2004-03-25  Benjamin Otte  <otte@gnome.org>
11666
11667         * testsuite/elements/Makefile.am:
11668         * testsuite/elements/gst-compprep-check:
11669           add check to make sure gst-compprep works
11670         * testsuite/elements/gst-inspect-check.in:
11671           improve initialization output
11672         * testsuite/Makefile.am:
11673         * testsuite/gst-inspect-check:
11674           remove old file
11675
11676 2004-03-24  David Schleef  <ds@schleef.org>
11677
11678         * testsuite/elements/Makefile.am:
11679         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11680         to the testsuite.
11681
11682 2004-03-24  Benjamin Otte  <otte@gnome.org>
11683
11684         * libs/gst/control/dparam.c: (gst_dparam_attach),
11685         (gst_dparam_detach):
11686         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11687           fix lvalue casts for real
11688
11689 2004-03-24  Benjamin Otte  <otte@gnome.org>
11690
11691         * gst/schedulers/gstbasicscheduler.c:
11692         (gst_basic_scheduler_src_wrapper):
11693         * gst/schedulers/gstoptimalscheduler.c:
11694         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11695         (pad_clear_queued), (gst_opt_scheduler_add_element),
11696         (gst_opt_scheduler_remove_element):
11697           fix GStreamer to not have issues with lvalue casts anymore (fixes
11698           #136841)
11699
11700 2004-03-24  Benjamin Otte  <otte@gnome.org>
11701
11702         * gst/gstelement.c:
11703           add documentation about a gobject quirk where the object hasn't the
11704           correct class pointer set on initialization
11705         * gst/schedulers/gstbasicscheduler.c:
11706         (gst_basic_scheduler_src_wrapper):
11707           make sure to not run into an infinite loop
11708
11709 2004-03-22  Benjamin Otte  <otte@gnome.org>
11710
11711         * gst/gstutils.c: (gst_util_dump_mem):
11712         * gst/gstutils.h:
11713           first argument of gst_util_dump_mem should be const
11714
11715 2004-03-22  Johan Dahlin  <johan@gnome.org>
11716
11717         * gst/gstvalue.h: Clean up a little bit.
11718
11719 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11720
11721         reviewed by Benjamin Otte  <otte@gnome.org>
11722
11723         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11724         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11725         (gst_aggregator_class_init), (gst_aggregator_init):
11726         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11727         (gst_filesrc_dispose), (gst_filesrc_set_location):
11728         * gst/elements/gstidentity.c: (gst_identity_finalize),
11729         (gst_identity_class_init), (gst_identity_chain):
11730         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11731         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11732         (gst_statistics_class_init):
11733         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11734         (gst_tee_get_property):
11735           clean up used memory in this elements correctly on teardown (closes
11736           #137279)
11737
11738 2004-03-20  Colin Walters  <walters@redhat.com>
11739
11740         * gst/registries/gstxmlregistry.c:
11741         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11742         registry saving atomic.
11743
11744 2004-03-20  Colin Walters  <walters@redhat.com>
11745
11746         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11747         Just use
11748         access() instead of actually creating and deleting files.
11749
11750 2004-03-18  David Schleef  <ds@schleef.org>
11751
11752         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11753         (bug #137625)
11754
11755 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11756
11757         * po/sv.po: updated translation (Christian Rose)
11758
11759 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11760
11761         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11762         (gst_filesink_get_query_types), (_do_init),
11763         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11764           return FALSE silently
11765         * po/af.po: updated translation (Petri Jooste)
11766
11767 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11768
11769         * Makefile.am:
11770         * configure.ac:
11771           dist common properly
11772         * po/af.po:
11773         * po/fr.po:
11774         * po/nl.po:
11775         * po/sr.po:
11776         * po/sv.po:
11777           refreshing translations
11778
11779 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11780
11781         * po/LINGUAS:
11782         * po/sv.po:
11783         * po/af.po:
11784           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11785
11786 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * Makefile.am: use common/release.mak
11789
11790 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11791
11792         * docs/faq/gst-uninstalled:
11793           adding gst-monkeysaudio to the list of possible plugin dirs
11794
11795 2004-03-16  David Schleef  <ds@schleef.org>
11796
11797         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11798         (gst_init_check_with_popt_table):  Fix some gettext strings to
11799         make them easier to translate.  Required making the strings
11800         non-const.
11801
11802 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11803
11804         * configure.ac: bump nano to 1
11805
11806 === release 0.8.0 ===
11807
11808 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11809
11810         * configure.ac: release 0.8.0, "Executive Slacks"
11811
11812 2004-03-16  Johan Dahlin  <johan@gnome.org>
11813
11814         * gst/schedulers/gstoptimalscheduler.c
11815         (gst_opt_scheduler_pad_unlink): Remove double ;,
11816         spotted by Scott Wheeler
11817
11818 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11819
11820         * configure.ac: bump libtool version
11821
11822 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11823
11824         * gst/gstcaps.h:
11825         * gst/gststructure.h:
11826           add reserved padding
11827
11828 2004-03-15  Benjamin Otte  <otte@gnome.org>
11829
11830         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11831           set the first parameter for select call correctly.
11832           (fixes #137230)
11833
11834 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11835
11836         * *.c,*.h: don't mix tabs and spaces
11837
11838 2004-03-15  Johan Dahlin  <johan@gnome.org>
11839
11840         * gst/schedulers/gstoptimalscheduler.c
11841         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11842         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11843
11844         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11845         
11846 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11847
11848         * testsuite/Rules:
11849           fix gst-register rules
11850
11851 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11852
11853         * testsuite/Rules:
11854           use versioned gst-register
11855
11856 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11857
11858         * docs/libs/gstreamer-libs-sections.txt:
11859           remove </SUBSECTION>
11860         * gst/gstplugin.c:
11861         * gst/gstregistry.c: (gst_registry_add_plugin):
11862         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11863         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11864           add debugging and fix some comment blocks
11865
11866 2004-03-15  Johan Dahlin  <johan@gnome.org>
11867
11868         * *.h: Revert indent changes.
11869         
11870 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11871
11872         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11873           g_error_free the g_error
11874         * tools/gst-feedback-m.m:
11875           check for other versions of gstreamer
11876         * tools/gst-indent:
11877           use sh, not bash
11878
11879 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11880
11881         * tools/gst-register.c: do not spill paths when registries are not
11882           writable, until we fix the "user running gst-register" case.
11883
11884 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11885
11886         * *.c, *.h: commit of gst-indent run on core
11887
11888 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11889
11890         * tools/gst-indent:
11891         * tools/Makefile.am:
11892           add our indentation style as a script
11893
11894 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11895
11896         * po/sr.po:
11897         * po/LINGUAS:
11898           added Serbian translation
11899
11900 2004-03-13  Benjamin Otte  <otte@gnome.org>
11901
11902         * gst/gstelement.c:
11903           add documentation note about gst_element_found_tags_for_pad not
11904           being usable in getfunctions. (see #137042)
11905
11906 2004-03-12  David Schleef  <ds@schleef.org>
11907
11908         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11909         change API right now!  Readd gst_caps_is_simple() macro.
11910         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11911         uninitialized variable.  I'd bet this caused crashes.
11912         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11913
11914 2004-03-12  Johan Dahlin  <johan@gnome.org>
11915
11916         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11917         * gst/gstcaps.h: Clean up
11918
11919         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11920         _gst_caps_initalize()
11921
11922         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11923         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11924
11925         * gst/gststructure.c (gst_structure_get_type): Ditto
11926
11927         * gst/gststructure.h: Ditto
11928         
11929 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11930
11931         * gst/gstqueue.c: (gst_queue_init):
11932           Reset default max. values in queues. Reason is simply to avoid
11933           braindead use. If you want wider values, use the properties. The
11934           default is supposed to always work. Wider values would make this
11935           beast a memory hog by default (250 full-PAL RGB32 video frames?
11936           That's 440 MB! No thank you).
11937
11938 2004-03-10  David Schleef  <ds@schleef.org>
11939
11940         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11941         were found.  (bug #136793)
11942
11943 2004-03-10  Johan Dahlin  <johan@gnome.org>
11944
11945         * gst/schedulers/gstoptimalscheduler.c
11946         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11947         links to elements within the same group, so we can finally remove
11948         that annoying warning. Refactor the code a little bit
11949         (group_dec_links_for_element): Split out
11950
11951 2004-03-09  David Schleef  <ds@schleef.org>
11952
11953         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11954         (bug #134863)
11955
11956 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * configure.ac: first bug fix due to major/minor bump
11959
11960 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11961
11962         * configure.ac: bump nano to 1
11963
11964 === release 0.7.6 ===
11965
11966 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11967
11968         * NEWS:
11969         * RELEASE:
11970         * configure.ac:
11971           releasing 0.7.6, "Almost"
11972         * po/fr.po:
11973         * po/nl.po:
11974         * tools/Makefile.am:
11975         * tools/gst-feedback-m.m:
11976           unversioned source
11977
11978 2004-03-09  Johan Dahlin  <johan@gnome.org>
11979
11980         Reviewed by: Thomas Vander Stichele
11981
11982         * gst/gstelement.c (gst_element_class_init): register second
11983         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11984         language bindings can (de)marshall correctly.
11985
11986         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11987
11988         * gst/gsterror.c (gst_g_error_get_type): New function
11989
11990         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11991         with VOID:OBJECT,OBJECT,STRING 
11992
11993 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11994
11995         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11996         Free a leaked g_timer on early returns.
11997
11998 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11999
12000         * docs/pwg/advanced-types.xml:
12001           Add cinepak description.
12002
12003 2004-03-07  David Schleef  <ds@schleef.org>
12004
12005         * docs/random/mimetypes:  Added cinepak description
12006
12007 2004-03-07  Andy Wingo  <wingo@pobox.com>
12008
12009         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
12010
12011         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
12012         there are no links to other groups when a group is destroyed.
12013         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
12014         removed from a group, make sure the link count to elements linked
12015         to other pads is appropriately decremented. This really fixes
12016         #135672.
12017
12018         The 1.60->1.61 patch has been reapplied in light of this fix.
12019
12020         * gst/gstelement.c (gst_element_dispose): Really protect against
12021         multiple invocations this time.
12022
12023 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12024
12025         * docs/gst/gstreamer-sections.txt:
12026         * docs/gst/tmpl/gsttag.sgml:
12027           remove some deprecated functions, document some existing ones
12028         * gst/gsttag.c: (gst_tag_get_flag):
12029         * gst/gsttag.h:
12030           add accessor function
12031
12032 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12033
12034         * docs/gst/gstreamer-sections.txt:
12035         * docs/gst/tmpl/gsttag.sgml:
12036         * docs/gst/tmpl/gstxml.sgml:
12037         * gst/gsttag.c: (gst_tag_get_flag):
12038         * gst/gsttag.h:
12039
12040 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12041
12042         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12043         leak
12044
12045 2004-03-05  David Schleef  <ds@schleef.org>
12046
12047         * REQUIREMENTS: Add bison and flex.
12048         * configure.ac: Fix comment about bison.
12049         * docs/random/ds/0.9-suggested-changes: yer ma
12050         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12051
12052 2004-03-05  Benjamin Otte  <otte@gnome.org>
12053
12054         * gst/gstelement.c: (gst_element_error_full):
12055           revert recent recursive state changing commit - messing with other
12056           elements' states is evil and should be done by apps only.
12057
12058 2004-03-05  Benjamin Otte  <otte@gnome.org>
12059
12060         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12061           check for empty intersection instead of NULL caps
12062         (gst_element_get_compatible_pad_filtered):
12063           remove old workaround that is only a bug nowadays
12064
12065 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12066
12067         * gst/gstelement.c: (gst_element_error_full):
12068           make elements try to recursively change state to PAUSED on all
12069           parents after an error to suppress ensuing warnings
12070         * gst/parse/grammar.y:
12071           make it check if it was able to sync the state, and throw an error
12072           if not, so stuff like
12073           oggdemux ! vorbisdec ! osssink gets caught
12074
12075 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12078           it contains lib64; use AS_AC_EXPAND to handle it properly
12079
12080 2004-03-05  David Schleef  <ds@schleef.org>
12081
12082         * gst/gstcpuid_i386.s:  Remove unused code
12083         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12084         (gst_getbits_newbuf): Remove MMX code
12085         * libs/gst/getbits/getbits.h: Remove MMX code
12086
12087 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12088
12089         * debian/.cvsignore:
12090         * debian/README.Debian:
12091         * debian/changelog:
12092         * debian/control:
12093         * debian/control.in:
12094         * debian/copyright:
12095         * debian/gstreamer-core-libs-dev.files:
12096         * debian/gstreamer-core-libs.files:
12097         * debian/gstreamer-core.files:
12098         * debian/gstreamer-core.postinst:
12099         * debian/gstreamer-core.postrm:
12100         * debian/gstreamer-doc.files:
12101         * debian/gstreamer-doc.links:
12102         * debian/gstreamer-doc.lintian:
12103         * debian/gstreamer-runtime.files:
12104         * debian/gstreamer-runtime.manpages:
12105         * debian/gstreamer-runtime.postinst:
12106         * debian/gstreamer-runtime.postrm:
12107         * debian/gstreamer-tools.files:
12108         * debian/gstreamer-tools.manpages:
12109         * debian/libgstreamer-dev.files:
12110         * debian/libgstreamer0.4.1.files:
12111         * debian/libgstreamerVERSION.files:
12112         * debian/rules:
12113         Debian package info not maintained here.
12114
12115 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12116
12117         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12118         * gst/gstbin.c: (gst_bin_class_init):
12119         * gst/gstelement.c: (gst_element_class_init):
12120         * gst/gstindex.c: (gst_index_class_init):
12121         * gst/gstobject.c: (gst_object_class_init),
12122         (gst_signal_object_class_init):
12123         * gst/gstpad.c: (gst_pad_template_class_init):
12124         * gst/gstregistry.c: (gst_registry_class_init):
12125         * gst/gsturi.c: (gst_uri_handler_base_init):
12126         * gst/gstxml.c: (gst_xml_class_init):
12127         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12128         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12129           make all signal names use dashes instead of underscore
12130
12131 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12132
12133         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12134
12135 2004-03-03  Benjamin Otte  <otte@gnome.org>
12136
12137         * gst/schedulers/gstoptimalscheduler.c:
12138           revert last commit by Andy Wingo. It causes segfaults on unreffing
12139           in Rhythmbox. (see bug #135672)
12140
12141 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12142
12143         * po/fr.po: fix typo
12144
12145 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12146
12147         * tools/gst-inspect.c: (main): 
12148         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12149
12150 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12151
12152         * configure.ac:
12153           get GLIB_ONLY and POPT flags for the nonversioned binaries
12154         * tools/Makefile.am:
12155           use them
12156
12157 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12158
12159         * gst/gst.c: (init_post):
12160           change so that GST_REGISTRY now is where the global registry gets
12161           saved, since that is where plugins now get attached to first, and
12162           spilled over to the user registry.  Note that in the case of using
12163           GST_REGISTRY env var, we don't want to affect any real registries
12164           beyond the one given by this var, and thus we don't set a user
12165           registry to spill to.  So make sure GST_REGISTRY is writable.
12166
12167 2004-03-01  David Schleef  <ds@schleef.org>
12168
12169         * AUTHORS:  Added some names.  Add yourself if you're missing.
12170
12171 2004-03-01  David Schleef  <ds@schleef.org>
12172
12173         * MAINTAINERS: Add
12174
12175 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12176
12177         * configure.ac:
12178           remove whitespace
12179         * docs/gst/tmpl/gstbuffer.sgml:
12180         * docs/gst/tmpl/gstdata.sgml:
12181         * docs/gst/tmpl/gstreamer-unused.sgml:
12182         * docs/gst/tmpl/gstxml.sgml:
12183           doc update
12184         * docs/manuals.mak:
12185           add a FIXME
12186         * docs/pwg/intro-preface.xml:
12187         * docs/pwg/pwg.xml:
12188           remove GNOME
12189         * gst/gst.c: (init_post):
12190           try GST_PLUGIN_PATH paths for the _global_registry first
12191         * gst/gstelement.h:
12192           add the error message as well, otherwise (null) debug info doesn't
12193           make much sense
12194         * tools/gst-register.c: (main):
12195           spill paths to next registry if this registry is not writable
12196         * po/fr.po:
12197         * po/nl.po:
12198           translation updates
12199
12200 2004-03-01  Johan Dahlin  <johan@gnome.org>
12201
12202         * gst/gstbuffer.c (_gst_buffer_initialize): 
12203         * gst/gstdata.c (gst_data_get_type): 
12204         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12205         instead of ref, since some applications that uses GBoxed
12206         routines depends on a function that actually returns a copy.
12207
12208 2004-02-27  Benjamin Otte  <otte@gnome.org>
12209
12210         * gst/gstbuffer.h:
12211           remove gst_buffer_free, use gst_data_unref
12212         * gst/gstdata.c: (gst_data_get_type):
12213           use refcounting in GstData GBoxed registration
12214         * gst/gstdata.h:
12215           remove gst_data_free, use gst_data_unref
12216
12217 2004-02-27  Johan Dahlin  <johan@gnome.org>
12218
12219         * gst/gstdata.c (gst_data_get_type): New function, register
12220         GstData as a GBoxed type.
12221
12222         * gst/gstdata.h (GST_TYPE_DATA): New macro
12223
12224 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12225
12226         * Makefile.am:
12227         * gstreamer.spec.in:
12228           put back RELEASE
12229         * gst/Makefile.am:
12230           clean up non-disting of built files
12231         * testsuite/debug/commandline.c:
12232           test fix for option rename
12233
12234 2004-02-26  David Schleef  <ds@schleef.org>
12235
12236         * configure.ac:  We don't really need glib-2.3.  Also remove
12237         some unneeded checks for library functions.
12238         * gst/Makefile.am:  Instead, we need to not dist files created
12239         by glib-genmarshal.
12240
12241 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12242
12243         * configure.ac:
12244           bump glib required version to 2.3.0 for g_value_takes_boxed
12245
12246  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12247
12248         * common/m4/gst-docs.m4
12249         change flavour text from enable to disable as enable is our default
12250         closes bug Bug 135304
12251
12252 === release 0.7.5 ===
12253  
12254  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12255  
12256         * NEWS:
12257           instate NEWS file
12258         * Makefile.am:
12259         * gstreamer.spec.in:
12260         * RELEASE:
12261           put back release
12262         * configure.ac:
12263         * docs/random/release:
12264           more updates
12265
12266 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12267
12268         * gst/gsttag.c: (_gst_tag_initialize):
12269         * po/fr.po:
12270         * po/nl.po:
12271           remove hyphen from codec tags
12272
12273 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12274
12275         * gst/parse/Makefile.am:
12276           fix dependency so that a make from a clean build works the first
12277           time
12278
12279 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12280
12281         * docs/random/release:
12282           update release strategy
12283         * po/fr.po:
12284           auto-update po file
12285         * po/nl.po:
12286           update dutch translation
12287
12288 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12289
12290         * docs/manual/debugging.xml:
12291         fix manual for new debugging system
12292
12293 2004-02-25  Andy Wingo  <wingo@pobox.com>
12294
12295         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12296         gst_pad_link_prepare. Please email the list with specific reasons
12297         for reverting.
12298
12299 2004-02-24  Andy Wingo  <wingo@pobox.com>
12300
12301         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12302         invocations.
12303
12304         * gst/schedulers/gstoptimalscheduler.c:
12305         I added a mess of prototypes at the top of the file by way of
12306         documentation. Some of the operations on chains and groups were
12307         re-organized.
12308
12309         (create_group): Added a type argument so if the group is enabled,
12310         the setup_group_scheduler knows what to do.
12311         (group_elements): Added a type argument here, too, to be passed on
12312         to create_group.
12313         (group_element_set_enabled): If an unlinked PLAYING element is
12314         added to a bin, we have to create a new group to hold the element,
12315         and this function will be called before the group is added to the
12316         chain. Thus we have a valid case for group->chain==NULL. Instead
12317         of calling chain_group_set_enabled, just set the flag on the group
12318         (the chain's status will be set when the group is added to it).
12319         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12320         Setup the group scheduler when the group is enabled, not
12321         specifically when an element goes PAUSED->PLAYING. This means
12322         PLAYING elements can be added, linked, and scheduled into a
12323         PLAYING pipeline, as was intended.
12324         (add_to_group): Don't ref the group twice. I don't know when this
12325         double-ref got in here. Removing it has the potential to cause
12326         segfaults if other parts of the scheduler are buggy. If you find
12327         that the scheduler is segfaulting for you, put in an extra ref
12328         here and see if that hacks over the underlying issue. Of course,
12329         then find out what code is unreffing a group it doesn't own...
12330         (create_group): Make the extra refcount floating, and remove it
12331         after adding the element. This means that...
12332         (unref_group): Destroy when the refcount reaches 0, not 1, like
12333         every other refcounted object in the known universe.
12334         (remove_from_group): When a group becomes empty, set it to be not
12335         active, and remove it from its chain. Don't unref it again,
12336         there's no floating reference any more.
12337         (destroy_group): We have to remove the group from the chain in
12338         remove_from_group (rather than here) to break refcounting cycles
12339         (the chain always has a ref on the group). So assert that
12340         group->chain==NULL.
12341         (ref_group_by_count): Removed, it was commented out anyway.
12342         (merge_chains): Use the remove_from_chain and add_to_chain
12343         primitives to do the reparenting, instead of rolling our own
12344         implementation.
12345         (add_to_chain): The first non-disabled group in the chain's group
12346         list will be the entry point for the chain. Because buffers can
12347         accumulate in loop elements' peer bufpens, we preferentially
12348         schedule loop groups before get groups to avoid unnecessary
12349         execution of get-based groups when the bufpens are already full.
12350         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12351         (get_group_schedule_function): Ditto.
12352         (loop_group_schedule_function): Ditto.
12353         (gst_opt_scheduler_loop_wrapper): Ditto.
12354         (gst_opt_scheduler_iterate): Ditto.
12355
12356         I understand the opt scheduler now, yippee!
12357
12358         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12359         (gst_pad_get_name, gst_pad_set_chain_function) 
12360         (gst_pad_set_get_function, gst_pad_set_event_function) 
12361         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12362         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12363         (gst_pad_set_query_function, gst_pad_get_query_types) 
12364         (gst_pad_get_query_types_default) 
12365         (gst_pad_set_internal_link_function) 
12366         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12367         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12368         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12369         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12370         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12371         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12372         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12373         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12374         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12375         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12376         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12377         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12378         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12379         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12380         argument checks, and some doc fixes.
12381
12382         (gst_pad_custom_new_from_template): Um, does anyone
12383         use these functions? Actually make a custom pad instead of a
12384         normal one.
12385         (gst_pad_try_set_caps): Transpose some checks.
12386         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12387         the pad is in negotiation.
12388         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12389         
12390         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12391
12392         * gst/gstelement.h: 
12393         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12394         on the list.
12395
12396 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12397
12398         * gst/gstbin.c: (gst_bin_add):
12399           add error for not being able to add elements
12400
12401 2004-02-22  Julien MOUTTE <julien@moutte.net>
12402
12403         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12404         audio-codec and video-codec.
12405
12406 2004-02-22  Benjamin Otte  <otte@gnome.org>
12407
12408         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12409
12410         * autogen.sh:
12411           replace test -e with test -x for mkinstalldirs to be more portable.
12412           (fixes #134816)
12413
12414 2004-02-22  Benjamin Otte  <otte@gnome.org>
12415
12416         * gst/gstpad.c:
12417           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12418           too noisy
12419         * gst/gsttag.c: (_gst_tag_initialize):
12420         * gst/gsttag.h:
12421           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12422         * libs/gst/control/dparam.c: (gst_dparam_attach):
12423         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12424           check that types for attached dparams match
12425
12426 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12427
12428         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12429         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12430         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12431           fix errors
12432
12433 2004-02-20  Andy Wingo  <wingo@pobox.com>
12434
12435         * gst/gstbin.c:
12436         * gst/gstbuffer.c:
12437         * gst/gstplugin.c:
12438         * gst/registries/gstxmlregistry.c: 
12439         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12440
12441         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12442         (gst_element_add_pad): DEBUG->INFO, some fixes.
12443         (gst_element_get_compatible_pad_template): Just see if the
12444         templates' caps intersect, not if one is a strict subset of the
12445         other. This conforms more to what gst_pad_link_intersect() does.
12446         (gst_element_class_add_pad_template): Don't memcpy the pad
12447         template, just ref it.
12448         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12449
12450         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12451         (gst_pad_link_filtered): Debug changes.
12452         (gst_pad_link_prepare): New function, consolidated from
12453         can_link_filtered and link_filtered.
12454
12455         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12456         look more like that of the functions in gstelement.c
12457
12458         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12459         object, and return the empty string if object is NULL.
12460
12461         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12462         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12463         LOG, not DEBUG. We still get flex info on debug.
12464
12465         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12466         debug string more verbose.
12467         (plugin_times_older_than): DEBUG->LOG.
12468
12469 2004-02-20  Julien MOUTTE <julien@moutte.net>
12470
12471         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12472         will emit found_tag for each stream they demux with the codec.
12473
12474 2004-02-20  Benjamin Otte  <otte@gnome.org>
12475
12476         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12477           copy navigation event correctly. Check freeing tag lists. 
12478         * gst/gstthread.c: (gst_thread_change_state):
12479           don't abort() on state changing mess - it might happen because of
12480           bugs.
12481         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12482           use boxed functions
12483         * gst/gstvalue.h:
12484           fix GST_VALUE_HOLDS_CAPS
12485
12486 2004-02-19  David Schleef  <ds@schleef.org>
12487
12488         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12489         and use it for GST_FUNCTION.  (bug #134750)
12490
12491 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12492
12493         * po/fr.po:
12494         * po/nl.po:
12495           updating translations
12496
12497 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12500
12501 2004-02-18  kost@imn.htwk-leipzig.de
12502
12503         reviewed by: David Schleef  <ds@schleef.org>
12504
12505         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12506         for libgstcontrol.
12507
12508 2004-02-18  David Schleef  <ds@schleef.org>
12509
12510         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12511         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12512         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12513         * tools/gst-inspect.c: (print_element_info): Support dumping of
12514         double dparam information.
12515
12516 2004-02-17  David Schleef  <ds@schleef.org>
12517
12518         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12519         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12520         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12521         Use GST_TYPE_CAPS in signal prototype.
12522         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12523         Convert GST_TYPE_CAPS to boxed.
12524         * gst/gstelement.c: (gst_element_class_init):
12525         Use GST_TYPE_TAG_LIST in signal prototype.
12526         * gst/gstindex.c: (gst_index_class_init):
12527         * gst/gstindex.h:
12528         Add GST_TYPE_INDEX_ENTRY type.
12529         * gst/gstmarshal.list:
12530         Add necessary marshal types.
12531         * gst/gstpad.c: (gst_real_pad_class_init),
12532         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12533         (gst_pad_recover_caps_error):
12534         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12535         * gst/gststructure.c: (_gst_structure_initialize),
12536         (gst_structure_copy), (_gst_structure_copy_conditional):
12537         * gst/gststructure.h:
12538         Convert GST_TYPE_STRUCTURE to boxed.
12539         * gst/gsttag.c: (gst_tag_list_get_type):
12540         * gst/gsttag.h:
12541         Add GST_TYPE_TAG_LIST type.
12542
12543 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12544
12545         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12546         to what we agreed with david.
12547         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12548
12549 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12550
12551         * po/nl.po: update translation
12552
12553 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12554
12555         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12556           throw an error if spider is trying to play a mime type there is
12557           no decoder for
12558         * po/POTFILES.in:
12559           add gst/autoplug/gstspider.c for translation
12560
12561 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12562
12563         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12564         silently when the pad is negotiating.
12565
12566 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12567
12568         * docs/faq/Makefile.am:
12569           add script to run gstreamer uninstalled 
12570         * docs/faq/faq.xml:
12571         * docs/faq/developing.xml:
12572         * docs/faq/gst-uninstalled:
12573           extract script to run gstreamer uninstalled
12574         * docs/manuals.mak:
12575           add EXTRA_SOURCES variable for Makefile.am's to set to
12576           use additional SOURCE files for the doc build
12577
12578 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12579
12580         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12581
12582 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12583
12584         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12585         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12586         an error was thrown by osssink. Basically a state change failure for
12587         an element in a different scheduling group was considered as
12588         successful, which means that caps nego was going on and weird stuff
12589         happened. Like I wrote in the comment there, if someone wants to
12590         revert that please drop me a mail explaining why because I really see
12591         no point in keeping that broken behaviour there.
12592         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12593         be empty, we then return NULL which will trigger a nice error when 
12594         pulling from the pad.
12595
12596 2004-02-13  David Schleef  <ds@schleef.org>
12597
12598         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12599         (gst_dparam_get_property), (gst_dparam_set_property),
12600         (gst_dparam_do_update_default):
12601         * libs/gst/control/dparam.h:
12602         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12603         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12604         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12605         (gst_dpsmooth_do_update_double):
12606         * libs/gst/control/dparam_smooth.h:
12607         * libs/gst/control/dparammanager.c:
12608         (gst_dpman_inline_direct_update):
12609         Add support for double dparams.
12610
12611 2004-02-13  David Schleef  <ds@schleef.org>
12612
12613         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12614         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12615
12616 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12617
12618         reviewed by: David Schleef  <ds@schleef.org>
12619
12620         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12621         (gst_fdsrc_init), (gst_fdsrc_set_property),
12622         (gst_fdsrc_get_property), (gst_fdsrc_get):
12623         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12624         and sends an EOS event if file descriptor reading times out.
12625
12626 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12627
12628         * configure.ac:
12629           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12630
12631 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12632
12633         * configure.ac: pass required libxml version as argument
12634         (bug reported by Christophe Fergeau)
12635
12636 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12637   
12638         * docs/gst/gstreamer-docs.sgml:
12639         * docs/gst/tmpl/gstxml.sgml:
12640         * docs/libs/gstreamer-libs-docs.sgml:
12641           version API docs
12642
12643 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12644
12645         * gst/gstinfo.c:
12646         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12647         (gst_registry_pool_feature_filter):
12648         * gst/gstthread.c: (gst_thread_class_init):
12649         * gst/gstvalue.c:
12650           add includes exposed by building without libxml
12651         * gst/indexers/Makefile.am:
12652           do not build fileindex when LOADSAVE disabled; we should have
12653           a better libxml check later since fileindex depends on xml, not
12654           LOADSAVE or REGISTRY
12655         * libs/gst/control/Makefile.am:
12656           link with m
12657         * tools/Makefile.am:
12658           fix wrong source code for gst-xmlinspect
12659
12660 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12661
12662         * configure.ac:
12663           fix gcov help output
12664           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12665         * docs/random/release:
12666           some updated releasing notes
12667         * gstreamer.spec.in:
12668           more updates
12669
12670 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12671
12672         * docs/faq/faq.xml:
12673         * docs/manual/manual.xml:
12674         * docs/pwg/pwg.xml:
12675         * docs/pwg/titlepage.xml:
12676           put version in documentation
12677
12678 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12679
12680         * tools/Makefile.am: fix man page installation
12681
12682 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12683
12684         * configure.ac:
12685           don't check for libxml when load/save and registry disabled (#105844)
12686         * gstreamer.spec.in:
12687           sync with fedora candidate spec
12688
12689 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12690
12691         * po/fr.po:
12692         * po/nl.po:
12693           replace multidisksrc with multifilesrc
12694
12695 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12696
12697         * po/POTFILES.in:
12698           update to multidisksrc => multifilesrc file renaming (#134145)
12699
12700 2004-02-11  David Schleef  <ds@schleef.org>
12701
12702         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12703         * docs/gst/tmpl/gstpadtemplate.sgml: same
12704         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12705         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12706         fixing dance.
12707         * gst/gstutils.c: Remove disabled code that uses GstProps.
12708         * gst/registries/gstxmlregistry.h: same
12709         * docs/random/ds/0.9-suggested-changes: random notes
12710
12711 2004-02-11  kost@imn.htwk-leipzig.de
12712
12713         reviewed by: David Schleef  <ds@schleef.org>
12714
12715         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12716         initialisation of clock (bug #134128)
12717
12718 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12719
12720         * configure.ac:
12721         * gst/elements/Makefile.am:
12722         * gst/elements/gstelements.c:
12723         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12724         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12725         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12726         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12727         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12728         * gst/elements/gstmultifilesrc.h:
12729           rename multidisksrc to multifilesrc (part of #122200)
12730
12731 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12732
12733         * docs/manuals.mak:
12734           fix automake complaints
12735         * gst-element-check.m4:
12736           fix unquotedness
12737
12738 2004-02-11  David Schleef  <ds@schleef.org>
12739
12740         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12741         * gst/gstatomic_impl.h: Disable sparc implementation.
12742
12743 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12744
12745         * gst-element-check.m4:
12746           fix underquoted macros as reported by automake 1.8.x (#133800)
12747         * configure.ac:
12748           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12749           by autopoint (fixes #132996)
12750
12751 2004-02-10  Andy Wingo  <wingo@pobox.com>
12752
12753         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12754         way to do inheritance.
12755         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12756         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12757         Routine docs.
12758         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12759         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12760         doc.
12761         (gst_pad_unlink, gst_pad_is_linked): Docs.
12762         (gst_pad_renegotiate): A brief description of capsnego.
12763         (gst_pad_try_set_caps): Document.
12764         (gst_pad_try_set_caps_nonfixed): Document.
12765         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12766         (gst_pad_set_parent): Deprecated (although not out of the API).
12767         (gst_pad_get_parent): Deprecated, although many plugins use this.
12768         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12769         are private and will go away in 0.9.
12770         (gst_pad_perform_negotiate): Doc.
12771         (gst_pad_link_unnegotiate): I think this is meant to be static.
12772         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12773         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12774         (gst_pad_get_peer): Doc updates.
12775         (gst_pad_caps_change_notify): Doc.
12776         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12777         (gst_ghost_pad_new): Doc fixes.
12778
12779         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12780         (gst_object_check_uniqueness): 
12781
12782         * gst/gstelement.c (gst_element_add_pad) 
12783         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12784         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12785         (gst_element_get_static_pad, gst_element_get_pad_list) 
12786         (gst_element_class_get_pad_template_list) 
12787         (gst_element_class_get_pad_template): Work on the docs.
12788         (gst_element_get_pad_template_list): Uses the class method.
12789         (gst_element_get_compatible_pad_template): Docs, and consolidate
12790         some test conditions. 
12791         (gst_element_get_pad_from_template): New static function.
12792         (gst_element_request_compatible_pad): Docs, and work with
12793         non-request compatible templates. 
12794         (gst_element_get_compatible_pad_filtered): Docs and remove
12795         redundant checks.
12796         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12797         (gst_element_link_filtered, gst_element_link_many) 
12798         (gst_element_link, gst_element_link_pads) 
12799         (gst_element_unlink_many): Docs.
12800
12801 2004-02-05  Andy Wingo  <wingo@pobox.com>
12802
12803         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12804         s/pointer/boxed/.
12805
12806         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12807
12808         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12809         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12810         with the type=GST_TYPE_CAPS. This allows language bindings to know
12811         what kind of data they're dealing with.
12812
12813         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12814         to NULL when g_value_init is called. GstCaps, which rolls its own
12815         type implementation, now does the same instead of allocating empty
12816         caps.
12817         (_gst_caps_initialize, _gst_caps_collect_value,
12818         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12819         table methods. This allows G_VALUE_COLLECT to work.
12820
12821 2004-02-05  Andy Wingo  <wingo@pobox.com>
12822
12823         * configure.ac:
12824         * testsuite/Makefile.am (SUBDIRS): 
12825         * testsuite/ghostpads/Makefile.am: 
12826         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12827
12828         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12829         These two routines are the only ones that set
12830         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12831         pad template. They should be made static, depending on ABI needs.
12832         (gst_real_pad_dispose): Handle the case of ghost pads without a
12833         parent. Assert after dealing with ghost pads that the ghost pad
12834         list is empty.
12835         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12836         set after creation.
12837         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12838         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12839         functions. set_property will call add_ghost_pad/remove_ghost_pad
12840         as appropriate.
12841         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12842
12843         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12844         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12845         (gst_element_remove_pad): Handle ghost pads as well.
12846         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12847         depending on API-stability needs).
12848
12849 2004-02-05  Andy Wingo  <wingo@pobox.com>
12850
12851         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12852         of course they're const
12853
12854 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12855
12856         * tools/Makefile.am:
12857         * tools/gst-feedback:
12858         * tools/gst-feedback-0.7:
12859           make gst-feedback versioned too for consistency
12860
12861 2004-02-11  David Schleef  <ds@schleef.org>
12862
12863         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12864         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12865
12866 2004-02-10  Julien MOUTTE <julien@moutte.net>
12867
12868         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12869         the structure does not contain a valid tag list. Adding a safety check
12870         to remove a noisy warning in that case.
12871
12872 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12873
12874         * gst/gst.c: fix name to be in line with others
12875
12876 2004-02-09  Julien MOUTTE <julien@moutte.net>
12877
12878         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12879         not shout that loud when len is 0. Just return 0 silently.
12880
12881 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12882
12883         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12884         because data_unref has one and I prefer the debug to be symetric.
12885         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12886         were refed when added to the queue and unrefed only once when the queue
12887         was flushed. Now the flush handler unref the buffers two times : first
12888         unref for the ref added when pushing in the queue's tail and second
12889         unref to destroy the flushed buffer.
12890
12891 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12892
12893         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12894
12895 2004-02-06  David Schleef  <ds@schleef.org>
12896
12897         * docs/random/ds/0.9-suggested-changes: Random ramblings
12898         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12899         to int before printing.
12900         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12901         * gst/parse/parse.l: same.  See bug #129600
12902
12903 2004-02-06  David Schleef  <ds@schleef.org>
12904
12905         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12906         (gst_index_add_entry), (gst_index_add_associationv),
12907         (gst_index_add_association): Add gst_index_add_associationv()
12908         and clean up gst_index_add_association(). #127133
12909
12910 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12911
12912         * autogen.sh: check out common with right tag if CVS/Tag exists
12913
12914 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12915
12916         * testsuite/ghostpads/ghostpads.c: (main):
12917           fix testsuite from segfaulting
12918
12919 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * Makefile.am: add release target
12922         * configure.ac: bump nano to 1
12923         * docs/random/release:
12924
12925 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12926
12927         * gst/gstcaps.h:
12928         * gst/gstelement.c: (gst_element_base_class_init),
12929         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12930         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12931         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12932         (gst_real_pad_dispose):
12933         * gst/gststructure.c: (gst_structure_free),
12934         (gst_structure_from_string):
12935           put reverted patch back in
12936         * gst/gstelement.c: (gst_element_remove_pad):
12937           free explicit caps if they're set
12938         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12939           copy the structure when fixating
12940
12941 2004-02-05  David Schleef  <ds@schleef.org>
12942
12943         * gst/gstmarshal.list:
12944         * gst/gstpad.c: (gst_real_pad_class_init),
12945         (_gst_real_pad_fixate_accumulator):
12946         Revert POINTER->BOXED change in signal marshaller.
12947
12948 === release 0.7.4 ===
12949                                                                                 
12950 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12951                                                                                 
12952         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12953         * configure.ac: changed for release
12954
12955 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12956
12957         * gstreamer.spec.in:
12958           bump required version of gtk-doc
12959
12960 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12961
12962         * gst/gstcaps.h:
12963         * gst/gstelement.c: (gst_element_base_class_init),
12964         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12965         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12966         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12967         (gst_real_pad_dispose):
12968         * gst/gststructure.c: (gst_structure_free),
12969         (gst_structure_from_string):
12970           revert patch that breaks applications, reapply after release
12971           to get this fixed properly
12972
12973 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12974
12975         * gst/gsttag.c: (_gst_tag_initialize):
12976         * gst/gsttag.h:
12977           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12978
12979 2004-02-04  David Schleef  <ds@schleef.org>
12980
12981         Fix some memleaks:
12982         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12983         (gst_spider_plug_from_srcpad):
12984         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12985
12986 2004-02-04  David Schleef  <ds@schleef.org>
12987
12988         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12989         a GstRealPad before accessing its structure members.
12990
12991 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12992
12993         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12994         (gst_clock_get_speed):
12995         * gst/gstclock.h:
12996           reset padding, remove unused fields
12997
12998 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12999
13000         * gst/autoplug/gstspideridentity.c:
13001         (gst_spider_identity_sink_loop_type_finding):
13002           use get_allowed_caps, not get_caps (fixes #132519)
13003         * gst/elements/gsttypefind.c: (stop_typefinding):
13004           use correct order when sending buffers and seeking
13005
13006 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13007
13008         * configure.ac:
13009         * gst/gstelement.h:
13010         * gst/gstpad.h:
13011         * gst/gstqueue.h:
13012           upgrade libtool CURRENT, reset padding
13013
13014 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13015
13016         * configure.ac:
13017           bump to prerelease
13018           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
13019
13020 2004-02-04  David Schleef  <ds@schleef.org>
13021
13022         * docs/random/ds/0.9-suggested-changes: random notes
13023         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
13024         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
13025         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
13026         expansion.
13027         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
13028         (gst_filesink_get_query_types): same
13029         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
13030         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
13031         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
13032         to use new GST_PTR_FORMAT.
13033         * gst/gstelement.h: deprecate function factory macros
13034         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
13035         These are our last variadic macros that can't be replaced with
13036         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13037         attempting to deprecate gst_element_clock_wait().
13038         * gst/gstevent.h: same
13039         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13040         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13041         * gst/gstpad.h: deprecate function factory macros similar to above.
13042
13043 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13044
13045         * configure.ac:
13046         * tools/Makefile.am:
13047         * tools/gst-run.c: (popt_callback), (hash_print_key),
13048         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13049         (get_candidates), (main):
13050           add new source file to generate non-versioned wrapper binaries
13051           for our tools.
13052
13053 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13054
13055         * gst/gstevent.c: (_gst_event_free):
13056           actually break; inside the switch statement
13057         * gst/parse/grammar.y:
13058           fix memleak where GValues weren't unset
13059
13060 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13061
13062         * gst/gststructure.c: (gst_structure_from_string):
13063           fix huge memleak
13064         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13065         (new_entry), (gst_type_find_element_chain):
13066         * gst/gstelement.c: (gst_element_base_class_init),
13067         (gst_element_class_set_details):
13068         * gst/gstpad.c: (gst_pad_can_link_filtered):
13069           fix smaller memleaks
13070         * gst/gstpad.c: (gst_real_pad_dispose):
13071           check that explicit caps are gone
13072         * gst/gststructure.c: (gst_structure_free):
13073           actually free the structure
13074         * gst/gstelement.c: (gst_element_clear_pad_caps):
13075           unset explicit caps
13076
13077 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13078
13079         * tools/Makefile.am:
13080           use AM_CFLAGS since all the CFLAGS are the same
13081           use AM_LDFAGS
13082
13083 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13084
13085         * docs/manual/gnome.xml:
13086           expand example a little
13087         * gst/gst.c: (gst_init_with_popt_table),
13088         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13089           make sure popt option displays are done with right textdomain
13090           use GstPoptOption type
13091         * gst/gst.h:
13092           create GstPoptOption type
13093
13094 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13095
13096         * gst/gsterror.c: (_gst_stream_errors_init):
13097         * gst/gsterror.h:
13098           adding error type for no codec
13099         * po/POTFILES.in:
13100           add gst-inspect
13101         * po/nl.po:
13102           update dutch translation
13103         * tools/gst-inspect.c: (print_element_list), (main):
13104           do proper internationalization
13105         * tools/gst-launch.c: (idle_func):
13106           remove commented out function call
13107
13108 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13109
13110         * docs/README:
13111           add some error fixing notes
13112         * docs/gst/gstreamer-sections.txt:
13113           remove double entries
13114         * docs/gst/tmpl/gstbin.sgml:
13115         * docs/gst/tmpl/gstclock.sgml:
13116           remove override
13117         * docs/gst/tmpl/gstelement.sgml:
13118         * docs/gst/tmpl/gstindex.sgml:
13119         * docs/gst/tmpl/gstobject.sgml:
13120         * docs/gst/tmpl/gstpadtemplate.sgml:
13121         * docs/gst/tmpl/gstreamer-unused.sgml:
13122         * docs/gst/tmpl/gsttag.sgml:
13123         * docs/gst/tmpl/gstthread.sgml:
13124         * docs/gst/tmpl/gstxml.sgml:
13125         * gst/gsttag.h:
13126           sync header prototypes with c decls
13127         * gst/gsttaginterface.c:
13128           fix doc headers
13129
13130 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13131
13132         * gst/parse/Makefile.am:
13133         * gst/gstobject.h:
13134           get rid of gstmarshal.h dependency. It's not needed.
13135         * gst/gst.h:
13136         * gst/elements/gstfakesink.c:
13137         * gst/elements/gstfakesrc.c:
13138         * gst/elements/gstidentity.c:
13139         * gst/gstbin.c:
13140         * gst/gstelement.c:
13141         * gst/gstindex.c:
13142         * gst/gstobject.c:
13143         * gst/gstpad.c:
13144         * gst/gstthread.c:
13145         * gst/gstxml.c:
13146         * libs/gst/control/dparam.c:
13147         * libs/gst/control/dparammanager.c:
13148           include gstmarshal.h.
13149         Fixes #132045
13150
13151 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13152
13153         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13154         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13155         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13156         * gst/elements/gstfilesrc.h:
13157           don't ref the filesrc when creating mmaped buffers. Don't keep a
13158           list of not-yet-destroyed buffers.
13159         * gst/gstbuffer.h:
13160           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13161
13162 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13163
13164         * gst/gst.c: (init_pre):
13165           remove textdomain
13166
13167 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13168
13169         * docs/pwg/advanced-events.xml:
13170         * docs/pwg/advanced-scheduling.xml:
13171         * docs/pwg/intro-basics.xml:
13172         * docs/pwg/other-manager.xml:
13173         * docs/pwg/other-nton.xml:
13174         * docs/pwg/other-ntoone.xml:
13175         * docs/pwg/other-oneton.xml:
13176         * docs/pwg/pwg.xml:
13177           All sort of documentation... Forgot what. Point is that I want this
13178           in before I leave. The 'other-*' will be the last section and will
13179           explain issues specific to these type of elements.
13180
13181 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13182
13183         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13184         (gst_filesrc_get_read):
13185           set all the values on buffers that we can
13186
13187 2004-02-02  David Schleef  <ds@schleef.org>
13188
13189         Change usage of isblah() to g_ascii_isblah() to be more locale
13190         independent.  (#133076)
13191         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13192         * gst/gstutils.c:
13193         * gst/parse/parse.l:
13194
13195 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13196
13197         reviewed by: David Schleef  <ds@schleef.org>
13198
13199         Fix memory leaks:
13200         * gst/gstcaps.c: (gst_caps_to_string):
13201         * gst/registries/gstxmlregistry.c:
13202         (gst_xml_registry_add_path_list_func),
13203         (gst_xml_registry_parse_padtemplate):
13204
13205 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13206
13207         * gst/gstelement.c: (gst_element_default_error):
13208           suffix error messages with period
13209
13210 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13211
13212         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13213         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13214         * gst/gsterror.c: (gst_error_get_message):
13215           Suffix with dots
13216         * po/fr.po:
13217         * po/nl.po:
13218           Update translation files
13219
13220 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13221
13222         * gst/autoplug/gstspideridentity.c:
13223         (gst_spider_identity_sink_loop_type_finding):
13224         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13225         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13226         (gst_filesink_close_file), (gst_filesink_handle_event),
13227         (gst_filesink_chain):
13228         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13229         (gst_filesrc_get_read), (gst_filesrc_open_file):
13230         * gst/elements/gstidentity.c: (gst_identity_chain):
13231         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13232         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13233         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13234         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13235         * gst/gsterror.c: (_gst_core_errors_init),
13236         (_gst_library_errors_init), (_gst_resource_errors_init),
13237         (_gst_stream_errors_init), (gst_error_get_message):
13238         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13239         (gst_pad_recover_caps_error), (gst_pad_pull):
13240         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13241         * gst/schedulers/gstbasicscheduler.c:
13242         (gst_basic_scheduler_chainhandler_proxy),
13243         (gst_basic_scheduler_gethandler_proxy),
13244         (gst_basic_scheduler_cothreaded_chain):
13245           Suffix error messages with period.
13246           Use (NULL) instead of NULL
13247
13248 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13249
13250         * docs/gst/tmpl/gstelement.sgml:
13251         * docs/gst/tmpl/gstxml.sgml:
13252         * gst/gstelement.c: (gst_element_error_full):
13253           add element path to error
13254
13255 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13256
13257         * docs/random/mimetypes:
13258           update raw int/float info
13259         * gst/gsttag.c: (_gst_tag_initialize):
13260         * gst/gsttag.h:
13261           add GST_TAG_ENCODER
13262
13263 2004-01-30  David Schleef  <ds@schleef.org>
13264
13265         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13266           missing (#132991)
13267
13268 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13269
13270         reviewed by Benjamin Otte 
13271           parts of the patch submitted in bug #113913
13272
13273         * configure.ac:
13274           use AC_C_INLINE. Use = instead of == with test
13275         * examples/plugins/example.c:
13276         * gst/autoplug/gstspideridentity.c:
13277         * gst/elements/gstfdsrc.c:
13278         * gst/elements/gstfilesrc.c:
13279         * gst/elements/gstidentity.c:
13280         * gst/elements/gstmultidisksrc.c:
13281         * gst/elements/gststatistics.c:
13282         * gst/gstelement.c:
13283         * gst/gstobject.c:
13284         * gst/gstpad.c:
13285         * gst/gstpipeline.c:
13286         * gst/gstthread.c:
13287           don't end enums with a comma
13288         * gst/gstindex.c: (gst_index_compare_func):
13289           do explicit casting to gint
13290         * gst/gsttrace.c: (gst_trace_text_flush):
13291           #define strsize as a macro
13292
13293 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13294
13295         * docs/README:
13296         * docs/gst/gstreamer-docs.sgml:
13297         * docs/gst/gstreamer-sections.txt:
13298         * docs/gst/tmpl/gstelement.sgml:
13299         * docs/gst/tmpl/gsterror.sgml:
13300         * docs/gst/tmpl/gstinterface.sgml:
13301         * docs/gst/tmpl/gstreamer-unused.sgml:
13302         * docs/gst/tmpl/gststructure.sgml:
13303         * docs/gst/tmpl/gsttag.sgml:
13304         * docs/gst/tmpl/gsttaginterface.sgml:
13305         * docs/gst/tmpl/gstvalue.sgml:
13306         make sure all API ends up in the built docs
13307         * gst/gstinterface.c:
13308         * gst/gststructure.c: (gst_structure_id_set_value),
13309         (gst_structure_set_value), (gst_structure_id_get_value):
13310         * gst/gststructure.h:
13311         * gst/gstvalue.h:
13312         sync .h with .c declarations
13313
13314 2004-01-30  Julien Moutte  <julien@moutte.net>
13315
13316         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13317         Ronald will fix riffread.
13318
13319 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13320
13321         * docs/pwg/advanced-interfaces.xml:
13322           Added tuner interface docs.
13323
13324 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13325
13326         * docs/random/mimetypes:
13327           correct Theora information
13328         * gst/gstelement.h:
13329           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13330
13331 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13332
13333         * gst/gstelement.c: (gst_element_error_full):
13334         * gst/gstelement.h:
13335           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13336
13337 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13338
13339         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13340         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13341         again and even before DISCONT.
13342         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13343         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13344         bytestream so that it's not stopping to fill the bytestream if events
13345         different than EOS or DISCONT are received. Instead it process them so
13346         that they go downstream.
13347
13348 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13349
13350         * docs/gst/tmpl/gstelement.sgml:
13351         * docs/gst/tmpl/gstreamer-unused.sgml:
13352         * docs/gst/tmpl/gstxml.sgml:
13353         * gst/autoplug/gstspideridentity.c:
13354         (gst_spider_identity_sink_loop_type_finding):
13355         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13356         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13357         (gst_filesink_close_file), (gst_filesink_handle_event),
13358         (gst_filesink_chain):
13359         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13360         (gst_filesrc_get_read), (gst_filesrc_open_file):
13361         * gst/elements/gstidentity.c: (gst_identity_chain):
13362         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13363         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13364         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13365         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13366         * gst/gstelement.h:
13367         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13368         (gst_pad_recover_caps_error), (gst_pad_pull):
13369         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13370         * gst/schedulers/gstbasicscheduler.c:
13371         (gst_basic_scheduler_chainhandler_proxy),
13372         (gst_basic_scheduler_gethandler_proxy),
13373         (gst_basic_scheduler_cothreaded_chain):
13374           gst_element_error -> GST_ELEMENT_ERROR
13375
13376 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13377
13378         * docs/Makefile.am:
13379         * docs/gst/tmpl/gstelement.sgml:
13380         * docs/gst/tmpl/gstxml.sgml:
13381         * docs/manuals.mak:
13382         * docs/pwg/advanced-request.xml:
13383         * docs/pwg/advanced-scheduling.xml:
13384         * docs/pwg/advanced-tagging.xml:
13385           fix non-validating docbook using CDATA
13386           make sure make check-local gets run first to check if it validates
13387
13388 2004-01-29  Julien MOUTTE <julien@moutte.net>
13389
13390         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13391         handling (up and downstream).
13392         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13393         my_filter thing.
13394
13395 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13396
13397         * docs/pwg/advanced-tagging.xml:
13398           Add docs about tag writing.
13399
13400 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13401
13402         * docs/pwg/advanced-tagging.xml:
13403           Add a part about tag reading and application signalling... Tag
13404           writing still needs to be documented.
13405         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13406           We can set file locations in READY, too.
13407
13408 2004-01-29  Julien MOUTTE <julien@moutte.net>
13409
13410         * docs/random/ds/element-checklist: Adding some notes about src
13411         events.
13412
13413 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13414
13415         * docs/random/mimetypes:
13416           Update docs to point to correct elements for various mimetypes, and
13417           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13418           <stephane.loeuillet@tiscali.fr>.
13419
13420 2004-01-28  David Schleef  <ds@schleef.org>
13421
13422         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13423
13424 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13425
13426         * docs/random/mimetypes:
13427           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13428           undefined"
13429         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13430           make it only work in NULL.
13431         * gst/gstcaps.c:
13432           don't posion NULL caps
13433         * gst/gstelement.c: (gst_element_set_time):
13434           add debugging statement
13435         * gst/gstelement.c: (gst_element_emit_found_tag),
13436         (gst_element_found_tag_func), (gst_element_found_tags):
13437         * gst/gstelement.h:
13438           These functions take const taglists
13439         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13440           fix memleak
13441         * gst/gstpad.c: (gst_pad_event_default):
13442           make more effort on handling discont and clocks, g_warn if everything
13443           fails
13444         * gst/gststructure.c: (gst_structure_remove_fields),
13445         (gst_structure_remove_fields_valist):
13446         * gst/gststructure.h:
13447           add gst_structure_remove_fields(_valist)
13448         * gst/gsttag.c:
13449           fix doc glitch
13450
13451 2004-01-28  David Schleef  <ds@schleef.org>
13452
13453         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13454         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13455         Fix memory leakage of gst_caps_to_string().
13456
13457         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13458         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13459         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13460         (gst_spider_identity_sink_loop_type_finding):
13461         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13462         (find_suggest):
13463         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13464         (gst_pad_set_explicit_caps):
13465         * gst/parse/grammar.y:
13466
13467 2004-01-28  David Schleef  <ds@schleef.org>
13468
13469         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13470         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13471         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13472         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13473         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13474         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13475         (gst_debug_log_default), (_gst_info_printf_extension),
13476         (_gst_info_printf_extension_arginfo):  Add printf extension.
13477         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13478         * gst/gststructure.c: (gst_structure_to_string),
13479         (_gst_structure_parse_value): Use gst_value_deserialize() and
13480         remove old code.
13481         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13482         (gst_value_deserialize_boolean), (gst_strtoi),
13483         (gst_value_deserialize_int), (gst_value_deserialize_double),
13484         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13485         a bunch of deserialize functions and gst_value_deserialize.
13486         * gst/gstvalue.h: er, _de_serialize, not unserialize
13487         * testsuite/caps/string-conversions.c: (main): We don't currently
13488         handle (float) in caps, so convert these to (double).
13489         * testsuite/debug/Makefile.am: Add new test for the printf extension
13490         * testsuite/debug/printf_extension.c: (main): same
13491
13492 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13493
13494         * docs/random/company/time:
13495           Add some docs about clocking and time
13496
13497 2004-01-28  Julien MOUTTE <julien@moutte.net>
13498
13499         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13500
13501 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13502
13503         * docs/pwg/advanced-clock.xml:
13504         * docs/pwg/advanced-dparams.xml:
13505         * docs/pwg/advanced-events.xml:
13506         * docs/pwg/advanced-interfaces.xml:
13507         * docs/pwg/advanced-midi.xml:
13508         * docs/pwg/advanced-request.xml:
13509         * docs/pwg/advanced-scheduling.xml:
13510         * docs/pwg/advanced-tagging.xml:
13511         * docs/pwg/advanced-types.xml:
13512         * docs/pwg/appendix-checklist.xml:
13513         * docs/pwg/building-boiler.xml:
13514         * docs/pwg/building-chainfn.xml:
13515         * docs/pwg/building-filterfactory.xml:
13516         * docs/pwg/building-pads.xml:
13517         * docs/pwg/building-props.xml:
13518         * docs/pwg/building-signals.xml:
13519         * docs/pwg/building-state.xml:
13520         * docs/pwg/building-testapp.xml:
13521         * docs/pwg/intro-basics.xml:
13522         * docs/pwg/intro-preface.xml:
13523         * docs/pwg/other-autoplugger.xml:
13524         * docs/pwg/other-sink.xml:
13525         * docs/pwg/other-source.xml:
13526         * docs/pwg/titlepage.xml:
13527           fix up id's
13528
13529 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13530
13531         * docs/95NonPath:
13532         * docs/HACKING:
13533         * docs/README:
13534         * docs/building-the-docs-on-debian:
13535           collect relevant bits of doc info
13536
13537 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13538
13539         * docs/pwg/advanced_tagging.xml:
13540           Half-assed commit so Thomas can re-arrange document IDs here to be
13541           consistent, too.
13542
13543 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13544
13545         * docs/manual/autoplugging.xml:
13546         * docs/manual/bins-api.xml:
13547         * docs/manual/bins.xml:
13548         * docs/manual/buffers-api.xml:
13549         * docs/manual/buffers.xml:
13550         * docs/manual/clocks.xml:
13551         * docs/manual/components.xml:
13552         * docs/manual/cothreads.xml:
13553         * docs/manual/debugging.xml:
13554         * docs/manual/dparams-app.xml:
13555         * docs/manual/dynamic.xml:
13556         * docs/manual/elements-api.xml:
13557         * docs/manual/elements.xml:
13558         * docs/manual/factories.xml:
13559         * docs/manual/gnome.xml:
13560         * docs/manual/goals.xml:
13561         * docs/manual/helloworld.xml:
13562         * docs/manual/helloworld2.xml:
13563         * docs/manual/init-api.xml:
13564         * docs/manual/intro.xml:
13565         * docs/manual/links-api.xml:
13566         * docs/manual/links.xml:
13567         * docs/manual/manual.xml:
13568         * docs/manual/motivation.xml:
13569         * docs/manual/pads-api.xml:
13570         * docs/manual/pads.xml:
13571         * docs/manual/plugins-api.xml:
13572         * docs/manual/plugins.xml:
13573         * docs/manual/programs.xml:
13574         * docs/manual/queues.xml:
13575         * docs/manual/quotes.xml:
13576         * docs/manual/schedulers.xml:
13577         * docs/manual/states-api.xml:
13578         * docs/manual/states.xml:
13579         * docs/manual/threads.xml:
13580         * docs/manual/typedetection.xml:
13581         * docs/manual/xml.xml:
13582           use chapter, part, section or misc as id starts for all bits
13583
13584 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13585
13586         * docs/gst/gstreamer-sections.txt:
13587           Fix up TITLE of the sections
13588
13589 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13590
13591         * docs/pwg/advanced_interfaces.xml:
13592           Add documentation on propertyprobing.
13593         * docs/pwg/advanced_events.xml:
13594         * docs/pwg/advanced_tagging.xml:
13595         * docs/pwg/building_boiler.xml:
13596         * docs/pwg/building_filterfactory.xml:
13597         * docs/pwg/pwg.xml:
13598           Move filterfactory and tagging into their own chapter, add a chapter
13599           on events. all these are empty placeholders that will be filled in
13600           some day.
13601
13602 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13603
13604         * docs/pwg/advanced_interfaces.xml:
13605           Docs for mixer interface. Also a check for website uploading.
13606
13607 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13608
13609         * docs/HACKING:
13610         * docs/Makefile.am:
13611         * docs/faq/Makefile.am:
13612         * docs/gst/Makefile.am:
13613         * docs/gst/tmpl/gstelement.sgml:
13614         * docs/gst/tmpl/gstplugin.sgml:
13615         * docs/gst/tmpl/gstreamer-unused.sgml:
13616         * docs/libs/Makefile.am:
13617         * docs/manual/Makefile.am:
13618         * docs/manuals.mak:
13619         * docs/pwg/Makefile.am:
13620         * docs/upload.mak:
13621           Separate out upload target and make it similar for
13622           both docbook and gtk-doc docs
13623
13624 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13625
13626         * docs/manuals.mak:
13627           Fix upload target to work with freedesktop
13628
13629 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13630
13631         * docs/pwg/advanced_types.xml:
13632           Add notes on creating your own types.
13633         * docs/pwg/building_boiler.xml:
13634         * docs/pwg/building_pads.xml:
13635         * docs/pwg/building_state.xml:
13636           Add some stuff about how to retrieve values from structures, how
13637           that relates to types and change layout slightly again to be almost
13638           perfect.
13639
13640 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13641
13642         * docs/pwg/advanced_dparams.xml:
13643         * docs/pwg/advanced_scheduling.xml:
13644           Change index layout slightly.
13645
13646 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13647
13648         * docs/pwg/advanced_clock.xml:
13649         * docs/pwg/advanced_interfaces.xml:
13650         * docs/pwg/advanced_midi.xml:
13651           General placeholders for now.
13652         * docs/pwg/advanced_request.xml:
13653           Explanation about sometimes and request pads.
13654         * docs/pwg/advanced_scheduling.xml:
13655           Concept of bytestream, loopfunctions and schedulers.
13656         * docs/pwg/building_boiler.xml:
13657           Add something about plugin-init.
13658
13659 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * docs/pwg/building_pads.xml:
13662           Fix broken docbook
13663
13664 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13665
13666         * docs/pwg/advanced_interfaces.xml:
13667         * docs/pwg/pwg.xml:
13668           Add as a placeholder for future filling-in.
13669         * docs/pwg/basics_autoplugging.xml:
13670         * docs/pwg/basics_buffers.xml:
13671         * docs/pwg/basics_elements.xml:
13672         * docs/pwg/basics_events.xml:
13673         * docs/pwg/basics_plugins.xml:
13674         * docs/pwg/basics_types.xml:
13675           Remove, because unused (this is all in intro_basics.xml).
13676         * docs/pwg/building_signals.xml:
13677           Short intro to signals + reference to GObject docs - we really
13678           shouldn't go into these sort of things to deply because we don't
13679           use them that extensively anyway.
13680         * docs/pwg/building_state.xml:
13681           Explanation of states. Benjamin, please check.
13682         * docs/pwg/building_testapp.xml:
13683           Put everything in one page - putting only a few lines of content
13684           per page doesn't really make sense.
13685
13686           Time to get into the advanced topics. ;).
13687
13688 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13689
13690         * docs/pwg/advanced_types.xml:
13691           Finish documenting the current state of mimetypes.
13692         * docs/pwg/building_boiler.xml:
13693         * docs/pwg/building_chainfn.xml:
13694         * docs/pwg/building_pads.xml:
13695         * docs/pwg/building_props.xml:
13696         * docs/pwg/building_testapp.xml:
13697           Start documenting the "how to build a simple audio filter" part
13698           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13699           states and (maybe?) a short introduction to capsnego in the chapter
13700           on pads (building_pads.xml). Capsnego should probably be explained
13701           fully in advanced_capsnego.xml or so.
13702
13703 2004-01-26  David Schleef  <ds@schleef.org>
13704
13705         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13706         * gst/gstpad.h: Add new function to allow element to (somewhat)
13707         specify non-fixed caps on a pad.
13708         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13709         that I added a few weeks ago.
13710
13711 2004-01-26  David Schleef  <ds@schleef.org>
13712
13713         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13714           making try_set_caps() work with non-fixed caps.
13715
13716 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13717
13718         * docs/pwg/advanced_types.xml:
13719         * docs/pwg/intro_basics.xml:
13720         * docs/pwg/intro_preface.xml:
13721         * docs/pwg/pwg.xml:
13722         * docs/pwg/titlepage.xml:
13723           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13724           in here (docs/random/mimetypes), and will from there on work on both
13725           updating outdated parts and adding missing parts.
13726           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13727
13728 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13729
13730         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13731           policy is set
13732
13733 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13734
13735         * gst/gstelement.h:
13736           remove gst_element_factory_get_version. It doesn't exist anymore.
13737         * gst/gstplugin.c:
13738         * gst/gstplugin.h:
13739           remove gst_plugin_set_name and change gst_plugin_get_longname to
13740           gst_plugin_get_description to match code.
13741         * gst/gsterror.h:
13742           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13743         * gst/gstpad.c: (gst_pad_try_set_caps):
13744           make it work with nonfixed caps.
13745           Note that even in the nonfixed case the link function of the pad
13746           that tries to set caps isn't called.
13747
13748 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13749
13750         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13751           fix bug where buffer was not assembled correctly
13752         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13753           silence by default
13754         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13755           only seek if there's no more buffers that could work without seeking
13756
13757 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13758
13759         * gst/gsttag.c: (_gst_tag_initialize):
13760         * gst/gsttag.h:
13761           Add application tag (for encoding/muxing app).
13762
13763 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * autogen.sh:
13766           make autopoint force, and libtoolize not copy
13767         * common/m4/as-docbook.m4:
13768           added docbook xml catalog setup check
13769         * common/m4/gst-doc.m4:
13770           use docbook check
13771
13772 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13773
13774         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13775         * gst/gsttag.h:
13776           add GstTagFlag
13777
13778 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13779
13780         * docs/gst/gstreamer-sections.txt:
13781         * docs/gst/tmpl/gst.sgml:
13782         * docs/gst/tmpl/gstbuffer.sgml:
13783         * docs/gst/tmpl/gstclock.sgml:
13784         * docs/gst/tmpl/gstelement.sgml:
13785         * docs/gst/tmpl/gstreamer-unused.sgml:
13786         * docs/gst/tmpl/gstxml.sgml:
13787           sync latest API changes to docs
13788
13789 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13790
13791         * gst/gstpluginfeature.c:
13792           fix doc snippet
13793         * tools/gst-inspect.c: (print_element_list):
13794           fix output of typefind
13795           add GPL header
13796         * tools/gst-launch.c:
13797           add GPL header
13798
13799 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13800
13801         * gst/elements/Makefile.am:
13802         * gst/elements/gstelements.c:
13803         * gst/elements/gsttypefindelement.c:
13804         * gst/elements/gsttypefindelement.h:
13805         * po/POTFILES.in:
13806         * po/fr.po:
13807         * po/nl.po:
13808           renamed gsttypefindelement to gsttypefind, conserving CVS history
13809
13810 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13811
13812         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13813         * gst/gsttag.h:
13814           add some tags used in ogg as well
13815           fix _ in replaygain tags
13816
13817 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13818
13819         * gst/gsterror.h:
13820           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13821
13822 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13823
13824         * gst/gstelement.c: (gst_element_error_full):
13825         * gst/gstelement.h:
13826           change _extended to _full
13827
13828 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         reviewed by: <delete if not using a buddy>
13831
13832         * docs/gst/tmpl/gst.sgml:
13833         * docs/gst/tmpl/gstbuffer.sgml:
13834         * docs/gst/tmpl/gstclock.sgml:
13835         * docs/gst/tmpl/gstelement.sgml:
13836         * docs/gst/tmpl/gstreamer-unused.sgml:
13837         * docs/gst/tmpl/gstxml.sgml:
13838         * gst/gstelement.c: (gst_element_error_full):
13839         * gst/gstelement.h:
13840
13841 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13842
13843         * gst/gstelement.h: fix _gst_element_error_printf prototype
13844
13845 2004-01-20  David Schleef  <ds@schleef.org>
13846
13847         * gst/gststructure.c: (gst_structure_to_string):
13848         Convert function to use gst_value_serialize().
13849         * gst/gstvalue.c: (gst_value_serialize_list),
13850         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13851         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13852         (gst_value_serialize_int), (gst_value_serialize_double),
13853         (gst_string_wrap), (gst_value_serialize_string),
13854         (gst_value_serialize), (gst_value_deserialize):
13855         * gst/gstvalue.h:
13856         Add implementations for serialize.
13857
13858 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13859
13860         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13861         we want to keep that one in the future or change xvidenc.c to use 
13862         another error.
13863
13864 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * gst/gstelement.c: (_gst_element_error_printf):
13867         * gst/gstelement.h:
13868           privatise function
13869
13870 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13871
13872         * docs/random/error:
13873           doc explaining error system
13874         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13875           cleanup
13876
13877 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13878
13879         * gst/gst-i18n-app.h:
13880         * gst/gst-i18n-lib.h:
13881           remove inclusion of config.h
13882         * po/POTFILES.in:
13883         * po/nl.po:
13884           add gst/gstelement.c
13885
13886 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13887
13888         * po/nl.po: updated Dutch translation
13889
13890 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13891
13892         * gst/gsterror.c: (_gst_core_errors_init),
13893         (_gst_library_errors_init), (_gst_resource_errors_init),
13894         (_gst_stream_errors_init):
13895         remove ending punctuation dots
13896
13897 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13900         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13901         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13902         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13903         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13904         use GST_ERROR_SYSTEM
13905
13906 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13907
13908         * gst/gstelement.c: (gst_element_error_printf),
13909         (gst_element_error_extended):
13910         * gst/gstelement.h:
13911           add a helper printf function so we can have NULL values passed.
13912
13913 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13914
13915         * gst/gstelement.h:
13916           add G_STMT macros to gst_element_error, which isn't strictly
13917           necessary but people tell me to anyway.
13918
13919 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13920
13921         * gst/Makefile.am:
13922         * gst/autoplug/gstspideridentity.c:
13923         (gst_spider_identity_sink_loop_type_finding):
13924         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13925         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13926         (gst_filesink_close_file), (gst_filesink_handle_event),
13927         (gst_filesink_chain):
13928         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13929         (gst_filesrc_map_region), (gst_filesrc_get_read),
13930         (gst_filesrc_open_file):
13931         * gst/elements/gstidentity.c: (gst_identity_chain):
13932         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13933         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13934         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13935         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13936         * gst/gst.h:
13937         * gst/gst_private.h:
13938         * gst/gstelement.c: (gst_element_class_init),
13939         (gst_element_default_error), (gst_element_error_func),
13940         (gst_element_error_extended):
13941         * gst/gstelement.h:
13942         * gst/gsterror.c: (_gst_core_errors_init),
13943         (_gst_library_errors_init), (_gst_resource_errors_init),
13944         (_gst_stream_errors_init), (gst_error_get_message):
13945         * gst/gsterror.h:
13946         * gst/gstinfo.c: (_gst_debug_init):
13947         * gst/gstmarshal.list:
13948         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13949         (gst_pad_recover_caps_error), (gst_pad_pull):
13950         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13951         * gst/schedulers/gstbasicscheduler.c:
13952         (gst_basic_scheduler_chainhandler_proxy),
13953         (gst_basic_scheduler_gethandler_proxy),
13954         (gst_basic_scheduler_cothreaded_chain):
13955         * po/POTFILES.in:
13956         * po/fr.po:
13957         * po/nl.po:
13958           change error signal
13959           add error categories
13960
13961 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13962
13963         * gst/gsttag.c: (_gst_tag_initialize):
13964         * gst/gsttag.h:
13965         Add replaygain tag
13966
13967 2004-01-18  Colin Walters  <walters@verbum.org>
13968
13969         * examples/retag/retag.c: Call gst_init before processing
13970         program args.  Add g_assert to _link_many call.
13971
13972 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13973
13974         * gst/gstpad.c: (gst_pad_alloc_buffer):
13975           Return a newly allocated buffer when the pad has no peer.
13976
13977 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13978
13979         * gst/gstclock.c: (gst_clock_get_time):
13980           make it compile with gcc 2.95 again.
13981           Patch by Scott Wheeler
13982
13983 2004-01-15  David Schleef  <ds@schleef.org>
13984
13985         * gst/gstcaps.h:
13986         Added gst_caps_is_simple() macro.
13987         * testsuite/caps/caps.c: (test1):
13988         * testsuite/caps/intersect2.c: (main):
13989         * testsuite/caps/intersection.c: (main):
13990         Fixes to make 'make check' work again after removing
13991         gst_caps_is_chained().
13992
13993 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13994
13995         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13996         and additions to the MIDI document.
13997
13998 2004-01-15  David Schleef  <ds@schleef.org>
13999
14000         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
14001         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
14002         of GST_RPAD_, since we don't know if it's a real or ghost pad.
14003
14004 2004-01-15  David Schleef  <ds@schleef.org>
14005
14006         * gst/gstqueue.c:
14007         * gst/gstqueue.h:
14008         Fix the spelling of "treshold" and make min_threshold actually
14009         affect the queue.
14010
14011 2004-01-15  David Schleef  <ds@schleef.org>
14012
14013         * gst/gstcaps.c:
14014         Add lots of documentation.
14015         * gst/gstcaps.h:
14016         Deprecate a few functions.
14017         * gst/gstpad.c:
14018         Removed use of deprecated functions.
14019
14020 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14021
14022         * gst/gstpad.c: (gst_pad_is_linked):
14023         * gst/gstpad.h:
14024           implement gst_pad_is_linked
14025         * gst/gstelement.h:
14026           reserve space for initiate_state_change
14027
14028 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14029
14030         * gst/autoplug/gstspideridentity.c:
14031         (gst_spider_identity_sink_loop_type_finding):
14032           break infinite loop by just returning instead of looping
14033         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
14034           set event time difference correctly. Set it to 1 second instead
14035           of 100ms to be more tolerant
14036         * gst/gstelement.c: (gst_element_set_time):
14037           add debugging output
14038
14039 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14040
14041         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14042           query if buffers are inside the pool, ignore events
14043
14044 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14045
14046         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14047         (gst_clock_set_speed), (gst_clock_set_active),
14048         (gst_clock_is_active), (gst_clock_reset),
14049         (gst_clock_handle_discont):
14050         * gst/gstclock.h:
14051           deprecate old interface and disable functions that aren't in use
14052           anymore.
14053         * gst/gstelement.h:
14054         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14055         (gst_element_set_time), (gst_element_adjust_time):
14056           add concept of "element time" and functions to get/set this time.
14057         * gst/gstelement.c: (gst_element_change_state):
14058           update element time correctly.
14059         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14060           This is a debug message, not a g_critical.
14061         * gst/gstpad.c: (gst_pad_event_default):
14062           handle discontinuous events right with element time.
14063         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14064           update to clocking fixes.
14065           set clocks on elements in READY=>PAUSED. The old behaviour caused
14066           a wrong element time on the first element that started playing.
14067         * gst/schedulers/gstbasicscheduler.c:
14068         (gst_basic_scheduler_class_init):
14069         * gst/schedulers/gstoptimalscheduler.c:
14070         (gst_opt_scheduler_class_init):
14071           remove code that just implements the default behaviour.
14072         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14073           update to use new clocking functions
14074         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14075         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14076           update to test new element time.
14077         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14078           use _get_allowed_caps instead of _get_caps. This catches filtered
14079           caps correctly.
14080         * testsuite/debug/commandline.c:
14081           update for new GST_DEBUG syntax.
14082         * testsuite/threads/Makefile.am:
14083           disable a test that only works sometimes.
14084
14085 2004-01-13  Julien MOUTTE <julien@moutte.net>
14086
14087         * po/LINGUAS: Adding fr.
14088         * po/fr.po: Adding french translation.
14089
14090 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14091
14092         * gst/parse/grammar.y:
14093         * po/POTFILES.in:
14094         * po/nl.po:
14095         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14096           translate parsing error messages
14097
14098 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14099
14100         * po/POTFILES.in: adding gst-launch
14101         * po/nl.po: updated translation, all 99 strings translated
14102         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14103         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14104           fix strings for translation
14105
14106 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14107
14108         * gst/gst.c:
14109           - capitalize beginnings of popt options
14110           - fix strings for translation
14111           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14112
14113 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14114
14115         * po/README: add some notes on how to update translations
14116
14117 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14118
14119         * ABOUT-NLS: removed, is autogenerated from autopoint
14120         * autogen.sh: add autopoint stuff
14121         * configure.ac: fix up gettext stuff
14122         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14123         * gst/elements/gsttypefindelement.c: add header include
14124         * gst/gettext.h: add header, copy from system-installed header
14125         * gst/gst-i18n-app.h: to be included by each app having translations
14126         * gst/gst-i18n-lib.h: to be included by each lib having translations
14127         * gst/gst.c: (init_pre): fix up gettext calls
14128         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14129         * po/LINGUAS: the new way to specify translations present
14130         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14131         * po/Makevars: the variables filled in for GStreamer
14132         * po/POTFILES.in: added new files with translations
14133         * po/de.po: has new strings
14134         * po/nl.po: readded, has new strings
14135
14136 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14137
14138         * gst/gsttag.c: fix some strings marked for translation
14139
14140 2004-01-13  Iain <iain@prettypeople.org>
14141
14142         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14143         group when we add an element to it, cos we unref it when we remove one
14144
14145 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14146
14147         * testsuite/debug/commandline.c: (debug_not_reached):
14148         * testsuite/debug/output.c: (check_message):
14149           fix testsuite
14150
14151 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14152
14153         * examples/cutter/.cvsignore:
14154         * examples/helloworld/.cvsignore:
14155         * examples/launch/.cvsignore:
14156         * examples/manual/.cvsignore:
14157         * examples/mixer/.cvsignore:
14158         * examples/pingpong/.cvsignore:
14159         * examples/plugins/.cvsignore:
14160         * examples/queue/.cvsignore:
14161         * examples/queue2/.cvsignore:
14162         * examples/queue3/.cvsignore:
14163         * examples/queue4/.cvsignore:
14164         * examples/retag/.cvsignore:
14165         * examples/thread/.cvsignore:
14166         * examples/typefind/.cvsignore:
14167         * examples/xml/.cvsignore:
14168         * gst/.cvsignore:
14169         * gst/autoplug/.cvsignore:
14170         * gst/elements/.cvsignore:
14171         * gst/indexers/.cvsignore:
14172         * gst/parse/.cvsignore:
14173         * gst/registries/.cvsignore:
14174         * gst/schedulers/.cvsignore:
14175         * libs/gst/bytestream/.cvsignore:
14176         * libs/gst/control/.cvsignore:
14177         * libs/gst/getbits/.cvsignore:
14178         * tests/.cvsignore:
14179         * tests/bufspeed/.cvsignore:
14180         * tests/instantiate/.cvsignore:
14181         * tests/memchunk/.cvsignore:
14182         * tests/muxing/.cvsignore:
14183         * tests/sched/.cvsignore:
14184         * tests/seeking/.cvsignore:
14185         * tests/threadstate/.cvsignore:
14186         * testsuite/.cvsignore:
14187         * testsuite/caps/.cvsignore:
14188         * testsuite/cleanup/.cvsignore:
14189         * testsuite/dynparams/.cvsignore:
14190         * testsuite/plugin/.cvsignore:
14191         * tools/.cvsignore:
14192           update - this is huge, because it includes *.bb, *.bbg and *.da files
14193           which are generated for gcov.
14194
14195 2004-01-11  David Schleef  <ds@schleef.org>
14196
14197         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14198         a function to parse integers in ways that strto[u]l() does not.
14199
14200 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14201
14202         * tools/gst-inspect.c: (print_caps):
14203           improve output of caps a bit
14204
14205 2004-01-11  David Schleef  <ds@schleef.org>
14206
14207         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14208         inherit correct flags (READONLY and DONTKEEP).
14209
14210 2004-01-11  David Schleef  <ds@schleef.org>
14211
14212         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14213         (gst_filesrc_map_region):
14214         * gst/gstbuffer.c: (_gst_buffer_initialize),
14215         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14216         (gst_buffer_new), (gst_buffer_create_sub),
14217         (gst_buffer_is_span_fast), (gst_buffer_span):
14218         * gst/gstbuffer.h:
14219         Change GstBuffer private structure element names. (all files)
14220         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14221         (gst_queue_link):
14222         * gst/gstqueue.h:
14223         Implement getcaps/pad_link functions that handle the case where
14224         there are data in the queue.
14225
14226 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14227
14228         * gst/elements/gstbufferstore.c:
14229           initialize debugging structure correctly
14230         * gst/elements/gsttee.c: (gst_tee_set_property):
14231           g_object_notify when property was changed
14232         * gst/elements/gsttypefindelement.c:
14233         (gst_type_find_element_change_state):
14234           clear caps correctly
14235
14236 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14237
14238         * gst/gstqueue.c: (gst_queue_init):
14239           Use better defaults for when a queue should block. This
14240           gets rid of jerky playback for quite a few files.
14241           It takes more memory.
14242
14243 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14244
14245         (gst_xml_registry_parse_padtemplate):
14246           make critical message slightly more useful
14247
14248 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14249
14250         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14251         (gst_debug_message_get), (gst_debug_log_default):
14252         * gst/gstinfo.h:
14253           Change gst_debug_log(_valist) to take a const format string.
14254           Change prototype of log function and functions using those to 
14255           take a GstDebugMessage instead of a string that requires using
14256           gst_debug_message_get.
14257
14258 2004-01-08  David Schleef  <ds@schleef.org>
14259
14260         * Makefile.am:
14261         * configure.ac:
14262         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14263         and -ftest-coverage, which allows gcov to show information about
14264         testsuite coverage.
14265
14266 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14267
14268         * gst/gstutils.h:
14269           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14270           GST_PARENT_CALL_WITH_DEFAULT
14271         * gst/elements/gstaggregator.c: 
14272         * gst/elements/gstbufferstore.c: 
14273         * gst/elements/gstfakesink.c: 
14274         * gst/elements/gstfakesrc.c: 
14275         * gst/elements/gstfdsink.c: 
14276         * gst/elements/gstfdsrc.c: 
14277         * gst/elements/gstfilesink.c: 
14278         * gst/elements/gstfilesrc.c: 
14279         * gst/elements/gstidentity.c: 
14280         * gst/elements/gstmd5sink.c: 
14281         * gst/elements/gstmultidisksrc.c:
14282         * gst/elements/gstpipefilter.c: 
14283         * gst/elements/gstshaper.c:
14284         * gst/elements/gststatistics.c:
14285         * gst/elements/gsttee.c:
14286         * gst/elements/gsttypefindelement.c:
14287           use them.
14288
14289 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14290
14291         * docs/gst/gstreamer-docs.sgml: remove props
14292         * docs/gst/gstreamer-sections.txt: remove props
14293         * docs/gst/tmpl/gst.sgml:
14294         * docs/gst/tmpl/gstbin.sgml:
14295         * docs/gst/tmpl/gstbuffer.sgml:
14296         * docs/gst/tmpl/gstcaps.sgml:
14297         * docs/gst/tmpl/gstclock.sgml:
14298         * docs/gst/tmpl/gstelement.sgml:
14299         * docs/gst/tmpl/gstindex.sgml:
14300         * docs/gst/tmpl/gstobject.sgml:
14301         * docs/gst/tmpl/gstpad.sgml:
14302         * docs/gst/tmpl/gstpadtemplate.sgml:
14303         * docs/gst/tmpl/gstreamer-unused.sgml:
14304         * docs/gst/tmpl/gstthread.sgml:
14305         * docs/gst/tmpl/gstxml.sgml:
14306           sync with code reorganization
14307
14308 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14309
14310         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14311         Make the 'Could not find compatible pad' message more informative.
14312
14313 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14314                                                                                 
14315         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14316           Fix for if we pass NULL as property to location.
14317         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14318         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14319           Fix for instantiate-test (see below).
14320         * gst/gststructure.c: (_gst_structure_parse_value):
14321           Fix compile error on gcc-2.96.
14322         * configure.ac:
14323         * tests/Makefile.am:
14324         * tests/instantiate/Makefile.am:
14325         * tests/instantiate/create.c: (create_all_elements), (main):
14326           Add a test that instantiates all elements. This makes it easy to
14327           track dead code for old API/design (like setting event functions
14328           on sink pads and so on).
14329
14330 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14331
14332         * gst/gstcaps.c: (gst_caps_append_structure):
14333           Move the poisoning to allow a NULL structure
14334         * gst/gstevent.c: (_gst_event_free):
14335           When freeing a navigation event, free the structure
14336           also
14337
14338 2004-01-04  David Schleef  <ds@schleef.org>
14339
14340         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14341         Remove usage of gst_pad_proxy_fixate.
14342         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14343         (gst_caps_split_one), (gst_caps_replace):
14344         Add poisoning code.
14345         * gst/gstmarshal.list:
14346         Add pointer__pointer for fixate signal
14347         * gst/gstpad.c: (gst_real_pad_class_init),
14348         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14349         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14350         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14351         Add poisoning code. Add fixate signal on RealPad. Change
14352         set_explicit_caps() to take const GstCaps, like try_set_caps().
14353         * gst/gstpad.h:
14354         * testsuite/caps/Makefile.am:
14355         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14356
14357 2004-01-03  David Schleef  <ds@schleef.org>
14358
14359         * gst/elements/gsttypefindelement.c:
14360         (gst_type_find_element_have_type), (gst_type_find_element_init):
14361         Use gst_pad_use_explicit_caps for src pad.
14362         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14363         before using it.
14364
14365 2004-01-03  David Schleef  <ds@schleef.org>
14366
14367         * gst/gstelement.c: (gst_element_link_pads_filtered),
14368         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14369         that linking was successful.
14370         * gst/gstpad.c: (gst_pad_link_free),
14371         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14372         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14373         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14374         GstPadLinkReturn correctly between functions, and don't fail
14375         when DELAYED is used (DELAYED is very important).  Better
14376         cleanup on unlinking and unnegotiation.  Should fix some spider
14377         bugs.
14378
14379 2004-01-02  David Schleef  <ds@schleef.org>
14380
14381         * gst/gstelement.c: (gst_element_class_init),
14382         (gst_element_base_class_init): ->padtemplates should be cleared
14383         in base_init, since we need to have a fresh list for every
14384         class.  (Alternately, we chould copy the list and share the
14385         actual pad templates (not the list), but that would require
14386         changing every plugin to move pad template registration from
14387         base_init to class_init.)
14388
14389 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14390
14391         * gst/gstelement.c: (gst_element_class_add_pad_template):
14392           Refuse registering a pad template if another pad template
14393           with the same name already exists (#114715).
14394
14395 2004-01-02  David Schleef  <ds@schleef.org>
14396
14397         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14398         (gst_caps_is_equal_fixed): Add new function.
14399         * gst/gstcaps.h: ditto.
14400         * gst/gstpad.c: (gst_real_pad_class_init),
14401         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14402         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14403         check new caps against existing caps -- if they're the same, return
14404         OK without renegotiating.  caps-nego-failed signal fixed so that
14405         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14406         to save an extra caps copy.  Don't complete negotiation if a pad
14407         link function returns DELAYED.
14408
14409 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14410
14411         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14412           Fix wrong g_return_if_fail
14413
14414 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14415
14416         * gst/gstbin.c: (gst_bin_class_init):
14417         Change the marshalling of element_added/element_removed
14418         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14419         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14420
14421 2004-01-01  David Schleef  <ds@schleef.org>
14422
14423         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14424         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14425         (gst_pad_use_explicit_caps):
14426         * gst/gstpad.h:
14427         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14428         to use an internal getcaps and link fuction so that negotiation
14429         always results in the explicitly set caps.
14430         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14431         are particularly useful for decoders.
14432
14433 2003-12-31  David Schleef  <ds@schleef.org>
14434
14435         * gst/elements/gstidentity.c: (gst_identity_class_init),
14436         (gst_identity_init), (gst_identity_chain),
14437         (gst_identity_set_property), (gst_identity_get_property):
14438         * gst/elements/gstidentity.h:
14439         * gst/gstqueue.c: (gst_queue_init):
14440           Negotiation fixes.
14441
14442 2003-12-31  David Schleef  <ds@schleef.org>
14443
14444         * gst/gstcaps.c: (gst_caps_intersect),
14445         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14446           Implement gst_caps_normalize().
14447         * testsuite/caps/normalisation.c: (main):
14448           Add an additional test
14449
14450 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14451
14452         * gst/gstqueue.c: (gst_queue_init):
14453           use gst_pad_proxy_getcaps()
14454
14455 2003-12-31  David Schleef  <ds@schleef.org>
14456
14457         * gst/elements/gstshaper.c: (gst_shaper_link):
14458         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14459         * gst/gstqueue.c: (gst_queue_link):
14460           Negotiation fixes.
14461
14462 2003-12-31  David Schleef  <ds@schleef.org>
14463
14464         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14465         * gst/gstpad.h: Add functions that are useful as default pad
14466         link and fixate functions for elements.
14467
14468 2003-12-30  David Schleef  <ds@schleef.org>
14469
14470         * gst/gstpad.c: (gst_pad_link_try):
14471           Fix segfault when attempting to return to old caps
14472
14473 2003-12-29  David Schleef  <ds@schleef.org>
14474
14475         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14476         (gst_caps_structure_simplify), (gst_caps_simplify):
14477         * gst/gstcaps.h:
14478           Add simplify function
14479         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14480         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14481         * gst/gstpad.h:
14482           Copy over srcnotify, sinknotify when calling old pad_link
14483           functions.  Add new is_negotiated() function.
14484         * gst/gststructure.c: (gst_structure_copy):
14485           Fix an incredibly stupid bug that should have been noticed
14486           weeks ago.  _copy() returned the argument, not the new copy.
14487
14488 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14489
14490         * gst/gstcaps.c: (gst_caps_append):
14491           add sanity checks
14492         * gst/gstcaps.h: (gst_caps_debug):
14493           remove, it doesn't exist anymore.
14494         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14495         (gst_element_threadsafe_properties_post_run):
14496           make debugging messages not clutter up THREAD debug category
14497         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14498         (gst_element_change_state):
14499           update to new caps API
14500         * gst/gstinterface.c: (gst_implements_interface_cast):
14501           don't put vital code in g_return_if_fail
14502         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14503         (gst_pad_link_filtered):
14504           add pst_pad_try_link and use it.
14505         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14506           implement correctly, deprecate first one.
14507         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14508           add and implement.
14509         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14510           implement.
14511         (gst_pad_get_negotiated_caps):
14512           add and implement. Make GST_PAD_CAPS call this function.
14513         (gst_pad_get_caps):
14514           remove unneeded check..
14515         (gst_pad_recover_caps_error):
14516           disable, always return FALSE.
14517         (gst_real_pad_dispose):
14518           don't free caps and appfilter anymore, they're unused.
14519         * gst/gstpad.h:
14520           Reflect changes mentioned above.
14521         * gst/gstsystemclock.c: (gst_system_clock_wait):
14522           Make 'clock is way behind' a debugging message.
14523         * gst/gstthread.c: (gst_thread_change_state):
14524           Fix debugging message
14525
14526 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14527
14528         * gst/gstinfo.h:
14529           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14530         * docs/gst/tmpl/gstreamer-unused.sgml:
14531           removed all traces of cvs conflicts
14532
14533 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14534
14535         * configure.ac:
14536         * gst/schedulers/cothreads_compat.h:
14537         * libs/Makefile.am:
14538           remove last instances of wingo cothread usage
14539
14540 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14541
14542         * gst/gstplugin.c:
14543         * gst/gstversion.h.in:
14544         * gst/parse/grammar.y:
14545           change comment block from /** to /* when not gtk-doc comments
14546
14547 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14548
14549         * gst/gst.c: whitespace and doc style fixes
14550
14551 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14552
14553         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14554
14555 2003-12-24  Colin Walters  <walters@verbum.org>
14556
14557         * gst/elements/gsttypefindelement.c:
14558           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14559           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14560           Don't double-free caps.
14561
14562 2003-12-23  David Schleef  <ds@schleef.org>
14563
14564         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14565           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14566           Many little fixes and additions of debug statements to
14567           get rhythmbox working.
14568
14569 2003-12-23  Colin Walters  <walters@verbum.org>
14570
14571         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14572         Use GST_PAD_LINK_SUCCESSFUL.
14573
14574 2003-12-23  David Schleef  <ds@schleef.org>
14575
14576         * gst/elements/gstaggregator.c:
14577         * gst/elements/gsttee.c:
14578           Use gst_pad_proxy_getcaps().
14579         * gst/gstpad.c:
14580         * gst/gstpad.h:
14581           Add gst_pad_proxy_getcaps(), which filter elements can use
14582           as a generic getcaps implementation.
14583           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14584           was advertised.
14585
14586 2003-12-23  David Schleef  <ds@schleef.org>
14587
14588         * gst/gstpad.c:
14589           Rearrange/rewrite much of the pad negotiation code, since it
14590           resembled pasta.  This actually changes the way some
14591           negotiation works, since the previous code was inconsistent
14592           depending on how it was invoked.  Add (internal) structure
14593           GstPadLink, which is used to hold some information (more in
14594           the future) about the link between two pads.  Fixes a number
14595           of bugs, including random lossage of filter caps when the
14596           initial negotiation is delayed.  A few functions are still
14597           unimplemented.
14598         * gst/gstpad.h:
14599           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14600           these when testing GstPadLinkReturn values instead of comparing
14601           directly.
14602
14603 2003-12-23  David Schleef  <ds@schleef.org>
14604
14605         * gst/gstvalue.c: 
14606         * gst/gstvalue.h:
14607           Rearrange lots of code.  Change registration of compare function
14608           into registration of compare/serialize/deserialize functions.
14609           Doesn't include implementation of gst_value_[de]serialize(),
14610           but that should be easy.
14611
14612 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14613
14614         * docs/gst/gstreamer-sections.txt:
14615         * docs/gst/tmpl/gstprops.sgml: removed
14616         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14617           David removed props and caps code, so let's remove their docs as well.
14618           Removed all no longer existing symbols from gstreamer-sections.txt
14619           
14620 2003-12-22  Colin Walters  <walters@verbum.org>
14621
14622         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14623           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14624           of tags directly.
14625
14626 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14627
14628         * gst/elements/gstelements.c:
14629           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14630         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14631           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14632           gst_caps (peer).
14633
14634 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14635
14636         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14637         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14638         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14639         (gst_spider_identity_sink_loop_type_finding):
14640         * gst/autoplug/gstspideridentity.h:
14641           Fix autoplugging in spider element, so it works with new caps.
14642           This was mainly caused by identifying empty caps incorrectly.
14643
14644 2003-12-22  David Schleef  <ds@schleef.org>
14645
14646         * gststructure.c, gstvalue.c, gstvalue.h: Add
14647           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14648           using g_value_copy()
14649
14650 2003-12-21  David Schleef  <ds@schleef.org>
14651
14652         * many, many files: Merge CAPS branch.  This includes:
14653           - implemention of GstValue and several GstValue types
14654           - implemention of GstStructure
14655           - entire rewrite of GstCaps
14656           - removal of GstProps
14657           - many changes to GstPad to compensate for new caps paradigm
14658           - removal of GstBufferpool
14659         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14660         gstvalue.h, gst/gstcaps[2]*.[ch]:
14661           - rename gstcaps2.[ch] to gstcaps.[ch]
14662
14663 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14664
14665         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14666         (gst_queue_chain), (gst_queue_handle_src_event):
14667           implement timeout for sending events. Workaround for if the
14668           pipeline on this queue is not passing any data.
14669
14670 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14671                                                                                 
14672         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14673         * moved CVS to freedesktop.org