added miissing classes and symbols (123 more to go) removed removed symbols from...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/gst/gstreamer-docs.sgml:
4         * docs/gst/gstreamer-sections.txt:
5         * docs/gst/tmpl/.cvsignore:
6         * gst/gstbin.c:
7         * gst/gstiterator.c:
8         * gst/gstutils.c:
9         * gst/registries/gstxmlregistry.h:
10           added miissing classes and symbols (123 more to go)
11           removed removed symbols from section file
12           fixed many doc-comments
13
14 2005-08-24  Wim Taymans  <wim@fluendo.com>
15
16         * check/generic/states.c: (GST_START_TEST):
17         Make sure all tasks are stopped.
18
19         * check/gst/gstbin.c: (GST_START_TEST):
20         Unref after usage for proper valgrinding.
21
22         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
23         Really wait for the task to stop before destroying the
24         mutex.
25
26         * gst/gstqueue.c: (gst_queue_sink_activate_push),
27         (gst_queue_src_activate_push):
28         Small cleanups. Don't stop the task when we did not start
29         it.
30
31         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
32         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
33         (gst_task_get_state), (gst_task_start), (gst_task_pause),
34         (gst_task_join):
35         * gst/gsttask.h:
36         Protect the stream lock with the object lock.
37         Disallow setting the stream lock when running.
38         Add cleanup_all to wait for the threadpool to finish.
39         Remove code to autoallocate a mutex if none was provided.
40         Add _join() to wait for a task to stop.
41         Protect the thread pool with a global lock.
42
43 2005-08-24  Wim Taymans  <wim@fluendo.com>
44
45         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
46         (gst_base_sink_get_times), (gst_base_sink_do_sync),
47         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
48         * gst/base/gstbasesink.h:
49         Handle newsegment events correctly.
50         Drop buffers out of the segment range.
51
52 2005-08-22  Andy Wingo  <wingo@pobox.com>
53
54         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
55         macro, implements an interface and gstimplementsinterface for a
56         new type.
57
58 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
59
60         * check/Makefile.am:
61         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
62           add a test that does a bunch of state changes on elements
63           needs some fixing for valgrind
64         * check/states/sinks.c: (gst_object_suite):
65           whitespace
66         * gst/gstcaps.h:
67           add prototype for gst_caps_is_equal_fixed
68         * gst/gstplugin.c:
69         * gst/gstregistrypool.c:
70           doc fixes
71
72 2005-08-24  Andy Wingo  <wingo@pobox.com>
73
74         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
75         convert a negative value. Doesn't make much sense. Mostly this is
76         here to force callers to ensure -1 maps to -1.
77
78 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
79
80         * docs/pwg/advanced-types.xml:
81           Well done to Michael for catching my deliberate introduction
82           of this spelling mistake. 
83         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
84         * gst/gstelement.h:
85           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
86           unlink pads before removing the element from the bin.
87
88 2005-08-24  Andy Wingo  <wingo@pobox.com>
89
90         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
91         the same thing as GST_DEBUG=*:4.
92         (parse_debug_level, parse_debug_category): New helper parsers.
93
94 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
95
96         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
97         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
98         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
99         (gst_base_transform_buffer_alloc),
100         (gst_base_transform_handle_buffer):
101           use gboolean return values and pointers to size so we can use the
102           full GST_BUFFER_SIZE range (guint) for buffer sizes
103           use GstPadDirection for transform_caps
104         * gst/base/gstbasetransform.h:
105           rename get_size to get_unit_size since that's what it is
106         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
107           use GstPadDirection for transform_caps
108         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
109         * gst/gstutils.h:
110           cleanup and debugging
111
112 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
113
114         * gst/gstelement.c: (gst_element_class_init),
115         (gst_element_set_state), (activate_pads),
116         (gst_element_save_thyself):
117         * tools/gst-compprep.c: (main):
118         * tools/gst-inspect.c: (print_element_properties_info):
119         * tools/gst-xmlinspect.c: (print_element_properties):
120           Fixed long standing mem-leak
121
122 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
123
124         * check/gst/gstbin.c: (GST_START_TEST):
125         * gst/gstbin.c: (bin_bus_handler):
126         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
127         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
128         (gst_message_new_warning), (gst_message_new_tag),
129         (gst_message_new_state_changed), (gst_message_new_segment_start),
130         (gst_message_new_segment_done), (gst_message_new_custom):
131         * gst/gstmessage.h:
132         * tools/gst-launch.c: (event_loop):
133         * tools/gst-md5sum.c: (event_loop):
134           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
135           that applications can sensibly post custom messages with references
136           to their own objects.
137
138 2005-08-24  Andy Wingo  <wingo@pobox.com>
139
140         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
141         already.
142
143 2005-08-24  Wim Taymans  <wim@fluendo.com>
144
145         * gst/base/gstbasetransform.c: (gst_base_transform_init),
146         (gst_base_transform_transform_caps),
147         (gst_base_transform_transform_size),
148         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
149         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
150         (gst_base_transform_handle_buffer):
151         * gst/base/gstbasetransform.h:
152         Many fixes and new features added by Thomas. Can now also do
153         transforms with variable sizes and a custom fixate_caps function.
154
155 2005-08-24  Wim Taymans  <wim@fluendo.com>
156
157         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
158         Some debugging.
159
160         * gst/gstclock.h:
161         Cast to ClockTime before formatting to time.
162
163         * gst/gstutils.h:
164         Cleanups.
165
166 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
167
168         * check/gst-libs/controller.c: (GST_START_TEST),
169         (gst_controller_suite):
170         * docs/gst/tmpl/gstcaps.sgml:
171         * docs/gst/tmpl/gstghostpad.sgml:
172         * docs/gst/tmpl/gstquery.sgml:
173         * docs/gst/tmpl/gstutils.sgml:
174         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
175         (gst_object_sink_values), (gst_object_get_value_arrays),
176         (gst_object_get_value_array):
177           gracefully handle helper method calls to objects that are not beeing
178           controlled, added test case for that          
179
180 2005-08-23  Wim Taymans  <wim@fluendo.com>
181
182         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
183         (gst_event_new_newsegment), (gst_event_parse_newsegment),
184         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
185         (gst_event_parse_qos), (gst_event_new_seek),
186         (gst_event_parse_seek):
187         * gst/gstevent.h:
188         Some more debugging output and doc cleanups.
189
190         * gst/gstqueue.c: (gst_queue_handle_sink_event):
191         Fix possible deadlock.
192
193 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
194
195         * docs/gst/gstreamer-docs.sgml:
196         * docs/gst/gstreamer-sections.txt:
197         * docs/gst/gstreamer.types:
198         * docs/gst/tmpl/.cvsignore:
199         * gst/gstbin.h:
200         * gst/gstbus.c:
201         * gst/gstelement.c:
202         * gst/gstevent.h:
203           added about 100 symbols from gstreamer-unused.txt to the right sections
204           fixed more broken comments
205           added GstBus to docs
206
207 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
208
209         * docs/gst/gstreamer-sections.txt:
210         * docs/gst/tmpl/.cvsignore:
211         * docs/gst/tmpl/gstbin.sgml:
212         * docs/gst/tmpl/gstbuffer.sgml:
213         * gst/base/gstbasesrc.c:
214         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
215         * gst/gstbuffer.c:
216         * gst/gstbuffer.h:
217         * tools/gst-launch.1.in:
218           inlined more doc comments, added missing comments and fixed comments
219           fixed typos
220
221 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
222
223         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
224           some debugging
225         * gst/gstcaps.h:
226           whitespace fixes
227         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
228           more debugging
229         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
230         * gst/gststructure.h:
231           add a fixate function for booleans; add a FIXME that these func
232           names should probably be gst_structure_fixate_*
233
234 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
235
236         * docs/gst/gstreamer-docs.sgml:
237         * docs/gst/gstreamer-sections.txt:
238         * gst/Makefile.am:
239         * gst/gstbin.c: (gst_bin_get_type),
240         (gst_bin_child_proxy_get_child_by_index),
241         (gst_bin_child_proxy_get_children_count),
242         (gst_bin_child_proxy_init):
243         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
244         (gst_child_proxy_get_child_by_index),
245         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
246         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
247         (gst_child_proxy_get), (gst_child_proxy_set_property),
248         (gst_child_proxy_set_valist), (gst_child_proxy_set),
249         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
250         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
251         * gst/gstchildproxy.h:
252         * gst/parse/grammar.y:
253         * tools/gst-inspect.c: (print_interfaces),
254         (print_element_properties_info), (print_element_info):
255          ported gstchildproxy over from 0.8
256          ported gst-inspect fixes and enhancements over from 0.8
257
258 2005-08-22  Wim Taymans  <wim@fluendo.com>
259
260         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
261         (gst_base_transform_handle_buffer):
262         Also call the transform function if we have ANY caps.
263
264         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
265         Fix debug info.
266
267 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
268
269         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
270           Don't pretend to handle seek events if the source is not seekable
271
272 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
273
274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
275           Remove extra parameter to debug output
276
277         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
278         (gst_base_src_do_seek), (gst_base_src_activate_push):
279           Fix seek event handling.
280
281         * gst/gstpipeline.c: (gst_pipeline_change_state):
282         * gst/gstqueue.c: (gst_queue_handle_sink_event),
283         (gst_queue_src_activate_push):
284           Don't start the src pad task on FLUSH_STOP if the pad
285           isn't linked.
286           Debug changes.
287
288 2005-08-22  Wim Taymans  <wim@fluendo.com>
289
290         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
291         Added check for gst_static_caps_get() refcounting.
292
293 2005-08-22  Wim Taymans  <wim@fluendo.com>
294
295         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
296         Make _static_caps_get() refcounting sane.
297         
298         * gst/gstelement.c: (gst_element_set_state):
299         Add g_return_val_if_fail() to protect against segfaults.
300
301 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
302
303         * docs/gst/tmpl/gstevent.sgml:
304         * gst/gstevent.c:
305         * gst/gstevent.h:
306           inlined remaining docs, added missing doc comments
307
308 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
309
310         * check/gst/gstbin.c: (GST_START_TEST):
311           since we don't know when preroll is done, use refcount range
312           check for the sink
313         * gst/check/gstcheck.h:
314           add macro for checking refcount range
315
316 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
317
318         * check/Makefile.am:
319           clean up environment for when registry gets built versus
320           when actual tests are run; valgrind seems to not report
321           leaks if GST_PLUGIN_PATH is set to some specific values
322         * check/gst/gstbin.c: (GST_START_TEST):
323           add more refcounting checks; maybe this exposes a
324           preroll lock bug ?
325         * common/check.mak:
326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
327         * gst/check/gstcheck.h:
328         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
329         (gst_bin_change_state):
330         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
331           add/fix debugging/whitespace
332
333 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
334
335         * check/gst/gstevent.c: (event_probe), (test_event),
336         (GST_START_TEST):
337          Er, don't call gst_bin_watch_for_state_change you idiot.
338
339 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
340
341         * check/Makefile.am:
342           Use CHECK_CFLAGS and CHECK_LIBS
343         * check/gst/gstevent.c: (event_probe), (test_event),
344         (GST_START_TEST):
345           Don't leak events.
346         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
347         (gst_base_src_start), (gst_base_src_stop),
348         (gst_base_src_activate_push), (gst_base_src_activate_pull),
349         (gst_base_src_change_state):
350           Sprinkle gst_base_src_stop liberally around error paths to fix
351           problems reusing a source after failed state changes.
352         * gst/base/gsttypefindhelper.c: (helper_find_peek),
353         (helper_find_suggest), (gst_type_find_helper):
354           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
355         * gst/gstevent.h:
356         * docs/gst/tmpl/gstevent.sgml:
357           Migrate part of the docs from the SGML file. Wait for ensonic to
358           tell me how I did it wrong ;)
359         * tools/gst-typefind.c: (main):
360           Extra robustness to state changes between files.
361
362 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
363
364         * check/Makefile.am:
365           don't valgrind the controller test - it's leaking - Stefan, HELP
366         * gst/check/gstcheck.c: (gst_check_message_error),
367         (gst_check_chain_func), (gst_check_setup_element),
368         (gst_check_teardown_element), (gst_check_setup_src_pad),
369         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
370         (gst_check_teardown_sink_pad):
371         * gst/check/gstcheck.h:
372           add a bunch of methods to set up elements, and src and sink pads
373         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
374         * check/elements/identity.c: (setup_identity), (cleanup_identity),
375         (GST_START_TEST):
376           use them
377         * gst/gstmessage.c:
378         * gst/gsttag.h:
379           whitespace/doc fixes
380
381 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
382
383         * gst/gstelement.h:
384           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
385           be handled by the application and not always printed as well
386
387 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
388
389         * check/Makefile.am:
390           set GST_TOOLS_DIR
391         * gst/check/gstcheck.c: (gst_check_message_error):
392         * gst/check/gstcheck.h:
393           add a fail_unless_equals_int
394           add fail_unless for error messages
395
396 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
397
398         * check/Makefile.am:
399         * check/gst.supp:
400         * common/Makefile.am:
401         * common/check.mak:
402         * common/gst.supp:
403           factor out some of the common stuff so we can use it
404
405 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
406
407         * check/Makefile.am:
408         * check/gst/gstiterator.c: (GST_START_TEST):
409         * check/gst/gstsystemclock.c: (GST_START_TEST),
410         (gst_systemclock_suite):
411         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
412         * gst/gstclock.c:
413           valgrind more tests
414
415 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
416
417         * check/elements/.cvsignore:
418         * check/elements/gstfakesrc.c:
419           rename to name of element
420         * check/elements/identity.c: (chain_func), (event_func),
421         (setup_identity), (cleanup_identity), (GST_START_TEST),
422         (identity_suite), (main):
423           add a test for identity
424         * check/Makefile.am:
425         * pkgconfig/Makefile.am:
426         * pkgconfig/gstreamer-check.pc.in:
427         * pkgconfig/gstreamer-check-uninstalled.pc.in:
428         * gst/check:
429         * gst/Makefile.am:
430         * configure.ac:
431           move the check stuff to a library that gets installed
432         * check/gst-libs/controller.c: (GST_START_TEST):
433         * check/gst-libs/gdp.c:
434         * check/gst/gst.c: (GST_START_TEST):
435         * check/gst/gstbin.c:
436         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
437         * check/gst/gstbus.c:
438         * check/gst/gstcaps.c: (GST_START_TEST):
439         * check/gst/gstelement.c:
440         * check/gst/gstghostpad.c:
441         * check/gst/gstiterator.c:
442         * check/gst/gstmessage.c:
443         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
444         * check/gst/gstobject.c:
445         * check/gst/gstpad.c: (GST_START_TEST):
446         * check/gst/gststructure.c: (GST_START_TEST):
447         * check/gst/gstsystemclock.c: (GST_START_TEST),
448         (gst_systemclock_suite):
449         * check/gst/gsttag.c: (gst_tag_suite):
450         * check/gst/gstvalue.c:
451         * check/pipelines/cleanup.c:
452         * check/pipelines/simple_launch_lines.c:
453         * check/states/sinks.c:
454           change include statement
455
456         * docs/gst/gstreamer-sections.txt:
457         * docs/gst/tmpl/gstpad.sgml:
458           document more pad stuff
459         * gst/gstminiobject.c: (gst_mini_object_ref),
460         (gst_mini_object_unref):
461           debug refcounting
462
463 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
464
465         * docs/gst/tmpl/gst.sgml:
466         * gst/gst.c:
467           eliminate another tmpl file, fix spelling in the long-description
468
469 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
470
471         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
472         (test_event), (timediff), (gstevents_suite):
473           Should fix build on 64-bit arch's
474
475 2005-08-18  Andy Wingo  <wingo@pobox.com>
476
477         Make sure that when a pipeline goes to PLAYING, that data has
478         actually hit the sink.
479
480         * check/states/sinks.c (test_sink): A sink that doesn't get any
481         data shouldn't return SUCCESS for going to either PLAYING or
482         PAUSED. Test also the return values on the way back down.
483
484         * gst/gstelement.c (gst_element_set_state): When changing the
485         state of an element currently changing state asynchronously, go to
486         lost-state after commiting the pending state. Makes future calls
487         to get_state continue to return ASYNC.
488
489         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
490         ASYNC when going to PLAYING if we still don't have preroll, as can
491         happen with live sources.
492
493 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
494
495         * docs/pwg/advanced-types.xml:
496           Hack long paragraph into 2 chunks as a workaround for buggy
497           jadetex version in sid and breezy that loops infinitely and
498           eats all RAM.
499
500 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
501
502         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
503         (test_event), (timediff), (gstevents_suite):
504           Provide more error margin in clock measurements to allow for 
505           g_get_current_time inaccuracies.
506
507 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
508
509         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
510         (test_event), (timediff), (gstevents_suite):
511            Fix error message output so I might be able to tell why the
512            test works here but fails on the build farm.
513
514 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
515
516         * check/Makefile.am:
517         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
518         (test_event), (timediff), (gstevents_suite), (main):
519           I wrote a test!
520
521         * docs/design/part-seeking.txt:
522           Spelling correction
523
524         * docs/gst/tmpl/gstevent.sgml:
525         * docs/gst/tmpl/gstfakesrc.sgml:
526           Docs updates.
527
528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
529           Treat a buffer-without-newsegment the same as a receiving 
530           a newsegment not in time format, and disable syncing to the clock
531           with a warning.
532
533         * gst/gstbus.c: (gst_bus_set_sync_handler):
534           Assert if anyone tries to replace the existing sync_handler for bus, 
535           as only the owner should be setting it.
536
537         * gst/gstevent.h:
538           Have a fixed set of custom event enums with events identified by
539           their structure name (as in 0.8), rather than a free-for-all
540           allowing collisions between enum values from different plugins.
541
542         * gst/gstpad.c: (gst_pad_class_init):
543           Docs change.
544           
545         * gst/gstqueue.c: (gst_queue_handle_sink_event):
546           Handle out-of-band downstream events from the sending thread.
547
548 2005-08-17  Andy Wingo  <wingo@pobox.com>
549
550         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
551         play-timeout==0 to mean no timeout at all. In that case, don't
552         bother with a get_state or a warning, just return directly, even
553         if it's ASYNC.
554
555         * gst/base/gstbasetransform.c: Debug changes.
556
557         * gst/gstutils.h:
558         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
559         ensure bins post state change messages. A bit of a hack but I can't
560         think of a way to avoid it.
561
562         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
563
564 2005-08-16  Andy Wingo  <wingo@pobox.com>
565
566         * gst/base/gstadapter.h:
567         * gst/base/gstadapter.c (gst_adapter_take): New function, like
568         peek() but you own the data. Not terribly efficient atm.
569
570 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
571
572         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
573         (gst_element_found_tags):
574         * gst/gstutils.h:
575           Add two utility functions for tag handling.
576
577 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
578
579         * docs/manual/advanced-dataaccess.xml:
580         * docs/manual/basics-helloworld.xml:
581           Fix docs to use _bin_add() before _link(), which fixes the examples
582           with recent core versions (reported by Madhan Raj M
583           <raj_madan@rediffmail.com>, #313199).
584
585 2005-08-16  Wim Taymans  <wim@fluendo.com>
586
587         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
588         Added subtract checks.
589
590         * docs/design/part-events.txt:
591         Some more docs about newsegment
592
593         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
594         Fix FIXME
595
596         * gst/gstcaps.c: (gst_caps_to_string):
597         Add comments, cleanups.
598         
599         * gst/gstelement.c: (gst_element_save_thyself):
600         cleanups
601         
602         * gst/gstvalue.c: (gst_value_collect_int_range),
603         (gst_string_unwrap), (gst_value_union_int_int_range),
604         (gst_value_union_int_range_int_range),
605         (gst_value_intersect_int_int_range),
606         (gst_value_intersect_int_range_int_range),
607         (gst_value_intersect_double_double_range),
608         (gst_value_intersect_double_range_double_range),
609         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
610         (gst_value_subtract_int_range_int),
611         (gst_value_subtract_double_range_double),
612         (gst_value_subtract_double_range_double_range),
613         (gst_value_subtract_from_list), (gst_value_subtract_list),
614         (gst_value_can_compare), (gst_value_compare_fraction):
615         Cleanups, add comments, remove unneeded asserts.
616
617 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
618
619         * tools/gst-launch.c: (event_loop):
620           don't convert NULL structures to strings
621
622 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
623
624         * docs/gst/gstreamer-sections.txt:
625           made some defines private
626         * docs/gst/tmpl/gstconfig.sgml:
627         * docs/gst/tmpl/gstqueue.sgml:
628         * docs/gst/tmpl/gsttaglist.sgml:
629         * docs/gst/tmpl/gsttypes.sgml:
630         * docs/gst/tmpl/gstutils.sgml:
631         * docs/pwg/appendix-porting.xml:
632         * gst/base/gstbasesink.h:
633         * gst/base/gstbasesrc.c:
634         * gst/base/gstbasesrc.h:
635         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
636         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
637         * gst/gstelement.c: (gst_element_class_init):
638         * gst/gstpad.c: (gst_pad_class_init):
639         * gst/gstqueue.c: (gst_queue_class_init):
640         * gst/gstxml.c: (gst_xml_class_init):
641           documented all undocumented signal inline
642         * libs/gst/controller/gst-controller.h:
643           added padding
644
645 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
646
647         * docs/pwg/appendix-porting.xml:
648           Document _set_link_function -> _set_setcaps_function.
649
650 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
651
652         * check/Makefile.am:
653           add a .check target for running the check
654         * check/gst-libs/controller.c: (GST_START_TEST):
655           cosmetic fixups
656         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
657           complete checks for gstbuffer; would be nice if I could get the
658           gcov stuff to work so I can see if I actually completed gstbuffer.c
659         * check/gstcheck.h:
660           add ASSERT_BUFFER_REFCOUNT
661
662 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
663
664         * docs/gst/gstreamer-sections.txt:
665         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
666         * gst/gsttag.h:
667           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
668           spew out a warning if a tag that is already registered
669           is re-registered, unless it is re-registered with a 
670           different type (#308438).
671
672 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
673
674         * docs/pwg/appendix-porting.xml:
675         * docs/pwg/building-state.xml:
676           Add some paragraphs about state changes in 0.9 to the PWG
677           and the porting guide, in particular about the new meaning
678           of GST_STATE_PAUSED and how to write state change functions
679           with concurrent access by multiple threads in mind.
680
681 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
682
683         * docs/gst/gstreamer-docs.sgml:
684         * docs/libs/gstreamer-libs-docs.sgml:
685           added deprecation and since indexes
686         * libs/gst/controller/gst-controller.c:
687         * libs/gst/controller/gst-helper.c:
688           added since tags
689
690
691 2005-08-11  Wim Taymans  <wim@fluendo.com>
692
693         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
694         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
695         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
696         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
697         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
698         (gst_ghost_pad_set_target):
699         Actually implement (re)setting the target on a ghostpad
700         as described in the docs.
701
702 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
705           Check whether GST_DEBUG_NO_COLOR environment variable is
706           set and disable coloured debug output if that is the case.
707
708 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
709
710         * gst/base/gsttypefindhelper.c: (helper_find_peek),
711         (gst_type_find_helper):
712           The memory returned by gst_type_find_peek() needs to
713           stay valid until the end of a typefind function, and
714           typefind functions may keep results from different 
715           offsets around, so we can't just unref the buffer from
716           the previous _peek(), but have to save all buffers 
717           returned by _peek() until typefinding is done and only
718           free them then.
719
720 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
721
722         * docs/gst/gstreamer-sections.txt:
723         * gst/gstutils.h:
724           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
725
726 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
727
728         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
729           Fix a pretty good memleak.
730
731 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
732
733         * gst/gstiterator.h:
734           Fix wrong include and 'make distcheck'.
735
736 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
737
738         * gst/gstbin.c: (bin_bus_handler):
739           Use gst_element_post_message() instead.
740
741 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
742
743         * gst/base/gstadapter.h:
744         * gst/base/gstbasesink.h:
745         * gst/base/gstbasesrc.h:
746         * gst/base/gstbasetransform.h:
747         * gst/base/gstcollectpads.h:
748         * gst/base/gstpushsrc.h:
749         * gst/gstiterator.h:
750           Add padding to our base elements' class and instance structs and
751           to GstIterator (you will need to rebuild all plugins and apps!)
752
753 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
754
755         * gst/gstbin.c: (bin_bus_handler):
756           Make default message forwarding from child->bus to bin->bus
757           threadsafe and make it not emit warnings if the parent has no bus.
758
759 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
760
761         * gst/gstelement.c: (activate_pads):
762           On paused->ready, set pad->caps to NULL, as is the documented
763           behaviour in this state change. Fixes playback of series of
764           media files when visualization is enabled in Totem.
765
766 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
767
768         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
769           Allow NULL as filter-caps (which means "any").
770
771 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
772
773         * docs/libs/gstreamer-libs-sections.txt:
774         * libs/gst/controller/gst-controller.c:
775         * libs/gst/controller/gst-controller.h:
776         * libs/gst/controller/gst-helper.c:
777           adding more entries to the docs and fix small doc-bugs
778
779 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
780
781         * docs/gst/gstreamer-docs.sgml:
782         * docs/gst/gstreamer-sections.txt:
783         * docs/gst/gstreamer.types:
784         * docs/gst/tmpl/gstbasesink.sgml:
785         * docs/gst/tmpl/gstbasesrc.sgml:
786         * docs/gst/tmpl/gstbasetransform.sgml:
787         * docs/gst/tmpl/gstfakesrc.sgml:
788         * gst/base/gstcollectpads.c:
789         * gst/base/gstcollectpads.h:
790         * libs/gst/controller/gst-controller.c:
791         * libs/gst/controller/gst-controller.h:
792         * libs/gst/controller/gst-helper.c:
793         * libs/gst/controller/gst-interpolation.c:
794         * libs/gst/controller/lib.c:
795           added long/short desc for controller docs
796           added collectpads base class docs
797           added correct includes to base-class docs
798
799 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
800
801         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
802         (gst_test_mono_source_set_property),
803         (gst_test_mono_source_class_init), (GST_START_TEST),
804         (gst_controller_suite):
805         * docs/gst/gstreamer-docs.sgml:
806         * docs/gst/gstreamer-sections.txt:
807         * docs/gst/gstreamer.types:
808         * docs/libs/gstreamer-libs-docs.sgml:
809         * docs/libs/gstreamer-libs-sections.txt:
810         * gst/base/gstadapter.c:
811         * libs/gst/controller/gst-controller.c:
812         (gst_controlled_property_new), (gst_controlled_property_free),
813         (gst_controller_new_valist),
814         (gst_controller_remove_properties_valist),
815         (gst_controller_sink_values), (_gst_controller_finalize):
816         * libs/gst/controller/gst-controller.h:
817         * libs/gst/controller/gst-helper.c:
818         (gst_object_control_properties), (gst_object_uncontrol_properties),
819         (gst_object_get_controller), (gst_object_set_controller),
820         (gst_object_sink_values), (gst_object_get_value_arrays),
821         (gst_object_get_value_array):
822           more tests (and fixes) for the controller
823           more docs for the controller
824           integrated companies docs for the adapter 
825
826 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
827
828         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
829         (GST_START_TEST), (fakesrc_suite):
830           add tests for sizetype
831
832 2005-08-04  Andy Wingo  <wingo@pobox.com>
833
834         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
835         fixes buffer_alloc proxying among other things.
836
837         * gst/base/gstbasetransform.c:
838         * gst/base/gstbasetransform.h:
839         Revert patch to gstbasetransform from 7-28 removing
840         delay_configure.
841
842         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
843         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
844         Semantics changed, should return not the size of the output buffer
845         but the byte size of a buffer with a given caps.
846
847         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
848         debug object.
849         (gst_base_transform_configure_caps): Don't set out_size here: (in,
850         out) are not the pad caps until setcaps finishes.
851         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
852         not-in-place case as well. Deal with changing from in-place to
853         not-in-place within calling pad_alloc_buffer. Still a bit
854         concerned about the overhead here...
855
856 2005-08-03  Andy Wingo  <wingo@pobox.com>
857
858         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
859         fixating is an error.
860
861 2005-08-04  Edward Hervey  <edward@fluendo.com>
862
863         * gst/base/gstadapter.h: 
864         Added gst_adapter_get_type() to the header
865
866 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
867
868         * check/Makefile.am:
869         * check/gst-libs/controller.c:
870         * libs/gst/controller/gst-controller.c:
871         (gst_controller_new_valist):
872           added check test suite for the controller
873         * gst/base/gstpushsrc.c:
874           fixed a doc typo
875
876 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
877
878         * docs/gst/Makefile.am:
879         * docs/gst/gstreamer-docs.sgml:
880         * docs/gst/gstreamer-sections.txt:
881         * docs/gst/gstreamer.types:
882         * docs/gst/tmpl/gstfakesrc.sgml:
883         * gst/base/README:
884         * gst/base/gstbasesink.c:
885         * gst/base/gstbasesink.h:
886         * gst/base/gstbasesrc.c:
887         * gst/base/gstbasesrc.h:
888         * gst/base/gstbasetransform.c:
889         * gst/base/gstpushsrc.c:
890         * gst/base/gstpushsrc.h:
891           add short/long description docs to base classes
892           add pushsrc to the docs
893           remove consolidated doc fragments
894
895 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
896
897         * configure.ac:
898         * docs/libs/Makefile.am:
899         * docs/libs/gstreamer-libs-docs.sgml:
900         * docs/libs/gstreamer-libs-sections.txt:
901         * docs/libs/gstreamer-libs.types:
902         * examples/Makefile.am:
903         * examples/controller/.cvsignore:
904         * examples/controller/Makefile.am:
905         * examples/controller/audio-example.c: (main):
906         * libs/gst/Makefile.am:
907         * libs/gst/controller/.cvsignore:
908         * libs/gst/controller/Makefile.am:
909         * libs/gst/controller/gst-controller.c:
910         (on_object_controlled_property_changed), (gst_timed_value_compare),
911         (gst_timed_value_find),
912         (gst_controlled_property_set_interpolation_mode),
913         (gst_controlled_property_new), (gst_controlled_property_free),
914         (gst_controller_find_controlled_property),
915         (gst_controller_new_valist), (gst_controller_new),
916         (gst_controller_remove_properties_valist),
917         (gst_controller_remove_properties), (gst_controller_set),
918         (gst_controller_set_from_list), (gst_controller_unset),
919         (gst_controller_get), (gst_controller_get_all),
920         (gst_controller_sink_values), (gst_controller_get_value_arrays),
921         (gst_controller_get_value_array),
922         (gst_controller_set_interpolation_mode),
923         (_gst_controller_finalize), (_gst_controller_init),
924         (_gst_controller_class_init), (gst_controller_get_type):
925         * libs/gst/controller/gst-controller.h:
926         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
927         (g_object_uncontrol_properties), (g_object_get_controller),
928         (g_object_set_controller), (g_object_sink_values),
929         (g_object_get_value_arrays), (g_object_get_value_array):
930         * libs/gst/controller/gst-interpolation.c:
931         (gst_controlled_property_find_timed_value_node),
932         (interpolate_none_get), (interpolate_trigger_get),
933         (interpolate_trigger_get_value_array):
934         * libs/gst/controller/lib.c: (gst_controller_init):
935         * pkgconfig/Makefile.am:
936         * pkgconfig/gstreamer-control-uninstalled.pc.in:
937         * pkgconfig/gstreamer-control.pc.in:
938         * testsuite/Makefile.am:
939         * testsuite/controller/.cvsignore:
940         * testsuite/controller/Makefile.am:
941         * testsuite/controller/interpolator.c: (main):
942           added controller code
943           removed dparam pc files
944
945 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
946         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
947         (gst_collectpads_stop):
948           Broadcast the condition when shutting down, to make sure we wake all
949           threads up. Shut down pads on finalize, for safety.
950
951 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
952         * gst/base/gstbasetransform.c: (gst_base_transform_init),
953         (gst_base_transform_handle_buffer),
954         (gst_base_transform_change_state):
955           Handle PAUSED->READY->PAUSED transition after negotiation
956           occurred already.
957         * gst/gstmessage.c: (gst_message_init):
958           Extra piece of debug for new messages.
959
960 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
961
962         * configure.ac:
963         * docs/gst/tmpl/gstbasesrc.sgml:
964         * docs/gst/tmpl/gstelement.sgml:
965         * docs/gst/tmpl/gstevent.sgml:
966         * docs/gst/tmpl/gstfakesrc.sgml:
967         * docs/gst/tmpl/gstformat.sgml:
968         * docs/gst/tmpl/gstghostpad.sgml:
969         * docs/gst/tmpl/gstpad.sgml:
970         * docs/gst/tmpl/gstquery.sgml:
971         * docs/gst/tmpl/gststructure.sgml:
972         * docs/gst/tmpl/gsttaglist.sgml:
973         * docs/gst/tmpl/gstvalue.sgml:
974         * docs/libs/gstreamer-libs-docs.sgml:
975         * docs/libs/gstreamer-libs-sections.txt:
976         * docs/libs/gstreamer-libs.types:
977         * libs/gst/Makefile.am:
978         * libs/gst/control/.cvsignore:
979         * libs/gst/control/Makefile.am:
980         * libs/gst/control/control.c:
981         * libs/gst/control/control.h:
982         * libs/gst/control/dparam.c:
983         * libs/gst/control/dparam.h:
984         * libs/gst/control/dparam_smooth.c:
985         * libs/gst/control/dparam_smooth.h:
986         * libs/gst/control/dparamcommon.h:
987         * libs/gst/control/dparammanager.c:
988         * libs/gst/control/dparammanager.h:
989         * libs/gst/control/dplinearinterp.c:
990         * libs/gst/control/dplinearinterp.h:
991         * libs/gst/control/unitconvert.c:
992         * libs/gst/control/unitconvert.h:
993         * testsuite/Makefile.am:
994         * testsuite/dynparams/.cvsignore:
995         * testsuite/dynparams/Makefile.am:
996         * testsuite/dynparams/dparamstest.c:
997         * tools/Makefile.am:
998         * tools/gst-inspect.c: (print_element_info), (main):
999         * tools/gst-xmlinspect.c: (print_element_info), (main):
1000           deactivate and remove dparams (libgstcontrol)
1001
1002 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1003
1004         * gst/elements/gsttypefindelement.c:
1005         (gst_type_find_element_have_type), (gst_type_find_element_init),
1006         (stop_typefinding), (gst_type_find_element_handle_event),
1007         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1008         * gst/elements/gsttypefindelement.h:
1009           Set caps on all outgoing buffers, not just the first one.
1010
1011 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1012
1013         * gst/elements/gsttypefindelement.c:
1014         (gst_type_find_element_have_type),
1015         (gst_type_find_element_check_set_buffer_caps),
1016         (gst_type_find_element_init), (stop_typefinding),
1017         (gst_type_find_element_handle_event),
1018         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1019         * gst/elements/gsttypefindelement.h:
1020           Set caps on first outgoing buffer when we've found the type.
1021
1022 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1023
1024         * docs/gst/gstreamer-docs.sgml:
1025         * docs/gst/gstreamer-sections.txt:
1026         * docs/gst/tmpl/gstscheduler.sgml:
1027         * docs/gst/tmpl/gstschedulerfactory.sgml:
1028           Remove some old cruft from docs.
1029
1030 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
1031
1032         * gst/gstpad.h:
1033           Fix inline docs for GstPadLinkReturn.
1034           
1035         * gst/gststructure.c: (gst_structure_has_name):
1036         * gst/gststructure.h:
1037         * docs/gst/gstreamer-sections.txt:
1038           New API: gst_structure_has_name().
1039
1040 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
1041
1042         * configure.ac:
1043           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1044           and _LARGEFILE_SOURCE in config.h as required. Do not 
1045           export those flags in our .pc files any longer (#142209).
1046
1047           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1048
1049         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1050         (gst_file_sink_do_seek), (gst_file_sink_event),
1051         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1052           Redo seek/tell calls with large file support in mind; add some
1053           debugging messages; add log message that tells us when large
1054           file support is unavailable or not enabled for some reason.
1055
1056         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1057           Add log message that tells us when large file support 
1058           is unavailable or not enabled for some reason.
1059
1060 2005-07-29  Wim Taymans  <wim@fluendo.com>
1061
1062         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1063         Added test for removing an element with ghostpad from a bin.
1064         Fixed test as current implementation does the right thing.
1065
1066         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1067         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1068         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1069         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1070         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1071         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1072         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1073         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1074         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1075         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1076         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1077         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1078         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1079         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1080         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1081         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1082         * gst/gstghostpad.h:
1083         Clean up ghostpads, remove properties for internal stuff.
1084         Make threadsafe.
1085         Fix refcounting.
1086         Prepare for switching targets, not all use cases work yet.
1087
1088 2005-07-29  Wim Taymans  <wim@fluendo.com>
1089
1090         * docs/design/part-gstghostpad.txt:
1091         Small update.
1092
1093         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1094         (gst_bin_remove_func):
1095         Unlinking pads while holding the bin LOCK is not a good
1096         idea.
1097
1098         * gst/gstpad.c: (gst_pad_class_init),
1099         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1100         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1101         No prob setting template after creating the pad.
1102
1103 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1104
1105         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1106         (gst_bus_peek), (gst_bus_source_dispatch),
1107         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1108         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1109           gst_bus_poll may be called from other threads. Handle
1110           this nicely by not making poll_data disappear off the
1111           stack once gst_bus_poll returns.
1112           gst_bus_peek now increments the refcount on the returned
1113           message.
1114
1115 2005-07-29  Wim Taymans  <wim@fluendo.com>
1116
1117         * docs/design/part-gstghostpad.txt:
1118         Overview of current GhostPad datastructures and use
1119         cases for changing the target.
1120
1121 2005-07-28  Wim Taymans  <wim@fluendo.com>
1122
1123         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1124         Added checks for hierarchy consistency whan adding linked
1125         elements to bins.
1126
1127         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1128         Added check to test element scheduling without bin/pipeline.
1129
1130         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1131         First add elements to bin, then link.
1132         
1133         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1134         (gst_bin_remove_func):
1135         Unlink pads from elements added/removed from bin to maintain
1136         hierarchy consistency.
1137
1138 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1139
1140         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1141         (gst_base_transform_handle_buffer):
1142         * gst/base/gstbasetransform.h:
1143           Remove broken delay_configure (fixes renegotiation of software
1144           scaling pipelines); remove some leftover printf()s.
1145
1146 2005-07-28  Wim Taymans  <wim@fluendo.com>
1147
1148         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1149         Added some more tests for wrong hierarchy
1150
1151         * docs/design/part-overview.txt:
1152         Some updates.
1153
1154         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1155         Cleanups.
1156
1157         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1158         (gst_element_dispose):
1159         Some more cleanups.
1160
1161         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1162         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1163         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1164         (gst_pad_set_caps), (gst_pad_send_event):
1165         Check for correct hierarchy when linking pads. Moving to
1166         strict requirement for ghostpads when linking elements in
1167         different bins.
1168
1169         * gst/gstpad.h:
1170         Clean ups. Added WRONG_HIERARCHY return value.
1171
1172 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1173
1174         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1175           Better debug if no transform is possible.
1176
1177 2005-07-27  Wim Taymans  <wim@fluendo.com>
1178
1179         * docs/random/wtay/network-transp:
1180         Some old doc I had.
1181
1182 2005-07-27  Wim Taymans  <wim@fluendo.com>
1183
1184         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1185         (gst_dp_event_from_packet):
1186         Fix serialization of seek events.
1187
1188 2005-07-27  Wim Taymans  <wim@fluendo.com>
1189
1190         * check/gst-libs/gdp.c: (GST_START_TEST):
1191         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1192         Fix compilation and fix event serialization.
1193
1194 2005-07-27  Wim Taymans  <wim@fluendo.com>
1195
1196         * CHANGES-0.9:
1197         * docs/design/part-TODO.txt:
1198         * docs/design/part-events.txt:
1199         Some docs updates
1200
1201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1202         (gst_base_sink_event), (gst_base_sink_do_sync),
1203         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1204         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1205         (gst_base_src_do_seek), (gst_base_src_event_handler),
1206         (gst_base_src_loop):
1207         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1208         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1209         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1210         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1211         (gst_base_transform_set_passthrough),
1212         (gst_base_transform_is_passthrough):
1213         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1214         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1215         Event updates.
1216
1217         * gst/gstbuffer.h:
1218         Use faster casts.
1219
1220         * gst/gstelement.c: (gst_element_seek):
1221         * gst/gstelement.h:
1222         Update gst_element_seek.
1223
1224         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1225         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1226         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1227         (gst_event_new_eos), (gst_event_new_newsegment),
1228         (gst_event_parse_newsegment), (gst_event_new_tag),
1229         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1230         (gst_event_parse_qos), (gst_event_new_seek),
1231         (gst_event_parse_seek), (gst_event_new_navigation):
1232         * gst/gstevent.h:
1233         Make GstEvent use GstStructure. Add parsing code, make sure the
1234         API is sufficiently generic.
1235         Mark possible directions of events and serialization.
1236
1237         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1238         (_gst_message_copy), (gst_message_new_segment_start),
1239         (gst_message_new_segment_done), (gst_message_new_custom),
1240         (gst_message_parse_segment_start),
1241         (gst_message_parse_segment_done):
1242         Small cleanups.
1243
1244         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1245         (gst_pad_set_caps), (gst_pad_send_event):
1246         Update for new events. 
1247         Catch events sent in wrong directions.
1248
1249         * gst/gstqueue.c: (gst_queue_link_src),
1250         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1251         (gst_queue_handle_src_query):
1252         Event updates.
1253
1254         * gst/gsttag.c:
1255         * gst/gsttag.h:
1256         Remove event code from this file.
1257
1258         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1259         (gst_dp_event_from_packet):
1260         Event updates.
1261
1262 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1263
1264         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1265         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1266         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1267           Make debugging actually useful.
1268
1269 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1270
1271         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1272         (gst_pad_fixate_caps):
1273           Implement default fixation once again, so that gst_pad_fixate()
1274           actually does anything at all. This probably needs to be some
1275           sort of a last resort, and use profile-based fixation first, but
1276           since that doesn't exist yet, this is the best we have. Fixes
1277           visualization in Totem.
1278
1279 2005-07-22  Wim Taymans  <wim@fluendo.com>
1280
1281         * docs/design/part-events.txt:
1282         Small update.
1283
1284         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1285         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1286         (gst_base_sink_activate_pull):
1287         Some more comments.
1288
1289         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1290         (gst_fake_src_create):
1291         Fix handoff marshall.
1292
1293         * gst/elements/gstidentity.c: (gst_identity_class_init),
1294         (gst_identity_transform_ip):
1295         We're a real inplace element.
1296
1297         * gst/gstbus.c: (gst_bus_post):
1298         Added some comments.
1299
1300         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1301         * tests/muxing/case1.c: (main):
1302         * tests/sched/dynamic-pipeline.c: (main):
1303         * tests/sched/interrupt1.c: (main):
1304         * tests/sched/interrupt2.c: (main):
1305         * tests/sched/interrupt3.c: (main):
1306         * tests/sched/runxml.c: (main):
1307         * tests/sched/sched-stress.c: (main):
1308         * tests/seeking/seeking1.c: (event_received), (main):
1309         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1310         (main):
1311         * tests/threadstate/threadstate3.c: (main):
1312         * tests/threadstate/threadstate4.c: (main):
1313         * tests/threadstate/threadstate5.c: (main):
1314         Fix the tests.
1315
1316 2005-07-21  Wim Taymans  <wim@fluendo.com>
1317
1318         * docs/design/part-seeking.txt:
1319         Some small additions.
1320
1321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1322         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1323         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1324         * gst/base/gstbasesink.h:
1325         discont values are gint64, handle the math correctly.
1326
1327         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1328         Make the basesrc report error if the source pad is not linked.
1329
1330         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1331         (gst_queue_loop), (gst_queue_handle_src_query),
1332         (gst_queue_src_activate_push):
1333         Make queue collect data even if the srcpad is not linked.
1334         Start pushing out data as soon as it is linked.
1335
1336         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1337         * gst/gstutils.h:
1338         Added gst_flow_get_name() to ease error reporting.
1339
1340 2005-07-20  Wim Taymans  <wim@fluendo.com>
1341
1342         * gst/gstmessage.c: (gst_message_new_segment_start),
1343         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1344         (gst_message_parse_segment_done):
1345         * gst/gstmessage.h:
1346         Added a bunch of messages for advanced seeking.
1347
1348         * gst/parse/grammar.y:
1349         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1350         (gst_dpman_state_changed):
1351         Fix some new-pad -> pad-added signals
1352
1353 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1354
1355         * docs/manual/appendix-porting.xml:
1356         * docs/pwg/appendix-porting.xml:
1357           Document new-pad/state-change signal renames and the FixedList
1358           type rename.
1359
1360 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1361
1362         * docs/manual/advanced-autoplugging.xml:
1363         * docs/manual/basics-helloworld.xml:
1364         * docs/manual/basics-pads.xml:
1365         * docs/random/ds/0.9-suggested-changes:
1366         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1367         * gst/gstelement.h:
1368         * gst/gstevent.h:
1369         * gst/gstformat.h:
1370         * gst/gstquery.h:
1371         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1372         (gst_structure_parse_array), (gst_structure_parse_value):
1373         * gst/gstvalue.c: (gst_type_is_fixed),
1374         (gst_value_list_prepend_value), (gst_value_list_append_value),
1375         (gst_value_list_get_size), (gst_value_list_get_value),
1376         (gst_value_transform_array_string), (gst_value_serialize_array),
1377         (gst_value_deserialize_array), (gst_value_intersect_array),
1378         (gst_value_is_fixed), (_gst_value_initialize):
1379         * gst/gstvalue.h:
1380           GstElement::new-pad -> pad-added, GstElement::state-change ->
1381           state-changed, GstValueFixedList -> GstValueArray, add format and
1382           flags as their own arguments in gst_element_seek() (should improve
1383           "bindeability"), remove function generators since they don't work
1384           under a whole bunch of compilers (they were deprecated already
1385           anyway).
1386
1387 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1388
1389         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1390         (_gst_debug_register_funcptr):
1391         * gst/gstinfo.h:
1392           Fix illegal cast on some platforms (#309253).
1393
1394 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1395
1396         * gst/gstmessage.c: (gst_message_new_custom):
1397         * gst/gstmessage.h:
1398           Add _new_custom, make _new_application a macro to _new_custom.
1399
1400 2005-07-20  Wim Taymans  <wim@fluendo.com>
1401
1402         * gst/base/gstbasesrc.c: (gst_base_src_init),
1403         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1404         * gst/base/gstbasesrc.h:
1405         Add a gboolean to decide when to push out a discont.
1406
1407         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1408         (gst_queue_loop), (gst_queue_handle_src_query),
1409         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1410         (gst_queue_set_property), (gst_queue_get_property):
1411         Some cleanups.
1412
1413         * tests/threadstate/threadstate1.c: (main):
1414         Make a thread test compile and run... very silly..
1415
1416
1417 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1418
1419         * docs/manual/appendix-porting.xml:
1420           Mention removal of libgstgconf-0.9.la and existence of gconf
1421           elements.
1422
1423 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1424
1425         * docs/pwg/advanced-clock.xml:
1426         * docs/pwg/appendix-porting.xml:
1427         * docs/pwg/intro-preface.xml:
1428         * docs/pwg/other-base.xml:
1429         * docs/pwg/other-manager.xml:
1430         * docs/pwg/other-nton.xml:
1431         * docs/pwg/other-ntoone.xml:
1432         * docs/pwg/other-oneton.xml:
1433         * docs/pwg/pwg.xml:
1434           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1435           demuxer), remove n-to-n (was never written), fix some code examples
1436           and links and update the porting section to include all this.
1437
1438 2005-07-19  Wim Taymans  <wim@fluendo.com>
1439
1440         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1441         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1442         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1443         (gst_queue_src_activate_push), (gst_queue_change_state),
1444         (gst_queue_get_property):
1445         * gst/gstqueue.h:
1446         Propagate GstFlowReturn more intelligently upstream and output
1447         an ERROR/EOS when streaming stopped due to fatal error.
1448
1449 2005-07-19  Wim Taymans  <wim@fluendo.com>
1450
1451         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1452         Don't block forever for the state change to complete, the
1453         pipeline already did with a sensible timeout.
1454
1455 2005-07-19  Wim Taymans  <wim@fluendo.com>
1456
1457         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1458         Make sure we never call the create function is we
1459         got deactivated.
1460
1461 2005-07-19  Andy Wingo  <wingo@pobox.com>
1462
1463         * gst/parse/parse.l: Attempt to solve bug #172815.
1464
1465 2005-07-19  Wim Taymans  <wim@fluendo.com>
1466
1467         * docs/design/part-clocks.txt:
1468         * docs/design/part-events.txt:
1469         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1470         Small docs updates.
1471         Only update the seeking values when we are not
1472         busy streaming.
1473
1474 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1475
1476         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1477           Oops, ignore the result of gst_pad_push_event here.
1478
1479 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1480
1481         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1482         (gst_base_src_activate_push):
1483           Send discont event from the loop function, as pads
1484           aren't activated yet in the activate_push handler.
1485
1486         * gst/gstbin.c: (bin_bus_handler):
1487           Don't leak element name.
1488
1489 2005-07-18  Andy Wingo  <wingo@pobox.com>
1490
1491         * configure.ac: Use AS_LIBTOOL_TAGS.
1492
1493 2005-07-18  Wim Taymans  <wim@fluendo.com>
1494
1495         * docs/gst/gstreamer.types:
1496         Remove deleted types.
1497
1498 2005-07-18  Wim Taymans  <wim@fluendo.com>
1499
1500         * check/elements/gstfakesrc.c: (GST_START_TEST):
1501         * configure.ac:
1502         * gst/Makefile.am:
1503         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1504         (init_popt_callback):
1505         * gst/gst.h:
1506         * gst/gst_private.h:
1507         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1508         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1509         * gst/gstbin.h:
1510         * gst/gstbus.h:
1511         * gst/gstconfig.h.in:
1512         * gst/gstelement.c: (gst_element_class_init),
1513         (gst_element_set_base_time), (gst_element_get_base_time),
1514         (iterator_fold_with_resync), (gst_element_change_state),
1515         (gst_element_dispose), (gst_element_get_bus):
1516         * gst/gstelement.h:
1517         * gst/gstelementfactory.h:
1518         * gst/gsterror.c: (_gst_core_errors_init):
1519         * gst/gsterror.h:
1520         * gst/gstevent.h:
1521         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1522         * gst/gstindex.c:
1523         * gst/gstinfo.c: (_gst_debug_init):
1524         * gst/gstmessage.c: (_gst_message_copy):
1525         * gst/gstmessage.h:
1526         * gst/gstminiobject.h:
1527         * gst/gstobject.c:
1528         * gst/gstobject.h:
1529         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1530         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1531         * gst/gstpad.h:
1532         * gst/gstparse.h:
1533         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1534         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1535         (gst_pipeline_get_last_stream_time):
1536         * gst/gstpipeline.h:
1537         * gst/gstpluginfeature.h:
1538         * gst/gstquery.h:
1539         * gst/gstscheduler.c:
1540         * gst/gstscheduler.h:
1541         * gst/gststructure.h:
1542         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1543         (gst_task_finalize), (gst_task_func), (gst_task_create),
1544         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1545         (gst_task_stop), (gst_task_pause):
1546         * gst/gsttask.h:
1547         * gst/gsttypefind.h:
1548         * gst/gsttypes.h:
1549         * gst/registries/gstlibxmlregistry.c: (load_feature),
1550         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1551         * gst/registries/gstxmlregistry.c:
1552         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1553         * gst/schedulers/threadscheduler.c:
1554         * libs/gst/control/dparammanager.h:
1555         * tools/gst-inspect.c: (print_element_list),
1556         (print_plugin_features), (print_element_features):
1557         * tools/gst-xmlinspect.c: (print_element_list),
1558         (print_plugin_info), (main):
1559         Removed plugable schedulers.
1560         Removed Scheduler/Manager from elements.
1561         Removed gsttypes.h, rearranged includes.
1562         Removed dependency pad<->element, element<>pipeline, and
1563         various others,  fix includes.
1564         implement gst_pad_get_parent() with gst_object_get_parent()
1565         Make GstTask sefcontained.
1566         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1567         timeout.
1568         Fix endless loop in iterator_fold_with_resync.
1569
1570
1571 2005-07-18  Wim Taymans  <wim@fluendo.com>
1572
1573         * gst/Makefile.am:
1574         * gst/gstarch.h:
1575         Remove old file.
1576
1577 2005-07-18  Wim Taymans  <wim@fluendo.com>
1578
1579         * gst/Makefile.am:
1580         No more cothreads.h
1581
1582 2005-07-18  Wim Taymans  <wim@fluendo.com>
1583
1584         * gst/cothreads.c:
1585         * gst/cothreads.h:
1586         Let's remove these.
1587
1588 2005-07-18  Wim Taymans  <wim@fluendo.com>
1589
1590         * docs/design/part-dynamic.txt:
1591         * docs/design/part-events.txt:
1592         * docs/design/part-seeking.txt:
1593         Some more docs in the works.
1594
1595         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1596         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1597         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1598         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1599         (gst_base_transform_handle_buffer),
1600         (gst_base_transform_sink_activate_push),
1601         (gst_base_transform_src_activate_pull),
1602         (gst_base_transform_set_passthrough),
1603         (gst_base_transform_is_passthrough):
1604         Refcounting fixes.
1605
1606         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1607         Cleanups.
1608
1609         * gst/gstevent.c: (gst_event_finalize):
1610         Set SRC to NULL.
1611
1612         * gst/gstutils.c: (gst_element_unlink),
1613         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1614         (gst_pad_proxy_setcaps):
1615         * gst/gstutils.h:
1616         Add _get_parent_element() to get a pads parent as an element.
1617
1618 2005-07-18  Wim Taymans  <wim@fluendo.com>
1619
1620         * check/gst/gstbin.c: (GST_START_TEST):
1621         Remove bogus test.
1622
1623 2005-07-18  Wim Taymans  <wim@fluendo.com>
1624
1625         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1626         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1627         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1628         (gst_base_sink_event), (gst_base_sink_do_sync),
1629         (gst_base_sink_chain), (gst_base_sink_loop),
1630         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1631         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1632         Refcounting fixes.
1633         Fix logic for returning ASYNC when not prerolled.
1634
1635 2005-07-18  Wim Taymans  <wim@fluendo.com>
1636
1637         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1638         Fix nasty refcount bug.
1639
1640 2005-07-16 Philippe Khalaf <burger@speedy.org>
1641         * gst/elements/gstfdsrc.c:
1642         * gst/elements/gstfdsrc.h:
1643         * gst/elements/gstelements.c:
1644         * gst/elements/Makefile.am:
1645         Ported fdsrc to 0.9.
1646
1647 2005-07-16  Wim Taymans  <wim@fluendo.com>
1648
1649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1650         (gst_base_sink_do_sync):
1651         Fix compile error.
1652
1653 2005-07-16  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1656         (gst_base_sink_event), (gst_base_sink_get_times),
1657         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1658         * gst/base/gstbasesink.h:
1659         Store and use discont values when syncing buffers as described
1660         in design docs.
1661         
1662         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1663         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1664         (gst_base_src_activate_push):
1665         Push discont event when starting.
1666
1667         * gst/elements/gstidentity.c: (gst_identity_transform):
1668         Small cleanups.
1669
1670         * gst/gstbin.c: (gst_bin_change_state):
1671         Small cleanups in base_time  distribution.
1672
1673         * gst/gstelement.c: (gst_element_set_base_time),
1674         (gst_element_get_base_time), (gst_element_change_state):
1675         * gst/gstelement.h:
1676         Added methods for the base_time of the element.
1677         Some MT fixes.
1678
1679         * gst/gstpipeline.c: (gst_pipeline_send_event),
1680         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1681         (gst_pipeline_get_last_stream_time):
1682         * gst/gstpipeline.h:
1683         MT fixes.
1684         Handle seeking as described in design doc, remove stream_time
1685         hack.
1686         Cleanups clock and stream_time selection code. Added accessors
1687         for the stream_time.
1688         
1689
1690 2005-07-16  Andy Wingo  <wingo@pobox.com>
1691
1692         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1693         (#305291).
1694
1695 2005-07-16  Wim Taymans  <wim@fluendo.com>
1696
1697         * check/gst/gstbin.c: (GST_START_TEST):
1698         Make elements silent as the deep_notify refs the
1699         parent, which might make the test fail.
1700
1701         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1702         Don't hold the lock for too long.
1703
1704 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1705
1706         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1707           Don't unref the caps we passed to gst_caps_make_writable() after
1708           passing them. gst_caps_make_writable() will do that for us.
1709
1710 2005-07-15  Andy Wingo  <wingo@pobox.com>
1711
1712         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1713         (#157311).
1714
1715         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1716         own marshalling function for the handoff signal. Properly type the
1717         buffer as a buffer. Fixes some warnings. Should do a more general
1718         solution.
1719         (gst_identity_class_init): Plug into the right marshaller.
1720
1721 2005-07-15  Wim Taymans  <wim@fluendo.com>
1722
1723         * docs/design/part-TODO.txt:
1724         * docs/design/part-clocks.txt:
1725         * docs/design/part-element-sink.txt:
1726         * docs/design/part-events.txt:
1727         * docs/design/part-gstpipeline.txt:
1728         Updated docs, mostly DISCONT related.
1729
1730 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1731
1732         * docs/pwg/building-pads.xml:
1733           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1734
1735 2005-07-15  Andy Wingo  <wingo@pobox.com>
1736
1737         * tools/gst-typefind.c: Update, add copyright block.
1738
1739         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1740         Normalize and truncate caps before fixation.
1741
1742         * gst/gstcaps.h:
1743         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1744         discards all but the first structure from its argument.
1745
1746 2005-07-15  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1749         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1750         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1751         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1752         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1753         (gst_base_transform_chain), (gst_base_transform_change_state),
1754         (gst_base_transform_set_passthrough),
1755         (gst_base_transform_is_passthrough):
1756         * gst/base/gstbasetransform.h:
1757         Make passthrough work using the bufferpools.
1758         Changed API a bit, subclasses have to write into a buffer
1759         provided by the base class.
1760         More debug info in nego functions.
1761         
1762         * gst/elements/gstidentity.c: (gst_identity_init),
1763         (gst_identity_transform):
1764         Port to new base class.
1765
1766 2005-07-15  Wim Taymans  <wim@fluendo.com>
1767
1768         * gst/gstmessage.c: (gst_message_new_state_changed):
1769         * tools/gst-launch.c: (event_loop), (main):
1770         Totally dump messages in -launch with the -m option.
1771         Fix message name for State messages,
1772
1773 2005-07-14  Wim Taymans  <wim@fluendo.com>
1774
1775         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1776         Post error messages on errors.
1777
1778 2005-07-14  Wim Taymans  <wim@fluendo.com>
1779
1780         * gst/gstcaps.c: (gst_caps_do_simplify):
1781         Remove debug info.
1782
1783         * gst/gsterror.h:
1784         Define error for stream stopped.
1785
1786         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1787         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1788         Do proper return values.
1789
1790         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1791         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1792         (gst_pad_get_range):
1793         Better return values.
1794
1795         * gst/gstpad.h:
1796         Reorganise return values, add macro to check for fatal errors.
1797
1798         * gst/gstqueue.c: (gst_queue_chain):
1799         Return proper GstFlowReturn values,
1800
1801 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1802
1803         * docs/gst/gstreamer-sections.txt:
1804         * docs/gst/gstreamer.types:
1805         * docs/gst/tmpl/gst.sgml:
1806         * docs/gst/tmpl/gstbasesink.sgml:
1807         * docs/gst/tmpl/gstbasesrc.sgml:
1808         * docs/gst/tmpl/gstbasetransform.sgml:
1809         * docs/gst/tmpl/gstbin.sgml:
1810         * docs/gst/tmpl/gstbuffer.sgml:
1811         * docs/gst/tmpl/gstcaps.sgml:
1812         * docs/gst/tmpl/gstclock.sgml:
1813         * docs/gst/tmpl/gstcompat.sgml:
1814         * docs/gst/tmpl/gstconfig.sgml:
1815         * docs/gst/tmpl/gstelement.sgml:
1816         * docs/gst/tmpl/gstelementdetails.sgml:
1817         * docs/gst/tmpl/gstelementfactory.sgml:
1818         * docs/gst/tmpl/gstenumtypes.sgml:
1819         * docs/gst/tmpl/gsterror.sgml:
1820         * docs/gst/tmpl/gstevent.sgml:
1821         * docs/gst/tmpl/gstfakesink.sgml:
1822         * docs/gst/tmpl/gstfakesrc.sgml:
1823         * docs/gst/tmpl/gstfilesink.sgml:
1824         * docs/gst/tmpl/gstfilesrc.sgml:
1825         * docs/gst/tmpl/gstfilter.sgml:
1826         * docs/gst/tmpl/gstformat.sgml:
1827         * docs/gst/tmpl/gstghostpad.sgml:
1828         * docs/gst/tmpl/gstimplementsinterface.sgml:
1829         * docs/gst/tmpl/gstindex.sgml:
1830         * docs/gst/tmpl/gstindexfactory.sgml:
1831         * docs/gst/tmpl/gstinfo.sgml:
1832         * docs/gst/tmpl/gstiterator.sgml:
1833         * docs/gst/tmpl/gstmacros.sgml:
1834         * docs/gst/tmpl/gstmemchunk.sgml:
1835         * docs/gst/tmpl/gstminiobject.sgml:
1836         * docs/gst/tmpl/gstobject.sgml:
1837         * docs/gst/tmpl/gstpad.sgml:
1838         * docs/gst/tmpl/gstpadtemplate.sgml:
1839         * docs/gst/tmpl/gstparse.sgml:
1840         * docs/gst/tmpl/gstpipeline.sgml:
1841         * docs/gst/tmpl/gstplugin.sgml:
1842         * docs/gst/tmpl/gstpluginfeature.sgml:
1843         * docs/gst/tmpl/gstquery.sgml:
1844         * docs/gst/tmpl/gstqueue.sgml:
1845         * docs/gst/tmpl/gstregistry.sgml:
1846         * docs/gst/tmpl/gstregistrypool.sgml:
1847         * docs/gst/tmpl/gstscheduler.sgml:
1848         * docs/gst/tmpl/gstschedulerfactory.sgml:
1849         * docs/gst/tmpl/gststructure.sgml:
1850         * docs/gst/tmpl/gstsystemclock.sgml:
1851         * docs/gst/tmpl/gsttaglist.sgml:
1852         * docs/gst/tmpl/gsttagsetter.sgml:
1853         * docs/gst/tmpl/gsttrace.sgml:
1854         * docs/gst/tmpl/gsttrashstack.sgml:
1855         * docs/gst/tmpl/gsttypefind.sgml:
1856         * docs/gst/tmpl/gsttypefindfactory.sgml:
1857         * docs/gst/tmpl/gsttypes.sgml:
1858         * docs/gst/tmpl/gsturihandler.sgml:
1859         * docs/gst/tmpl/gsturitype.sgml:
1860         * docs/gst/tmpl/gstutils.sgml:
1861         * docs/gst/tmpl/gstvalue.sgml:
1862         * docs/gst/tmpl/gstversion.sgml:
1863         * docs/gst/tmpl/gstxml.sgml:
1864         * docs/libs/tmpl/gstcontrol.sgml:
1865         * docs/libs/tmpl/gstdataprotocol.sgml:
1866         * docs/libs/tmpl/gstdparam.sgml:
1867         * docs/libs/tmpl/gstdplinint.sgml:
1868         * docs/libs/tmpl/gstdpman.sgml:
1869         * docs/libs/tmpl/gstdpsmooth.sgml:
1870         * docs/libs/tmpl/gstgetbits.sgml:
1871         * docs/libs/tmpl/gstunitconvert.sgml:
1872         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1873         (gst_push_src_base_init), (gst_push_src_class_init),
1874         (gst_push_src_init), (gst_push_src_create):
1875         * gst/base/gstpushsrc.h:
1876         * gst/elements/gstelements.c:
1877         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1878         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1879         (gst_fake_sink_init), (gst_fake_sink_set_property),
1880         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1881         (gst_fake_sink_event), (gst_fake_sink_preroll),
1882         (gst_fake_sink_render), (gst_fake_sink_change_state):
1883         * gst/elements/gstfakesink.h:
1884         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1885         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1886         (gst_fake_src_base_init), (gst_fake_src_class_init),
1887         (gst_fake_src_init), (gst_fake_src_event_handler),
1888         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1889         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1890         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1891         (gst_fake_src_create_buffer), (gst_fake_src_create),
1892         (gst_fake_src_start), (gst_fake_src_stop):
1893         * gst/elements/gstfakesrc.h:
1894         * gst/elements/gstfilesink.c: (_do_init),
1895         (gst_file_sink_base_init), (gst_file_sink_class_init),
1896         (gst_file_sink_init), (gst_file_sink_dispose),
1897         (gst_file_sink_set_location), (gst_file_sink_set_property),
1898         (gst_file_sink_get_property), (gst_file_sink_open_file),
1899         (gst_file_sink_close_file), (gst_file_sink_query),
1900         (gst_file_sink_event), (gst_file_sink_render),
1901         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1902         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1903         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1904         * gst/elements/gstfilesink.h:
1905         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1906         (gst_file_src_class_init), (gst_file_src_init),
1907         (gst_file_src_finalize), (gst_file_src_set_location),
1908         (gst_file_src_set_property), (gst_file_src_get_property),
1909         (gst_file_src_map_region), (gst_file_src_map_small_region),
1910         (gst_file_src_create_mmap), (gst_file_src_create_read),
1911         (gst_file_src_create), (gst_file_src_is_seekable),
1912         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1913         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1914         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1915         (gst_file_src_uri_handler_init):
1916         * gst/elements/gstfilesrc.h:
1917           more autistic cleanliness in functions/names/defines
1918
1919 2005-07-13  Andy Wingo  <wingo@pobox.com>
1920
1921         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1922         source couldn't negotiate.
1923
1924         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1925         connections again.
1926
1927         * gst/gstutils.h:
1928         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1929         function. I am channeling Hades. Put your boots on suckers!!!
1930
1931 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * testsuite/caps/Makefile.am:
1934         * testsuite/caps/value_compare.c:
1935         * testsuite/caps/value_intersect.c:
1936         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1937           move two testsuite apps over to the check dir
1938
1939 2005-07-12  Wim Taymans  <wim@fluendo.com>
1940
1941         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1942         Added more debug info in the negotiate process.
1943
1944         * gst/gstmessage.h:
1945         Prepare for segment playback.
1946
1947         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1948         Better debugging.
1949
1950         * gst/gstutils.c:
1951         Some more docs.
1952
1953         * tools/gst-launch.c: (main):
1954         NULL pipeline on errors.
1955
1956 2005-07-12  Andy Wingo  <wingo@pobox.com>
1957
1958         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1959         not it comes from a malloc region. Make sure our copy gets freed.
1960
1961 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1962
1963         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1964         * check/gst/gstmessage.c: (GST_START_TEST):
1965         * check/gst/gststructure.c: (GST_START_TEST),
1966         (gst_structure_suite), (main):
1967           more testing
1968         * gst/gstelement.c: (gst_element_message_full):
1969           clean up GError and debug string now that they get copied
1970         * gst/gstmessage.c: (gst_message_new_error),
1971         (gst_message_new_warning), (gst_message_parse_error),
1972         (gst_message_parse_warning):
1973           use GST_TYPE_G_ERROR for structure_new, and take copies of
1974           arguments, so that we don't mess up refcounting
1975
1976 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1977
1978         * check/Makefile.am:
1979           add per-test valgrind targets
1980         * check/gst-libs/gdp.c: (GST_START_TEST),
1981         (gst_data_protocol_suite), (main):
1982           clean up
1983
1984 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1985
1986         * check/Makefile.am:
1987           instate more valgrindable tests
1988         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1989         (GST_START_TEST), (fakesrc_suite):
1990         * check/gst/gstpad.c: (GST_START_TEST):
1991         * check/gst/gststructure.c: (GST_START_TEST):
1992           fix test leaks
1993         * docs/gst/tmpl/gstminiobject.sgml:
1994         * gst/gstpad.c: (gst_pad_finalize):
1995           fix the static mutex leak
1996
1997 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1998
1999         * check/Makefile.am:
2000           add two more tests for valgrinding
2001         * check/gst/gstvalue.c: (GST_START_TEST):
2002           test refcount of deserialized buffer, found a leak
2003         * docs/gst/gstreamer-docs.sgml:
2004         * docs/gst/gstreamer-sections.txt:
2005         * docs/gst/gstreamer.types:
2006         * docs/gst/tmpl/gstminiobject.sgml:
2007           add miniobject to docs
2008         * gst/gstminiobject.c:
2009           add some docs
2010         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2011         (gst_string_unwrap):
2012           fix a hard-to-find invalid write for one of the tests
2013           fix a leak for deserialized buffers
2014
2015 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2016
2017         * docs/pwg/advanced-events.xml:
2018         * docs/pwg/advanced-request.xml:
2019         * docs/pwg/advanced-scheduling.xml:
2020         * docs/pwg/appendix-porting.xml:
2021         * docs/pwg/building-boiler.xml:
2022         * docs/pwg/intro-preface.xml:
2023         * docs/pwg/other-ntoone.xml:
2024           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2025           of example code and explanation for pad activation, loop() and
2026           getrange() functions and a bit more. Remove old comments pointing
2027           to loop-functions.
2028         * examples/pwg/Makefile.am:
2029           Add loop/getrange examples.
2030
2031 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2032
2033         * configure.ac:
2034           check for valgrind binary + some fixes
2035         * check/gst.supp:
2036           valgrind suppressions for the tests
2037         * check/Makefile.am:
2038           add a valgrind: target that valgrinds the unit tests
2039         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2040         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2041         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2042         * check/gst/gstghostpad.c:
2043           added some cleanup
2044         * check/gst/gstdata.c:
2045           removed
2046         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2047         (thread_unref), (gst_mini_object_suite), (main):
2048           added
2049         * gst/gst.c: (gst_deinit):
2050         * gst/gst.h:
2051           add a method to clean up.
2052         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2053         (gst_system_clock_obtain):
2054           allow for disposing the system clock.
2055         * tools/gst-launch.c: (main):
2056           deinit
2057
2058 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2059
2060         * docs/gst/tmpl/gstbasesrc.sgml:
2061         * docs/gst/tmpl/gstfakesrc.sgml:
2062         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2063         (gst_base_src_init), (gst_base_src_set_property),
2064         (gst_base_src_get_property), (gst_base_src_get_range),
2065         (gst_base_src_start):
2066         * gst/base/gstbasesrc.h:
2067           add num-buffers property
2068         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2069         (gst_fakesrc_init), (gst_fakesrc_set_property),
2070         (gst_fakesrc_get_property), (gst_fakesrc_create),
2071         (gst_fakesrc_start):
2072           remove num-buffers property
2073
2074 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2075
2076         * docs/gst/gstreamer-sections.txt:
2077         * docs/gst/tmpl/gstbasesink.sgml:
2078         * docs/gst/tmpl/gstbasesrc.sgml:
2079         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2080         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2081         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2082         (gst_base_sink_set_property), (gst_base_sink_get_property),
2083         (gst_base_sink_handle_object), (gst_base_sink_event),
2084         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2085         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2086         (gst_base_sink_loop), (gst_base_sink_deactivate),
2087         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2088         (gst_base_sink_change_state):
2089         * gst/base/gstbasesink.h:
2090         * gst/base/gstbasesrc.h:
2091         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2092         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2093         (gst_filesink_init):
2094           more macro splitting
2095
2096 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2097
2098         * gst/gstelement.c: (gst_element_get_bus):
2099           add debug
2100         * tools/gst-launch.c: (check_intr), (event_loop):
2101           fix bus leaks
2102
2103 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2104
2105         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2106           fix a caps leak
2107
2108 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2109
2110         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2111         (gst_base_src_finalize):
2112           add finalize method and clean up properly
2113         * gst/gstpipeline.c: (gst_pipeline_dispose):
2114           add debug
2115
2116 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2117
2118         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2119         (gst_bin_suite):
2120           add more things to check
2121         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2122         * gst/gstelement.c:
2123           more debug
2124
2125 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2126
2127         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2128         (GST_START_TEST), (fakesrc_suite):
2129         * check/gst-libs/gdp.c: (GST_START_TEST):
2130         * check/gst/gst.c: (GST_START_TEST):
2131         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2132         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2133         * check/gst/gstbus.c: (GST_START_TEST):
2134         * check/gst/gstcaps.c: (GST_START_TEST):
2135         * check/gst/gstdata.c: (GST_START_TEST):
2136         * check/gst/gstelement.c: (GST_START_TEST):
2137         * check/gst/gstghostpad.c: (GST_START_TEST):
2138         * check/gst/gstiterator.c: (GST_START_TEST):
2139         * check/gst/gstmessage.c: (GST_START_TEST):
2140         * check/gst/gstobject.c: (GST_START_TEST):
2141         * check/gst/gstpad.c: (GST_START_TEST):
2142         * check/gst/gststructure.c: (GST_START_TEST):
2143         * check/gst/gstsystemclock.c: (GST_START_TEST),
2144         (gst_systemclock_suite):
2145         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2146         * check/gst/gstvalue.c: (GST_START_TEST):
2147         * check/pipelines/cleanup.c: (GST_START_TEST):
2148         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2149         * check/states/sinks.c: (GST_START_TEST):
2150         * check/gstcheck.c: (gst_check_init):
2151         * check/gstcheck.h:
2152           add debugging category
2153           use GST_START_TEST now, so we add a debug line
2154
2155 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2156
2157         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2158           add test for state change message on a bin
2159         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2160           add another test
2161         * gst/gstbin.c: (gst_bin_init):
2162         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2163         * gst/gstelement.c: (gst_element_post_message),
2164         (gst_element_set_state):
2165         * gst/gstelementfactory.c: (gst_element_factory_create):
2166         * gst/gstmessage.c: (gst_message_new):
2167         * gst/gstscheduler.c:
2168           various debugging additions and cleanups
2169
2170 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * check/Makefile.am:
2173         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2174         (main):
2175           adding tests for elements
2176         * gst/gstelement.c: (gst_element_dispose):
2177
2178 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2179
2180         * gst/registries/gstlibxmlregistry.c: (load_feature):
2181           plug more leaks.  A simple gst_init() now is leakfree, yay.
2182
2183 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2184
2185         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2186         (gst_xml_registry_load):
2187           plug another memleak
2188
2189 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2190
2191         * configure.ac:
2192           use GST_SET_ERROR_CFLAGS
2193         * docs/faq/cvs.xml:
2194           change to ERROR_CFLAGS
2195
2196 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2197
2198         * configure.ac:
2199           make GST_ERROR_CFLAGS overridable and re-enable Werror
2200         * docs/faq/cvs.xml:
2201           add a note about error CFLAGS
2202         * docs/gst/tmpl/gstfakesrc.sgml:
2203         * gst/elements/gstfakesrc.c:
2204           comment out some unused code
2205         * gst/gst.c: (split_and_iterate):
2206         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2207         (load_feature):
2208           plug some memleaks
2209
2210 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * common/Makefile.am:
2213         * common/gtk-doc.mak:
2214         * docs/gst/Makefile.am:
2215           factor out gtk-doc.mak
2216
2217 2005-07-07  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2220         (gst_thread_scheduler_dispose):
2221         Unlock the STREAM_LOCK completely.
2222
2223 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2224
2225         * check/Makefile.am:
2226         * check/elements/.cvsignore:
2227         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2228         (START_TEST), (fakesrc_suite), (main):
2229         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2230         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2231         (gst_fakesrc_create), (gst_fakesrc_start):
2232         * gst/elements/gstfakesrc.h:
2233           adding a first element test
2234
2235 2005-07-07  Andy Wingo  <wingo@pobox.com>
2236
2237         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2238         debug message.
2239
2240 2005-07-07  Wim Taymans  <wim@fluendo.com>
2241
2242         * gst/gstquery.c:
2243         * gst/gstquery.h:
2244         Remove old types
2245
2246 2005-07-07  Wim Taymans  <wim@fluendo.com>
2247
2248         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2249         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2250         Allow subclasses to implement their own negotiation.
2251
2252 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2253
2254         * docs/design/part-gstbin.txt:
2255         * docs/design/part-gstpipeline.txt:
2256           Update design notes to reflect the movement of
2257           responsibility for bus handling from GstPipeline to
2258           GstBin
2259
2260 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2261
2262         * configure.ac:
2263           Remove unnecessary queue2/3/4 examples.
2264
2265 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2266
2267         * examples/Makefile.am:
2268         * examples/helloworld/helloworld.c: (event_loop), (main):
2269         * examples/queue/queue.c: (event_loop), (main):
2270         * examples/queue2/queue2.c: (main):
2271           Update a couple of the examples to work again.
2272
2273         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2274         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2275          Spelling corrections and extra debug.
2276         
2277         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2278         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2279         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2280         * gst/gstbin.h:
2281         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2282         (gst_pipeline_change_state):
2283         * gst/gstpipeline.h:
2284           Move the bus handler for children to the GstBin, and create a
2285           separate bus for receiving messages from children to the one the
2286           bus sends 'upwards' on.
2287
2288 2005-07-06  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/base/README:
2291         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2292         (gst_base_sink_handle_object), (gst_base_sink_loop),
2293         (gst_base_sink_change_state):
2294         * gst/base/gstbasesink.h:
2295         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2296         (gst_base_src_init), (gst_base_src_setcaps),
2297         (gst_base_src_getcaps), (gst_base_src_loop),
2298         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2299         (gst_base_src_start), (gst_base_src_change_state):
2300         * gst/base/gstbasesrc.h:
2301         Make basesrc negotiate.
2302         Handle the case where preroll fails in basesink.
2303         Update README.
2304
2305 2005-07-06  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2308         Implement the fixate function.
2309         Clean up acceptcaps.
2310
2311 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2312
2313         * docs/pwg/building-filterfactory.xml:
2314         * docs/pwg/pwg.xml:
2315           Remove never-written filter-factory chapter; I'll add the various
2316           base classes to part 4 ("other element types") later on.
2317
2318 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2319
2320         * docs/pwg/advanced-negotiation.xml:
2321         * docs/pwg/building-boiler.xml:
2322         * docs/pwg/building-pads.xml:
2323         * docs/pwg/pwg.xml:
2324         * examples/pwg/Makefile.am:
2325           Add a chapter on caps negotiation, simplify the original code
2326           samples a bit w.r.t. caps negotiation, add link to the advanced
2327           section. Add a bunch of examples showing different use cases of
2328           different types of caps negotiation. Upstream renegotiation isn't
2329           fully documented yet since nobody knows how that works.
2330
2331 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2332
2333         * check/gst/gstpad.c:
2334         * check/gstcheck.c:
2335         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2336           if pad has no parent, return NULL as list of internal links
2337
2338 2005-07-05  Andy Wingo  <wingo@pobox.com>
2339
2340         * gst/elements/gstfilesrc.c:
2341         * gst/elements/gstfakesrc.c: 
2342         * gst/base/gstpushsrc.c:
2343         * gst/base/gstbasesrc.h: 
2344         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2345         
2346 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2347
2348         * Makefile.am:
2349           better report generation target (lcov needs a patch)
2350
2351 2005-07-05  Andy Wingo  <wingo@pobox.com>
2352
2353         * gst/elements, testsuite: Null if we got it...
2354
2355 2005-07-05  Wim Taymans  <wim@fluendo.com>
2356
2357         * configure.ac:
2358         * libs/gst/dataprotocol/Makefile.am:
2359         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2360         * libs/gst/dataprotocol/dataprotocol.h:
2361         * pkgconfig/Makefile.am:
2362         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2363         * pkgconfig/gstreamer-dataprotocol.pc.in:
2364         Ported dataprotol to 0.9. 
2365         Added pkgconfig files.
2366
2367 2005-07-05  Andy Wingo  <wingo@pobox.com>
2368
2369         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2370         Default to returning TRUE for the case when tranform_caps returns
2371         a fixed caps, like for identity or volume.
2372
2373         * check/gst/gstbus.c (pound_bus_with_messages): 
2374         * check/gst/gstmessage.c (START_TEST): 
2375         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2376         message API change.
2377
2378         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2379         logic weaks here: always run transform_caps, trying passthrough
2380         operation only if the original caps intersects with the transform.
2381
2382         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2383         source and sink caps.
2384
2385         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2386         Intersect the peer caps with the pad template before going into
2387         transform_caps.
2388         (gst_base_transform_transform_caps): More debugging.
2389
2390         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2391         src argument.
2392
2393 2005-07-04  Edward Hervey  <edward@fluendo.com>
2394
2395         * gst/gstutils.c:
2396         * gst/gstutils.h:
2397         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2398         in bindings.
2399
2400 2005-07-04  Andy Wingo  <wingo@pobox.com>
2401
2402         * check/gst/gstpad.c: Only set explicit caps on pads.
2403
2404 2005-07-01  Andy Wingo  <wingo@pobox.com>
2405
2406         * tests/network-clock.scm: Commentary update.
2407
2408         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2409         Didn't really make sense, not implementable with basetransform,
2410         etc.
2411         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2412         attempt at implementing the sync property, needs an unlock method.
2413
2414         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2415         New func, by default returns the same caps (the identity
2416         transformation).
2417         (gst_base_transform_getcaps): Uses transform_caps to return
2418         something sensible.
2419         (gst_base_transform_setcaps): Complicated logic to get caps on
2420         both pads, even if they are different, and to call set_caps once
2421         for every time both pads get their caps set.
2422         (gst_base_transform_handle_buffer): Give the ref to the transform
2423         function. Allows in-place modification of the buffer.
2424
2425         * gst/base/gstbasetransform.h (transform_caps): New class method.
2426         Given caps on one side, what can I do on the other.
2427         (set_caps): Take two caps, one for each side of the element.
2428
2429         * gst/gstpad.h:
2430         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2431         caps in place. This is safe because we can check the mutability of
2432         the caps, and a good idea because fixate functions are just called
2433         as a matter of last resort. (Not actually implemented.)
2434         (gst_pad_set_caps): If the caps we're setting is actually the same
2435         as the existing pad caps, just update the pointer without calling
2436         setcaps. Assert that caps is either NULL or fixed, as per the
2437         docs.
2438
2439         * gst/gstghostpad.c: Update for fixate changes.
2440
2441 2005-07-02  Andy Wingo  <wingo@pobox.com>
2442
2443         * gst/gstcaps.c:
2444         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2445         two refcounts makes it immutable, which is enough. Doc more.
2446
2447 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2448
2449         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2450           Put the mini_object into GValue as a mini_object,
2451           not a gpointer, since that's how we declared
2452           the signal.
2453
2454 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2455
2456         * examples/pwg/Makefile.am:
2457           Fix buildbot again.
2458
2459 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2460
2461         * docs/pwg/building-testapp.xml:
2462           Add extra check.
2463         * examples/pwg/Makefile.am:
2464           Fix buildbot.
2465
2466 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2467
2468         * configure.ac:
2469         * examples/Makefile.am:
2470         * examples/pwg/Makefile.am:
2471         * examples/pwg/extract.pl:
2472           Enable building the PWG examples.
2473         * docs/pwg/advanced-interfaces.xml:
2474           Add URI interface stub.
2475         * docs/pwg/advanced-types.xml:
2476         * docs/pwg/other-autoplugger.xml:
2477         * docs/pwg/appendix-porting.xml:
2478         * docs/pwg/pwg.xml:
2479           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2480         * docs/pwg/building-boiler.xml:
2481         * docs/pwg/building-chainfn.xml:
2482         * docs/pwg/building-pads.xml:
2483         * docs/pwg/building-props.xml:
2484         * docs/pwg/building-state.xml:
2485         * docs/pwg/building-testapp.xml:
2486           Update the building-*.xml parts for 0.9 changes. All examples
2487           code blocks compile in examples/pwg/*.
2488
2489 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2490
2491         * docs/manual/advanced-autoplugging.xml:
2492         * docs/manual/appendix-checklist.xml:
2493         * docs/manual/appendix-integration.xml:
2494         * docs/manual/highlevel-components.xml:
2495           Fix playbin/decodebin examples, update docs a bit, mention bus
2496           instead of signals in various places, mention kmplayer and
2497           kaffeine since they have a working GStreamer backend in the KDE
2498           section.
2499
2500 2005-06-30  Wim Taymans  <wim@fluendo.com>
2501
2502         * CHANGES-0.9:
2503         * docs/design/draft-ghostpads.txt:
2504         * docs/design/draft-push-pull.txt:
2505         * docs/design/draft-query.txt:
2506         * docs/design/part-TODO.txt:
2507         * docs/design/part-query.txt:
2508         Added CHANGES-0.9 doc, updated status of other docs.
2509         
2510         * gst/gstquery.h:
2511         Remove "hmm" macro
2512
2513 2005-06-30  Wim Taymans  <wim@fluendo.com>
2514
2515         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2516         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2517         (gst_base_sink_change_state):
2518         * gst/base/gstbasesink.h:
2519         Some tweaks, only EOS and a buffer complete a preroll.
2520
2521 2005-06-30  Andy Wingo  <wingo@pobox.com>
2522
2523         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2524         activate_push down to the internal pad as well.
2525
2526 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2527
2528         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2529
2530         * gst/gsttaginterface.c:
2531           Some documentation fixes (#307394 and #307397).
2532
2533 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2534
2535         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2536
2537         * gst/gstvalue.c: (gst_value_intersect_list):
2538           Fix memleak (#309125).
2539
2540 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2541
2542         * docs/manual/advanced-dataaccess.xml:
2543           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2544         * docs/manual/basics-pads.xml:
2545           Add reference for filtered caps to above chapter.
2546
2547 2005-06-30  Wim Taymans  <wim@fluendo.com>
2548
2549         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2550         (gst_bin_change_state):
2551         Probes are gone.
2552         Lame attempt at making the state change function a bit
2553         more readable.
2554
2555 2005-06-30  Wim Taymans  <wim@fluendo.com>
2556
2557         * docs/design/part-clocks.txt:
2558         * docs/design/part-element-sink.txt:
2559         * docs/design/part-events.txt:
2560         * docs/design/part-preroll.txt:
2561         * docs/design/part-states.txt:
2562         Some more tweeks and additions to the docs.
2563
2564 2005-06-30  Wim Taymans  <wim@fluendo.com>
2565
2566         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2567         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2568         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2569         (gst_pad_check_pull_range), (gst_pad_get_range),
2570         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2571         * gst/gstpad.h:
2572         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2573         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2574         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2575         (gst_pad_remove_buffer_probe):
2576         Removed atomic operations, use existing LOCK.
2577         Move exception handling out of main code path.
2578
2579 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2580
2581         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2582         (silly_return_true_function), (gst_pad_class_init),
2583         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2584         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2585         (gst_pad_send_event):
2586           Fix accumulator, add default value by using _emitv() instead
2587           of _emit() for signal emission.
2588
2589 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2590
2591         * docs/manual/advanced-dataaccess.xml:
2592         * examples/manual/Makefile.am:
2593           Add probe example.
2594         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2595           Make work (??).
2596
2597 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2598
2599         * gst/elements/gstfilesink.c: (gst_filesink_render):
2600           Simplify code so that we don't have to handle short
2601           writes and return GST_FLOW_ERROR if an error occured.
2602
2603 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2604
2605         * docs/gst/gstreamer-docs.sgml:
2606           Remove probes more.
2607
2608 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2609
2610         * docs/gst/gstreamer-sections.txt:
2611         * docs/gst/tmpl/gstpad.sgml:
2612         * docs/gst/tmpl/gstprobe.sgml:
2613         * gst/Makefile.am:
2614         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2615         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2616         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2617         (gst_pad_push_event), (gst_pad_send_event):
2618         * gst/gstpad.h:
2619         * gst/gstutils.c: (gst_pad_add_data_probe),
2620         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2621         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2622         (gst_pad_remove_buffer_probe):
2623         * gst/gstutils.h:
2624           Remove old probes, add new g-signal-based probes and some utility
2625           functions.
2626
2627 2005-06-29  Edward Hervey  <edward@fluendo.com>
2628
2629         * gst/gstelementfactory.c:
2630         * gst/gstutils.h:
2631         * gst/gstutils.c:
2632         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2633         the definition to the header file.
2634
2635 2005-06-29  Andy Wingo  <wingo@pobox.com>
2636
2637         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2638         plugins from the source directory.
2639
2640 2005-06-29  Wim Taymans  <wim@fluendo.com>
2641
2642         * docs/gst/tmpl/gstbuffer.sgml:
2643         * docs/gst/tmpl/gstclock.sgml:
2644         Some fixings for blantently wrong text.
2645
2646 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2647
2648         * check/Makefile.am:
2649         * gst/gst.c: (add_path_func), (init_pre):
2650         * gst/gstregistry.c: (gst_registry_add_path):
2651           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2652           only scan the GST_PLUGIN_PATH locations, and not add
2653           system locations
2654
2655 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2656
2657         * docs/gst/gstreamer-sections.txt:
2658         * docs/gst/tmpl/gstbasesrc.sgml:
2659         * gst/gstelement.c:
2660         * gst/gstelement.h:
2661         * gst/gstevent.c:
2662         * gst/gstutils.c:
2663           doc fixes
2664
2665 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2666
2667         * docs/manual/advanced-autoplugging.xml:
2668           Fix autoplugging example.
2669
2670 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2671
2672         * docs/manual/advanced-autoplugging.xml:
2673         * docs/manual/mime-world.fig:
2674           Try to get autoplugging working, fix type detection. Fix text
2675           in hello-world image.
2676
2677 2005-06-29  Wim Taymans  <wim@fluendo.com>
2678
2679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2680         (gst_base_sink_change_state):
2681         Small debug line.
2682
2683         * gst/gstclock.h:
2684         map SIGNAL and BROADCAST to the right function.
2685
2686         * gst/gstobject.h:
2687         Remove redundant braces.
2688
2689         * gst/gstpad.c: (gst_pad_set_caps):
2690         Don't call setcaps function when reseting caps to NULL.
2691
2692         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2693         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2694         (gst_system_clock_id_unschedule):
2695         Use BROADCAST as this is what we do.
2696
2697 2005-06-29  Wim Taymans  <wim@fluendo.com>
2698
2699         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2700         We are actually prerolling before commiting the state
2701         change. 
2702
2703 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2704
2705         * docs/manual/advanced-clocks.xml:
2706         * docs/manual/advanced-interfaces.xml:
2707         * docs/manual/advanced-metadata.xml:
2708         * docs/manual/advanced-position.xml:
2709         * docs/manual/advanced-schedulers.xml:
2710         * docs/manual/advanced-threads.xml:
2711         * docs/manual/appendix-porting.xml:
2712         * docs/manual/basics-bins.xml:
2713         * docs/manual/basics-bus.xml:
2714         * docs/manual/basics-elements.xml:
2715         * docs/manual/basics-helloworld.xml:
2716         * docs/manual/basics-pads.xml:
2717         * docs/manual/highlevel-components.xml:
2718         * docs/manual/manual.xml:
2719         * docs/manual/thread.fig:
2720           Update (until threads/scheduling) Application Development Manual;
2721           remove GstThread, add GstBus, add simple porting checklist, add
2722           documentation for tag writing, clocks, make all examples until this
2723           part compile and run.
2724         * examples/manual/Makefile.am:
2725           Update from changes to Application Development Manual; add bus
2726           example, remove thread example.
2727
2728 2005-06-28  Wim Taymans  <wim@fluendo.com>
2729
2730         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2731         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2732         (gst_bus_source_dispatch):
2733         Add debugging messages.
2734         Make internal methods static.
2735         Handle the case where the bus is flushed in the handler.
2736         
2737         * gst/gstelement.c: (gst_element_get_bus):
2738         Fix refcount in _get_bus();
2739
2740         * gst/gstpipeline.c: (gst_pipeline_change_state),
2741         (gst_pipeline_get_clock_func):
2742         Clock refcounting fixes.
2743         Handle the case where preroll timed out more gracefully.
2744         
2745         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2746         Clean up the internal thread in dispose. This is needed
2747         for subclasses that actually get disposed.
2748         
2749         * gst/schedulers/threadscheduler.c:
2750         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2751         (gst_thread_scheduler_dispose):
2752         Free thread pool in dispose.
2753
2754 2005-06-28  Andy Wingo  <wingo@pobox.com>
2755
2756         * tests/network-clock-utils.scm (debug, print-event): New utils.
2757
2758         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2759         (*packet-loss*): Unified loss probability.
2760         (network-time): Report out-of-band events.
2761
2762         * tests/plot-data: Add support for out-of-band events. Hack it
2763         into this script instead of passing it down the pipe; should fix
2764         this later.
2765
2766 2005-06-28  Wim Taymans  <wim@fluendo.com>
2767
2768         * docs/gst/gstreamer.types:
2769         * docs/gst/tmpl/gstbasesrc.sgml:
2770         * docs/gst/tmpl/gstpad.sgml:
2771         Docs fixes.
2772
2773 2005-06-28  Wim Taymans  <wim@fluendo.com>
2774
2775         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2776         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2777         (gst_proxy_pad_do_fixatecaps):
2778         Correctly proxy the check_pull_range function.
2779
2780 2005-06-28  Andy Wingo  <wingo@pobox.com>
2781
2782         * tests/network-clock.scm: Removed need for slib.
2783         
2784 2005-06-28  Wim Taymans  <wim@fluendo.com>
2785
2786         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2787         (gst_basesink_preroll_queue_flush):
2788         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2789         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2790         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2791         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2792         (gst_proxy_pad_set_property):
2793         * gst/gstpad.c:
2794         * gst/gstpad.h:
2795         * gst/gstqueue.c: (gst_queue_init):
2796         The deprecated pad loop function is removed now.
2797
2798 2005-06-28  Andy Wingo  <wingo@pobox.com>
2799
2800         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2801         New parameters, simulate network packet loss.
2802
2803         * tests/network-clock-utils.scm: Initialize the RNG.
2804
2805 2005-06-28  Wim Taymans  <wim@fluendo.com>
2806
2807         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2808         (gst_basesink_event), (gst_basesink_deactivate):
2809         Flushing the preroll queue always needs to unlock the waiters.
2810
2811 2005-06-28  Edward Hervey  <edward@fluendo.com>
2812
2813         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2814         Wheen a seek was successful on a pipeline, set the stream_time to the
2815         seek offset in order to have a synchronized stream_time.
2816
2817 2005-06-28  Wim Taymans  <wim@fluendo.com>
2818
2819         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2820         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2821         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2822         (gst_proxy_pad_do_fixatecaps):
2823         Call wrapper function instead of just calling the function
2824         pointers. This takes care of any locking and whatmore.
2825
2826 2005-06-28  Wim Taymans  <wim@fluendo.com>
2827
2828         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2829         (gst_pad_pull_range):
2830         * gst/gstpad.h:
2831         CONNECTED -> LINKED.
2832
2833 2005-06-28  Andy Wingo  <wingo@pobox.com>
2834
2835         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2836         source-munging commit!!!
2837
2838         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2839         (gst_object_sink): Take gpointer arguments, not GstObject --
2840         avoids casts. Like GLib.
2841
2842         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2843         activate.
2844
2845 2005-06-27  Andy Wingo  <wingo@pobox.com>
2846
2847         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2848         remaining buffer.
2849
2850         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2851         returns a sorted copy of the trace list.
2852         (gst_alloc_trace_print_live): New API, only prints traces with
2853         live objects. Sort the list.
2854         (gst_alloc_trace_print_all): Sort the list.
2855         (gst_alloc_trace_print): Align columns.
2856
2857         * gst/elements/gstttypefindelement.c:
2858         * gst/elements/gsttee.c:
2859         * gst/base/gstbasesrc.c:
2860         * gst/base/gstbasesink.c:
2861         * gst/base/gstbasetransform.c:
2862         * gst/gstqueue.c: Adapt for pad activation changes.
2863
2864         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2865         sched.
2866         (gst_pipeline_dispose): Drop ref on sched.
2867
2868         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2869         (gst_pad_activate_default): Push mode by default.
2870         (pre_activate_switch, post_activate_switch): New stubs, things to
2871         do before and after switching activation modes on pads.
2872         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2873         the pad's activate function to choose which mode to activate.
2874         Shortcut on deactivation and call the right function directly.
2875         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2876         mode.
2877         (gst_pad_activate_push): New API, same for push mode.
2878         (gst_pad_set_activate_function) 
2879         (gst_pad_set_activatepull_function) 
2880         (gst_pad_set_activatepush_function): Setters for new API.
2881
2882         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2883         Trace all miniobjects.
2884         (gst_mini_object_make_writable): Unref the arg if we copy, like
2885         gst_caps_make_writable.
2886
2887         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2888
2889         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2890         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2891         Adapt for new pad API.
2892
2893         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2894
2895         * gst/gstelement.h:
2896         * gst/gstelement.c (gst_element_iterate_src_pads) 
2897         (gst_element_iterate_sink_pads): New API functions.
2898         
2899         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2900         should fold into gstiterator.c in some form.
2901         (gst_element_pads_activate): Simplified via use of fold and
2902         delegation of decisions to gstpad->activate.
2903
2904         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2905         help in debugging.
2906
2907         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2908         class once in init, like gstmessage. Didn't run into this issue
2909         but it seems correct. Don't initialize a trace, gstminiobject does
2910         that.
2911
2912         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2913         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2914         to the bus.
2915         (assert_live_count): New util function, uses alloc traces to check
2916         cleanup.
2917
2918         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2919         To be modified when unlink drops the internal pad.
2920
2921 2005-06-27  Wim Taymans  <wim@fluendo.com>
2922
2923         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2924         (gst_bin_change_state):
2925         Cleanup the get_state() function a little, make sure it
2926         iterates the same set of elements.
2927         Added stub iterate_state_order().
2928
2929 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2930
2931         * docs/gst/gstreamer-docs.sgml:
2932         * docs/gst/gstreamer-sections.txt:
2933         * docs/gst/gstreamer.types:
2934         * docs/gst/tmpl/gstbasesink.sgml:
2935         * docs/gst/tmpl/gstbasesrc.sgml:
2936         * docs/gst/tmpl/gstbasetransform.sgml:
2937         * docs/gst/tmpl/gstelement.sgml:
2938         * docs/gst/tmpl/gstiterator.sgml:
2939         * gst/base/gstbasesrc.c:
2940         * gst/base/gstbasesrc.h:
2941         * gst/base/gstbasetransform.h:
2942         * gst/gstelement.c:
2943         * gst/gstiterator.h:
2944           adding basetransform and iterator docs
2945
2946 2005-06-27  Andy Wingo  <wingo@pobox.com>
2947
2948         * docs/design/part-activation.txt: Notes on how activation should
2949         work -- not quite implemented yet.
2950
2951 2005-06-25  Wim Taymans  <wim@fluendo.com>
2952
2953         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2954         At least get the chain function correct, needs more
2955         fixing.
2956
2957 2005-06-25  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2960         (gst_basesink_handle_object), (gst_basesink_event),
2961         (gst_basesink_do_sync), (gst_basesink_handle_event),
2962         (gst_basesink_change_state):
2963         * gst/gsttask.h:
2964         Right, two problems here: ghostpads don't take locks and
2965         glib _rec_mutex_lock_full() with depth==0 still locks.
2966         Catch illegal locking and g_warn them.
2967
2968 2005-06-25  Wim Taymans  <wim@fluendo.com>
2969
2970         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2971         Have to check for completion now...
2972
2973 2005-06-25  Wim Taymans  <wim@fluendo.com>
2974
2975         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2976         (gst_basesink_handle_object), (gst_basesink_event),
2977         (gst_basesink_do_sync), (gst_basesink_handle_event),
2978         (gst_basesink_change_state):
2979         * gst/gstpad.h:
2980         Unlock STREAM_LOCK whatever the recursion was.
2981
2982 2005-06-25  Wim Taymans  <wim@fluendo.com>
2983
2984         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2985         (gst_basesink_preroll_queue_empty),
2986         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2987         (gst_basesink_event), (gst_basesink_do_sync),
2988         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2989         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2990         (gst_basesink_change_state):
2991         Reworked the base sink, handle event and buffer serialisation
2992         correctly and removed possible deadlock.
2993         Handle EOS correctly.
2994
2995 2005-06-25  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2998         (gst_pipeline_change_state):
2999         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3000         Allow elements to post EOS in the state change function.
3001         Fix up -launch, make it exit the poll loop when the
3002         pipeline actually changed state.
3003         Fix up warning parsing in -launch.
3004
3005 2005-06-25  Wim Taymans  <wim@fluendo.com>
3006
3007         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3008         (gst_tee_sink_activate):
3009         Core takes STREAM_LOCK for us now.
3010
3011 2005-06-25  Wim Taymans  <wim@fluendo.com>
3012
3013         * gst/gstelement.c: (gst_element_get_state_func),
3014         (gst_element_set_state):
3015         * gst/gstelement.h:
3016         * gst/gstmessage.c: (gst_message_parse_error),
3017         (gst_message_parse_warning):
3018         Keep track of current target state while performing a state
3019         change so that subclasses can do something interesting.
3020         Fix parsing of warning/error messages when GError is NULL.
3021
3022 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3023
3024         * docs/gst/Makefile.am:
3025         * docs/gst/gstreamer-docs.sgml:
3026         * docs/gst/gstreamer-sections.txt:
3027         * docs/gst/gstreamer.types:
3028         * docs/gst/tmpl/gstbasesink.sgml:
3029         * docs/gst/tmpl/gstbasesrc.sgml:
3030         * docs/gst/tmpl/gstbin.sgml:
3031         * docs/gst/tmpl/gstcompat.sgml:
3032         * docs/gst/tmpl/gstfakesink.sgml:
3033         * docs/gst/tmpl/gstfakesrc.sgml:
3034         * docs/gst/tmpl/gstfilesink.sgml:
3035         * docs/gst/tmpl/gstfilesrc.sgml:
3036         * docs/gst/tmpl/gstindex.sgml:
3037         * docs/manual/appendix-quotes.xml:
3038         * gst/base/gstbasesrc.h:
3039         * gst/elements/gstfakesrc.h:
3040         * gst/gstmessage.h:
3041           start pulling in base classes and elements in our docs
3042
3043 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3044
3045         * docs/gst/Makefile.am:
3046         * docs/libs/Makefile.am:
3047           fixed make distcheck with gtk-doc 1.3
3048
3049 2005-06-23  Wim Taymans  <wim@fluendo.com>
3050
3051         * gst/gstelement.c: (gst_element_get_state_func),
3052         (gst_element_set_state), (gst_element_change_state):
3053         When the state did not change, also report NO_PREROLL
3054         when it matters.
3055
3056 2005-06-23  Wim Taymans  <wim@fluendo.com>
3057
3058         * gst/gstpad.c: (gst_pad_event_default):
3059         * gst/gstqueue.c: (gst_queue_loop):
3060         No unsafe task pausing please.
3061
3062 2005-06-23  Wim Taymans  <wim@fluendo.com>
3063
3064         * gst/schedulers/threadscheduler.c:
3065         (gst_thread_scheduler_task_start),
3066         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3067         Ref the task before pushing it on the threadpool. This
3068         makes sure that we have a ref when the threadfunction is
3069         actually called.
3070
3071 2005-06-23  Andy Wingo  <wingo@pobox.com>
3072
3073         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3074         offset is greater than the file's size.
3075
3076         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3077         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3078         * gst/gstobject.c (gst_object_class_init): Make the class lock
3079         recursive. Wim won't let me drop deep_notify. Decodebin works
3080         again, whoopdy doo.
3081
3082         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3083         internal pad, and hacks accordingly. Doesn't do it on the target
3084         pad because we change its caps. Probably catches all cases of
3085         interest tho.
3086         (gst_ghost_pad_set_property): Connect to notify::caps as
3087         appropritate.
3088
3089         * tests/network-clock.scm (plot-simulation): Pipe data to the
3090         elite python skript.
3091
3092         * tests/network-clock-utils.scm (define-parameter): New macro,
3093         defines a parameter that can be set via the command line.
3094         (set-parameter!, parse-parameter-arguments): Command line args
3095         parser.
3096
3097         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3098         stdin.
3099
3100 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3101
3102         * gst/elements/gsttypefindelement.c:
3103         (gst_type_find_element_handle_event):
3104           Don't restart typefinding on a discont.
3105         * gst/gstelement.c: (gst_element_set_state):
3106           Debug spelling fix.
3107         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3108           Allow changing mode of an active pad.
3109           Debug output fixes.
3110         * gst/registries/gstlibxmlregistry.c: (load_feature):
3111           Don't cast a static pad template to a normal pad template.
3112
3113 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3116         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3117           remove gst_strtoll completely, since it didn't actually do
3118           anything more than what g_ascii_strtoull already does.
3119           check for range errors when deserializing
3120           do a cast for the unsigned cases; but further fixing needs
3121           a decision on what the interpretation of "(int)" and
3122           deserialization should be for values that fall outside the
3123           type's boundaries (ie, refuse, or interpret as casting)
3124
3125 2005-06-23  Wim Taymans  <wim@fluendo.com>
3126
3127         * check/Makefile.am:
3128         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3129         * docs/design/part-live-source.txt:
3130         * docs/design/part-states.txt:
3131         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3132         (gst_basesrc_set_live), (gst_basesrc_is_live),
3133         (gst_basesrc_get_range), (gst_basesrc_activate),
3134         (gst_basesrc_change_state):
3135         * gst/base/gstbasesrc.h:
3136         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3137         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3138         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3139         * gst/gstelement.c: (gst_element_get_state_func),
3140         (gst_element_set_state):
3141         * gst/gstelement.h:
3142         * gst/gsttypes.h:
3143         * tools/gst-launch.c: (event_loop), (main):
3144         Added support for live sources and other elements that
3145         cannot do preroll.
3146         Updated design docs, added live-source design doc.
3147         Implemented live source functionality in basesrc
3148         Fix error condition in _bin_get_state()
3149         Implement live source handling in -launch.
3150         Added check for live sources.
3151         Fixed case in GstBin where elements were changed state
3152         multiple times.
3153
3154
3155 2005-06-23  Andy Wingo  <wingo@pobox.com>
3156
3157         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3158         borken refcounting.
3159
3160         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3161         gst_caps_replace takes care of this for us.
3162
3163         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3164         gst_pad_set_caps on the target, not just its setcaps() function.
3165
3166         * tests/network-clock.scm: 
3167         * tests/network-clock-utils.scm: A network clock simulator.
3168         Something of an algorithmic testbed before doing something in C.
3169
3170 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3171
3172         * check/Makefile.am:
3173         * check/gst/capslist.h:
3174           copy over from 0.8, and add two with bitmasks specified with
3175           (int) 0xFF...
3176         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3177           add test to parse everything from capslist.h
3178         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3179         (main):
3180           add test for structure deserialization
3181         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3182           add tests for deserialization of strings to int types
3183         * gst/gststructure.c: (gst_structure_nth_field_name):
3184         * gst/gststructure.h:
3185           add a way to get the name of a field referenced by index
3186         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3187           instead of checking if the resulting long long lies between
3188           min and max, we check if the long long would fit into
3189           a number of bytes for the final type.
3190           This fixes cases where a string represents 2^32 - 1, which
3191           when cast to int would be the (valid) -1, but is bigger than
3192           G_MAXINT
3193
3194 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3195
3196         * gst/parse/grammar.y:
3197           add a log line for type deserialization
3198
3199 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3200
3201         * check/gst/gstvalue.c: (START_TEST):
3202         * gst/gstvalue.c: (gst_value_deserialize):
3203           return long long, not int, so gint64 deserialization actually
3204           works.  Is there any flag that makes the compiler check this ?
3205           Fixes #308559
3206
3207 2005-06-22  Wim Taymans  <wim@fluendo.com>
3208
3209         * gst/gstbuffer.h:
3210         Added convenience macros for setting buffers in GValue.
3211
3212 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3213
3214         * check/gst/.cvsignore:
3215         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3216           add a test deserializing int64, and comment part out because
3217           it fails, yay !
3218
3219 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3220
3221         * check/Makefile.am:
3222         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3223         * testsuite/Makefile.am:
3224         * testsuite/caps/Makefile.am:
3225         * testsuite/caps/value_serialize.c:
3226         * testsuite/test_gst_init.c:
3227           move a value_serialize test over
3228
3229 2005-06-20  Wim Taymans  <wim@fluendo.com>
3230
3231         * gst/gstpad.c:
3232         Small doc updates.
3233         
3234         * gst/gstvalue.c: (gst_value_compare_buffer),
3235         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3236         (gst_value_compare_flags), (gst_value_serialize_flags),
3237         (gst_value_deserialize_flags), (_gst_value_initialize):
3238         Fix serialisation of buffers, they are not boxed types anymore
3239
3240 2005-06-20  Wim Taymans  <wim@fluendo.com>
3241
3242         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3243         Testcase to show error in buffer-on-caps serialisation.
3244
3245 2005-06-20  Andy Wingo  <wingo@pobox.com>
3246
3247         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3248         will be adding to later.
3249
3250         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3251         if its socks fill with rocks.
3252         (gst_system_clock_obtain): Set the name on object construction.
3253         Avoid double-checked locking.
3254
3255 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3256
3257         * gst/gsturi.c: (gst_element_make_from_uri):
3258           Fix potential endless loop.
3259
3260 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3261
3262         * check/Makefile.am:
3263           add gsttag
3264         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3265         (main):
3266           move over from testsuite dir and clean up
3267         * configure.ac:
3268         * gst/gsttag.c:
3269         * testsuite/Makefile.am:
3270         * testsuite/tags/.cvsignore:
3271         * testsuite/tags/Makefile.am:
3272         * testsuite/tags/merge.c:
3273           remove testsuite/tags
3274
3275 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3276
3277         * docs/gst/gstreamer-sections.txt:
3278         * docs/gst/tmpl/gstenumtypes.sgml:
3279         * win32/gstenumtypes.c:
3280           clean up documentation build a little
3281
3282 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3283
3284         * check/gstcheck.h:
3285           add macros for checking refcounts on objects and caps
3286         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3287           add some more unit tests
3288         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3289         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3290           fix leaked refcounts (I hope :)) so unittest works
3291         * gst/gstpad.h:
3292           whitespace removal
3293
3294 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3295
3296         * configure.ac: back to HEAD
3297
3298 === release 0.9.1 ===
3299
3300 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3301
3302         * NEWS:
3303         * RELEASE:
3304           updated
3305
3306 2005-06-17  Andy Wingo  <wingo@pobox.com>
3307
3308         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3309         assert; it's always possible that the pad gets deactivated in
3310         between the checks in gstpad.c and the implementation. Rely on
3311         finish_preroll() to return a FLUSHING or similar instead of on the
3312         assert.
3313         
3314         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3315         clock and post an EOS message if we come out of finish_preroll in
3316         the playing state.
3317
3318 2005-06-16  David Schleef  <ds@schleef.org>
3319
3320         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3321         (gst_capsfilter_set_property): Allow NULL as possible value
3322         for filter_caps property, indicating GST_CAPS_ANY.
3323
3324 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3325
3326         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3327           fix debug output
3328         * gst/schedulers/Makefile.am:
3329           use libgst prefix
3330         * gstreamer.spec.in:
3331           fix spec for it
3332
3333 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3334
3335         * gstreamer.spec.in:
3336           clean up
3337
3338 2005-06-08  Andy Wingo  <wingo@pobox.com>
3339
3340         * gst/gstutils.c: RPAD fixes all around.
3341         (gst_element_link_pads): Refcounting fixes.
3342
3343         * tools/gst-inspect.c:
3344         * tools/gst-xmlinspect.c:
3345         * parse/grammar.y:
3346         * gst/base/gsttypefindhelper.c:
3347         * gst/base/gstbasesink.c:
3348         * gst/gstqueue.c: RPAD fixes.
3349
3350         * gst/gstghostpad.h:
3351         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3352         pads. The tricky thing is they provide both source and sink
3353         interfaces, since they proxy the internal pad for the external
3354         pad, and vice versa. Implement with lower-level ProxyPad objects,
3355         with the interior proxy pad as a child of the exterior ghost pad.
3356         Should write a doc on this.
3357         
3358         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3359         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3360         gst_object API.
3361         
3362         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3363         pads are real pads. No ghost pads in this file. Not documenting
3364         the myriad s/RPAD/PAD/ and REALIZE fixes.
3365         (gst_pad_class_init): Add properties for "direction" and
3366         "template". Both are construct-only, so they can't change during
3367         the life of the pad. Fixes properly deriving from GstPad.
3368         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3369         derived objects, just set properties when creating the objects via
3370         g_object_new.
3371         (gst_pad_get_parent): Implement as a function, return NULL if the
3372         parent is not an element.
3373         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3374         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3375         
3376         * gst/gstobject.c (gst_object_class_init): Make name a construct
3377         property. Don't set it in the object init.
3378
3379         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3380         with UNKNOWN direction.
3381         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3382         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3383         (gst_element_remove_pad): Remove ghost-pad special cases.
3384         (gst_element_pads_activate): Remove rpad cruft.
3385
3386         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3387         catch the pad's-parent-not-an-element case.
3388
3389         * gst/gst.h: Include gstghostpad.h.
3390
3391         * gst/gst.c (init_post): No more real, ghost pads.
3392
3393         * gst/Makefile.am: Add gstghostpad.[ch].
3394
3395         * check/Makefile.am:
3396         * check/gst/gstbin.c:
3397         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3398         into a bin creates ghost pads, and that the refcounts are right.
3399         Partly moved from gstbin.c.
3400
3401 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3402
3403         * check/gst-libs/.cvsignore:
3404         * check/gst/.cvsignore:
3405         * check/pipelines/.cvsignore:
3406           ignore more
3407         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3408         (START_TEST), (cleanup_suite), (main):
3409           add some tests related to cleanup after running pipelines
3410
3411 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3412
3413         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3414           add a testsuite for GstBuffer
3415
3416 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3417
3418         * gst/gstminiobject.h:
3419           add defines for accessing the refcount
3420
3421 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3422
3423         * Makefile.am: added support for html unit test coverage reports
3424
3425 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3426
3427         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3428           Free existing caps if the capsfilter changes. Add a FIXME about
3429           setting those caps on the pads.
3430
3431         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3432           Before adding a ghost pad to a parent bin, check that there isn't
3433           already one for the element on the bin. Prevents infinite recursion
3434           when using decodebin in parse pipelines. Andy says he'll rewrite the
3435           way this works anyway, so ignore the hack.
3436
3437 2005-06-02  Andy Wingo  <wingo@pobox.com>
3438
3439         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3440         file size, pass it on to the type find helper.
3441
3442         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3443         segment_start and segment_end properly according to the seek
3444         method. Segment_end is still a bit flaky because offset can be
3445         negative for CUR and END cases, but it takes -1 as an "unset"
3446         value.
3447
3448 2005-06-02  Wim Taymans  <wim@fluendo.com>
3449
3450         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3451         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3452         (gst_basesink_activate):
3453         * gst/base/gstbasesink.h:
3454         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3455         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3456         (gst_pad_query), (gst_pad_start_task):
3457         * gst/gstpad.h:
3458         * gst/gstqueue.c: (gst_queue_bufferalloc),
3459         (gst_queue_handle_sink_event), (gst_queue_chain):
3460         Bufferalloc: return GstFlowReturn to more accuratly report
3461         why allocation failed.
3462
3463 2005-06-02  Wim Taymans  <wim@fluendo.com>
3464
3465         * gst/gstpipeline.c: (gst_pipeline_send_event):
3466         Take snapshot of state without blocking.
3467
3468 2005-06-02  Wim Taymans  <wim@fluendo.com>
3469
3470         * docs/design/part-TODO.txt:
3471         * docs/design/part-caps.txt:
3472         * docs/design/part-clocks.txt:
3473         * docs/design/part-negotiation.txt:
3474         * docs/design/part-preroll.txt:
3475         Small doc updates 
3476
3477 2005-05-30  Wim Taymans  <wim@fluendo.com>
3478
3479         * gst/elements/gstidentity.c: (gst_identity_event),
3480         (gst_identity_transform), (gst_identity_get_property):
3481         Protect last_message property as it is accessed from
3482         multiple threads.
3483
3484 2005-05-30  Wim Taymans  <wim@fluendo.com>
3485
3486         * gst/gstelement.c: (gst_element_init),
3487         (gst_element_pads_activate), (gst_element_change_state):
3488         Slicker pad activation code.
3489
3490 2005-05-30  Wim Taymans  <wim@fluendo.com>
3491
3492         * gst/Makefile.am:
3493         * gst/gstelement.h:
3494         * gst/gstelementfactory.h:
3495         * gst/gsttypes.h:
3496         Move elementfactory methods to separate .h file.
3497
3498 2005-05-30  Wim Taymans  <wim@fluendo.com>
3499
3500         * docs/design/part-overview.txt:
3501         * gst/gstsystemclock.h:
3502         Small typo fixes, doc updates.
3503
3504 2005-05-30  Wim Taymans  <wim@fluendo.com>
3505
3506         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3507         (init_popt_callback):
3508         Remove cpu-opt flag.
3509
3510 2005-05-30  Wim Taymans  <wim@fluendo.com>
3511
3512         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3513         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3514         * gst/gstbuffer.h:
3515         Avoid typechecking in places where not needed.
3516         Added accessor for malloc_data.
3517
3518 2005-05-30  Wim Taymans  <wim@fluendo.com>
3519
3520         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3521         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3522         (gst_pad_configure_sink), (gst_pad_configure_src),
3523         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3524         (gst_pad_start_task):
3525         Propagate errors from _set_caps() in configure_src/sink
3526         functions instead of returning TRUE.
3527         FLUSH events can travel up and downstream
3528
3529
3530 2005-05-30  Wim Taymans  <wim@fluendo.com>
3531
3532         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3533         (gst_basesink_activate):
3534         Handle EOS in preroll.
3535
3536 2005-05-30  Wim Taymans  <wim@fluendo.com>
3537
3538         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3539         (gst_queue_loop), (gst_queue_handle_src_event):
3540         Remove old pieces of code
3541         Flushing the queue in an upstream event is a very bad idea.
3542
3543 2005-05-26  Andy Wingo  <wingo@pobox.com>
3544
3545         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3546         gst_value_set_mini_object so as to add a ref on the object (which
3547         will be removed when the value is unset).
3548
3549         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3550         arg type in ::handoff.
3551
3552         * gst/gstelement.c (gst_element_change_state): Also deactivate
3553         pads in READY->NULL, just in case the element didn't make it to
3554         PAUSED. Wingo tested, Wim approved.
3555
3556 2005-05-26  Wim Taymans  <wim@fluendo.com>
3557
3558         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3559         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3560         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3561         A flushing pad cannot be used to alloc_buffer from.
3562
3563 2005-05-26  Wim Taymans  <wim@fluendo.com>
3564
3565         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3566         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3567         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3568         (gst_bus_create_watch), (gst_bus_add_watch_full):
3569         * gst/gstbus.h:
3570         Implement a real GSource and use g_main_context_wakeup() to
3571         signal new messages instead of the socketpair.
3572
3573 2005-05-25  Wim Taymans  <wim@fluendo.com>
3574
3575         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3576         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3577         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3578         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3579         (gst_pad_send_event), (gst_pad_start_task):
3580         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3581         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3582         (gst_queue_sink_activate), (gst_queue_src_activate),
3583         (gst_queue_change_state):
3584         * gst/gstqueue.h:
3585         Fix state changes for non sinks. We now change sinks, then elements
3586         with unconnected srcpads, then the rest.
3587         More efficient queue unlocking in flush and state changes.
3588         Set the pad activate mode even if it does not have an activate
3589         function.
3590
3591 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3592
3593         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3594           Don't go in pull mode for non-seekable sources.
3595         * gst/elements/gsttypefindelement.h:
3596         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3597         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3598         (free_entry), (stop_typefinding),
3599         (gst_type_find_element_handle_event), (find_peek),
3600         (gst_type_find_element_chain), (do_pull_typefind),
3601         (gst_type_find_element_change_state):
3602           Allow typefinding (w/o seeking) in push-mode, simplified version
3603           of what was in 0.8.
3604         * gst/gstutils.c: (gst_buffer_join):
3605         * gst/gstutils.h:
3606           gst_buffer_join() from 0.8.
3607
3608 2005-05-25  Wim Taymans  <wim@fluendo.com>
3609
3610         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3611         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3612         (gst_pad_send_event), (gst_pad_start_task):
3613         Disable attempt at mode switching until it is figured out.
3614
3615 2005-05-25  Wim Taymans  <wim@fluendo.com>
3616
3617         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3618         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3619         (gst_basesink_finish_preroll), (gst_basesink_chain),
3620         (gst_basesink_loop), (gst_basesink_activate),
3621         (gst_basesink_change_state):
3622         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3623         (gst_basesrc_get_range), (gst_basesrc_loop),
3624         (gst_basesrc_activate):
3625         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3626         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3627         (gst_real_pad_init), (gst_real_pad_set_property),
3628         (gst_real_pad_get_property), (gst_pad_set_active),
3629         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3630         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3631         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3632         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3633         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3634         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3635         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3636         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3637         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3638         (gst_pad_stop_task):
3639         * gst/gstpad.h:
3640         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3641         (gst_queue_loop), (gst_queue_src_activate):
3642         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3643         (gst_task_get_state):
3644         * gst/gsttask.h:
3645         * gst/schedulers/threadscheduler.c:
3646         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3647         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3648         in task function.
3649         Remove ACTIVE pad flag, use FLUSHING everywhere
3650         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3651         functions.
3652         Add locks around IS_FLUSHING when reading.
3653         Take STREAM lock in chain(), get_range() functions so plugins
3654         don't need to take it anymore.
3655         
3656
3657
3658 2005-05-25  Wim Taymans  <wim@fluendo.com>
3659
3660         * tools/gst-launch.c: (event_loop):
3661         Unref message after using its contents instead of
3662         before.
3663
3664 2005-05-24  Wim Taymans  <wim@fluendo.com>
3665
3666         * docs/design/draft-ghostpads.txt:
3667         * docs/design/draft-push-pull.txt:
3668         * docs/design/draft-query.txt:
3669         * docs/design/part-overview.txt:
3670         Docs updates, added general overview doc.
3671
3672 2005-05-21  David Schleef  <ds@schleef.org>
3673
3674         * docs/gst/tmpl/old/GstBin.sgml:
3675         * docs/gst/tmpl/old/GstBuffer.sgml:
3676         * docs/gst/tmpl/old/GstCaps.sgml:
3677         * docs/gst/tmpl/old/GstClock.sgml:
3678         * docs/gst/tmpl/old/GstCompat.sgml:
3679         * docs/gst/tmpl/old/GstData.sgml:
3680         * docs/gst/tmpl/old/GstElement.sgml:
3681         * docs/gst/tmpl/old/GstEvent.sgml:
3682         * docs/gst/tmpl/old/GstIndex.sgml:
3683         * docs/gst/tmpl/old/GstStructure.sgml:
3684         * docs/gst/tmpl/old/GstTag.sgml:
3685         * docs/gst/tmpl/old/cothreads.sgml:
3686         * docs/gst/tmpl/old/cothreads_compat.sgml:
3687         * docs/gst/tmpl/old/gettext.sgml:
3688         * docs/gst/tmpl/old/gobject2gtk.sgml:
3689         * docs/gst/tmpl/old/grammar.tab.sgml:
3690         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3691         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3692         * docs/gst/tmpl/old/gst_private.sgml:
3693         * docs/gst/tmpl/old/gstaggregator.sgml:
3694         * docs/gst/tmpl/old/gstarch.sgml:
3695         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3696         * docs/gst/tmpl/old/gstbufferstore.sgml:
3697         * docs/gst/tmpl/old/gstdata_private.sgml:
3698         * docs/gst/tmpl/old/gstdisksink.sgml:
3699         * docs/gst/tmpl/old/gstdisksrc.sgml:
3700         * docs/gst/tmpl/old/gstelementfactory.sgml:
3701         * docs/gst/tmpl/old/gstextratypes.sgml:
3702         * docs/gst/tmpl/old/gstfakesink.sgml:
3703         * docs/gst/tmpl/old/gstfakesrc.sgml:
3704         * docs/gst/tmpl/old/gstfdsink.sgml:
3705         * docs/gst/tmpl/old/gstfdsrc.sgml:
3706         * docs/gst/tmpl/old/gstfilesink.sgml:
3707         * docs/gst/tmpl/old/gstfilesrc.sgml:
3708         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3709         * docs/gst/tmpl/old/gstidentity.sgml:
3710         * docs/gst/tmpl/old/gstindexfactory.sgml:
3711         * docs/gst/tmpl/old/gstmarshal.sgml:
3712         * docs/gst/tmpl/old/gstmd5sink.sgml:
3713         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3714         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3715         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3716         * docs/gst/tmpl/old/gstpipefilter.sgml:
3717         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3718         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3719         * docs/gst/tmpl/old/gstshaper.sgml:
3720         * docs/gst/tmpl/old/gstspider.sgml:
3721         * docs/gst/tmpl/old/gstspideridentity.sgml:
3722         * docs/gst/tmpl/old/gststatistics.sgml:
3723         * docs/gst/tmpl/old/gsttee.sgml:
3724         * docs/gst/tmpl/old/gsttimecache.sgml:
3725         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3726         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3727         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3728         * docs/gst/tmpl/old/types.sgml:
3729           I didn't intend to add these or check them in.
3730
3731 2005-05-19  David Schleef  <ds@schleef.org>
3732
3733         * configure.ac: Use -no-common everywhere.  In a sane world, it
3734           would be the default in libtool, because without it, you can't
3735           build DLLs on Windows.
3736         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3737         * docs/gst/gstreamer-sections.txt:
3738         * docs/gst/tmpl/gstcpu.sgml:
3739         * docs/gst/tmpl/gstdata.sgml:
3740         * docs/gst/tmpl/gstthread.sgml:
3741
3742 2005-05-19  David Schleef  <ds@schleef.org>
3743
3744         * gst/gstminiobject.c: (gst_value_set_mini_object),
3745         (gst_value_take_mini_object), (gst_value_get_mini_object):
3746         * gst/gstminiobject.h: Add GValue set/get functions.
3747
3748 2005-05-19  Wim Taymans  <wim@fluendo.com>
3749
3750         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3751         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3752         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3753         * gst/gstbuffer.h:
3754         * gst/gstbus.c: (gst_bus_post):
3755         * gst/gstelement.c: (gst_element_get_random_pad):
3756         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3757         Make subbufer unref the parent in finalize.
3758         some more debugging info.
3759
3760
3761 2005-05-19  Wim Taymans  <wim@fluendo.com>
3762
3763         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3764         (gst_basesink_init), (gst_basesink_finalize),
3765         (gst_basesink_activate), (gst_basesink_change_state):
3766         Don't free preroll queue too early.
3767
3768 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3769
3770         * gst/Makefile.am:
3771         * gst/ROADMAP:
3772           Hi, I'm outdated. Please shoot me.
3773
3774 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3775
3776         * gst/gstpipeline.c: (gst_pipeline_send_event):
3777           Do not access variables after they have been deleted.
3778
3779 2005-05-19  Wim Taymans  <wim@fluendo.com>
3780
3781         * tools/gst-inspect.c: (print_plugin_features):
3782         A plugin feature does unfortunatly not use the
3783         object name yet...
3784
3785 2005-05-18  Wim Taymans  <wim@fluendo.com>
3786
3787         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3788         Port _span() functions to new subbuffers.
3789
3790 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3791
3792         * gst/gstbin.c: (gst_bin_add_func):
3793           Fix clock settery in bins when adding kids after the clock has
3794           been selected.
3795
3796 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3797
3798         * gst/elements/gstidentity.c: (gst_identity_class_init):
3799           Workaround until signals support GstMiniObject.
3800
3801 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3802
3803         * gst/gstbuffer.c:
3804         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3805
3806 2005-05-18  Wim Taymans  <wim@fluendo.com>
3807
3808         * gst/base/Makefile.am:
3809         * gst/base/gstadapter.c: (gst_adapter_base_init),
3810         (gst_adapter_class_init), (gst_adapter_init),
3811         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3812         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3813         (gst_adapter_flush), (gst_adapter_available),
3814         (gst_adapter_available_fast):
3815         * gst/base/gstadapter.h:
3816         Ported and added adapter to the base classes.
3817
3818 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3819
3820         * gst/gst.c:
3821         * gst/gstmessage.c:
3822           Make sure the class is reffed/unreffed once before threads can be
3823           used.  Fixes #304551.
3824
3825 2005-05-17  Wim Taymans  <wim@fluendo.com>
3826
3827         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3828         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3829         * gst/gstminiobject.c: (gst_mini_object_get_type),
3830         (gst_mini_object_free):
3831         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3832         (gst_pad_push), (gst_pad_push_event):
3833         * gst/gstqueue.c: (gst_queue_change_state):
3834         Don't queue buffers in basesink when we are flushing.
3835         Unref buffer when flushing in basesink.
3836         Flush queue when going to READY
3837         Unref buffer when _push() returns an error.
3838         Don't free MiniObject instance when refcount is incremented
3839         in _finalize() so that we can recover objects.
3840
3841 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3842
3843         * docs/manual/advanced-schedulers.xml:
3844         * docs/manual/appendix-checklist.xml:
3845         * docs/pwg/advanced-clock.xml:
3846         * docs/pwg/advanced-interfaces.xml:
3847         * docs/pwg/advanced-request.xml:
3848         * docs/pwg/advanced-types.xml:
3849         * docs/pwg/intro-preface.xml:
3850         * examples/plugins/example.c: (gst_example_get_type),
3851         (gst_example_class_init), (gst_example_chain),
3852         (gst_example_set_property), (gst_example_get_property),
3853         (gst_example_change_state), (plugin_init):
3854         * examples/plugins/example.h:
3855           small doc fixes
3856
3857 2005-05-17  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3860         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3861         * gst/gstqueue.c: (gst_queue_change_state):
3862         Clear queue when going to READY.
3863         Remove IN_SETCAPS flag too.
3864
3865 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3866
3867         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3868           Remove implicit cast from gboolean to GstElementStateReturn;
3869           make sure we still return failure in paused => ready case if
3870           the parent class fails to change state and our own stop 
3871           vfunc succeeds.
3872
3873 2005-05-17  Wim Taymans  <wim@fluendo.com>
3874
3875         * tools/gst-launch.c: (event_loop):
3876         Message was unreffed too soon.
3877
3878 2005-05-16  Andy Wingo  <wingo@pobox.com>
3879
3880         * gst/gstbin.c (sink_iterator_filter): Err... um...
3881
3882         * check/gst/gstbin.c (test_ghost_pads): New test for the
3883         ghosting-if-elements-not-in-same-bin behavior.
3884
3885 2005-05-16  David Schleef  <ds@schleef.org>
3886
3887         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3888         accessing refcount directly.
3889
3890 2005-05-15  David Schleef  <ds@schleef.org>
3891
3892         * check/Makefile.am: remove GstData checks
3893         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3894         * gst/Makefile.am: add miniobject, remove data
3895         * gst/gst.h: add miniobject, remove data
3896         * gst/gstdata.c: remove
3897         * gst/gstdata.h: remove
3898         * gst/gstdata_private.h: remove
3899         * gst/gsttypes.h: remove GstEvent and GstMessage
3900         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3901         * gst/gstmarshal.list: change BOXED -> OBJECT
3902
3903         Implement GstMiniObject.
3904         * gst/gstminiobject.c:
3905         * gst/gstminiobject.h:
3906
3907         Modify to be subclasses of GstMiniObject.
3908         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3909         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3910         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3911         (gst_subbuffer_get_type), (gst_subbuffer_init),
3912         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3913         (gst_buffer_span):
3914         * gst/gstbuffer.h:
3915         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3916         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3917         (_gst_event_copy), (gst_event_new):
3918         * gst/gstevent.h:
3919         * gst/gstmessage.c: (_gst_message_initialize),
3920         (gst_message_get_type), (gst_message_class_init),
3921         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3922         (gst_message_new), (gst_message_new_error),
3923         (gst_message_new_warning), (gst_message_new_tag),
3924         (gst_message_new_state_changed), (gst_message_new_application):
3925         * gst/gstmessage.h:
3926         * gst/gstprobe.c: (gst_probe_perform),
3927         (gst_probe_dispatcher_dispatch):
3928         * gst/gstprobe.h:
3929         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3930         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3931         (_gst_query_copy), (gst_query_new):
3932
3933         Update elements for GstData -> GstMiniObject changes
3934         * gst/gstquery.h:
3935         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3936         (gst_queue_chain), (gst_queue_loop):
3937         * gst/elements/gstbufferstore.c:
3938         (gst_buffer_store_add_buffer_func),
3939         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3940         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3941         (gst_fakesink_render):
3942         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3943         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3944         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3945         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3946         (gst_filesrc_create_read):
3947         * gst/elements/gstidentity.c: (gst_identity_class_init):
3948         * gst/elements/gsttypefindelement.c:
3949         (gst_type_find_element_src_event), (free_entry_buffers),
3950         (gst_type_find_element_handle_event):
3951         * libs/gst/dataprotocol/dataprotocol.c:
3952         (gst_dp_header_from_buffer):
3953         * libs/gst/dataprotocol/dataprotocol.h:
3954         * libs/gst/dataprotocol/dp-private.h:
3955
3956 2005-05-15  David Schleef  <ds@schleef.org>
3957
3958         * gst/elements/gstelements.c: Don't include headers that were
3959         just removed.
3960
3961 2005-05-15  David Schleef  <ds@schleef.org>
3962
3963         * gst/elements/Makefile.am: Remove some elements that don't
3964         need to be in the core (or even exist at all).
3965         * gst/elements/gstaggregator.c:
3966         * gst/elements/gstaggregator.h:
3967         * gst/elements/gstmd5sink.c:
3968         * gst/elements/gstmd5sink.h:
3969         * gst/elements/gstmultifilesrc.c:
3970         * gst/elements/gstmultifilesrc.h:
3971         * gst/elements/gstpipefilter.c:
3972         * gst/elements/gstpipefilter.h:
3973         * gst/elements/gstshaper.c:
3974         * gst/elements/gstshaper.h:
3975         * gst/elements/gststatistics.c:
3976         * gst/elements/gststatistics.h:
3977         * po/POTFILES.in: Remove above files.
3978
3979 2005-05-14  Andy Wingo  <wingo@pobox.com>
3980
3981         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3982         so as to get the refs right.
3983         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3984         unreffing objects that don't pass the filter.
3985
3986         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3987         gst_element_set_bus.
3988         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3989         normal cases, this will destroy the bus.
3990
3991         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3992         object.
3993
3994         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3995         has no sinks.
3996
3997 2005-05-13  Andy Wingo  <wingo@pobox.com>
3998
3999         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4000         gst_pad_link, call pad_link_maybe_ghosting,
4001         (pad_link_maybe_ghosting): Links pads, making sure that the
4002         elements being linked are in the same bin.
4003         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4004         Helpers for pad_link_maybe_ghosting.
4005
4006 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4007
4008         * configure.ac:
4009           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4010
4011 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4012
4013         * docs/design/part-element-source.txt:
4014           Mention GstPushSrc
4015
4016 2005-05-12  Wim Taymans  <wim@fluendo.com>
4017
4018         * gst/base/gstbasesink.c: (gst_basesink_init),
4019         (gst_basesink_activate):
4020         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4021         (gst_basesrc_is_seekable):
4022         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4023         (bin_element_is_sink), (gst_bin_change_state):
4024         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4025         * gst/gstelement.h:
4026         Identify sinks by their flag to avoid overly complicated
4027         checks (fow now).
4028         Do state changes even for elements not reachable from the
4029         sinks.
4030         BaseSink is a sink now :)
4031         Some more debugging info in the basesrc.
4032
4033
4034 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4035
4036         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4037           Implement _query on a bin, similar to _send_event.
4038
4039 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
4040
4041         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4042           Discont event offset format should be GST_FORMAT_BYTES,
4043           not GST_FORMAT_TIME.
4044
4045 2005-05-12  Wim Taymans  <wim@fluendo.com>
4046
4047         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4048         Same fix as Ronald's but without the signal. 
4049
4050 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4051
4052         * gst/gstutils.c: (gst_element_query_position):
4053           No, an element is not a pad.
4054
4055 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4056
4057         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4058         (gst_bin_get_state):
4059           If a child is removed from a bin while we remove the child from
4060           the bin and while we're retrieving its state, signal this to the
4061           get_state function so we abort the wait (instead of waiting for
4062           a timeout) and can immediately re-iterate over all other elements.
4063
4064 2005-05-12  Wim Taymans  <wim@fluendo.com>
4065
4066         * gst/base/Makefile.am:
4067         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4068         (gst_basesrc_start):
4069         * gst/base/gstbasesrc.h:
4070         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4071         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4072         (gst_pushsrc_init), (gst_pushsrc_create):
4073         * gst/base/gstpushsrc.h:
4074         Added is_seekable to BaseSrc
4075         Added simple PushSrc.
4076
4077 2005-05-11  Wim Taymans  <wim@fluendo.com>
4078
4079         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4080         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4081         (gst_element_link_pads), (gst_element_query_position),
4082         (gst_element_query_convert), (intersect_caps_func),
4083         (gst_pad_query_position), (gst_pad_query_convert):
4084         Fix refcounting in utils function.
4085         No point in trying to activate a pad when it's added, it could
4086         be added from the state change function and then we deadlock, the
4087         element has to decide what to do.
4088
4089 2005-05-10  Andy Wingo  <wingo@pobox.com>
4090
4091         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4092         *all* the arguments.
4093
4094         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4095         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4096         lock (according to the docs -- if this is wrong change the docs).
4097
4098         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4099         flush messages in the NULL state.
4100
4101         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4102         message immediately and return.
4103         (gst_bus_set_flushing): New function. If a bus is flushing, it
4104         flushes out any queued messages and immediately unrefs new
4105         messages. This is so when an element goes to NULL, all of the
4106         unhandled messages coming from it can be freed, and their
4107         references to the element dropped. In other words: message source
4108         ref considered harmful :P
4109
4110         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4111         we're finished with it.
4112
4113         * gst/gstmessage.c (gst_message_new_state_changed): 
4114
4115 2005-05-10  Wim Taymans  <wim@fluendo.com>
4116
4117         * gst/gstvalue.c: (gst_value_compare_flags),
4118         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4119         (_gst_value_initialize):
4120         Added flags serialize/deserialize/compare code.
4121
4122 2005-05-09  Andy Wingo  <wingo@pobox.com>
4123
4124         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4125         Intersect the peer's caps with our caps.
4126
4127 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4128
4129         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4130         * gst/elements/gsttypefindelement.c: (find_peek):
4131           Handle negative offsets better. Fixes decodebin.
4132
4133 2005-05-09  Wim Taymans  <wim@fluendo.com>
4134
4135         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4136         (gst_base_transform_event):
4137         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4138         Implement accept_caps.
4139         Fix silly lock/unlock mismatch in base class.
4140
4141 2005-05-09  Wim Taymans  <wim@fluendo.com>
4142
4143         * docs/design/draft-push-pull.txt:
4144         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4145         * gst/elements/gstfilesink.c: (gst_filesink_init),
4146         (gst_filesink_query):
4147         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4148         (gst_type_find_handle_src_query), (find_element_get_length):
4149         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4150         * gst/gstelement.h:
4151         * gst/gstmessage.c:
4152         * gst/gstmessage.h:
4153         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4154         (gst_real_pad_get_caps_unlocked),
4155         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4156         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4157         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4158         (gst_real_pad_dispose), (gst_real_pad_finalize),
4159         (gst_pad_load_and_link), (gst_pad_save_thyself),
4160         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4161         (gst_pad_check_pull_range), (gst_pad_pull_range),
4162         (gst_pad_template_get_type), (gst_pad_template_class_init),
4163         (gst_pad_template_init), (gst_pad_template_dispose),
4164         (name_is_valid), (gst_static_pad_template_get),
4165         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4166         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4167         (gst_pad_get_element_private), (gst_pad_start_task),
4168         (gst_pad_pause_task), (gst_pad_stop_task),
4169         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4170         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4171         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4172         (gst_ghost_pad_new):
4173         * gst/gstpad.h:
4174         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4175         (gst_query_new_position), (gst_query_set_position),
4176         (gst_query_parse_position), (gst_query_new_convert),
4177         (gst_query_set_convert), (gst_query_parse_convert):
4178         * gst/gstquery.h:
4179         * gst/gstqueryutils.c:
4180         * gst/gstqueryutils.h:
4181         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4182         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4183         (gst_queue_handle_src_query):
4184         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4185         (gst_element_query_position), (gst_element_query_convert),
4186         (intersect_caps_func), (gst_pad_query_position),
4187         (gst_pad_query_convert):
4188         * gst/gstutils.h:
4189         * tools/gst-inspect.c: (print_pad_info):
4190         * tools/gst-xmlinspect.c: (print_element_info):
4191         Remove old query functions. Ported old code.
4192         Added position/convert helper functions to gstutils.
4193         Reordered gstpad.c code, grouping relevant things.
4194         Remove gst_message_new(), always need to speficy a specific
4195         message.
4196
4197
4198 2005-05-09  Andy Wingo  <wingo@pobox.com>
4199
4200         * gst/gstiterator.h: Add some includes.
4201
4202         * gst/gstqueryutils.h: Include more headers.
4203
4204         * gst/gstpad.h:
4205         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4206         some uses of gst_pad_query.
4207
4208         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4209         NULL out parameters.
4210         (gst_query_new_position): New proc, allocates a new position
4211         query.
4212
4213         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4214         gstqueryutils.c to the build.
4215
4216         * gst/gststructure.c (gst_structure_set_valist): Implement with
4217         the generic G_VALUE_COLLECT.
4218         
4219 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4220
4221         * gst/Makefile.am: (gst_headers):
4222         Added gstqueryutils.h to the list of headers to install, that was
4223         a 'nachty' move wingo :)
4224
4225 2005-05-06  Andy Wingo  <wingo@pobox.com>
4226
4227         * gst/gstquery.h
4228         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4229         GstData, init a memchunk.
4230         (standard_definitions): Add a few query types, deprecate a few.
4231         (gst_query_get_type): New proc.
4232         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4233         implementation.
4234         (gst_query_new_application, gst_query_get_structure): New public
4235         procs.
4236
4237         * docs/design/draft-query.txt: Removed LINKS from the query types,
4238         because all the rest can be dispatched to other pads -- seemed
4239         ugly to have a query that couldn't be dispatched. internal_links
4240         is fine as a pad method.
4241
4242         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4243         in gstpad.c, but maintain binary compatibility for the moment.
4244         Will fix before 0.9 is out.
4245
4246         * gst/gstqueryutils.c: 
4247         * gst/gstqueryutils.h: New files, implement 3 methods for each
4248         query type: parse_query, parse_response, and set. Probably need an
4249         allocator as well.
4250
4251         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4252
4253         * gst/elements/gstfilesink.c (gst_filesink_query2):
4254         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4255         query_types, and formats methods.
4256
4257         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4258         (gst_pad_set_query2_function): New functions.
4259         (gst_real_pad_init): Set query2_default as the default query2
4260         function. Basically just dispatches to internally linked pads.
4261
4262         Needs review!
4263         
4264         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4265         without using the atomic operations. Only one thread can possibly
4266         be accessing the data at this point. Changed so as to avoid
4267         gst_atomic operations.
4268
4269 2005-05-06  Wim Taymans  <wim@fluendo.com>
4270
4271         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4272         Also set caps if we use the fallback buffer alloc.
4273
4274 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4275
4276         * docs/gst/Makefile.am:
4277         * docs/gst/gstreamer-docs.sgml:
4278         * docs/gst/gstreamer-sections.txt:
4279         * docs/gst/tmpl/gstatomic.sgml:
4280         * docs/gst/tmpl/gstmemchunk.sgml:
4281         * testsuite/elements/struct_i386.h:
4282         * win32/GStreamer.vcproj:
4283         * win32/Makefile:
4284           Purge GstAtomic stuff from docs and win32 makefiles as well
4285
4286 2005-05-06  Wim Taymans  <wim@fluendo.com>
4287
4288         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4289         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4290         * gst/gstpad.c: (gst_pad_peer_get_caps):
4291         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4292         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4293         (gst_queue_src_activate), (gst_queue_change_state):
4294         * gst/gstqueue.h:
4295         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4296         (intersect_caps_func):
4297         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4298         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4299         Some fixes for the peer_get_caps() change.
4300
4301 2005-05-06  Wim Taymans  <wim@fluendo.com>
4302
4303         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4304         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4305         (gst_basesink_activate):
4306         Actually do something with error codes returned from the push
4307         functions.
4308
4309 2005-05-06  Wim Taymans  <wim@fluendo.com>
4310
4311         * docs/design/part-element-sink.txt:
4312         * docs/design/part-element-source.txt:
4313         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4314         (gst_basesink_event), (gst_basesink_activate):
4315         * gst/base/gstbasesink.h:
4316         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4317         (gst_basesrc_activate):
4318         * gst/base/gstbasesrc.h:
4319         * gst/gstelement.c: (gst_element_pads_activate):
4320         Some more documentation.
4321         Fixed scheduling decision in _pads_activate().
4322
4323 2005-05-05  Andy Wingo  <wingo@pobox.com>
4324
4325         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4326         the test suite.
4327
4328 2005-05-05  Wim Taymans  <wim@fluendo.com>
4329
4330         * gst/base/Makefile.am:
4331         * gst/base/gstbasesink.h:
4332         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4333         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4334         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4335         (gst_collectpads_class_init), (gst_collectpads_init),
4336         (gst_collectpads_finalize), (gst_collectpads_new),
4337         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4338         (find_pad), (gst_collectpads_remove_pad),
4339         (gst_collectpads_is_active), (gst_collectpads_collect),
4340         (gst_collectpads_collect_range), (gst_collectpads_start),
4341         (gst_collectpads_stop), (gst_collectpads_peek),
4342         (gst_collectpads_pop), (gst_collectpads_available),
4343         (gst_collectpads_read), (gst_collectpads_flush),
4344         (gst_collectpads_chain):
4345         * gst/base/gstcollectpads.h:
4346         * gst/elements/Makefile.am:
4347         * gst/elements/gstelements.c:
4348         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4349         (gst_fakesink_get_times), (gst_fakesink_event),
4350         (gst_fakesink_preroll), (gst_fakesink_render):
4351         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4352         (gst_filesink_init), (gst_filesink_set_location),
4353         (gst_filesink_open_file), (gst_filesink_close_file),
4354         (gst_filesink_pad_query), (gst_filesink_event),
4355         (gst_filesink_render), (gst_filesink_change_state):
4356         * gst/elements/gstfilesink.h:
4357         Added object to help in making collect pad based elements.
4358         Ported filesink.
4359         Make event function in sink baseclass return gboolean.
4360
4361 2005-05-05  Wim Taymans  <wim@fluendo.com>
4362
4363         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4364         (gst_bin_get_by_name):
4365         * gst/gstbuffer.h:
4366         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4367         (gst_clock_finalize):
4368         * gst/gstdata.c: (gst_data_replace):
4369         * gst/gstdata.h:
4370         * gst/gstelement.c: (gst_element_request_pad),
4371         (gst_element_pads_activate):
4372         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4373         (gst_object_unref):
4374         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4375         (gst_pad_set_checkgetrange_function),
4376         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4377         (gst_pad_check_pull_range), (gst_pad_pull_range),
4378         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4379         (gst_pad_pause_task), (gst_pad_stop_task):
4380         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4381         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4382         Fix name lookup in GstBin.
4383         Added _data_replace() function and _buffer_replace()
4384         Use finalize method to clean up clock.
4385         Fix refcounting on request pads.
4386         Fix pad schedule mode error.
4387         Some more object refcounting debug info,
4388
4389
4390 2005-05-04  Andy Wingo <wingo@pobox.com>
4391
4392         * check/Makefile.am:
4393         * docs/gst/tmpl/gstatomic.sgml:
4394         * docs/gst/tmpl/gstplugin.sgml:
4395         * gst/base/gstbasesink.c: (gst_basesink_activate):
4396         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4397         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4398         (gst_basesrc_query), (gst_basesrc_set_property),
4399         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4400         (gst_basesrc_activate):
4401         * gst/base/gstbasesrc.h:
4402         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4403         (gst_base_transform_src_activate):
4404         * gst/elements/gstelements.c:
4405         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4406         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4407         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4408         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4409         (gst_type_find_element_checkgetrange),
4410         (gst_type_find_element_activate):
4411         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4412         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4413         (gst_caps_load_thyself):
4414         * gst/gstelement.c: (gst_element_pads_activate),
4415         (gst_element_save_thyself), (gst_element_restore_thyself):
4416         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4417         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4418         * gst/gstpad.h:
4419         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4420         (gst_xml_parse_file), (gst_xml_parse_memory),
4421         (gst_xml_get_element), (gst_xml_make_element):
4422         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4423         (_file_index_id_save_xml), (gst_file_index_commit):
4424         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4425         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4426         (load_paths):
4427         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4428         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4429         * tools/gst-complete.c: (main):
4430         * tools/gst-compprep.c: (main):
4431         * tools/gst-inspect.c: (print_element_properties_info):
4432         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4433         * tools/gst-xmlinspect.c: (print_element_properties):
4434         GCC 4 fixen.
4435         
4436 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * gst/gstplugin.c: (gst_plugin_check_module),
4439         (gst_plugin_check_file), (gst_plugin_load_file):
4440             apply patch from #172526 to make register work on MacOSX
4441
4442 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4443
4444         * docs/gst/tmpl/gstconfig.sgml:
4445         * gst/gstconfig.h.in:
4446           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4447         * testsuite/debug/printf_extension.c: (main):
4448           Do not use GST_PTR_FORMAT on pointers to types with
4449           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4450         * testsuite/elements/property.h:
4451           use correct printf format
4452
4453 2005-05-02  Wim Taymans  <wim@fluendo.com>
4454
4455         * docs/design/draft-push-pull.txt:
4456         * docs/design/draft-query.txt:
4457         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4458         (gst_basesrc_start):
4459         Added draft for new query API.
4460         Added draft for better selecting scheduling methods.
4461         Make basesrc ignore length if the subclass does not support
4462         it.
4463
4464 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4465
4466         * gst/Makefile.am:
4467           possible fixes for automake-1.5 - _LIBADD is reserved
4468
4469 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4470
4471         * docs/faq/Makefile.am:
4472         * docs/manual/Makefile.am:
4473         * docs/manuals.mak:
4474         * docs/pwg/Makefile.am:
4475         * gst/Makefile.am:
4476           possible fixes for automake-1.5
4477
4478 2005-04-28  Wim Taymans  <wim@fluendo.com>
4479
4480         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4481         (gst_basesink_pad_getcaps), (gst_basesink_init),
4482         (gst_basesink_do_sync):
4483         * gst/gstclock.c: (gst_clock_entry_new):
4484         * gst/gstevent.c: (gst_event_discont_get_value):
4485         * gst/gstpipeline.c: (pipeline_bus_handler),
4486         (gst_pipeline_change_state):
4487         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4488         Better debugging of clocking info.
4489         Allow NULL values when getting discont values.
4490
4491 2005-04-27  Wim Taymans  <wim@fluendo.com>
4492
4493         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4494         * check/gst/gstpad.c: (gst_pad_suite):
4495         Increase timeout for checks.
4496
4497 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4498
4499         * check/Makefile.am:
4500           fix the broken rule for cleanup.  Apparently this rule is
4501           only needed on FC2, so maybe this warrants further autotool
4502           inspection.
4503
4504 2005-04-26  Wim Taymans  <wim@fluendo.com>
4505
4506         * gst/gsttrashstack.h:
4507         Ooohh. a nasty one! After having a failed pop() from the stack,
4508         it's possible that the stack is empty. In that case, don't
4509         follow the NULL pointer.
4510
4511 2005-04-25  Wim Taymans  <wim@fluendo.com>
4512
4513         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4514         (gst_pad_set_checkgetrange_function),
4515         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4516         (gst_pad_check_pull_range), (gst_pad_pull_range),
4517         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4518         (gst_pad_pause_task), (gst_pad_stop_task):
4519         * gst/gstplugin.c: (gst_plugin_load):
4520         * gst/gstplugin.h:
4521         Remove gst_library_load as it does more harm than good with
4522         the new g_module flags.
4523         Revert bogus caps template check in pad linking, pad caps
4524         are important when linking not the template, which is more
4525         general than the current caps.
4526
4527 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4528
4529         * gst/autoplug/.cvsignore:
4530         * gst/autoplug/Makefile.am:
4531         * gst/autoplug/gstsearchfuncs.c:
4532         * gst/autoplug/gstsearchfuncs.h:
4533         * gst/autoplug/gstspider.c:
4534         * gst/autoplug/gstspider.h:
4535         * gst/autoplug/gstspideridentity.c:
4536         * gst/autoplug/gstspideridentity.h:
4537         * gst/autoplug/spidertest.c:
4538           Die, spider, die.
4539
4540 2005-04-25  Wim Taymans  <wim@fluendo.com>
4541
4542         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4543         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4544         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4545         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4546         * gst/gstpad.h:
4547         Added stubs for unimplemented functions. 
4548
4549 2005-04-24  David Schleef  <ds@schleef.org>
4550
4551         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4552         please fix.
4553
4554 2005-04-24  David Schleef  <ds@schleef.org>
4555
4556         Convert everything from GstAtomicInt to g_atomic_int_*, and
4557         remove gstatomic.
4558         * gst/Makefile.am:
4559         * gst/gstatomic.c:
4560         * gst/gstatomic.h:
4561         * gst/gstatomic_impl.h:
4562         * gst/gstbuffer.c:
4563         * gst/gstcaps.c:
4564         * gst/gstcaps.h:
4565         * gst/gstclock.c:
4566         * gst/gstclock.h:
4567         * gst/gstdata.c:
4568         * gst/gstdata.h:
4569         * gst/gstdata_private.h:
4570         * gst/gstevent.c:
4571         * gst/gstinfo.c:
4572         * gst/gstinfo.h:
4573         * gst/gstmessage.c:
4574         * gst/gstobject.c:
4575         * gst/gstobject.h:
4576         * gst/gststructure.c:
4577         * gst/gststructure.h:
4578         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4579         * gst/gstutils.h:
4580
4581 2005-04-24  David Schleef  <ds@schleef.org>
4582
4583         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4584         make the regressions tests work.  Remove some code that is no
4585         longer true.
4586         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4587         Disable warning for pads without templates.
4588
4589 2005-04-24  David Schleef  <ds@schleef.org>
4590
4591         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4592         functions that handle filtered links.
4593         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4594         removed functions.
4595         * gst/gstutils.c: Fix/remove utility functions that handle
4596         filtered caps.
4597         * gst/gstutils.h:
4598         * gst/gstvalue.c: Add serialization/deserialization of caps
4599         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4600         requires fixing so that the filter caps notation creates
4601         a capsfilter element and sets the filter_caps property.  I
4602         think everyone probably wants to keep the shorthand notation.
4603         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4604         * docs/gst/tmpl/gstpad.sgml:
4605
4606         * gst/elements/gstelements.c: Register capsfilter element.
4607         * gst/Makefile.am: fix spacing
4608         * docs/random/ds/0.9-suggested-changes: random
4609
4610 2005-04-23  David Schleef  <ds@schleef.org>
4611
4612         * gst/elements/Makefile.am:
4613         * gst/elements/gstcapsfilter.c: New element that acts like an
4614         identity, but filters caps.  Will eventually replace filtered
4615         caps in pad linking.
4616         * gst/gstutils.c: (gst_element_create_all_pads): New function
4617         to create all the ALWAYS pads that are registered with an
4618         element class.  This functionality should eventually be
4619         merged in with GstElement initialization.
4620         * gst/gstutils.h:
4621         * testsuite/trigger/README: part of trigger test code that should
4622         have been checked in a long time ago.
4623
4624 2005-04-23  David Schleef  <ds@schleef.org>
4625
4626         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4627         needed with new versions of libtool (nobody will confirm this),
4628         and hard to carry around.
4629         * gst/autoplug/Makefile.am:
4630         * gst/base/Makefile.am:
4631         * gst/elements/Makefile.am:
4632         * gst/indexers/Makefile.am:
4633         * gst/schedulers/Makefile.am:
4634         * libs/gst/bytestream/Makefile.am:
4635         * libs/gst/control/Makefile.am:
4636         * libs/gst/dataprotocol/Makefile.am:
4637         * libs/gst/getbits/Makefile.am:
4638
4639 2005-04-21  Wim Taymans  <wim@fluendo.com>
4640
4641         * docs/design/draft-push-pull.txt:
4642         * docs/design/part-MT-refcounting.txt:
4643         * docs/design/part-TODO.txt:
4644         * docs/design/part-caps.txt:
4645         * docs/design/part-events.txt:
4646         * docs/design/part-gstbus.txt:
4647         * docs/design/part-gstpipeline.txt:
4648         * docs/design/part-messages.txt:
4649         * docs/design/part-push-pull.txt:
4650         * docs/design/part-query.txt:
4651         Some more docs.
4652
4653 2005-04-21  Wim Taymans  <wim@fluendo.com>
4654
4655         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4656         (gst_message_new), (gst_message_new_error),
4657         (gst_message_new_warning), (gst_message_new_tag),
4658         (gst_message_new_state_changed), (gst_message_new_application),
4659         (gst_message_get_structure):
4660         * gst/gstmessage.h:
4661         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4662         (gst_structure_copy_conditional):
4663         Use parent refcount in GstMessage to ensure GstStructure
4664         consistency.
4665         Cleaned up headers a bit.
4666         
4667
4668 2005-04-20  Wim Taymans  <wim@fluendo.com>
4669
4670         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4671         (gst_basesink_pad_getcaps), (gst_basesink_init),
4672         (gst_basesink_chain_unlocked):
4673         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4674         (gst_type_find_helper):
4675         * gst/elements/gsttypefindelement.c:
4676         (gst_type_find_element_have_type), (gst_type_find_element_init),
4677         (stop_typefinding), (gst_type_find_element_handle_event),
4678         (find_suggest), (gst_type_find_element_chain),
4679         (gst_type_find_element_checkgetrange),
4680         (gst_type_find_element_getrange), (do_typefind),
4681         (gst_type_find_element_activate):
4682         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4683         (gst_buffer_default_free), (gst_buffer_default_copy),
4684         (gst_buffer_set_caps):
4685         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4686         (gst_caps_replace):
4687         * gst/gstmessage.c: (gst_message_new),
4688         (gst_message_new_state_changed):
4689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4690         (gst_pad_set_checkgetrange_function),
4691         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4692         (gst_pad_set_caps), (gst_pad_check_pull_range),
4693         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4694         * gst/gstpad.h:
4695         * gst/gsttypefind.c: (gst_type_find_register):
4696         Make gst_caps_replace() work like other _replace() functions.
4697         Use _caps_replace() where possible.
4698         Make sure _message_new() initialises its field.
4699         Add gst_static_pad_template_get_caps()
4700
4701
4702 2005-04-18  Andy Wingo  <wingo@pobox.com>
4703
4704         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4705         on the peer, not the pad. I think that was a typo. Pass an extra
4706         arg to see if random access is possible. Activate the pads as
4707         PULL_RANGE if possible.
4708
4709         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4710
4711         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4712         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4713         to PROP_....
4714
4715 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4716
4717         * docs/faq/using.xml:
4718           Add note on gstreamer-properties (#154996).
4719
4720 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4721
4722         * docs/random/bbb/optional-properties:
4723           Some analysis on optional properties.
4724
4725 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4726
4727         * docs/gst/tmpl/gstelementfactory.sgml:
4728         * gst/gstelement.h:
4729         * gst/gstelementfactory.c: (gst_element_factory_init),
4730         (gst_element_factory_cleanup), (gst_element_register),
4731         (__gst_element_factory_add_static_pad_template),
4732         (gst_element_factory_get_static_pad_templates),
4733         (gst_element_factory_can_src_caps),
4734         (gst_element_factory_can_sink_caps):
4735         * gst/registries/Makefile.am:
4736         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4737         (gst_xml_registry_class_init), (gst_xml_registry_init),
4738         (gst_xml_registry_new), (gst_xml_registry_set_property),
4739         (gst_xml_registry_get_property), (get_time), (make_dir),
4740         (gst_xml_registry_get_perms_func),
4741         (plugin_times_older_than_recurse), (plugin_times_older_than),
4742         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4743         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4744         (add_to_char_array), (read_string), (read_uint), (read_enum),
4745         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4746         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4747         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4748         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4749         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4750         (gst_xml_registry_rebuild):
4751         * gst/registries/gstlibxmlregistry.h:
4752         * tools/gst-compprep.c: (main):
4753         * tools/gst-inspect.c: (print_pad_templates_info):
4754         * tools/gst-xmlinspect.c: (print_element_info):
4755           Use libxml2 for registry parsing, use staticpadtemplates in
4756           elementfactories. Makes gst_init() +/- 10x faster.
4757
4758 2005-04-12  Wim Taymans  <wim@fluendo.com>
4759
4760         * gst/base/Makefile.am:
4761         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4762         (gst_basesink_pad_getcaps), (gst_basesink_init),
4763         (gst_basesink_event), (gst_basesink_change_state):
4764         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4765         (gst_basesrc_init), (gst_basesrc_query),
4766         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4767         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4768         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4769         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4770         (gst_basesrc_stop), (gst_basesrc_activate),
4771         (gst_basesrc_change_state):
4772         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4773         (helper_find_suggest), (gst_type_find_helper):
4774         * gst/base/gsttypefindhelper.h:
4775         * gst/elements/Makefile.am:
4776         * gst/elements/gstelements.c:
4777         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4778         (gst_fakesink_get_times), (gst_fakesink_event),
4779         (gst_fakesink_preroll), (gst_fakesink_render):
4780         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4781         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4782         (gst_fakesrc_get_property), (gst_fakesrc_create),
4783         (gst_fakesrc_start), (gst_fakesrc_stop):
4784         * gst/elements/gstfakesrc.h:
4785         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4786         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4787         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4788         (gst_filesrc_create_read), (gst_filesrc_create),
4789         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4790         (gst_filesrc_start):
4791         * gst/elements/gsttypefindelement.c:
4792         (gst_type_find_element_have_type), (gst_type_find_element_init),
4793         (start_typefinding), (stop_typefinding), (push_buffer_store),
4794         (gst_type_find_element_handle_event),
4795         (gst_type_find_element_chain),
4796         (gst_type_find_element_checkgetrange),
4797         (gst_type_find_element_getrange), (do_typefind),
4798         (gst_type_find_element_activate),
4799         (gst_type_find_element_change_state):
4800         * gst/elements/gsttypefindelement.h:
4801         * gst/gstpipeline.c: (pipeline_bus_handler):
4802         Added typefind helper.
4803         Small preroll fix in the base sink.
4804         Disable typefind code in basesrc.
4805         Crude port of typefindelement.
4806         Fakesrc cleanups.
4807
4808
4809 2005-04-11  Wim Taymans  <wim@fluendo.com>
4810
4811         * check/gst/gstbus.c: (gstbus_suite):
4812         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4813         * check/gstcheck.h:
4814           Fix up the timeout so that the test does not fail.
4815
4816 2005-04-06  Wim Taymans  <wim@fluendo.com>
4817
4818         * gst/base/README:
4819         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4820         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4821         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4822         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4823         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4824         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4825         (gst_basesrc_stop), (gst_basesrc_activate),
4826         (gst_basesrc_change_state), (basesrc_find_peek),
4827         (basesrc_find_suggest), (gst_basesrc_type_find):
4828         * gst/base/gstbasesrc.h:
4829         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4830         (gst_filesrc_class_init), (gst_filesrc_init),
4831         (gst_filesrc_finalize), (gst_filesrc_set_location),
4832         (gst_filesrc_set_property), (gst_filesrc_get_property),
4833         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4834         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4835         (gst_filesrc_create_read), (gst_filesrc_create),
4836         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4837         * gst/elements/gstfilesrc.h:
4838         * gst/gstelement.c: (gst_element_get_state_func),
4839         (gst_element_lost_state), (gst_element_pads_activate):
4840         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4841         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4842         (gst_pad_pull_range):
4843         * gst/gstpad.h:
4844         More work on the generic source base class, implement seeking,
4845         query.
4846         Make filesrc extend the base source class.
4847         Added gst_pad_set_checkgetrange_function to GstPad.
4848
4849 2005-04-06  Andy Wingo  <wingo@pobox.com>
4850
4851         * pkgconfig/gstreamer-base.pc.in:
4852         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4853
4854         * pkgconfig/Makefile.am:
4855         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4856
4857 2005-04-04  Wim Taymans  <wim@fluendo.com>
4858
4859         * gst/base/Makefile.am:
4860         * gst/base/README:
4861         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4862         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4863         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4864         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4865         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4866         (gst_basesrc_base_init), (gst_basesrc_class_init),
4867         (gst_basesrc_init), (gst_basesrc_get_formats),
4868         (gst_basesrc_get_query_types), (gst_basesrc_query),
4869         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4870         (gst_basesrc_set_property), (gst_basesrc_get_property),
4871         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4872         (gst_basesrc_loop), (gst_basesrc_activate),
4873         (gst_basesrc_change_state):
4874         * gst/base/gstbasesrc.h:
4875         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4876         (gst_fakesrc_class_init), (gst_fakesrc_init),
4877         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4878         (gst_fakesrc_get_property), (gst_fakesrc_create):
4879         * gst/elements/gstfakesrc.h:
4880         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4881         (gst_filesrc_open_file), (gst_filesrc_loop),
4882         (gst_filesrc_activate), (filesrc_find_peek),
4883         (gst_filesrc_type_find):
4884         Made base source class, make fakesrc extend it.
4885         Add comments to basesink class.
4886         Some filesrc cleanup.
4887
4888 2005-03-31  David Schleef  <ds@schleef.org>
4889
4890         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4891         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4892         expected to link against libgstreamer.
4893         * gst/base/Makefile.am: link against libgstreamer
4894         * gst/elements/Makefile.am: same
4895
4896 2005-03-31  Andy Wingo  <wingo@pobox.com>
4897
4898         * tests/instantiate/Makefile.am:
4899         * tests/instantiate/caps.c: Add test to test speed of caps copy
4900         and free.
4901
4902         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4903         GMemChunk to be fair.
4904
4905         * gst/gsttrashstack.h: Remove warning about using the fallback
4906         trash stack implementation, it's still faster than malloc.
4907
4908 2005-03-30  Andy Wingo  <wingo@pobox.com>
4909
4910         * tests/complexity.c: Add a copyright.
4911
4912 2005-03-31  Wim Taymans  <wim@fluendo.com>
4913
4914         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4915         (gst_base_transform_class_init), (gst_base_transform_init),
4916         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4917         (gst_base_transform_get_property),
4918         (gst_base_transform_sink_activate),
4919         (gst_base_transform_src_activate),
4920         (gst_base_transform_change_state):
4921         * gst/base/gstbasetransform.h:
4922         * gst/elements/gstidentity.c: (gst_identity_class_init),
4923         (gst_identity_event), (gst_identity_check_perfect),
4924         (gst_identity_transform), (gst_identity_start),
4925         (gst_identity_stop):
4926         Added start/stop methods to transform base class so subclasses 
4927         don't need to deal with state changes even.
4928
4929 2005-03-31  Wim Taymans  <wim@fluendo.com>
4930
4931         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4932         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4933         * gst/gstevent.h:
4934         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4935         (gst_pad_pull_range):
4936         Added rate to the discont event to prepare for variable speed
4937         and reverse playback.
4938
4939 2005-03-29  David Schleef  <ds@schleef.org>
4940
4941         * configure.ac:
4942         * testsuite/trigger/Makefile.am:
4943         * testsuite/trigger/trigger.c: A little example program to show
4944         how trigger-based elements can work.
4945
4946 2005-03-29  Wim Taymans  <wim@fluendo.com>
4947
4948         * gst/base/Makefile.am:
4949         * gst/base/README:
4950         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4951         (gst_basesink_base_init), (gst_basesink_class_init),
4952         (gst_basesink_pad_getcaps), (gst_basesink_init),
4953         (gst_basesink_activate), (gst_basesink_change_state):
4954         * gst/base/gstbasesink.h:
4955         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4956         (gst_base_transform_base_init), (gst_base_transform_finalize),
4957         (gst_base_transform_class_init), (gst_base_transform_init),
4958         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4959         (gst_base_transform_event), (gst_base_transform_getrange),
4960         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4961         (gst_base_transform_set_property),
4962         (gst_base_transform_get_property),
4963         (gst_base_transform_sink_activate),
4964         (gst_base_transform_src_activate),
4965         (gst_base_transform_change_state):
4966         * gst/base/gstbasetransform.h:
4967         * gst/elements/gstidentity.c: (gst_identity_finalize),
4968         (gst_identity_class_init), (gst_identity_init),
4969         (gst_identity_event), (gst_identity_check_perfect),
4970         (gst_identity_transform), (gst_identity_set_property),
4971         (gst_identity_get_property), (gst_identity_change_state):
4972         * gst/elements/gstidentity.h:
4973         * gst/gstelement.c: (gst_element_get_state_func),
4974         (gst_element_lost_state), (gst_element_pads_activate):
4975         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4976         (gst_pad_check_pull_range), (gst_pad_pull_range):
4977         * gst/gstpad.h:
4978         Simplify pad activation.
4979         Added function to check if pull_range can be performed.
4980         Error out when pulling inactive or flushing pads.
4981         Removed const from refcounted types as it does not make sense.
4982         Simplify pad templates in basesink
4983         Added base class for simple 1-to-1 transforms.
4984         Make identity subclass the base transform.
4985
4986 2005-03-29  Andy Wingo  <wingo@pobox.com>
4987
4988         * docs/libs/gstreamer-libs-overrides.txt: 
4989         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4990         really don't understand what's going on, but like whatever. I want
4991         green buildbot!
4992
4993         * docs/gst/Makefile.am:
4994         * docs/libs/Makefile.am: Dist the overrides files.
4995
4996         * check/Makefile.am (clean-local): Remove .libs directories.
4997
4998         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4999         elements to EXTRA_DIST, so po/ files are happy.
5000
5001         * po/POTFILES.in: Er, remove it here.
5002
5003         * po/POTFILES: Remove gstspider.c.
5004
5005         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5006
5007         * docs/libs/gstreamer-libs-docs.sgml: 
5008         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5009         bytestream.
5010
5011         * tests/complexity.c (main): Set the length of the preroll queue
5012         on the sinks to prevent a lockup.
5013
5014         * libs/gst/dataprotocol/Makefile.am: 
5015         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5016         the same as the one in check/gst-libs/gdp.c.
5017
5018         * po/, docs/gst/: Commit automatic changes to docs and po files.
5019
5020         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5021         the versioned libgstbase.
5022
5023         * check/Makefile.am: Depend on an unversioned gst-register, seems
5024         to make autoconf happier.
5025
5026         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5027
5028 2005-03-28  Wim Taymans  <wim@fluendo.com>
5029
5030         * configure.ac:
5031         * docs/design/part-gstelement.txt:
5032         * docs/design/part-negotiation.txt:
5033         * docs/design/part-preroll.txt:
5034         * docs/design/part-scheduling.txt:
5035         * docs/design/part-states.txt:
5036         * gst/Makefile.am:
5037         * gst/base/Makefile.am:
5038         * gst/base/README:
5039         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5040         (gst_basesink_base_init), (gst_basesink_class_init),
5041         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5042         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5043         (gst_basesink_set_pad_functions),
5044         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5045         (gst_basesink_set_property), (gst_basesink_get_property),
5046         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5047         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5048         (gst_basesink_preroll_queue_push),
5049         (gst_basesink_preroll_queue_empty),
5050         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5051         (gst_basesink_event), (gst_basesink_get_times),
5052         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5053         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5054         (gst_basesink_loop), (gst_basesink_activate),
5055         (gst_basesink_change_state):
5056         * gst/base/gstbasesink.h:
5057         * gst/elements/Makefile.am:
5058         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5059         (gst_fakesink_class_init), (gst_fakesink_init),
5060         (gst_fakesink_set_property), (gst_fakesink_get_property),
5061         (gst_fakesink_get_times), (gst_fakesink_event),
5062         (gst_fakesink_preroll), (gst_fakesink_render),
5063         (gst_fakesink_change_state):
5064         * gst/elements/gstfakesink.h:
5065         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5066         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5067         * gst/gstelement.c: (gst_element_add_pad),
5068         (gst_element_get_state_func), (gst_element_abort_state),
5069         (gst_element_commit_state), (gst_element_lost_state),
5070         (gst_element_set_state), (gst_element_pads_activate):
5071         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5072         * gst/gstpipeline.c: (gst_pipeline_send_event),
5073         (gst_pipeline_change_state):
5074         Added state change code.
5075         Added/updated docs.
5076         Added sink base class, make fakesink extend the base class.
5077         Small cleanups in GstPipeline.
5078
5079 2005-03-26  David Schleef  <ds@schleef.org>
5080
5081         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5082         is broken and should be implemented in a different library.
5083         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5084         * gst/gst.h: remove gstcpu.h
5085         * gst/gstcpu.c: remove
5086         * gst/gstcpu.h: remove
5087         * gst/Makefile.am.future: Remove this file.  It's ancient.
5088
5089 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5090
5091         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5092         (gst_bin_send_event):
5093           Add default event/set_manager handlers. The set_manager handler
5094           takes care that the manager is distributed over kids that were
5095           already in the bin before the manager was set. The event handler
5096           is a utility virtual function that sends the event over all sinks,
5097           so that gst_element_send_event (bin, event); has the expected
5098           behaviour.
5099         * gst/gstpad.c: (gst_pad_event_default):
5100           Re-install default event handling for discontinuities, so that
5101           seeking works without requiring hacks in applications or extra
5102           code in sinks.
5103         * gst/gstpipeline.c: (gst_pipeline_class_init),
5104         (gst_pipeline_send_event):
5105           Half hack, half utility: set a pipeline to PAUSED for seek events,
5106           since that is the only way we can guarantee a/v sync. Means that
5107           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5108           and it "just works".
5109
5110 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5111
5112         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5113           Lock/unlock mismatch.
5114
5115 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5116
5117         * docs/faq/gst-uninstalled:
5118           add gst-plugins-base
5119         * docs/gst/Makefile.am:
5120           don't error out until docs are fixed
5121         * docs/gst/gstreamer.types:
5122           remove thread
5123
5124 2005-03-22  Wim Taymans  <wim@fluendo.com>
5125
5126         * check/Makefile.am:
5127         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5128         * gst/gststructure.c: (gst_structure_set_valist),
5129         (gst_structure_copy_conditional):
5130         Activated more tests.
5131         Added message test.
5132         Added G_TYPE_POINTER to GstStructure.
5133         
5134
5135 2005-03-22  Wim Taymans  <wim@fluendo.com>
5136
5137         * docs/design/part-TODO.txt:
5138         * docs/design/part-events.txt:
5139         * docs/design/part-gstbin.txt:
5140         * docs/design/part-gstbus.txt:
5141         * docs/design/part-gstpipeline.txt:
5142         * docs/design/part-messages.txt:
5143         * gst/gstbus.c:
5144         * gst/gstmessage.c:
5145         Docs updates
5146
5147 2005-03-21  Wim Taymans  <wim@fluendo.com>
5148
5149         * gst/gstbus.c: (gst_bus_post):
5150         Fix copy-and-paste error.
5151
5152 2005-03-21  Wim Taymans  <wim@fluendo.com>
5153
5154         * check/Makefile.am:
5155         * gst/Makefile.am:
5156         * gst/elements/Makefile.am:
5157         * gst/elements/gstelements.c:
5158         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5159         (gst_fakesink_event), (gst_fakesink_chain):
5160         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5161         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5162         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5163         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5164         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5165         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5166         (gst_fakesrc_loop), (gst_fakesrc_activate),
5167         (gst_fakesrc_change_state):
5168         * gst/elements/gstfakesrc.h:
5169         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5170         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5171         (gst_filesrc_open_file), (gst_filesrc_loop),
5172         (gst_filesrc_activate), (gst_filesrc_change_state),
5173         (filesrc_find_peek), (filesrc_find_suggest),
5174         (gst_filesrc_type_find):
5175         * gst/elements/gstidentity.c: (gst_identity_finalize),
5176         (gst_identity_class_init), (gst_identity_init),
5177         (gst_identity_proxy_getcaps), (identity_queue_push),
5178         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5179         (gst_identity_getrange), (gst_identity_chain),
5180         (gst_identity_sink_loop), (gst_identity_src_loop),
5181         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5182         (gst_identity_set_property), (gst_identity_get_property),
5183         (gst_identity_change_state):
5184         * gst/elements/gstidentity.h:
5185         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5186         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5187         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5188         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5189         (gst_tee_sink_activate):
5190         * gst/elements/gsttee.h:
5191         * gst/gst.c: (gst_register_core_elements), (init_post):
5192         * gst/gst.h:
5193         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5194         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5195         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5196         (gst_bin_change_state):
5197         * gst/gstbin.h:
5198         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5199         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5200         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5201         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5202         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5203         (bus_watch_callback), (bus_watch_destroy),
5204         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5205         (poll_timeout), (gst_bus_poll):
5206         * gst/gstbus.h:
5207         * gst/gstcaps.h:
5208         * gst/gstdata.h:
5209         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5210         (gst_element_post_message), (gst_element_message_full),
5211         (gst_element_get_state_func), (gst_element_get_state),
5212         (gst_element_abort_state), (gst_element_commit_state),
5213         (gst_element_lost_state), (gst_element_set_state),
5214         (gst_element_pads_activate), (gst_element_change_state),
5215         (gst_element_dispose), (gst_element_set_manager_func),
5216         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5217         (gst_element_set_manager), (gst_element_get_manager),
5218         (gst_element_set_bus), (gst_element_get_bus),
5219         (gst_element_set_scheduler), (gst_element_get_scheduler):
5220         * gst/gstelement.h:
5221         * gst/gstevent.c: (gst_event_new_segment_seek),
5222         (gst_event_new_flush):
5223         * gst/gstevent.h:
5224         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5225         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5226         (gst_message_new_eos), (gst_message_new_error),
5227         (gst_message_new_warning), (gst_message_new_tag),
5228         (gst_message_new_state_changed), (gst_message_new_application),
5229         (gst_message_get_structure), (gst_message_parse_tag),
5230         (gst_message_parse_state_changed), (gst_message_parse_error),
5231         (gst_message_parse_warning):
5232         * gst/gstmessage.h:
5233         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5234         (gst_real_pad_set_property), (gst_pad_set_active),
5235         (gst_pad_is_active), (gst_pad_set_blocked_async),
5236         (gst_pad_set_blocked), (gst_pad_is_blocked),
5237         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5238         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5239         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5240         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5241         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5242         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5243         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5244         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5245         (gst_pad_set_caps), (gst_pad_configure_sink),
5246         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5247         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5248         (gst_real_pad_dispose), (gst_real_pad_finalize),
5249         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5250         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5251         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5252         * gst/gstpad.h:
5253         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5254         (pipeline_bus_handler), (gst_pipeline_change_state),
5255         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5256         * gst/gstpipeline.h:
5257         * gst/gstprobe.h:
5258         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5259         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5260         (gst_queue_link_src), (gst_queue_bufferalloc),
5261         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5262         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5263         (gst_queue_loop), (gst_queue_handle_src_event),
5264         (gst_queue_handle_src_query), (gst_queue_src_activate),
5265         (gst_queue_change_state):
5266         * gst/gstqueue.h:
5267         * gst/gstscheduler.c: (gst_scheduler_init),
5268         (gst_scheduler_dispose), (gst_scheduler_create_task),
5269         (gst_scheduler_factory_create):
5270         * gst/gstscheduler.h:
5271         * gst/gststructure.c: (gst_structure_get_type),
5272         (gst_structure_copy_conditional):
5273         * gst/gststructure.h:
5274         * gst/gsttaginterface.h:
5275         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5276         (gst_task_init), (gst_task_dispose), (gst_task_create),
5277         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5278         (gst_task_pause):
5279         * gst/gsttask.h:
5280         * gst/gstthread.c:
5281         * gst/gstthread.h:
5282         * gst/gsttypes.h:
5283         * gst/schedulers/Makefile.am:
5284         * gst/schedulers/cothreads_compat.h:
5285         * gst/schedulers/entryscheduler.c:
5286         * gst/schedulers/faircothreads.c:
5287         * gst/schedulers/faircothreads.h:
5288         * gst/schedulers/fairscheduler.c:
5289         * gst/schedulers/gstbasicscheduler.c:
5290         * gst/schedulers/gstoptimalscheduler.c:
5291         * gst/schedulers/gthread-cothreads.h:
5292         * gst/schedulers/threadscheduler.c:
5293         (gst_thread_scheduler_task_get_type),
5294         (gst_thread_scheduler_task_class_init),
5295         (gst_thread_scheduler_task_init),
5296         (gst_thread_scheduler_task_start),
5297         (gst_thread_scheduler_task_stop),
5298         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5299         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5300         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5301         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5302         (plugin_init):
5303         * libs/gst/Makefile.am:
5304         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5305         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5306         (gst_file_pad_parent_set):
5307         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5308         (gst_dp_event_from_packet):
5309         * tests/complexity.c: (main):
5310         * tests/mass_elements.c: (main):
5311         * testsuite/states/locked.c: (message_received), (main):
5312         * testsuite/states/parent.c: (main):
5313         * tools/gst-inspect.c: (print_element_flag_info),
5314         (print_implementation_info), (print_pad_info):
5315         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5316         (main):
5317         * tools/gst-md5sum.c: (event_loop), (main):
5318         * tools/gst-typefind.c: (main):
5319         * tools/gst-xmlinspect.c: (print_element_info):
5320         Next big merge.
5321         Added GstBus for mainloop integration.
5322         Added GstMessage for sending notifications on the bus.
5323         Added GstTask as an abstraction for pipeline entry points.
5324         Removed GstThread.
5325         Removed Schedulers.
5326         Simplified GstQueue for multithreaded core.
5327         Made _link threadsafe, removed old capsnego.
5328         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5329         Added pad blocking functions.
5330         Reworked scheduling functions in GstPad to prepare for
5331         scheduling updates soon.
5332         Moved events out of data stream.
5333         Simplified GstEvent types.
5334         Added return values to push/pull.
5335         Removed clocking from GstElement.
5336         Added prototypes for state change function for next merge.
5337         Removed iterate from bins and state change management.
5338         Fixed some elements, disabled others for now.
5339         Fixed -inspect and -launch.
5340         Added check for GstBus.
5341
5342 2005-03-10  Wim Taymans  <wim@fluendo.com>
5343
5344         * docs/design/part-MT-refcounting.txt:
5345         * docs/design/part-clocks.txt:
5346         * docs/design/part-gstelement.txt:
5347         * docs/design/part-gstobject.txt:
5348         * docs/design/part-standards.txt:
5349         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5350         (gst_bin_remove_func), (gst_bin_remove):
5351         * gst/gstbin.h:
5352         * gst/gstbuffer.c:
5353         * gst/gstcaps.h:
5354         * testsuite/clock/clock1.c: (main):
5355         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5356         (main):
5357         * testsuite/dlopen/loadgst.c: (do_test):
5358         * testsuite/refcounting/bin.c: (add_remove_test1),
5359         (add_remove_test2), (main):
5360         * testsuite/refcounting/element.c: (main):
5361         * testsuite/refcounting/element_pad.c: (main):
5362         * testsuite/refcounting/pad.c: (main):
5363         * tools/gst-launch.c: (sigint_handler_sighandler):
5364         * tools/gst-typefind.c: (main):
5365         Doc updates.
5366         Added doc about clock.
5367         removed gst_bin_iterate_recurse_up(), marked methods
5368         for removal.
5369         Fix more testsuites.
5370
5371 2005-03-09  Wim Taymans  <wim@fluendo.com>
5372
5373         * gst/gstpad.c: (gst_pad_get_direction),
5374         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5375         (gst_pad_collect_valist):
5376         * testsuite/bins/interface.c: (main):
5377         * testsuite/caps/audioscale.c: (test_caps):
5378         * testsuite/caps/caps.c: (test1), (test2), (test3):
5379         * testsuite/caps/deserialize.c: (main):
5380         * testsuite/caps/enumcaps.c: (main):
5381         * testsuite/caps/filtercaps.c: (main):
5382         * testsuite/caps/intersect2.c: (main):
5383         * testsuite/caps/random.c: (main):
5384         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5385         * testsuite/caps/sets.c: (check_caps):
5386         * testsuite/caps/simplify.c: (check_caps), (main):
5387         * testsuite/caps/subtract.c: (check_caps):
5388         Fix _pad_get_direction wrt ghostpads.
5389         Fix caps testsuite.
5390
5391 2005-03-09  Wim Taymans  <wim@fluendo.com>
5392
5393         * check/Makefile.am:
5394         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5395         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5396         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5397         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5398         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5399         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5400         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5401         (bin_element_is_sink), (gst_bin_iterate_sinks),
5402         (gst_bin_iterate_all_by_interface):
5403         * gst/gstbin.h:
5404         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5405         (gst_element_change_state), (gst_element_dispose),
5406         (gst_element_finalize), (gst_element_set_loop_function):
5407         * gst/gstelement.h:
5408         * gst/gstiterator.c: (find_custom_fold_func):
5409         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5410         (gst_pad_collectv), (gst_pad_collect_valist),
5411         (gst_pad_template_new):
5412         * gst/gstpipeline.c: (gst_pipeline_class_init),
5413         (gst_pipeline_dispose), (gst_pipeline_set_property),
5414         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5415         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5416         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5417         * gst/gstutils.h:
5418         * gst/schedulers/entryscheduler.c:
5419         * gst/schedulers/gstbasicscheduler.c:
5420         (gst_basic_scheduler_cothreaded_chain),
5421         (gst_basic_scheduler_chain_add_element):
5422         * testsuite/bins/interface.c: (main):
5423         Added GstBin test.
5424         Added GstSystemClock test.
5425         Implemented clock distribution code in GstBin.
5426         Implemented iterate sinks method for future use.
5427         Rearranged gstelement.h
5428         Fix GstIterator comparison bug.
5429         Moved some code to GstPipeline, mostly clocking related.
5430
5431 2005-03-09  Wim Taymans  <wim@fluendo.com>
5432
5433         * configure.ac:
5434         * gst/gst_private.h:
5435         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5436         (gst_bin_remove_func), (gst_bin_remove),
5437         (gst_bin_get_by_name_recurse_up):
5438         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5439         (gst_clock_id_compare_func), (gst_clock_id_wait),
5440         (gst_clock_id_wait_async), (gst_clock_init),
5441         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5442         * gst/gstelement.h:
5443         * gst/gstinfo.c: (_gst_debug_init):
5444         * gst/gstobject.h:
5445         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5446         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5447         * gst/gstpad.h:
5448         Bump version number, we're now 0.9.0
5449         Add future debugging category.
5450         Fix NULL _unref() in _get_by_name_recurse_up
5451         Rearrange gstpad.h.
5452         Update some docs.
5453
5454 2005-03-08  Wim Taymans  <wim@fluendo.com>
5455
5456         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5457         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5458         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5459         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5460         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5461         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5462         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5463         * gst/elements/gstidentity.c: (gst_identity_class_init):
5464         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5465         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5466         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5467         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5468         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5469         (gst_tee_link):
5470         * gst/gstelement.c: (gst_element_class_init),
5471         (gst_element_base_class_init), (gst_element_init),
5472         (gst_element_get_random_pad), (gst_element_wait_state_change),
5473         (gst_element_change_state), (gst_element_dispose),
5474         (gst_element_finalize), (gst_element_set_loop_function):
5475         * gst/gstelement.h:
5476         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5477         * gst/gstthread.c: (gst_thread_class_init),
5478         (gst_thread_release_children_locks), (gst_thread_change_state):
5479         * gst/schedulers/gstbasicscheduler.c:
5480         (gst_basic_scheduler_loopfunc_wrapper),
5481         (gst_basic_scheduler_chain_wrapper),
5482         (gst_basic_scheduler_src_wrapper),
5483         (gst_basic_scheduler_remove_element):
5484         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5485         Remove threadsafe properties. Fix elements because GObject
5486         complains when installing a property before declaring a
5487         set/get_property handler.
5488         Rearrange gstelement.h file, use STATE macros for state locks.
5489         Free mutexes in the finalize method instead of dispose.
5490
5491 2005-03-08  Wim Taymans  <wim@fluendo.com>
5492
5493         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5494         * gst/gstthread.c: (gst_thread_release_children_locks):
5495         Added parentage check.
5496         Fix build og GstThread again.
5497
5498 2005-03-08  Wim Taymans  <wim@fluendo.com>
5499
5500         * docs/design/part-MT-refcounting.txt:
5501         * docs/design/part-conventions.txt:
5502         * docs/design/part-gstobject.txt:
5503         * docs/design/part-relations.txt:
5504         * docs/design/part-standards.txt:
5505         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5506         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5507         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5508         (gst_bin_iterate_all_by_interface):
5509         * gst/gstbuffer.h:
5510         * gst/gstclock.h:
5511         * gst/gstelement.c: (gst_element_class_init),
5512         (gst_element_change_state), (gst_element_set_loop_function):
5513         * gst/gstelement.h:
5514         * gst/gstiterator.c:
5515         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5516         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5517         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5518         (gst_object_set_parent), (gst_object_unparent),
5519         (gst_object_check_uniqueness):
5520         * gst/gstobject.h:
5521         Docs updates, clean up some headers.
5522
5523 2005-03-07  Wim Taymans  <wim@fluendo.com>
5524
5525         * check/.cvsignore:
5526         * check/Makefile.am:
5527         * check/gst-libs/.cvsignore:
5528         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5529         * check/gst/.cvsignore:
5530         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5531         (START_TEST), (gstbus_suite), (main):
5532         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5533         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5534         (gst_data_suite), (main):
5535         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5536         (add_fold_func), (gstiterator_suite), (main):
5537         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5538         (thread_name_object), (thread_name_object_default),
5539         (gst_object_name_compare), (gst_object_suite), (main):
5540         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5541         (gst_pad_suite), (main):
5542         * check/gstcheck.c: (gst_check_log_message_func),
5543         (gst_check_log_critical_func), (gst_check_init):
5544         * check/gstcheck.h:
5545         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5546         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5547         Added checks.
5548
5549 2005-03-07  Wim Taymans  <wim@fluendo.com>
5550
5551         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5552         (gst_list_iterator_next), (gst_list_iterator_resync),
5553         (gst_list_iterator_free), (gst_iterator_new_list),
5554         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5555         (gst_iterator_free), (gst_iterator_push), (filter_next),
5556         (filter_resync), (filter_uninit), (filter_free),
5557         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5558         (gst_iterator_foreach), (find_custom_fold_func),
5559         (gst_iterator_find_custom):
5560         * gst/gstiterator.h:
5561         Added missing files.
5562
5563 2005-03-07  Wim Taymans  <wim@fluendo.com>
5564
5565         * Makefile.am:
5566         * configure.ac:
5567         * docs/design/part-MT-refcounting.txt:
5568         * docs/design/part-conventions.txt:
5569         * docs/design/part-gstobject.txt:
5570         * docs/design/part-relations.txt:
5571         * examples/mixer/mixer.c: (main):
5572         * examples/thread/thread.c: (eos), (main):
5573         * gst/Makefile.am:
5574         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5575         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5576         (gst_spider_plug_from_srcpad):
5577         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5578         (gst_spider_identity_change_state),
5579         (gst_spider_identity_sink_loop_type_finding):
5580         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5581         * gst/elements/gstidentity.c: (gst_identity_init):
5582         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5583         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5584         * gst/elements/gsttypefindelement.c: (free_entry):
5585         * gst/gst.c:
5586         * gst/gst.h:
5587         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5588         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5589         (gst_bin_set_index), (gst_bin_set_element_sched),
5590         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5591         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5592         (gst_bin_iterate_elements), (iterate_child_recurse),
5593         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5594         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5595         (compare_interface), (gst_bin_get_by_interface),
5596         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5597         * gst/gstbin.h:
5598         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5599         (gst_buffer_default_free), (gst_buffer_default_copy),
5600         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5601         (gst_buffer_create_sub):
5602         * gst/gstbuffer.h:
5603         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5604         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5605         (gst_caps_unref), (gst_static_caps_get),
5606         (gst_caps_remove_and_get_structure), (gst_caps_append),
5607         (gst_caps_append_structure), (gst_caps_remove_structure),
5608         (gst_caps_copy_nth), (gst_caps_set_simple),
5609         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5610         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5611         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5612         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5613         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5614         (gst_caps_structure_figure_out_union),
5615         (gst_caps_switch_structures), (gst_caps_do_simplify),
5616         (gst_caps_replace), (gst_caps_from_string),
5617         (gst_caps_copy_conditional):
5618         * gst/gstcaps.h:
5619         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5620         (_gst_clock_id_free), (gst_clock_id_unref),
5621         (gst_clock_id_compare_func), (gst_clock_id_wait),
5622         (gst_clock_id_wait_async), (gst_clock_class_init),
5623         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5624         (gst_clock_get_time), (gst_clock_set_time_adjust),
5625         (gst_clock_set_property), (gst_clock_get_property):
5626         * gst/gstclock.h:
5627         * gst/gstcompat.h:
5628         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5629         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5630         * gst/gstdata.h:
5631         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5632         (gst_element_requires_clock), (gst_element_provides_clock),
5633         (gst_element_set_clock), (gst_element_clock_wait),
5634         (gst_element_wait), (gst_element_set_time_delay),
5635         (gst_element_is_indexable), (gst_element_add_pad),
5636         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5637         (pad_compare_name), (gst_element_get_static_pad),
5638         (gst_element_request_pad), (gst_element_get_request_pad),
5639         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5640         (gst_element_class_get_pad_template_list),
5641         (gst_element_class_get_pad_template), (gst_element_error_func),
5642         (gst_element_get_random_pad), (gst_element_get_event_masks),
5643         (gst_element_send_event), (gst_element_seek),
5644         (gst_element_get_query_types), (gst_element_query),
5645         (gst_element_get_formats), (gst_element_convert),
5646         (gst_element_is_locked_state), (gst_element_set_locked_state),
5647         (gst_element_sync_state_with_parent), (gst_element_change_state),
5648         (gst_element_finalize), (gst_element_yield),
5649         (gst_element_interrupt), (gst_element_set_scheduler),
5650         (gst_element_get_scheduler), (gst_element_set_loop_function):
5651         * gst/gstelement.h:
5652         * gst/gstevent.h:
5653         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5654         (gst_format_get_by_nick), (gst_format_get_details),
5655         (gst_format_iterate_definitions):
5656         * gst/gstformat.h:
5657         * gst/gstindex.c: (gst_index_gtype_resolver):
5658         * gst/gstinfo.c:
5659         * gst/gstinfo.h:
5660         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5661         (gst_mem_chunk_free):
5662         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5663         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5664         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5665         (gst_object_dispatch_properties_changed),
5666         (gst_object_set_name_default), (gst_object_set_name),
5667         (gst_object_get_name), (gst_object_set_name_prefix),
5668         (gst_object_get_name_prefix), (gst_object_set_parent),
5669         (gst_object_get_parent), (gst_object_unparent),
5670         (gst_object_check_uniqueness), (gst_object_save_thyself),
5671         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5672         (gst_object_set_property), (gst_object_get_property),
5673         (gst_object_get_path_string):
5674         * gst/gstobject.h:
5675         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5676         (gst_real_pad_init), (gst_real_pad_get_property),
5677         (gst_pad_custom_new), (gst_pad_get_direction),
5678         (gst_pad_set_active), (gst_pad_is_active),
5679         (gst_pad_set_event_function), (gst_pad_is_linked),
5680         (gst_pad_link_free), (gst_pad_link_intersect),
5681         (gst_pad_link_fixate), (gst_pad_set_caps),
5682         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5683         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5684         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5685         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5686         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5687         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5688         (gst_pad_realize), (gst_pad_get_allowed_caps),
5689         (gst_real_pad_dispose), (gst_real_pad_finalize),
5690         (gst_pad_collectv), (gst_pad_collect_valist),
5691         (gst_pad_template_dispose), (gst_pad_template_new),
5692         (gst_pad_get_internal_links):
5693         * gst/gstpad.h:
5694         * gst/gstpipeline.c: (gst_pipeline_dispose),
5695         (gst_pipeline_change_state):
5696         * gst/gstpipeline.h:
5697         * gst/gstplugin.c:
5698         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5699         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5700         * gst/gstpluginfeature.h:
5701         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5702         * gst/gstquery.c: (_gst_query_type_initialize),
5703         (gst_query_type_register), (gst_query_type_get_by_nick),
5704         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5705         * gst/gstquery.h:
5706         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5707         * gst/gstscheduler.c: (gst_scheduler_add_element),
5708         (gst_scheduler_factory_create):
5709         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5710         (gst_structure_free), (gst_structure_set_name),
5711         (gst_structure_id_set_value), (gst_structure_set_value),
5712         (gst_structure_set_valist), (gst_structure_remove_field),
5713         (gst_structure_remove_fields),
5714         (gst_structure_remove_fields_valist),
5715         (gst_structure_remove_all_fields), (gst_structure_foreach),
5716         (gst_structure_map_in_place),
5717         (gst_caps_structure_fixate_field_nearest_int),
5718         (gst_caps_structure_fixate_field_nearest_double):
5719         * gst/gststructure.h:
5720         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5721         (gst_system_clock_init), (gst_system_clock_dispose),
5722         (gst_system_clock_async_thread),
5723         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5724         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5725         * gst/gstsystemclock.h:
5726         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5727         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5728         * gst/gsttaginterface.c:
5729         * gst/gstthread.c: (gst_thread_dispose),
5730         (gst_thread_release_children_locks), (gst_thread_change_state),
5731         (gst_thread_main_loop):
5732         * gst/gsttrashstack.h:
5733         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5734         * gst/gsttypes.h:
5735         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5736         (gst_element_request_pad), (gst_element_get_pad_from_template),
5737         (gst_element_request_compatible_pad),
5738         (gst_element_get_compatible_pad_filtered),
5739         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5740         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5741         (gst_element_link_many), (gst_element_link),
5742         (gst_element_link_pads), (gst_element_unlink_pads),
5743         (gst_element_unlink_many), (gst_element_unlink),
5744         (gst_pad_can_link_filtered), (gst_pad_can_link),
5745         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5746         (gst_object_default_error), (gst_bin_add_many),
5747         (gst_bin_remove_many), (gst_element_populate_std_props),
5748         (gst_element_class_install_std_props), (gst_buffer_merge),
5749         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5750         (link_fold_func), (gst_pad_proxy_setcaps):
5751         * gst/gstutils.h:
5752         * gst/gstvalue.c: (gst_value_deserialize_string):
5753         * gst/parse/grammar.y:
5754         * gst/schedulers/gstbasicscheduler.c:
5755         (gst_basic_scheduler_cothreaded_chain),
5756         (gst_basic_scheduler_chain_recursive_add),
5757         (gst_basic_scheduler_pad_link):
5758         * gst/schedulers/gstoptimalscheduler.c:
5759         (get_group_schedule_function),
5760         (gst_opt_scheduler_state_transition),
5761         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5762         * libs/gst/bytestream/bytestream.c:
5763         * libs/gst/dataprotocol/dataprotocol.c:
5764         (gst_dp_header_from_buffer):
5765         * po/nb.po:
5766         * po/ru.po:
5767         * tests/threadstate/threadstate2.c: (eos):
5768         * tools/gst-compprep.c: (main):
5769         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5770         (print_pad_info), (print_children_info):
5771         * tools/gst-launch.c: (idle_func), (main):
5772         * tools/gst-md5sum.c: (idle_func), (main):
5773         * tools/gst-xmlinspect.c: (print_element_info):
5774         First THREADED backport attempt, focusing on adding locks and
5775         making sure the API is threadsafe. Needs more work. More docs
5776         follow this week.
5777
5778 2005-02-24  Andy Wingo  <wingo@pobox.com>
5779
5780         * tests/bench-complexity.scm:
5781         * tests/complexity.gnuplot: New files, good for running complexity
5782         benchmarks.
5783
5784         * tests/Makefile.am:
5785         * tests/complexity.c: New test, sets up N elements, at each level
5786         teeing into M streams per element. Eeeenteresting.
5787
5788         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5789         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5790         running bench-mass_elements.scm.
5791
5792         * tests/bench-mass_elements.scm: New script, runs mass_elements
5793         for various numbers of identities, outputting the results to a
5794         file. Requires guile 1.6. Just for testing.
5795
5796 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5797
5798         * gst/schedulers/fairscheduler.c:
5799           compile with debug disabled
5800
5801 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5802
5803         * configure.ac:
5804           hunting season on 0.9 is now OPEN
5805
5806 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5807
5808         * docs/libs/tmpl/gstcontrol.sgml:
5809         * docs/libs/tmpl/gstdparam.sgml:
5810         * docs/libs/tmpl/gstdplinint.sgml:
5811         * docs/libs/tmpl/gstdpman.sgml:
5812         * docs/libs/tmpl/gstdpsmooth.sgml:
5813         * docs/libs/tmpl/gstunitconvert.sgml:
5814           more docs for the state of dparams
5815
5816 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5817
5818         * gst/gstelementfactory.c: (gst_element_factory_create):
5819         * gst/gstobject.c: (gst_object_init),
5820         (gst_object_set_name_default), (gst_object_set_name):
5821           name objects by default, not in gst_element_factory_create. Allows
5822           using elements created with g_object_new. (fixes #167283)
5823
5824 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5825
5826         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5827           make the time that debugging functions print relative to when
5828           gst_init was called
5829
5830 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * gst/gsttaginterface.c:
5833           Fix inline docs: tag setter vararg functions are NULL-terminated,
5834           GST_TAG_INVALID doesn't exist any more.
5835
5836 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5837
5838         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5839         Allocate the 1 byte more memory that was forgotten!!!!!
5840         fixes memory corruption on 64bit platforms
5841
5842 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5843
5844         * docs/pwg/building-pads.xml:
5845         * docs/pwg/intro-basics.xml:
5846           fixed a few typos, relabeled introductionary list of types
5847         * docs/random/ensonic/dparams.txt:
5848           more notes abut dparam changes
5849         * libs/gst/control/dparam.c: (gst_dparam_attach):
5850         * libs/gst/control/dparammanager.c:
5851         * libs/gst/control/dparammanager.h:
5852           - many comments and notes on dparam implementation
5853           - new dparams are were not initialized to the default value
5854             from param spec
5855
5856 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5857
5858         submitted by: Peter Astakhov
5859
5860         * po/LINGUAS:
5861         * po/ru.po:
5862           adding Russian translation
5863
5864 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * configure.ac:
5867         * docs/gst/Makefile.am:
5868         * docs/libs/Makefile.am:
5869           make sure popt is added to gtk-doc flags.  Fixes #147782.
5870
5871 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5872
5873         * docs/faq/using.xml:
5874           Fix typo in FAQ (artssink => artsdsink)
5875
5876 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5877
5878         * tools/gst-launch.1.in:
5879           Fix typo (#166699).
5880
5881 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * docs/faq/using.xml:
5884           Add -v argument to fakesrc/fakesink gst-launch line,
5885           so that the promised output will actually show up.
5886
5887 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5888
5889         * gst/gstthread.c: (gst_thread_change_state):
5890           Implement state-change error handling (#166073).
5891
5892 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5893
5894         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5895           Release interrupt after handling (#166250).
5896
5897 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * configure.ac:
5900           back to HEAD
5901
5902 === release 0.8.9 ===
5903
5904 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * NEWS:
5907         * RELEASE:
5908         * configure.ac:
5909           releasing 0.8.9, "Like Eating Glass"
5910
5911 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5912
5913         submitted by: Clytie Siddall
5914
5915         * po/vi.po: Added Vietnamese translation
5916
5917 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5918
5919         patch by: Tim Philipp-Müller
5920
5921         * configure.ac:
5922         * gst/gstpad.c:
5923           unref data when probe function returns FALSE.  Fixes #166362
5924
5925 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5926
5927         * gst/gst.c: (gst_init_get_popt_table):
5928           Fix typo (#166269).
5929
5930 2005-02-04  Andy Wingo  <wingo@pobox.com>
5931
5932         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5933         the debugging on whether the caps are compatible.
5934
5935 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5936
5937         * docs/manual/basics-elements.xml:
5938           Fix two typos.
5939
5940 2005-02-02  Wim Taymans  <wim@fluendo.com>
5941
5942         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5943         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5944         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5945         Remove some FIXMEs after analysing and commenting why they
5946         are not issues.
5947
5948 2005-02-02  Wim Taymans  <wim@fluendo.com>
5949
5950         * gst/schedulers/gstoptimalscheduler.c:
5951         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5952         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5953         (get_invalid_call), (chain_invalid_call),
5954         (get_group_schedule_function), (loop_group_schedule_function),
5955         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5956         (gst_opt_scheduler_state_transition),
5957         (gst_opt_scheduler_add_element),
5958         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5959         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5960         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5961         (gst_opt_scheduler_show):
5962         Added lock to protect scheduler data structures.
5963
5964 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5965
5966         * testsuite/threads/threadi.c: (cb_data):
5967           Fix buglet in test.
5968
5969 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5970
5971         * testsuite/threads/Makefile.am:
5972         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5973           On Wim's request, split the test in three separately-compiled
5974           tests that each test a very specific bug. Two of them still fail,
5975           will create bugs for those. threadi.c indicates why they fail.
5976
5977 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5978
5979         * gst/schedulers/gstoptimalscheduler.c:
5980         (get_group_schedule_function):
5981           Try to work with the threading mess that queue_link is.
5982
5983 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5984
5985         * gst/gstbin.c: (gst_bin_remove_func):
5986           Explicitely make an element release locks in a group when being
5987           remove from a bin.
5988         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5989           If there's no scheduler, always return immediately (similar to
5990           gst_element_interrupt).
5991
5992 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5993
5994         * gst/gstbin.c: (gst_bin_child_state_change_func):
5995           Remove a piece of code that could never be reached.
5996         * docs/gst/gstreamer-sections.txt:
5997         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5998         (gst_pad_call_get_function):
5999         * gst/gstpad.h:
6000         * testsuite/pad/Makefile.am:
6001           Fix #150546, enable tests.
6002
6003 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6004
6005         * docs/pwg/advanced-types.xml:
6006           Fix description for buffer-frames=0.
6007         * docs/gst/tmpl/gstbin.sgml:
6008         * gst/gstbin.c: (gst_bin_child_state_change_func),
6009         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6010         * gst/gstbin.h:
6011         * testsuite/threads/Makefile.am:
6012         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6013         (cb_state), (cb_play), (main):
6014           Fix non-recursive state changes to *really* change the state
6015           of the object, and not just call parent_class->state_change.
6016           Fix a lot of lockups caused by this. Fixes #132775. Add test
6017           for the problem. Also enable test to show #142588 (fixed).
6018         * gst/gstthread.c: (gst_thread_change_state),
6019         (gst_thread_child_state_change):
6020           Don't exit the thread if we go to NULL and are inside thread
6021           context. Instead, return control to the main thread context
6022           and exit from there.
6023         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6024           Don't unset virtual functions, since those may still be used.
6025           That's not necessarily correct, but suffices for now.
6026         * configure.ac:
6027         * testsuite/Makefile.am:
6028         * testsuite/pad/Makefile.am:
6029         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6030         (gst_test_sink_base_init), (gst_test_sink_chain),
6031         (gst_test_sink_init), (main):
6032         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6033         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6034         (main):
6035         * testsuite/pad/link.c: (gst_test_element_class_init),
6036         (gst_test_element_base_init), (gst_test_src_get),
6037         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6038         (gst_test_filter_loop), (gst_test_filter_init),
6039         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6040         (cb_error), (main):
6041           Add tests to show #150546. Pass, but should fail (currently
6042           disabled from the testsuite).
6043         * gst/gstscheduler.c: (gst_scheduler_dispose):
6044           Dereference child schedulers on dispose (#94464).
6045         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6046           Fix typo.
6047         * testsuite/threads/thread.c: (main):
6048           Add more debug.
6049
6050 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6051
6052         * gst/gstpad.c: (gst_pad_push):
6053           Oops, revert previous commit, broke testsuite...
6054
6055 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6056
6057         * gst/gstpad.c: (gst_pad_push):
6058           Add check that the pad on which the push is performed is not a
6059           get-based pad (#150546).
6060
6061 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6062
6063         * gst/elements/gsttypefindelement.c:
6064         (gst_type_find_element_handle_event):
6065           Fix buffer pushing if stream EOSes during typefinding.
6066
6067 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6068
6069         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6070
6071         * gst/gstvalue.c: (gst_string_wrap):
6072           Allow NULL-strings as argument (#165365).
6073
6074 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6075
6076         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * gst/schedulers/faircothreads.c:
6079         (gst_fair_scheduler_cothread_queue_show):
6080           Fix build without debug enabled.
6081
6082 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6083
6084         * docs/gst/gstreamer-sections.txt:
6085         * docs/libs/gstreamer-libs-docs.sgml:
6086         * docs/libs/gstreamer-libs-sections.txt:
6087         * docs/libs/tmpl/gstcontrol.sgml:
6088         * docs/libs/tmpl/gstdparam.sgml:
6089         * docs/libs/tmpl/gstdplinint.sgml:
6090         * docs/libs/tmpl/gstdpman.sgml:
6091         * docs/libs/tmpl/gstdpsmooth.sgml:
6092         * docs/libs/tmpl/gstputbits.sgml:
6093         * docs/libs/tmpl/gstunitconvert.sgml:
6094         * libs/gst/control/dparam.c:
6095         * libs/gst/control/dparam.h:
6096         * libs/gst/control/dparammanager.c:
6097         (gst_dpman_add_required_dparam_callback),
6098         (gst_dpman_add_required_dparam_direct),
6099         (gst_dpman_add_required_dparam_array),
6100         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6101         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6102         (gst_dpman_get_manager)
6103           restructured DParam docs
6104
6105 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
6106
6107         * gst-element-check.m4:
6108           Only check for gst-inspect if we haven't already
6109           found it in previous element check runs
6110
6111 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * docs/gst/Makefile.am:
6114         * docs/libs/Makefile.am:
6115           fixed install rules to treat style.css as optional
6116
6117 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6118
6119         * docs/gst/Makefile.am:
6120         * docs/libs/Makefile.am:
6121           install style.css along with docs
6122         * docs/gst/tmpl/gstbin.sgml:
6123         * docs/gst/tmpl/gstclock.sgml:
6124         * docs/gst/tmpl/gstdata.sgml:
6125         * docs/gst/tmpl/gstelement.sgml:
6126         * gst/gstbin.h:
6127         * gst/gstelement.c: (gst_element_class_init):
6128         * gst/gstelement.h:
6129           fixing incomplete docs
6130
6131 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
6132
6133         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6134           Don't unref seek event twice when fflush() fails
6135           
6136 2005-01-22  David Schleef  <ds@schleef.org>
6137
6138         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6139
6140 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6141
6142         * docs/gst/Makefile.am:
6143         * docs/libs/Makefile.am:
6144           added params for deprecation guards
6145         * gst/gst.c:
6146         * gst/gst.h:
6147         * gst/gsterror.c: (_gst_resource_errors_init),
6148         (_gst_stream_errors_init):
6149         * gst/gsterror.h:
6150           documented some more enums
6151
6152 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6153         * gst/autoplug/gstspideridentity.c:
6154         Cosmetic fix - spider_find_peek should be static
6155         * gst/parse/parse.l:
6156         Applying fix for #164261
6157
6158 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6159
6160         * docs/gst/gstreamer-sections.txt:
6161         * docs/gst/tmpl/gstplugin.sgml:
6162         * docs/libs/gstreamer-libs-sections.txt:
6163         * docs/libs/tmpl/gstcontrol.sgml:
6164         * gst/gstbuffer.h:
6165         * gst/gsttag.h:
6166         * gst/gstvalue.c:
6167           added docs for the TAG defines
6168
6169 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6170
6171         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6172           Only unref entry if there is an entry.
6173
6174 2005-01-17  Wim Taymans  <wim@fluendo.com>
6175
6176         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6177         (remove_from_group), (schedule_group), (normalize_group),
6178         (gst_opt_scheduler_iterate):
6179         Also ref/unref decoupled elements before iterating the
6180         group since they are not added to the list of elements.
6181
6182 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6183
6184         * docs/manual/highlevel-components.xml:
6185           Add subtitle/streamselection as new features to playbin.
6186
6187 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6188
6189         * docs/manual/manual.xml:
6190           Re-enable dataaccess docs (oops).
6191
6192 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6193
6194         * docs/pwg/advanced-types.xml:
6195         * docs/random/mimetypes:
6196           Add documentation on libsndfile types (#163309), by Steve Baker
6197           <steve@stevebaker.org>.
6198         * gst/gstelement.c: (gst_element_release_request_pad):
6199           If an element has no explicit function, just remove the pad.
6200
6201 2005-01-17  Luca Ognibene  <luogni@tin.it>
6202
6203         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6204
6205         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6206           Fix memleak (#163801).
6207
6208 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6209
6210         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6211           I think this is actually more correct...
6212
6213 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6214
6215         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6216           Another workaround for memory access while destroyed in callback.
6217           Please, someone with refcount knowledge, have a look at this.
6218
6219 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6220
6221         * docs/faq/faq.xml:
6222         * docs/faq/legal.xml:
6223           move the legal Q&A here
6224
6225 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6226
6227         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6228         (gst_tee_request_new_pad):
6229           Fix negotiation.
6230
6231 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6232
6233         * docs/random/omega/caps2:
6234         * testsuite/caps/caps_strings:
6235           replace framerate aproximations by their real value
6236           (24000/1001, 30000/1001, 60000/1001)
6237           Partially fixes bug #164049
6238
6239 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6240
6241         * docs/gst/Makefile.am:
6242           don't fail on the stupid GstPoptOption
6243
6244 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6245
6246         * gst/gstpad.h:
6247         * gst/gstprobe.c:
6248           allow probes to work on ghost pads by realizing the pad
6249           probe debugging
6250
6251 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6252
6253         * docs/gst/gstreamer-sections.txt:
6254         * docs/gst/tmpl/gstpad.sgml:
6255         * gst/gstpad.c: (gst_pad_set_active_recursive):
6256         * gst/gstpad.h:
6257           Add gst_pad_set_active_recursive().
6258
6259 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         * docs/random/release:
6262           updates
6263         * gst/gst_private.h:
6264         * gst/gstinfo.c:
6265         * gst/gstobject.c:
6266           move deep_notify logging to a new category
6267         * gst/gstprobe.c:
6268         * gst/gstprobe.h:
6269           add stuff so bindings can wrap probes
6270
6271 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6272
6273         * gst/gstplugin.c: (gst_plugin_load):
6274           Fix plugin loading if plugin/lib was already loaded. Fixes
6275           #163383
6276
6277 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6278
6279         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6280
6281         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6282           Protect plugin loading by a mutex so it's threadsafe. Fixes
6283           #163234.
6284
6285 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6286
6287         * gst/gstevent.c: (_gst_event_copy):
6288           Reference source object when copying events, since it'll be
6289           dereferenced on event dereferencing as well.
6290
6291 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6292
6293         * docs/gst/gstreamer-sections.txt:
6294         * docs/gst/tmpl/gstevent.sgml:
6295         * gst/gstevent.c: (gst_event_new_filler_stamped),
6296         (gst_event_filler_get_duration):
6297         * gst/gstevent.h:
6298           Add two new functions for filler events (which are used to
6299           synchronize streams if one of them is not having any data
6300           for a while) without interrupting the actual data-stream.
6301           Basically a no-op.
6302         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6303         (gst_queue_link_sink), (gst_queue_link_src),
6304         (gst_queue_change_state):
6305           Allow for renegotiation while filled. Required for stream
6306           switching while playing.
6307
6308 2005-01-08  Benjamin Otte  <otte@gnome.org>
6309
6310         * gst/gstelement.c: (gst_element_link_many):
6311           fix up g_return_if_fail's
6312         * po/LINGUAS:
6313         * po/de.po:
6314           add German translation, that was somehow not included
6315
6316 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6317
6318         * docs/random/mimetypes:
6319           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6320           do not add them to riff-lib as they are not common
6321
6322 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6323
6324         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6325           Check for existence of probe after performing the probe before
6326           re-accessing it to prevent segfaults caused by removal of the
6327           probe in the callback.
6328
6329 2005-01-05  David Schleef  <ds@schleef.org>
6330
6331         * testsuite/registry/Makefile.am:
6332         * testsuite/registry/gst-print-formats.c:
6333         (print_pad_templates_info), (print_element_list),
6334         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6335         (g_list_uniqify), (get_pad_templates_info),
6336         (get_element_mime_list), (print_mime_list), (main): A little
6337         program that looks through the registry to find elements of
6338         a given type.  Not particularly interesting as a test, except
6339         that there's no other test covering the same area.
6340
6341 2005-01-05  David Schleef  <ds@schleef.org>
6342
6343         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6344         (fault_handler_sigaction), (fault_spin),
6345         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6346         in signal.h-type signal handlers by not calling forbidden functions,
6347         including gst_element_set_state().
6348
6349 2005-01-05  David Schleef  <ds@schleef.org>
6350
6351         * gst/gstvalue.h: Mark _gst_reserved[] as private
6352
6353 2005-01-05  David Schleef  <ds@schleef.org>
6354
6355         * gst/gstvalue.c: Fix doc build problem.
6356
6357 2005-01-05  David Schleef  <ds@schleef.org>
6358
6359         * gst/gstvalue.c: Add some documentation
6360
6361 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6362
6363         * docs/README:
6364           another shell oneliner for empty return value docs
6365         * gst/gstcaps.c:
6366         * gst/gstvalue.c:
6367         * libs/gst/control/dparam.c:
6368           more doc fixes (parameters and return values)
6369
6370 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6371
6372         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6373
6374         * gst/gstregistry.h:
6375         * gst/registries/gstxmlregistry.c:
6376           Fix macro's for Mingw (fixes #162276).
6377
6378 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6379
6380         * docs/README:
6381           quick shell oneliner to find undocumented members
6382         * docs/gst/tmpl/gstplugin.sgml:
6383         * docs/gst/tmpl/gstscheduler.sgml:
6384         * docs/gst/tmpl/gstthread.sgml:
6385           more enumtypes cleanup
6386         * gst/gsterror.h:
6387           activated documentation comments, now someone needs to document
6388           the enums :(
6389
6390 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6391
6392         * docs/manual/manual.xml:
6393           Add dataaccess part (doh!).
6394
6395 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6396
6397         * docs/manual/advanced-autoplugging.xml:
6398           Fix typo (intiate -> initiate).
6399
6400 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6401
6402         * docs/random/bbb/streamselection:
6403           Add some notes on how to handle multi-subtitle/-audio streams.
6404
6405 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6406
6407         * docs/gst/gstreamer-docs.sgml:
6408         * docs/gst/gstreamer-sections.txt:
6409         * docs/gst/tmpl/gstenumtypes.sgml:
6410         * docs/gst/tmpl/gsterror.sgml:
6411         * docs/gst/tmpl/gstevent.sgml:
6412         * docs/gst/tmpl/gstpad.sgml:
6413         * docs/gst/tmpl/gstpadtemplate.sgml:
6414         * docs/gst/tmpl/gstthread.sgml:
6415           removed gstenumtypes section from docs and put all the enums into
6416           their sections
6417
6418 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6419
6420         * gst/gstplugin.c:
6421           document gst_library_load a bit more (riff special case + return
6422           value if already loaded)
6423         * testsuite/bytestream/filepadsink.c:
6424           plugin name is 'gstbytestream', not 'bytestream'
6425
6426 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6427
6428         * docs/random/bbb/subtitles:
6429           Add some first mind rumblings on proper subtitle support.
6430
6431 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6432
6433         * po/ca.po:
6434         * po/sv.po:
6435           updated translations
6436
6437 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6438
6439         * docs/manual/advanced-dataaccess.xml:
6440           Add section on how to use fakesrc/fakesink/identity in your
6441           application, plus section on how to embed plugins. Also mention
6442           probes.
6443         * docs/manual/appendix-checklist.xml:
6444         * docs/manual/appendix-debugging.xml:
6445         * docs/manual/appendix-gnome.xml:
6446         * docs/manual/appendix-integration.xml:
6447           Debug -> checklist, GNOME -> integration, add sections on Linux,
6448           KDE integration and add other things useful for application
6449           development.
6450         * docs/manual/manual.xml:
6451           Remove some fixmes, update some file pointers.
6452         * docs/pwg/appendix-checklist.xml:
6453           Fix typo.
6454         * docs/pwg/building-boiler.xml:
6455           Remove ugly header and add commented fixme.
6456         * docs/pwg/pwg.xml:
6457           Add fixme.
6458         * examples/manual/Makefile.am:
6459           Add example for added docs.
6460
6461 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6462
6463         * configure.ac:
6464           back to HEAD
6465
6466 === release 0.8.8 ===
6467
6468 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6469
6470         * NEWS:
6471         * RELEASE:
6472         * configure.ac:
6473           Releasing 0.8.8, "I'll Take Care Of You"
6474
6475 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6476
6477         * configure.ac:
6478           second prerelease
6479
6480 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6481
6482         patch by: Wim Taymans
6483
6484         * gst/gstbin.c:
6485           Fix for #159852 - make iterate emission threadsafe
6486
6487 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6488
6489         * docs/faq/cvs.xml:
6490           notes about new fdo account request
6491
6492 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6493
6494         * docs/gst/gstreamer-docs.sgml:
6495         * docs/gst/tmpl/gstenumtypes.sgml:
6496         * docs/gst/tmpl/gstplugin.sgml:
6497         * docs/libs/gstreamer-libs-docs.sgml:
6498           Added missing short docs. Added ids for navigation.
6499
6500 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6501
6502         * docs/manual/advanced-autoplugging.xml:
6503         * docs/manual/advanced-schedulers.xml:
6504         * docs/manual/advanced-threads.xml:
6505           Rewrites. Remove cothreads, go a bit into opt specifically,
6506           document threads and their gotchas, and do some technical stuff
6507           on autoplugging plus add some working examples. Fixes #157395.
6508         * examples/manual/Makefile.am:
6509           Add typefind/autoplugger example (one that actually works).
6510           Remove queue example since it's a duplicate of the thread one.
6511
6512 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6513
6514         * gst/gstvalue.c: (gst_value_deserialize_string):
6515           use deprecated g_value_set_string_take_ownership to keep compatible
6516           with glib 2.2
6517
6518 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6519
6520         * gst/gstvalue.c: (gst_value_deserialize_string):
6521           revert last patch, only dom a g_utf8_validate now before accepting
6522           the string - caps parsing strips " from strings so we can't rely on
6523           them
6524         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6525           disable a test that tested the above and comment it
6526
6527 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6528
6529         Patch reviewed by David Schleef  <ds@schleef.org>
6530
6531         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6532         bug #153882)
6533         * win32/gstenumtypes.h: same
6534
6535 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6536
6537         * gst/gstpad.c: (gst_pad_query):
6538           Do query on realized pad, similar to how convert/send_event handle
6539           this. Also makes sense, since this pad belongs to the function to
6540           which this query will be sent. Fixes #158163.
6541
6542 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6543
6544         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6545
6546 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6547
6548         * docs/faq/general.xml: fix pipeline to actually work
6549
6550 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6551
6552         * gst/gstvalue.c: (gst_value_deserialize_string):
6553           check that a simple string that gets deserialized does not contain
6554           invalid characters
6555         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6556           remove a test that tested a wring behaviour
6557
6558 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6559
6560         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6561
6562         * docs/manual/intro-motivation.xml:
6563           Fix typos.
6564
6565 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6566
6567         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6568
6569         * docs/gst/tmpl/gstprobe.sgml:
6570           Fix documentation of probe callback - it is supposed to return
6571           FALSE, not TRUE, to remove data from the stream (#159087).
6572
6573 2004-12-16  Daniel Gazard  <dany42@free.fr>
6574
6575         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6576
6577         * gst/gstelementfactory.c: (gst_element_factory_create):
6578           Fix compile failure if compiling without libxml2 support (#149936).
6579
6580 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6581
6582         * docs/manual/advanced-autoplugging.xml:
6583         * docs/manual/highlevel-components.xml:
6584           Move spider from autoplugging to components. Autoplugging is for
6585           internals, not for solutions. ;-).
6586
6587 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6588
6589         * docs/random/ds/0.9-suggested-changes:
6590           Make note on device/location/uri property names.
6591
6592 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6593
6594         * docs/manual/advanced-autoplugging.xml:
6595         * docs/manual/advanced-clocks.xml:
6596         * docs/manual/advanced-interfaces.xml:
6597         * docs/manual/advanced-metadata.xml:
6598         * docs/manual/advanced-position.xml:
6599         * docs/manual/advanced-schedulers.xml:
6600         * docs/manual/advanced-threads.xml:
6601         * docs/manual/appendix-gnome.xml:
6602         * docs/manual/appendix-programs.xml:
6603         * docs/manual/appendix-quotes.xml:
6604         * docs/manual/autoplugging.xml:
6605         * docs/manual/basics-bins.xml:
6606         * docs/manual/basics-data.xml:
6607         * docs/manual/basics-elements.xml:
6608         * docs/manual/basics-helloworld.xml:
6609         * docs/manual/basics-init.xml:
6610         * docs/manual/basics-pads.xml:
6611         * docs/manual/basics-plugins.xml:
6612         * docs/manual/bins-api.xml:
6613         * docs/manual/bins.xml:
6614         * docs/manual/buffers-api.xml:
6615         * docs/manual/buffers.xml:
6616         * docs/manual/clocks.xml:
6617         * docs/manual/components.xml:
6618         * docs/manual/cothreads.xml:
6619         * docs/manual/debugging.xml:
6620         * docs/manual/dparams-app.xml:
6621         * docs/manual/dynamic.xml:
6622         * docs/manual/elements-api.xml:
6623         * docs/manual/elements.xml:
6624         * docs/manual/factories.xml:
6625         * docs/manual/gnome.xml:
6626         * docs/manual/goals.xml:
6627         * docs/manual/helloworld.xml:
6628         * docs/manual/helloworld2.xml:
6629         * docs/manual/highlevel-components.xml:
6630         * docs/manual/highlevel-xml.xml:
6631         * docs/manual/init-api.xml:
6632         * docs/manual/intro-basics.xml:
6633         * docs/manual/intro-motivation.xml:
6634         * docs/manual/intro-preface.xml:
6635         * docs/manual/intro.xml:
6636         * docs/manual/links-api.xml:
6637         * docs/manual/links.xml:
6638         * docs/manual/manual.xml:
6639         * docs/manual/motivation.xml:
6640         * docs/manual/pads-api.xml:
6641         * docs/manual/pads.xml:
6642         * docs/manual/plugins-api.xml:
6643         * docs/manual/plugins.xml:
6644         * docs/manual/programs.xml:
6645         * docs/manual/queues.xml:
6646         * docs/manual/quotes.xml:
6647         * docs/manual/schedulers.xml:
6648         * docs/manual/states-api.xml:
6649         * docs/manual/states.xml:
6650         * docs/manual/threads.xml:
6651         * docs/manual/typedetection.xml:
6652         * docs/manual/win32.xml:
6653         * docs/manual/xml.xml:
6654           Try 2. This time, include a short preface as a "general
6655           introduction", also add code blocks around all code samples
6656           so they get compiled. We still need a way to tell readers
6657           the filename of the code sample. In some cases, don't show
6658           all code in the documentation, but do include it in the generated
6659           code. This allows for focussing on specific bits in the docs,
6660           while still having a full test application available.
6661         * examples/manual/Makefile.am:
6662           Fix up examples for new ADM. Add several of the new examples that
6663           were either added or were missing from the build system.
6664         * examples/manual/extract.pl:
6665           Allow nameless blocks.
6666
6667 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * docs/manual/elements-api.xml:
6670         * docs/manual/helloworld.xml:
6671         * examples/manual/extract.pl:
6672           fix last example.  Add example of adding code blocks that are not
6673           shown in docbook output.
6674
6675 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6676
6677         * docs/manual/dynamic.xml:
6678         * docs/manual/elements-api.xml:
6679         * docs/manual/gnome.xml:
6680         * docs/manual/helloworld2.xml:
6681         * docs/manual/init-api.xml:
6682         * docs/manual/queues.xml:
6683         * docs/manual/threads.xml:
6684         * docs/manual/xml.xml:
6685         * examples/manual/extract.pl:
6686           Make it possible to extract example code from separate blocks.
6687           Should make Ronald happy.
6688
6689 2004-12-15  Wim Taymans  <wim@fluendo.com>
6690
6691         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6692         (remove_from_group), (group_elements_set_visited),
6693         (normalize_group), (gst_opt_scheduler_iterate):
6694         Fix bug where a flag was not updated on a decoupled entry point 
6695         because we were just checking the group element list and decoupled
6696         elements are not in that list..
6697
6698 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6699
6700         * docs/manual/advanced-autoplugging.xml:
6701         * docs/manual/advanced-clocks.xml:
6702         * docs/manual/advanced-dparams.xml:
6703         * docs/manual/advanced-interfaces.xml:
6704         * docs/manual/advanced-metadata.xml:
6705         * docs/manual/advanced-position.xml:
6706         * docs/manual/advanced-schedulers.xml:
6707         * docs/manual/advanced-threads.xml:
6708         * docs/manual/appendix-debugging.xml:
6709         * docs/manual/appendix-gnome.xml:
6710         * docs/manual/appendix-programs.xml:
6711         * docs/manual/appendix-quotes.xml:
6712         * docs/manual/appendix-win32.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-motivation.xml:
6742         * docs/manual/intro-preface.xml:
6743         * docs/manual/intro.xml:
6744         * docs/manual/links-api.xml:
6745         * docs/manual/links.xml:
6746         * docs/manual/manual.xml:
6747         * docs/manual/motivation.xml:
6748         * docs/manual/pads-api.xml:
6749         * docs/manual/pads.xml:
6750         * docs/manual/plugins-api.xml:
6751         * docs/manual/plugins.xml:
6752         * docs/manual/programs.xml:
6753         * docs/manual/queues.xml:
6754         * docs/manual/quotes.xml:
6755         * docs/manual/schedulers.xml:
6756         * docs/manual/states-api.xml:
6757         * docs/manual/states.xml:
6758         * docs/manual/threads.xml:
6759         * docs/manual/typedetection.xml:
6760         * docs/manual/win32.xml:
6761         * docs/manual/xml.xml:
6762           First try at rewriting the ADM. Needs lotsamore work, but some
6763           parts might already be somewhat useful.
6764         * docs/pwg/advanced-interfaces.xml:
6765           Remove properties interface, it never actually existed (except for
6766           on my HD...).
6767
6768 2004-12-13  David Schleef  <ds@schleef.org>
6769
6770         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6771         be NULL (bug #160220).
6772
6773 2004-12-13  David Schleef  <ds@schleef.org>
6774
6775         * configure.ac: remove all mmx stuff, because it's not used.
6776         * docs/random/ds/0.9-suggested-changes: additional notes
6777         * include/Makefile.am: we don't use these anymore
6778         * include/mmx.h: remove
6779         * include/sse.h: remove
6780
6781 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6782
6783         * docs/random/mimetypes:
6784           Add FOURCC code for h264 codec (VSSH)
6785           Add alternate FOURCC codes for h263 related codecs
6786
6787 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6788
6789         * docs/manual/programs.xml:
6790           Added more gst-launch examples.
6791
6792 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6793
6794         * gst/gstqueue.c: (gst_queue_handle_src_query):
6795           Check for availability again.
6796
6797 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6798
6799         * gst/gstcaps.c: (gst_caps_compare_structures):
6800           Simple caps go first. This has the nice side-effect of fixing an
6801           obscure warning.
6802
6803 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6804
6805         * gst/gstversion.h.in:
6806           Protect header.
6807
6808 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6809
6810         * gst/schedulers/gstoptimalscheduler.c:
6811         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6812         (gst_opt_scheduler_get_wrapper):
6813           When we're recursing into a chain run, only run the directly
6814           related group, not all queued ones. This will fix a possible
6815           deadlock in chains with more than two groups.
6816
6817 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6818
6819         * autogen.sh:
6820           remove patch if autopoint fails
6821
6822 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6823
6824         * docs/gst/gstreamer-sections.txt:
6825           Document Thomas' addition, fix build, make Luis the sheriff happy.
6826
6827 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6828
6829         * gst/gstplugin.c:
6830         * gst/gstplugin.h:
6831           add accessor for version field
6832
6833 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         submitted by: Luca Ferretti <elle.uca@infinito.it>
6836
6837         * po/LINGUAS:
6838         * po/it.po:
6839           New tranlation added: Italian
6840
6841 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6842
6843         * gst/gstpad.c: (gst_pad_is_negotiated),
6844         (gst_pad_get_negotiated_caps):
6845           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6846           it doesn't actually check the contents), so be sure to hand it
6847           a RealPad else we'll crash.
6848
6849 2004-12-03  Wim Taymans  <wim@fluendo.com>
6850
6851         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6852         (gst_queue_link), (gst_queue_handle_src_query):
6853         Reverted to 1.110 until this makes the testsuite and various
6854         apps work.
6855
6856 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6857
6858         * docs/upload.mak: fix included CVS conflict strings
6859
6860 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6861
6862         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6863
6864         * gst/gstelement.c: (gst_element_error_full):
6865           Use g_error_new_literal because error text may have
6866           percentage signs in it. Fixes #160019.
6867
6868 2004-12-01  Benjamin Otte  <otte@gnome.org>
6869
6870         * gst/elements/gstbufferstore.c:
6871         (gst_buffer_store_add_buffer_func):
6872           don't try to make subbuffers bigger than they can be. (fixes
6873           #159970)
6874
6875 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6876
6877         * docs/gst/gstreamer-sections.txt:
6878         * docs/gst/tmpl/gstvalue.sgml:
6879           Add new function to docs to fix build.
6880
6881 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6882
6883         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6884         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6885         (_gst_pad_default_fixate_foreach):
6886         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6887         * gst/gstvalue.h:
6888           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6889           in some cases (arrays), the fixedness depends on the content.
6890         * gst/gstqueue.c: (gst_queue_handle_src_query):
6891           Check for availability before doing something.
6892
6893 2004-11-29  Wim Taymans  <wim@fluendo.com>
6894
6895         * testsuite/threads/Makefile.am:
6896         * testsuite/threads/signals.c: (gst_test_get_type),
6897         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6898         (gst_test_set_property), (gst_test_get_property),
6899         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6900         (gst_test_do_prop), (run_thread), (main):
6901         Added a bunch of testcases that show threadsafety bugs in glib.
6902
6903 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6904
6905         * docs/manual/programs.xml:
6906           Added a first batch of gst-launch examples, as provided by Ronald
6907           and others from the devel-mlist
6908
6909 2004-11-28  Benjamin Otte  <otte@gnome.org>
6910
6911         * gst/gstelement.c: (gst_element_negotiate_pads):
6912           simplify
6913         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6914         (gst_value_serialize_string), (gst_value_deserialize_string):
6915           add unwrapping of previously wrapped strings. Fix bug in wrapping
6916           while at it.
6917         * testsuite/caps/value_serialize.c: (test1),
6918         (test_string_serialization), (test_string_deserialization), (main):
6919           add tests for string (de)serialization
6920
6921 2004-11-26  Wim Taymans  <wim@fluendo.com>
6922
6923         * testsuite/threads/159566.c: (object_deep_notify), (main):
6924         * testsuite/threads/Makefile.am:
6925         Added testsuite to show bug #159566
6926
6927 2004-11-25  Wim Taymans  <wim@fluendo.com>
6928
6929         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6930         (gst_thread_child_state_change), (gst_thread_main_loop):
6931         Ref the thread object in the GThread mainloop. Break out of the
6932         thread mainloop if it holds the last ref. This properly exits
6933         the threads when disposing the thread from its own context. It
6934         also avoids possible deadlocks in the dispose function.
6935
6936 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6937
6938         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6939         it is necessary to wait.
6940
6941 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6942
6943         * docs/pwg/building-boiler.xml:
6944           Make description somewhat clearer.
6945
6946 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6947
6948         * docs/upload.mak:
6949           Apparently docs changed location on FDO's server.
6950
6951 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6952
6953         * docs/pwg/appendix-checklist.xml:
6954           Add some random notes on things to check when writing an element.
6955           This list can be extended as people see fit.
6956
6957 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6958
6959         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6960         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6961         pad. The queue will now wait until it is empty and forward the new
6962         caps to the source.
6963         * gst/gstbin.c (gst_bin_set_element_sched)
6964         (gst_bin_unset_element_sched): Make sure that all elements and
6965         links are registered and unregistered with the scheduler exactly
6966         once. This elaborates on a fix by Benjamin Otte, but
6967         guarantees that decoupled elements are also registered.
6968
6969 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6970
6971         * docs/manual/quotes.xml:
6972           add a quote
6973         * configure.ac:
6974         * gst/gst.c:
6975         * gst/gstinfo.c:
6976           add LIBDIR and move init message higher up so it's at the start
6977
6978 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6979
6980         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6981         * gstreamer.spec.in: add fair
6982
6983 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6984
6985         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6986         * gst/elements/gstidentity.c: (gst_identity_class_init):
6987           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6988           <teuf@gnome.org> (#157263).
6989         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6990         (gst_type_find_handle_src_query):
6991           Subtract size of internally stored data from position queries.
6992
6993 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6994
6995         * gst/schedulers/fairscheduler.c:
6996         * gst/schedulers/faircothreads.c:
6997         * gst/schedulers/faircothreads.h:
6998         New cothread based scheduler: Fair scheduler.
6999         * gst/schedulers/gthread-cothreads.h: 
7000         Add the standard #if around the whole file.
7001         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7002         compilation of the functions defined in this file. This is
7003         necessary to be able to use this file as a normal header.
7004         * gst/schedulers/Makefile.am: Add compiling support for fair
7005         scheduler.
7006         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7007         scheduler cothreads layer from documentation generation.
7008
7009 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7010
7011         * gst/autoplug/gstspideridentity.c:
7012         (gst_spider_identity_sink_loop_type_finding):
7013           Don't crash if that function is not implemented.
7014
7015 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7016
7017         * docs/pwg/advanced-types.xml:
7018           Another typo.
7019
7020 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7021
7022         * docs/pwg/intro-preface.xml:
7023           Hm, ok, so the brackets weren't really useful...
7024         * docs/pwg/other-ntoone.xml:
7025           Fix embarassing typo.
7026
7027 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7028
7029         * docs/pwg/intro-preface.xml:
7030           Rewrite preface.
7031
7032 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7033
7034         * docs/pwg/advanced-scheduling.xml:
7035         * docs/pwg/advanced-tagging.xml:
7036         * docs/pwg/advanced-types.xml:
7037         * docs/pwg/building-boiler.xml:
7038         * docs/pwg/building-chainfn.xml:
7039         * docs/pwg/building-signals.xml:
7040         * docs/pwg/building-state.xml:
7041         * docs/pwg/building-testapp.xml:
7042         * docs/pwg/intro-basics.xml:
7043         * docs/pwg/other-manager.xml:
7044         * docs/pwg/other-source.xml:
7045           Typo fixes.
7046         * docs/pwg/other-manager.xml:
7047           Add some first content. No example code yet.
7048         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7049           Remove double newlines.
7050
7051 2004-11-04  Wim Taymans  <wim@fluendo.com>
7052
7053         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7054         (remove_from_group), (normalize_group), (group_migrate_connected),
7055         (gst_opt_scheduler_iterate):
7056         * testsuite/schedulers/.cvsignore:
7057         * testsuite/schedulers/Makefile.am:
7058         * testsuite/schedulers/queue_link.c: (main):
7059         Added testcase for scheduler segfault.
7060         Fix scheduler segfault when removing a decoupled
7061         entry point as the last element from a group.
7062
7063 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7064
7065         * gst/gstmarshal.list: add missing marshaller, fixes build
7066
7067 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7068
7069         * docs/random/signal: added notes about using BOXED for GstBuffer
7070         signal marshallers, not POINTER
7071
7072 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7073
7074         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7075         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7076         POINTER=>BOXED changes to marshal GstBuffers
7077
7078 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7079
7080         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7081         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7082
7083 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7084
7085         * docs/gst/gstreamer-sections.txt:
7086         * docs/gst/tmpl/gstcaps.sgml:
7087         * docs/gst/tmpl/gsterror.sgml:
7088         * docs/gst/tmpl/gstinfo.sgml:
7089         * docs/gst/tmpl/gstmacros.sgml:
7090         * docs/gst/tmpl/gstutils.sgml:
7091         * docs/random/ensonic/interfaces.txt:
7092         * gst/gstinfo.h:
7093           added some more docs, removed two obsolete defines
7094
7095 2004-11-02  Kjartan Maraas <as at gnome.org>
7096
7097         reviewed by: Wim Taymans, Ronald Bultje.
7098
7099         * gst/cothreads.c: (cothread_create):
7100         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7101         (gst_bin_child_state_change_func):
7102         * gst/gstbuffer.c: (gst_buffer_span):
7103         * gst/gstelement.c: (gst_element_get_index),
7104         (gst_element_get_event_masks), (gst_element_get_query_types),
7105         (gst_element_get_formats):
7106         * gst/gsterror.c: (_gst_core_errors_init),
7107         (_gst_library_errors_init), (_gst_resource_errors_init),
7108         (_gst_stream_errors_init):
7109         * gst/gstobject.c: (gst_object_default_deep_notify):
7110         * gst/gstpad.c: (gst_pad_get_event_masks),
7111         (gst_pad_get_internal_links_default):
7112         * gst/gstplugin.c: (gst_plugin_register_func),
7113         (gst_plugin_get_module):
7114         * gst/gststructure.c: (gst_structure_get_string),
7115         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7116         (gst_structure_to_abbr):
7117         * gst/gstutils.c: (gst_print_element_args):
7118         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7119         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7120         Aplied part of patch #157127: Cleanup of issues reported by 
7121         sparse.
7122         Also do not try to use cothreads when there is no cothread
7123         context yet.
7124
7125 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7126
7127         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7128         (gst_opt_scheduler_iterate):
7129         Applied patch #154061. Running a pipeline in which an element 
7130         calls GST_ELEMENT_ERROR in the chain function, the opt 
7131         scheduler doesn't unref the chain so it never gets freed.
7132
7133 2004-11-02  Wim Taymans  <wim@fluendo.com>
7134
7135         * gst/gststructure.c: (gst_structure_get_abbrs),
7136         (gst_structure_from_abbr), (gst_structure_to_abbr):
7137         Remove that ugly if-then thing in the code that converts
7138         between strings and types.
7139
7140 2004-11-02  Wim Taymans  <wim@fluendo.com>
7141
7142         * gst/gstscheduler.c: (gst_scheduler_add_element),
7143         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7144         Aplied clock distribution patch, this should fix bug
7145         #148787.
7146
7147 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7148
7149         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7150
7151         * po/LINGUAS:
7152         * po/nb.po:
7153           Added Norwegian Bokmaal translation
7154
7155 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7156
7157         * tools/gst-inspect.c: (print_signal_info):
7158           print signal arguments as pointers if they are
7159
7160 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7161
7162         * docs/pwg/building-boiler.xml:
7163           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7164
7165 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7166
7167         * gst/parse/parse.l:
7168         * testsuite/parse/parse1.c: (main):
7169         Since parse can do 'element name=a:b' make 'a:b.' work as
7170         well. 
7171         Added testcase to verify fix.
7172
7173 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7174
7175         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7176         Use the realpad when printing the direction.
7177         Add extra \n when printing extensions of typefind factories.
7178
7179 2004-10-13  David Schleef  <ds@schleef.org>
7180
7181         * examples/manual/Makefile.am: $< isn't portable in Makefile
7182         rules.
7183
7184 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7185
7186         * docs/gst/tmpl/gstobject.sgml:
7187         * docs/gst/tmpl/gstplugin.sgml:
7188         * docs/gst/tmpl/gstpluginfeature.sgml:
7189         * docs/gst/tmpl/gstregistry.sgml:
7190         * docs/gst/tmpl/gstversion.sgml:
7191         * gst/gstbin.c:
7192           more api documentation
7193         * gst/gstplugin.c: (gst_plugin_register_func),
7194         (gst_plugin_check_file), (gst_plugin_load_file):
7195           better error signaling and logging
7196
7197 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7198
7199         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7200           Subtract current queue contents from position queries.
7201
7202 2004-10-11  Johan Dahlin  <johan@gnome.org>
7203
7204         * gst/gsturi.c (gst_uri_get_location): unescape string
7205         (gst_uri_construct): escape string.
7206
7207 2004-10-11  Benjamin Otte  <otte@gnome.org>
7208
7209         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7210         (gst_pad_try_set_caps_nonfixed):
7211           allow renegotiation of unconnected pads (as inside spider). Simply
7212           return OK if unconnected - mimic try_set_caps there.
7213
7214 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7215
7216         * gst/gstbin.c: (gst_bin_sync_children_state):
7217           Add missing break.
7218
7219 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7220
7221         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7222         Set element to EOS before sending EOS event
7223
7224 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7225
7226         * gst/elements/gsttypefindelement.c:
7227         (gst_type_find_element_handle_event):
7228         Handle EOS events when doing the transition from
7229         typefind to data passing. This should fix the
7230         infinite loops in short files.
7231
7232 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7233
7234         * gst/gstthread.c: (gst_thread_change_state),
7235         (gst_thread_child_state_change):
7236         Make sure no iteration happens while performing
7237         the state change as it could mess up the internal
7238         consistency of the thread state.
7239
7240 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7241
7242         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7243         (gst_thread_change_state), (gst_thread_child_state_change):
7244         Do not try to grab the iterate lock in the state change method
7245         when we are in the same thread as the iterate or else we
7246         could deadlock. Some other cleanups.
7247
7248 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7249
7250         * configure.ac:
7251           bump nano to cvs
7252
7253 === release 0.8.7 ===
7254
7255 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7256
7257         * configure.ac:
7258         * NEWS:
7259         * RELEASE:
7260         * configure.ac:
7261           releasing 0.8.7, "A Cruise"
7262
7263 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7264
7265         * docs/random/mimetypes:
7266         Add an entry for Sony ATRAC3 audio format with mime-type
7267         used by rmdemux et riff-read
7268
7269 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7270
7271         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7272         Push the buffer store instead of clearing it in case that
7273         the stream is not seekable.
7274
7275 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7276
7277         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7278         (gst_thread_main_loop):
7279         Lock the iteration and the state change so that automatic
7280         negotiation and fixation does not happen at the same time
7281         as the in stream negotiation.
7282
7283 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7284
7285         * configure.ac:
7286           bump nano to cvs
7287
7288 === release 0.8.6 ===
7289
7290 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7291
7292         * configure.ac:
7293         * NEWS:
7294         * RELEASE:
7295         * configure.ac:
7296           releasing 0.8.6, "Narc"
7297
7298 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7299
7300         * configure.ac:
7301           prerel bump
7302
7303 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7304
7305         patch by: Steve Lhomme
7306
7307         * gst/elements/gstfakesrc.c:
7308         * gst/elements/gstidentity.c:
7309         * gst/gstthread.c:
7310           Fix for #153881
7311
7312 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7313
7314         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7315         Fix threadsafety of the crc checking function.
7316
7317 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7318
7319         patch by: Ronald Bultje
7320
7321         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7322         (gst_type_find_element_handle_event),
7323         (gst_type_find_element_chain):
7324         * gst/elements/gsttypefindelement.h:
7325          #153657.
7326          Filter out discont event from seekable sources when typefind
7327          asks them to seek.  Fixes typefind with demuxers for
7328          avi, asf and matroska.
7329
7330 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7331
7332         * docs/gst/gstreamer-sections.txt:
7333         * gst/gstcaps.c:
7334         * gst/gstcaps.h:
7335         * gst/gstpad.c:
7336           Revert preferred caps: (#147789)
7337
7338 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7339
7340         * win32/dirent.c:
7341           fix a memory leak
7342
7343 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7344
7345         * configure.ac:
7346           bump for prerelease
7347
7348 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7349
7350         * docs/Makefile.am:
7351         * docs/manual/elements-api.xml:
7352           restructure so that common stuff is shown first
7353         * docs/manual/init-api.xml:
7354           convert to examples
7355         * docs/manual/manual.xml:
7356         * docs/manuals.mak:
7357         * docs/url.entities:
7358           link to API on the website, possibly override later in build
7359         * examples/manual/.cvsignore:
7360           ignore more
7361         * examples/manual/Makefile.am:
7362           add more examples
7363         * examples/manual/extract.pl:
7364           error out on failure
7365
7366 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * docs/gst/tmpl/gstthread.sgml:
7369         * docs/manual/init-api.xml:
7370         * examples/manual/Makefile.am:
7371           convert two code bits to examples
7372
7373 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7374
7375         * gst/gstelement.c: (gst_element_change_state):
7376           Well, actually, I was about to remove this insane assert when
7377           I noticed Wim already did that. A warning is nice so we can
7378           fix actual ugs (using --g-fatal-warnings and backtraces), so
7379           I added that instead.
7380
7381 2004-09-06  Wim Taymans  <wim@fluendo.com>
7382
7383         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7384         (gst_element_threadsafe_properties_post_run),
7385         (gst_element_set_state), (gst_element_change_state):
7386         Added extra refcounting around various places. 
7387
7388 2004-09-06  Wim Taymans  <wim@fluendo.com>
7389
7390         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7391         Fix debug info.
7392
7393 2004-09-06  Wim Taymans  <wim@fluendo.com>
7394
7395         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7396         (remove_from_group):
7397         Some more debug info.
7398
7399 2004-09-03  Wim Taymans  <wim@fluendo.com>
7400
7401         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7402         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7403         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7404         (gst_fakesrc_get), (gst_fakesrc_change_state):
7405         * gst/elements/gstfakesrc.h:
7406         * gst/elements/gstidentity.c: (gst_identity_class_init),
7407         (gst_identity_init), (gst_identity_chain),
7408         (gst_identity_set_property), (gst_identity_get_property),
7409         (gst_identity_change_state):
7410         * gst/elements/gstidentity.h:
7411         Added datarate properties to limit the datarate.
7412
7413 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7414
7415         * gst/autoplug/gstspider.c: (plugin_init):
7416           don't set a rank. We don't want to autoplug by inserting spiders.
7417
7418 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7419
7420         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7421         (gst_spider_identity_plug):
7422           add a template for spider's sink
7423         * gst/gst.c: (gst_register_core_elements):
7424           queue's rank should be NULL, we don't want spider to add it.
7425
7426 2004-08-18  David Schleef  <ds@schleef.org>
7427
7428         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7429         * docs/libs/Makefile.am: same
7430         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7431         * docs/random/ds/0.9-planning: random additions
7432         * docs/random/ds/0.9-suggested-changes: same
7433         * gst/gstxml.h: remove vestigal GstXMLNs definition
7434
7435         Preferred caps: (#147789)
7436         * docs/gst/gstreamer-sections.txt: Add symbols
7437         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7438         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7439         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7440         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7441         (gst_caps_get_preferred), (gst_caps_set_preferred),
7442         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7443         (gst_caps_use_preferred): Handle caps preferences
7444         * gst/gstcaps.h: Add caps preferences
7445         * gst/gstpad.c: (gst_pad_link_get_preferred),
7446         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7447         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7448         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7449         negotiation.
7450
7451 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7452
7453         * gst/autoplug/gstspideridentity.c:
7454         (gst_spider_identity_request_new_pad):
7455         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7456         (gst_aggregator_init):
7457         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7458         (gst_fakesink_init):
7459         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7460         (gst_fakesrc_init):
7461         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7462         (gst_fdsink_init):
7463         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7464         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7465         (gst_filesink_init):
7466         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7467         (gst_filesrc_init):
7468         * gst/elements/gstidentity.c: (gst_identity_base_init),
7469         (gst_identity_init):
7470         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7471         (gst_multifilesrc_init):
7472         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7473         (gst_pipefilter_init):
7474         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7475         (gst_statistics_init):
7476         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7477         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7478           s/gst_pad_new/&_from_template/
7479           register pad templates in the base_init function
7480           add static pad template definitions
7481
7482 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7483
7484         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7485         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7486         * testsuite/refcounting/pad.c: (main):
7487         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7488           s/gst_pad_new/&_from_template/
7489           prepare deprecation of gst_pad_new
7490
7491 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7492
7493         patch by: Luca Ognibene <skaboy81@virgilio.it>
7494
7495         * gst/gstcaps.c:
7496         * gst/gstelement.c:
7497         * gst/gstpad.c:
7498         * gst/gstxml.c:
7499           fix memleaks.  Fixes #150001
7500
7501 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7502
7503         * docs/random/ds/0.9-suggested-changes:
7504           add notes - mostly about pad templates
7505
7506 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7507
7508         * win32/GStreamer.vcproj:
7509           temporary locale files are .gmo not .mo
7510
7511 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7512
7513         * configure.ac: bump nano to cvs
7514
7515 === release 0.8.5 ===
7516
7517 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7518
7519         * configure.ac:
7520           releasing 0.8.5, "Stuttgart"
7521         * NEWS:
7522         * RELEASE:
7523         * configure.ac:
7524         * docs/random/release:
7525           updates for release
7526
7527 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7528
7529         patch by: Wim Taymans (wim@fluendo.com)
7530
7531         * gst/gstbuffer.c:
7532         * gst/gstindex.h:
7533         * libs/gst/dataprotocol/dataprotocol.c:
7534           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7535
7536 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7537
7538         * Makefile.am:
7539         * win32/MANIFEST:
7540           add win32 dir to the build.  Fixes #149981.
7541
7542 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7543
7544         * configure.ac:
7545           bump libtool versioning
7546         * gst/gststructure.c:
7547           mark function as static
7548         * po/af.po:
7549         * po/az.po:
7550         * po/ca.po:
7551         * po/cs.po:
7552         * po/en_GB.po:
7553         * po/fr.po:
7554         * po/nl.po:
7555         * po/sq.po:
7556         * po/sr.po:
7557         * po/sv.po:
7558         * po/tr.po:
7559         * po/uk.po:
7560           translations update
7561         * win32/README.txt:
7562           trademark protection
7563
7564 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7565
7566         * configure.ac:
7567           fix GST_ORIGIN
7568           set GST_PACKAGE to source, and distinguish between release and other
7569         * tools/gst-inspect.c:
7570           print out plugin an element factory is part of so we see this info
7571
7572 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * docs/gst/gstreamer-sections.txt:
7575         * docs/gst/tmpl/gstbuffer.sgml:
7576         * docs/gst/tmpl/gstschedulerfactory.sgml:
7577           reorder docs a little, make GstBuffer's more sensible.
7578         * gst/gstbuffer.h:
7579           API: added GST_BUFFER_FLAG_DELTA_UNIT
7580         * gst/gstscheduler.c:
7581           comment API addition
7582
7583 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7584
7585         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7586           work with non-regular files that can be mmapped (like /dev/zero)
7587         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7588           get rid of typefinds that require a seek when we can't seek instead
7589           of trying them over and over again
7590         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7591           return non-zero failure value when the pipeline was interrupted or
7592           an error occurred
7593
7594 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7595
7596         * win32/config.h:
7597         * win32/GStreamer.vcproj:
7598           compile and install the locales
7599
7600 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7601
7602         * gst/gstvalue.c:
7603           fix a possible memory leak under Windows
7604
7605 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7606
7607         * win32/GStreamer.vcproj:
7608           fix a memory leak that occured under Windows
7609         * win32/gstreamer.def:
7610           add gst_scheduler_register
7611
7612 2004-08-11  Benjamin Otte  <otte@gnome.org>
7613
7614         * docs/gst/gstreamer-sections.txt:
7615         * gst/gstscheduler.c: (gst_scheduler_register):
7616         * gst/gstscheduler.h:
7617           API:
7618           add gst_scheduler_register shortcut similar to gst_element_register
7619         * gst/schedulers/entryscheduler.c: (plugin_init):
7620         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7621         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7622           use it
7623
7624 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7625
7626         * gst/gstvalue.h:
7627           fix a memory leak that occured under Windows
7628
7629 2004-08-10  Colin Walters  <walters@redhat.com>
7630
7631         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7632         Don't use O_EXCL to open temporary registry.  It will prevent
7633         registry creation if a temporary one already exists, which
7634         is unnecessary.
7635
7636 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7637
7638         * docs/gst/gstreamer-sections.txt:
7639         * docs/gst/tmpl/gstvalue.sgml:
7640           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7641
7642 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7643
7644         * win32/gstbytestream.vcproj:
7645         * win32/gstelements.vcproj:
7646         * win32/gstgetbits.vcproj:
7647         * win32/gst-inspect.vcproj:
7648         * win32/gst-launch.vcproj:
7649         * win32/gstoptimalscheduler.vcproj:
7650         * win32/GStreamer.vcproj:
7651         * win32/gst-register.vcproj:
7652         * win32/gstspider.vcproj:
7653           update the include and lib dirs to fit standard libraries as
7654           described in the Win32 manual
7655
7656 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7657
7658         * win32/config.h:
7659         * win32/gstversion.h:
7660           enable NLS again, push the version number for the coming 0.8.5 release
7661
7662 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7663
7664         * gst/gstvalue.h:
7665           export gst_type_XXX for windows DLLs
7666
7667 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7668
7669         * docs/faq/gst-uninstalled:
7670           fix PKG_CONFIG_PATH and PYTHONPATH
7671         * gst/schedulers/Makefile.am:
7672           cleanup
7673         * libs/gst/bytestream/bytestream.c:
7674           remove newline
7675         * po/LINGUAS:
7676         * po/sq.po:
7677           adding Albanian translation (Laurent Dhima)
7678         * po/cs.po:
7679           updated
7680
7681 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * po/ca.po:
7684         * po/sv.po:
7685           updated translations
7686
7687 2004-08-04  Benjamin Otte  <otte@gnome.org>
7688
7689         * tests/mass_elements.c: (main):
7690           allow specifying src and sink element explicitly, so I can test
7691           videotestsrc instead of fakesrc
7692
7693 2004-08-04  Benjamin Otte  <otte@gnome.org>
7694
7695         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7696         (gst_structure_id_empty_new), (gst_structure_empty_new),
7697         (gst_structure_copy):
7698           add gst_structure_id_empty_new_with_size to allow preallocating
7699           value array sizes. Use this in gst_structure_copy to get rid of
7700           reallocs.
7701           don't do quark=>string=>quark when copying structures
7702
7703 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7704
7705         * docs/manual/win32.xml:
7706         * win32/README.txt:
7707           update documentation with the clean version of dependencies
7708
7709 2004-08-03  Benjamin Otte  <otte@gnome.org>
7710
7711         * gst/schedulers/entryscheduler.c:
7712         (gst_entry_scheduler_remove_element):
7713           fix for GST_DISABLE_DEBUG
7714         * tools/gst-launch.c: (print_tag):
7715           fixes for G_DISABLE_ASSERT
7716
7717 2004-08-03  Benjamin Otte  <otte@gnome.org>
7718
7719         * gst/gst.c: (gst_register_core_elements):
7720           fix for G_DISABLE_ASSERT
7721         * gst/gstinfo.c: (__gst_in_valgrind):
7722           add for GST_DISABLE_DEBUG
7723
7724 2004-08-03  Benjamin Otte  <otte@gnome.org>
7725
7726         * gst/parse/parse.l:
7727           fix for G_DISABLE_ASSERT
7728
7729 2004-08-03  Wim Taymans  <wim@fluendo.com>
7730
7731         * gst/gstbin.c: (gst_bin_get_type),
7732         (gst_bin_child_state_change_func):
7733         * gst/gstthread.c: (gst_thread_change_state):
7734         Backported some debug logging from a reverted patch
7735         Don't try to destroy the thread twice. Added some more
7736         debugging in GstThread. Unlock and signal even if we
7737         are in the thread context.
7738
7739 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7740
7741         * po/uk.po:
7742           updated translation
7743
7744 2004-07-30  David Schleef  <ds@schleef.org>
7745
7746         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7747
7748 2004-07-29  David Schleef  <ds@schleef.org>
7749
7750         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7751         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7752
7753 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7754
7755         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7756         (gst_bin_add_func), (gst_bin_remove_func),
7757         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7758         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7759         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7760         (gst_bin_sync_children_state):
7761         * gst/gstbin.h:
7762         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7763         (gst_thread_change_state):
7764         * testsuite/states/Makefile.am:
7765           revert state change patches as agreed so we can rework them
7766           gradually
7767
7768 2004-07-29  Benjamin Otte  <otte@gnome.org>
7769
7770         * libs/gst/control/Makefile.am:
7771           link to libgstreamer (fixes Debian bug 262019, see
7772           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7773
7774 2004-07-29  Wim Taymans  <wim@fluendo.com>
7775
7776         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7777         (check_from_fraction_convert), (transform_test), (main):
7778         Make the test less pedantic about float roundoff errors.
7779
7780 2004-07-29  Benjamin Otte  <otte@gnome.org>
7781
7782         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7783         (gst_filesrc_srcpad_event):
7784           make seek events to before start/after end of file not fail, but
7785           seek to start/end instead
7786         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7787           add more output
7788
7789 2004-07-29  Benjamin Otte  <otte@gnome.org>
7790
7791         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7792           check that caps are fixed
7793         * gst/gstpad.c: (gst_pad_template_new):
7794           don't try to simplify caps, costs too much time on gst_init
7795         * gst/gstplugin.c: (gst_plugin_add_feature):
7796           G_ERROR if features are added twice
7797         * gst/gsttypefind.c: (gst_type_find_register):
7798         * gst/gstelementfactory.c: (gst_element_register):
7799           don't add features twice
7800         * docs/random/ds/0.9-suggested-changes:
7801           add note about possible gst_init optimization
7802
7803 2004-07-28  David Schleef  <ds@schleef.org>
7804
7805         * testsuite/elements/Makefile.am:
7806         * testsuite/elements/struct_i386.h:
7807         * testsuite/elements/struct_size.c: (main):  A little test
7808         to keep distcheck from working if someone changes a structure
7809         size accidentally.
7810
7811 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         * docs/libs/Makefile.am:
7814         * docs/libs/gstreamer-libs-docs.sgml:
7815         * docs/libs/gstreamer-libs-sections.txt:
7816         * docs/libs/tmpl/gstbytestream.sgml:
7817         * docs/libs/tmpl/gstcontrol.sgml:
7818         * docs/libs/tmpl/gstdataprotocol.sgml:
7819         * docs/libs/tmpl/gstgetbits.sgml:
7820         * libs/gst/bytestream/Makefile.am:
7821         * libs/gst/bytestream/bytestream.c:
7822         * libs/gst/bytestream/bytestream.h:
7823         * libs/gst/control/Makefile.am:
7824         * libs/gst/dataprotocol/Makefile.am:
7825         * libs/gst/getbits/Makefile.am:
7826         * libs/gst/getbits/getbits.h:
7827           various doc and style fixes, adding bytestream to libs docs.
7828
7829 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7830
7831         * docs/gst/gstreamer-docs.sgml:
7832         * docs/libs/Makefile.am:
7833         * docs/libs/gstreamer-libs-docs.sgml:
7834         * docs/libs/gstreamer-libs-sections.txt:
7835         * libs/gst/control/dparam.c:
7836           more doc fixes.  gst-libs docs now build the same way as gst.
7837
7838 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7839
7840         * configure.ac:
7841         * testsuite/Makefile.am:
7842         * testsuite/bins/Makefile.am:
7843         * testsuite/caps/Makefile.am:
7844         * testsuite/cleanup/Makefile.am:
7845         * testsuite/clock/Makefile.am:
7846         * testsuite/debug/Makefile.am:
7847         * testsuite/dlopen/Makefile.am:
7848         * testsuite/dynparams/Makefile.am:
7849         * testsuite/elements/.cvsignore:
7850         * testsuite/elements/Makefile.am:
7851         * testsuite/enumcaps/Makefile.am:
7852         * testsuite/enumcaps/enumcaps.c:
7853         * testsuite/ghostpads/Makefile.am:
7854         * testsuite/indexers/Makefile.am:
7855         * testsuite/negotiation/Makefile.am:
7856         * testsuite/parse/Makefile.am:
7857         * testsuite/plugin/Makefile.am:
7858         * testsuite/refcounting/Makefile.am:
7859         * testsuite/schedulers/.cvsignore:
7860         * testsuite/states/Makefile.am:
7861         * testsuite/tags/Makefile.am:
7862         * testsuite/threads/Makefile.am:
7863           fold enumcaps into caps dir
7864           clean up Makefile.am's for testsuite
7865
7866 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7867
7868         * docs/gst/Makefile.am:
7869         * docs/libs/Makefile.am:
7870           clean up docs build.  Fixes needless rebuilding of template files.
7871
7872 2004-07-28  Wim Taymans  <wim@fluendo.com>
7873
7874         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7875         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7876         Make sure that a bin state change tries to keep the children
7877         in sync. 
7878         Added debug logging to the thread.
7879
7880 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7881
7882         * win32/GStreamer.vcproj:
7883         * win32/gstreamer.def:
7884           more exports for the plugins
7885
7886 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7887
7888         * win32/gstgetbits.vcproj:
7889         * win32/gstgetbits.def:
7890         * win32/msvc71.sln:
7891           add support for the getbits plugin
7892
7893 2004-07-27  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7896         (gst_value_transform_fraction_double), (_gst_value_initialize):
7897         * testsuite/caps/Makefile.am:
7898         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7899         (check_from_fraction_convert), (transform_test), (main):
7900         Added transform functions between double and fraction.
7901         Added testcase to verify transforms
7902
7903 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7904
7905         * win32/GStreamer.vcproj:
7906           rename GStreamer-0.8.lib to libgstreamer.lib
7907
7908 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7909
7910         * win32/gstelements.vcproj:
7911         * win32/gstoptimalscheduler.vcproj:
7912           fixes for the Release build
7913
7914 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7915
7916         * win32/config.h:
7917           update the version number
7918
7919 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7920
7921         * win32/GStreamer.vcproj:
7922           add gstinterface to the build
7923
7924 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7925
7926         * win32/gstreamer.def:
7927           add many definitions needed by plugins,
7928           GST_CAT_DEFAULT only available in the Debug build ?
7929
7930 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7931
7932         * gst/gstelement.c: (gst_element_set_eos_recursive):
7933           various whitespace fixes.
7934           doc fix, fixes #148497
7935
7936 2004-07-25  Benjamin Otte  <otte@gnome.org>
7937
7938         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7939           don't delay links on the sink elements, it causes unnegotiated
7940           links.
7941         * gst/elements/gsttypefindelement.c:
7942         (gst_type_find_element_base_init):
7943           add our padtemplates, we indeed do have some.
7944         * gst/elements/gsttypefindelement.c:
7945         (gst_type_find_element_handle_event),
7946         (gst_type_find_element_chain):
7947           don't push data when typefinding failed.
7948         * gst/gstpad.c: (gst_pad_link_fixate):
7949           check that no fixate function returns empty caps.
7950         * gst/gstpad.c: (gst_pad_push):
7951           check that the link is negotiated before data gets pushed.
7952         * tools/gst-register.c: (main):
7953           don't assert (fixes #148283)
7954
7955 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7956
7957         * docs/gst/gstreamer-sections.txt:
7958         * docs/gst/tmpl/gstconfig.sgml:
7959           add GST_PLUGIN_EXPORT definition
7960
7961 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7962
7963         * gst/gstplugin.h:
7964         * gst/gstconfig.h.in:
7965         * win32/gstconfig.h:
7966         * win32/gstelements.def:
7967         * win32/gstelements.vcproj:
7968         * win32/gstoptimalscheduler.def:
7969         * win32/gstoptimalscheduler.vcproj:
7970         * win32/gstspider.def:
7971         * win32/gstspider.vcproj:
7972           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7973
7974 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7975
7976         * docs/gst/gstreamer-sections.txt:
7977           remove GST_CAT_DEFAULT because the type has changed
7978
7979 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7980
7981         * win32/gstbytestream.vcproj:
7982         * win32/gstelements.vcproj:
7983         * win32/gst-inspect.vcproj:
7984         * win32/gst-launch.vcproj:
7985         * win32/gstoptimalscheduler.vcproj:
7986         * win32/GStreamer.vcproj:
7987         * win32/gst-register.vcproj:
7988         * win32/gstspider.vcproj:
7989         * win32/msvc71.sln:
7990           Copy the files where needed after building, The testsuite will be
7991           built separately
7992
7993 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7994
7995         * win32/config.h:
7996         * win32/README.txt:
7997         * docs/manual/win32.xml:
7998         Fixed the plugin and GStreamer location
7999
8000 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8001
8002         * win32/gstreamer.def:
8003         More exports for the plugins
8004
8005 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8006
8007         * gst/gstinfo.h:
8008         Marc was right, we need to export literally GST_CAT_DEFAULT
8009
8010 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8011
8012         * win32/config.h:
8013         NLS crashes in gettext, disabled until this is solved
8014
8015 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8016
8017         * win32/gst-inspect.vcproj:
8018         * win32/gst-launch.vcproj:
8019         Should use NLS when available
8020
8021 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8022
8023         * gst/registries/gstxmlregistry.c:
8024         removing the file doesn't seem to be a good idea on Linux
8025
8026 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8027
8028         * gst/registries/gstxmlregistry.c:
8029         Remove the registry before renaming the tempfile (needed for Windows)
8030
8031 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8032
8033         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8034         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8035         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8036         * gst/elements/gstmultifilesrc.h:
8037         Added newmedia property so it generates newmedia events between each
8038         file when property is set, as well as fixed eos handling
8039
8040 2004-07-22  David Schleef  <ds@schleef.org>
8041
8042         * gst/gststructure.c: (gst_structure_id_empty_new),
8043         (gst_structure_empty_new):  Set type field correctly.
8044         * gst/gststructure.h: Check type field correctly.
8045         * testsuite/caps/Makefile.am:
8046         * testsuite/caps/structure.c: (test1), (main): Add a very small
8047         test for structures.
8048
8049 2004-07-22  David Schleef  <ds@schleef.org>
8050
8051         * docs/random/ds/0.9-suggested-changes: more comments
8052         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8053
8054 2004-07-22  Benjamin Otte  <otte@gnome.org>
8055
8056         * gst/gstelementfactory.c: (gst_element_register):
8057           set the factory in the class struct, so gst_element_get_factory
8058           actually works
8059         * gst/parse/grammar.y:
8060           set element to playing when it gets unlocked as we can't rely on the
8061           bin state - all elements in the bin state might still be locked in
8062           NULL)
8063
8064 2004-07-22  Benjamin Otte  <otte@gnome.org>
8065
8066         * gst/gstelement.c: (gst_element_set_state_func):
8067           make this a static function
8068
8069 2004-07-22  Wim Taymans  <wim@fluendo.com>
8070
8071         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8072         (gst_opt_scheduler_pad_link):
8073         fix 147894-2 and the group_link problem.
8074
8075 2004-07-22  Wim Taymans  <wim@fluendo.com>
8076
8077         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8078         (handoff_identity), (main):
8079         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8080         (handoff_identity), (main):
8081         * testsuite/schedulers/Makefile.am:
8082         * testsuite/schedulers/group_link.c: (main):
8083         Show bug in scheduler when linking chain and loop based element 
8084         where the chain based element was not yet in a group.
8085
8086 2004-07-21  Benjamin Otte  <otte@gnome.org>
8087
8088         * gst/.cvsignore:
8089         * gst/autoplug/.cvsignore:
8090         * gst/elements/.cvsignore:
8091         * gst/indexers/.cvsignore:
8092         * libs/gst/bytestream/.cvsignore:
8093         * libs/gst/control/.cvsignore:
8094         * libs/gst/getbits/.cvsignore:
8095         * testsuite/states/.cvsignore:
8096         * testsuite/threads/.cvsignore:
8097           keep this up to date, since I seem to be the only one who cares
8098           about not missing files on commits (editor's note: no you don't,
8099           but feel free to change them at the time you add stuff instead
8100           of later on)
8101
8102 2004-07-21  Benjamin Otte  <otte@gnome.org>
8103
8104         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8105         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8106         (gst_bin_child_state_change_func), (set_kid_state_func),
8107         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8108           make state changes work correctly and reentrant (so removing
8109           elements from bins during state changes of bins doesn't cause
8110           segfaults or even wrong states)
8111           add debugging category and debugging output to print children states
8112         * gst/gstbin.c: (gst_bin_dispose): 
8113           add some assertion checks
8114         * gst/gstbin.h:
8115         * gst/gstbin.c: (gst_bin_sync_children_state):
8116           deprecate this function - it just does gst_bin_set_state (bin,
8117           GST_STATE (bin)) 
8118         * testsuite/threads/queue.c: (main):
8119           don't use gst_bin_sync_children_state anymore
8120         * testsuite/states/Makefile.am:
8121         * testsuite/states/bin.c:
8122           test that the state changes of bins work as expected
8123         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8124           some adjustments to change states correctly, too
8125         * gst/gstthread.c: (gst_thread_change_state):
8126           don't enable/disable "threadsafe" properties, they're unused and
8127           cause random segfaults
8128         * testsuite/threads/Makefile.am:
8129           the queue check randomly passes now, ignore it
8130
8131 2004-07-21  Benjamin Otte  <otte@gnome.org>
8132
8133         * gst/gstpad.c:
8134           check if data is NULL before outputting debug info. (fixes #145100)
8135
8136 2004-07-21  Benjamin Otte  <otte@gnome.org>
8137
8138         * gst/schedulers/entryscheduler.c:
8139         (gst_entry_scheduler_loop_wrapper),
8140         (gst_entry_scheduler_chain_wrapper),
8141         (gst_entry_scheduler_get_wrapper):
8142           reset the state when the cothread starts, so we don't get assertion
8143           failures on restarting of cothreads
8144
8145 2004-07-20  Benjamin Otte  <otte@gnome.org>
8146
8147         * gst/gstelement.c: (gst_element_link_pads_filtered):
8148           use correct sinkpad, if only sinkpad is specified, but not srcpad
8149           (fixes #147889)
8150         * gst/gstelement.c: (gst_element_set_state_func),
8151         (gst_element_change_state): ref/unref the element, signal handlers
8152         could get rid of the element otherwise
8153
8154 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8155
8156         * docs/random/ds/0.9-suggested-changes:
8157           Make note about renaming fixed-list to array.
8158         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8159         (_gst_value_initialize):
8160           Add array intersections.
8161         * testsuite/caps/intersect2.c: (main):
8162           Add test for array intersections.
8163
8164 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * configure.ac: back to cvs
8167
8168 === release 0.8.4 ===
8169
8170 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8171
8172         * configure.ac:
8173           releasing 0.8.4, "Paella"
8174           bump libtool versioning
8175
8176 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8177
8178         * po/LINGUAS:
8179         * po/ca.po:
8180           adding Catalan translation (Jordi Mallach)
8181
8182 2004-07-20  Wim Taymans  <wim@fluendo.com>
8183
8184         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8185         (handoff_identity), (main):
8186         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8187         (handoff_identity), (main):
8188         * testsuite/schedulers/Makefile.am:
8189         Added failing testcase for variant of #147894
8190
8191 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8192
8193         patch by: David Moore
8194
8195         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8196         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8197         (group_migrate_connected):
8198         * testsuite/schedulers/Makefile.am:
8199           fix for #142813 (Deadlock in optimal scheduler)
8200
8201 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8202
8203         patch by: Wim Taymans
8204
8205         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8206         (gst_opt_scheduler_schedule_run_queue),
8207         (gst_opt_scheduler_get_wrapper), (get_group),
8208         (group_migrate_connected):
8209         * testsuite/schedulers/Makefile.am:
8210           fix for #147819 (Add some checks in the opt scheduler)
8211
8212 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8213
8214         patch by: Benjamin Otte
8215
8216         * gst/gstelementfactory.c: (__gst_element_details_set):
8217           fix for #147929: running gst-register in non-utf8 locale can cause
8218           invalid registry
8219
8220 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8221
8222         patch by: Wim Taymans
8223
8224         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8225         (group_has_element), (element_get_reachables_func),
8226         (group_migrate_connected):
8227           fix for #147894 (opt scheduler decoupled elements mismanagement)
8228         * testsuite/schedulers/Makefile.am:
8229           testsuite app now passes
8230
8231 2004-07-19  Wim Taymans  <wim@fluendo.com>
8232
8233         * testsuite/schedulers/147819.c: (handoff_identity1),
8234         (handoff_identity2), (main):
8235         * testsuite/schedulers/Makefile.am:
8236         Added testcase for bug 147819
8237
8238 2004-07-19  Wim Taymans  <wim@fluendo.com>
8239
8240         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8241         (handoff_identity), (main):
8242         * testsuite/schedulers/Makefile.am:
8243         Added testcase for bug 147894
8244
8245 2004-07-16  Wim Taymans  <wim@fluendo.com>
8246
8247         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8248         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8249         * testsuite/schedulers/Makefile.am:
8250         Added testsuite for bug 142183 in its two incarnations. Refcount
8251         is not increased for scheduled elements and threadsafe properties
8252         mutexes are not properly unlocked.
8253
8254 2004-07-16  Wim Taymans  <wim@fluendo.com>
8255
8256         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8257         (create_chain), (destroy_chain), (create_group), (destroy_group),
8258         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8259         (group_dec_link), (gst_opt_scheduler_pad_link),
8260         (group_inc_links_for_element), (group_migrate_connected):
8261         Call group_inc_link with the proper src->sink ordering -- 
8262         break this, and we break sort_chain. patch from wingo for bug
8263         147713.
8264         Partially revert patch 1.89. When adding a loop based element to 
8265         the scheduler, the links to other groups are automatically followed
8266         and incremented. This should not happen because the bin will call
8267         pad_link explicitly for those connection, resulting in them counted 
8268         twice. Results in assertion failure on pipeline cleanup.
8269
8270 2004-07-16  Wim Taymans  <wim@fluendo.com>
8271
8272         * testsuite/schedulers/143777-2.c: (main):
8273         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8274         (main):
8275         * testsuite/schedulers/Makefile.am:
8276         Added cleanup code to testcase 143777-2.
8277         Added testcase to show bug 147713, does not really show the
8278         deadlock as I can't figure out how to trigger it, but it does
8279         demonstrate bad ordering in the scheduler.
8280
8281 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8282
8283         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8284           change strndup to g_strndup.  Fixes #147707
8285
8286 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8287
8288         * po/af.po:
8289         * po/az.po:
8290         * po/cs.po:
8291         * po/en_GB.po:
8292         * po/fr.po:
8293         * po/nl.po:
8294         * po/sr.po:
8295         * po/sv.po:
8296         * po/tr.po:
8297         * po/uk.po:
8298           updated translations
8299
8300 2004-07-16  Benjamin Otte  <otte@gnome.org>
8301
8302         * gst/gstvalue.c: (gst_greatest_common_divisor):
8303           use ints and return ints, fractions only use ints, too, so this
8304           avoids accidently casting multiplications to unsigned
8305         (gst_value_lcopy_fraction): it's ints, not uint32
8306         (gst_value_set_fraction): disallow minint, multiplying and negation
8307           are broken with it
8308         (gst_value_fraction_multiply): fix to make large numbers work and get
8309         rid of the assumption that the multiplication of two ints fits an
8310         int64 - dunno if that's true for all systems
8311         * testsuite/caps/Makefile.am:
8312         * testsuite/caps/fraction-multiply-and-zero.c:
8313         (check_multiplication), (check_equal), (zero_test), (main):
8314           add tests for all the stuff above
8315         * testsuite/caps/value_compare.c: (test1):
8316           fix comment
8317         * tests/.cvsignore:
8318         * testsuite/caps/.cvsignore:
8319         * testsuite/debug/.cvsignore:
8320         * testsuite/dlopen/.cvsignore:
8321         * testsuite/states/.cvsignore:
8322           get up to date
8323
8324 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8325
8326         * docs/manual/bins-api.xml:
8327         * docs/manual/factories.xml:
8328         * docs/manual/helloworld.xml:
8329         * docs/manual/links-api.xml: 
8330           fixes for out of date info, incorrect info and grammar
8331
8332 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8333
8334         * docs/manual/pads.xml:
8335         * docs/manual/pads-api.xml: grammar fix
8336
8337 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8338
8339         * docs/manual/pads-api.xml: typo + grammar fix
8340
8341 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8342
8343         * docs/gst/gstreamer-sections.txt:
8344           add new symbols
8345         * docs/gst/tmpl/gstelement.sgml:
8346         * docs/gst/tmpl/gstpad.sgml:
8347         * docs/gst/tmpl/gsttypes.sgml:
8348         * docs/gst/tmpl/gstvalue.sgml:
8349           update docs
8350         * gst/gststructure.c: (gst_structure_set_valist),
8351         (gst_structure_from_abbr), (gst_structure_to_abbr):
8352         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8353         (gst_greatest_common_divisor), (gst_value_init_fraction),
8354         (gst_value_copy_fraction), (gst_value_collect_fraction),
8355         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8356         (gst_value_get_fraction_numerator),
8357         (gst_value_get_fraction_denominator),
8358         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8359         (gst_value_deserialize_fraction),
8360         (gst_value_transform_fraction_string),
8361         (gst_value_transform_string_fraction),
8362         (gst_value_compare_fraction), (_gst_value_initialize):
8363         * gst/gstvalue.h:
8364           adding GstFraction GValue type, get/set, and multiply
8365         * testsuite/caps/Makefile.am:
8366         * testsuite/caps/fraction.c: (test), (main):
8367         * testsuite/caps/string-conversions.c: (main):
8368         * testsuite/caps/value_compare.c: (test1), (main):
8369           add regression tests for GstFraction
8370
8371 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8372         
8373         * docs/manual/init-api.xml: Grammar fix
8374
8375 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8376
8377         * docs/manual/states.xml: Fix inconsistent information
8378
8379 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8380
8381         * gst/gstelement.c: (gst_element_set_state):
8382         * gst/gstpad.c: (gst_pad_try_set_caps):
8383         * gst/gststructure.c:
8384         * gst/gstthread.c: (gst_thread_child_state_change):
8385         * gst/gstvalue.c: (gst_value_compare_double):
8386         * gst/gstvalue.h:
8387         * testsuite/parse/parse1.c: (main):
8388           debugging additions and style cleanups
8389
8390 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8391
8392         * docs/manual/states.xml: Grammar fix
8393
8394 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8395
8396         * docs/manual/pads.xml: Grammar fix
8397
8398 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8399
8400         * docs/manual/elements.xml: Fixed image reference
8401
8402 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8403
8404         * docs/manual/goals.xml: Grammar fix
8405
8406 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8407
8408         * docs/manual/motivation.xml:
8409         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8410
8411 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8412
8413         * docs/manual/motivation.xml: Fix spelling
8414
8415 2004-07-15  Benjamin Otte  <otte@gnome.org>
8416
8417         * gst/gstelement.h: 
8418           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8419           strings.
8420         * gst/gstelement.c (gst_element_class_init):
8421           GError's are boxed, not objects
8422         * gst/gstmarshal.list:
8423           update list for the fixed error signal
8424
8425 2004-07-14  Andy Wingo  <wingo@pobox.com>
8426
8427         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8428         there all along, but the function wasn't. (guile-gstreamer's build
8429         system uses the address of the function -- I wasn't actually
8430         trying to use this.)
8431
8432 2004-07-14  Andy Wingo  <wingo@pobox.com>
8433
8434         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8435         as gst_pad_proxy_pad_link) just link to every other pad when they
8436         are called. In the case where the graph has cycles, this will mean
8437         that a call to try_set_caps will recurse. Allow this recursion
8438         and return OK, while we wait for the first try_set_caps to give a
8439         proper return value.
8440         (gst_pad_link_call_link_functions): Since this function is the
8441         only one to set the NEGOTIATING flag on a pad, if the flag is set
8442         it means that the link functions have indirectly recursed. If this
8443         happens, error out to avoid infinite recursion and an eventual
8444         SEGV.
8445         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8446         (gst_pad_proxy_getcaps): Intersect the result with the template
8447         caps to ensure that the return value is valid.
8448
8449 2004-07-14  Andy Wingo  <wingo@pobox.com>
8450
8451         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8452         one refcount, the calling function is the owner of the buffer.
8453
8454 2004-07-14  Wim Taymans  <wim@fluendo.com>
8455
8456         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8457         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8458         Fix stupid warning when an element is to be migrated but
8459         is already migrated.
8460
8461 2004-07-14  Wim Taymans  <wim@fluendo.com>
8462
8463         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8464         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8465         Make sure that a single non-loop-based element does not 
8466         end up in a group. This fixes the testsuite again.
8467
8468 2004-07-14  Wim Taymans  <wim@fluendo.com>
8469
8470         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8471         (add_to_group), (merge_groups), (schedule_group),
8472         (gst_opt_scheduler_get_wrapper), (group_elements),
8473         (group_dec_link), (gst_opt_scheduler_pad_link),
8474         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8475         (gst_opt_scheduler_iterate):
8476         move isolated groups to a new chain.
8477         Emit a warning instead of segfaulting in some error cases.
8478         Fix a bug where the link count between groups was not calculated 
8479         correctly. Fixes #144510.
8480
8481 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8482         * gst/elements/gstfilesrc.c:
8483           Binary files support under Windows now OK
8484       
8485 2004-07-13  Benjamin Otte  <otte@gnome.org>
8486
8487           compatibility fixes for Solaris 8/gcc 2.95
8488         * configure.ac:
8489           include libintl libs in LDFLAGS
8490         * gstvalue.c (gst_value_deserialize_buffer):
8491           cast isxdigit stuff to int to silence compiler warning
8492
8493 2004-07-12  Benjamin Otte  <otte@gnome.org>
8494
8495         * gst/gsttypes.h:
8496           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8497           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8498           just causes support madness
8499         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8500           make it work without this
8501         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8502         (gst_file_index_commit):
8503           glib IO channels don't want binary mode
8504         * testsuite/bytestream/filepadsink.c: (main):
8505         * testsuite/bytestream/test1.c: (read_param_file):
8506           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8507
8508 2004-07-12  Benjamin Otte  <otte@gnome.org>
8509
8510         * gst/gstelement.c: (gst_element_class_init),
8511         (gst_element_set_state), (gst_element_set_state_func):
8512           virutalize gst_element_set_state, use set_state member in class
8513           struct that was already added in 0.7 for this.
8514         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8515         (gst_bin_change_state):
8516           make gst_bin_foreach works similar to other foreach functions, plug
8517           memleaks in it. Make functions using it work with the new approach.
8518           Document gst_bin_foreach, so it can be exported if we want to
8519         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8520           use virtualized set_state to make set_state on bins set the state of
8521           all its children.
8522
8523 2004-07-12  Benjamin Otte  <otte@gnome.org>
8524
8525         * configure.ac:
8526           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8527           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8528         * gst/gstpad.c: (gst_pad_alloc_buffer):
8529           allow buffer_alloc functions to return NULL and allocate a normal
8530           buffer in that case
8531
8532 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8533         * gst/elements/gstfilesink.c:
8534         * gst/elements/gstfilesrc.c:
8535         * gst/indexers/gstfileindex.c:
8536         * gst/gsttypes.h:
8537         * testsuite/bytestream/filepadsink.c:
8538         * testsuite/bytestream/test1.c:
8539           Handle binary files under Windows
8540
8541 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8542         * docs/manual/win32.xml:
8543         * win32/config.h:
8544         * win32/gst-register.vcproj:
8545         * win32/gstreamer.def:
8546           Update to another gettext public build
8547
8548 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8549         * gst/gstplugin.c:
8550           Fix an impossible C syntax
8551         * win32/config.h:
8552           Disable i18n under Windows for the moment
8553         * win32/gst-register.vcproj:
8554           Use this configuration
8555
8556 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8557         * docs/manual/quotes.xml:
8558           Keep the quotes file alive
8559         * docs/random/ds/0.9-suggested-changes:
8560           Add the suggestion of including a 'rowstride' as part of video
8561           format caps
8562
8563 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8564
8565         * gst/gstelement.c: (gst_element_set_state),
8566         (gst_element_change_state):
8567           d'oh.  Set PENDING state correctly before forcing bin to change.
8568         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8569         (gst_structure_parse_fixed_list):
8570         * gst/schedulers/gstoptimalscheduler.c:
8571         (gst_opt_scheduler_state_transition):
8572         * testsuite/states/parent.c: (main):
8573           remove comment now that it's fixed.
8574
8575 2004-07-11  Benjamin Otte  <otte@gnome.org>
8576
8577         * gst/gstclock.h:
8578           GST_SECOND shouldn't cause a conversion to unsigned.
8579         * testsuite/clock/.cvsignore:
8580         * testsuite/clock/Makefile.am:
8581         * testsuite/clock/signedness.c: (main):
8582           make sure it never will again
8583
8584 2004-07-11  Andy Wingo  <wingo@pobox.com>
8585
8586         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8587         whose state is higher than the bin state, raise the bin state to
8588         ensure that bin state := highest child state.
8589         
8590 2004-07-11  Andy Wingo  <wingo@pobox.com>
8591
8592         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8593         procedure on the children of a bin. Assumes that the procedure can
8594         change the set of children.
8595         (set_kid_state_func): New static function.
8596         (gst_bin_change_state): Use gst_bin_foreach to call
8597         set_kid_state_func. Fixes a bug: if a child had a state-change
8598         handler that removes it from the bin, there would be a segfault.
8599         Hopefully it should also work in the case where the state-change
8600         handler on one child adds or removes other children. In any case,
8601         fixes should go to gst_bin_foreach.
8602
8603 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8604
8605         * gst/gstelement.c: (gst_element_set_state):
8606           compatibility fix for latest plugins release.  Change loop back
8607           to while {}
8608
8609 2004-07-09  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8612         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8613         (gst_thread_main_loop):
8614         Since remove is virtual in GstBin we must not assume the 
8615         elements GList to have anothing useful.
8616         Add some more logging to GstThread and be a bit more paranoid
8617         when resetting the scheduler.
8618         Set the state of the bin to NULL before removing the children.
8619
8620 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8621
8622         * testsuite/threads/Makefile.am:
8623         * testsuite/threads/threadg.c:
8624           added test to check if problem when removing all elements from a
8625           GstThread before setting GstThread state to NULL
8626
8627 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8628
8629         * docs/gst/tmpl/gstelement.sgml:
8630         * docs/gst/tmpl/gsttypes.sgml:
8631         * gst/gstbin.c: (gst_bin_change_state):
8632         * gst/gstelement.c: (gst_element_set_state),
8633         (gst_element_change_state):
8634           rework so that for bins we try to set the state on all children
8635           as well even if the bin is in the correct state already.
8636           change while to do so at least one iteration is done.
8637           For regular elements, we fall back to the previous behaviour for
8638           now since we first need a new plugins release.
8639         * testsuite/states/parent.c: (main):
8640           test for this case
8641           Fixes #123774
8642
8643 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8644
8645         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8646         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8647         (gst_queue_release_locks), (gst_queue_change_state),
8648         (gst_queue_set_property):
8649           add proper lock debugging.  Change dispose to finalize, since
8650           we're freeing mutexes and other stuff which should happen only once.
8651
8652 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8653
8654         * docs/gst/tmpl/gstelement.sgml:
8655         * docs/gst/tmpl/gstplugin.sgml:
8656         * docs/gst/tmpl/gsttypes.sgml:
8657         * docs/pwg/building-state.xml:
8658         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8659         * gst/gstelement.c: (gst_element_change_state):
8660         * gst/gstthread.c: (gst_thread_change_state):
8661           catch wrong state changes in element base class.
8662
8663 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8664
8665         * gst/gstinfo.h:
8666           clean up layout a little.
8667
8668 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8669
8670         * configure.ac:
8671         * testsuite/Makefile.am:
8672         * testsuite/states/Makefile.am:
8673         * testsuite/states/parent.c: (main):
8674           re-enable states testsuite dir.  Add test for state changes and
8675           parent behaviour
8676
8677 2004-07-09  Wim Taymans  <wim@fluendo.com>
8678
8679         * gst/schedulers/gstoptimalscheduler.c:
8680         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8681         (element_get_reachables_func), (element_get_reachables),
8682         (debug_element), (rechain_group), (group_migrate_connected),
8683         (gst_opt_scheduler_pad_unlink):
8684         Do not try to migrate decoupled elements to a new group since
8685         they are not added to groups.
8686
8687 2004-07-08  Benjamin Otte  <otte@gnome.org>
8688
8689         * gst/gstelement.c: (gst_element_error_func):
8690           make reentrant (= allow removing elements in error handler)
8691
8692 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8693
8694         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8695         (gst_pad_send_event), (gst_pad_call_chain_function):
8696           events sent to elements below PAUSED cannot be handled, so
8697           don't try to
8698
8699 2004-07-08  Wim Taymans  <wim@fluendo.com>
8700
8701         * gst/schedulers/gstoptimalscheduler.c:
8702         (chain_recursively_migrate_group), (create_group),
8703         (schedule_group), (gst_opt_scheduler_pad_link),
8704         (group_elements_set_visited), (element_get_reachables_func),
8705         (element_get_reachables), (group_can_reach_group), (debug_element),
8706         (rechain_group), (group_migrate_connected),
8707         (gst_opt_scheduler_pad_unlink):
8708         * testsuite/schedulers/Makefile.am:
8709         Implemented group splitting and rechaining.
8710         Fixes 143777 and 143777-2 in the testsuite.
8711
8712 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8713
8714         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8715           extra debugging
8716         * gst/gstevent.h:
8717         * gst/gstinfo.c: (gst_debug_log_default):
8718           print time nicely.  add thread pointer until someone figures out
8719           a completely portable way of getting at thread id's.
8720         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8721         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8722         (gst_pad_call_chain_function):
8723           extra debugging
8724         * gst/schedulers/gstoptimalscheduler.c:
8725         (get_group_schedule_function), (loop_group_schedule_function),
8726         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8727         (pad_clear_queued), (gst_opt_scheduler_iterate):
8728           rename BUFPEN and friends to DATAPEN since that's what they are.
8729
8730 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8731
8732         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8733         * gst/gstbuffer.h:
8734         * gst/gstpad.c:
8735           cleanups and debugging
8736
8737 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8738
8739         * configure.ac:
8740         * gst/gstvalue.c: (gst_value_compare_enum),
8741         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8742         (gst_value_can_compare), (gst_value_compare):
8743         * testsuite/Makefile.am:
8744         * testsuite/enumcaps/Makefile.am:
8745         * testsuite/enumcaps/enumcaps.c:
8746           Fix enum serialization, deserialization, comparison in caps, add
8747           a test to ensure that this continues working in the future.
8748
8749 2004-07-06  David Schleef  <ds@schleef.org>
8750
8751         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8752         Fix memleak.
8753
8754 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8757         * gst/gstplugin.h:
8758         * gst/registries/gstxmlregistry.c:
8759         (plugin_times_older_than_recurse), (plugin_times_older_than),
8760         (gst_xml_registry_parse_padtemplate):
8761           only rebuild registry when actual plugins have a newer time than
8762           the registry.  Fixes #145520
8763
8764 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8765
8766         * docs/manual/manual.xml:
8767         * docs/manual/win32.xml:
8768           add chapter on win32 building.  fixes #142422
8769
8770 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8771
8772         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8773
8774         * gst/autoplug/gstspider.c: (gst_spider_init),
8775         (gst_spider_dispose):
8776           fix spider memleaks.  fixes #137863
8777
8778 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8779
8780         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8781
8782         * gst/schedulers/gstoptimalscheduler.c:
8783         (gst_opt_scheduler_pad_unlink):
8784           fix SIGBUS error, fixes #145338
8785
8786 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8787
8788         * gst/gstobject.c: (gst_object_replace):
8789         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8790         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8791           clean up clock lifecycle.  Fixes #109831
8792
8793 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * po/LINGUAS:
8796         * po/cs.po:
8797           added Czech translation (Miloslav Trmac)
8798
8799 2004-07-04  David Schleef  <ds@schleef.org>
8800
8801         * tools/Makefile.am:
8802         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8803
8804 2004-07-04  David Schleef  <ds@schleef.org>
8805
8806         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8807
8808 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * gst/gstbin.c: (gst_bin_restore_thyself):
8811           chain to parent restore so the bins get restored correctly
8812           in the editor
8813
8814 2004-07-03  David Schleef  <ds@schleef.org>
8815
8816         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8817         Actually do something in these functions, like before the big
8818         caps change.  (bug #145137)
8819
8820 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8821
8822         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8823         (gst_element_get_compatible_pad_filtered):
8824         * gst/gstthread.c: (gst_thread_main_loop):
8825           more debugging
8826
8827 2004-07-02  David Schleef  <ds@schleef.org>
8828
8829         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8830         * gst/gstobject.h:
8831         * gst/gstparse.h:
8832         * gst/gsttrace.h:
8833         * gst/gstxml.h:
8834
8835 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8836
8837         * gst/gstpad.c: (gst_pad_check_schedulers),
8838         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8839         (gst_pad_link_prepare):
8840           revert until testsuite is fixed
8841
8842 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8843
8844         * testsuite/Makefile.am:
8845         * testsuite/caps/filtercaps.c: (main):
8846         * testsuite/clock/clock1.c: (main):
8847         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8848           fix some more tests
8849
8850 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8851
8852         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8853         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8854         * testsuite/cleanup/cleanup4.c: (main):
8855           fix testsuite
8856
8857 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8858
8859         * libs/gst/control/control.c:
8860         * libs/gst/control/dparam.c:
8861         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8862         * libs/gst/control/dparammanager.c:
8863         * libs/gst/control/dparammanager.h:
8864         * testsuite/dynparams/Makefile.am:
8865         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8866         (gst_dptest_change_state), (gst_dptest_chain), (main):
8867           fix testcase for dparams
8868           add debugging category
8869
8870 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8871
8872         * testsuite/Rules:
8873           change path
8874
8875 2004-07-02  Benjamin Otte  <otte@gnome.org>
8876
8877         * tests/.cvsignore:
8878         * tests/Makefile.am:
8879         * tests/mass_elements.c: (gst_get_current_time), (main):
8880           add simple benchmark to test various speeds of fakesrc ! identity !
8881           identity ! ... ! fakesink.
8882           Usage: mass_elements [num_identities] [num_buffers]
8883           If not specified they default to 1000.
8884
8885 2004-07-02  Benjamin Otte  <otte@gnome.org>
8886
8887         * gst/gstpad.c: (gst_pad_check_schedulers),
8888         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8889         (gst_pad_link_prepare):
8890           check that pads that get linked belong to the same manager. The old
8891           code allowed linking elements before putting them into bins, so it
8892           worked to link them and then put them in different threads, which
8893           lead to weird behaviour.
8894           Since this effectively disallows linking elements before putting
8895           them in a bin, some applications might not work after this and error
8896           out. If these applications are too critical, we might need to revert
8897           that patch. Please test this before the next release...
8898
8899 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8900
8901         * gst/gstpad.c: (gst_pad_get_caps):
8902           throw an error if the getcaps function does not return a subset of
8903           the template caps.
8904         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8905           make disconts without position info an error in debugging
8906         * tests/spidey_bench.c: (handoff), (main):
8907           don't count first try when averaging
8908
8909 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8910
8911         * gst/gstplugin.c: (gst_plugin_load_file):
8912           figure out problem with dynamic test
8913
8914 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8915
8916         * docs/gst/Makefile.am:
8917           fix docs build
8918
8919 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8920
8921         * po/POTFILES.in:
8922         * po/af.po:
8923         * po/az.po:
8924         * po/en_GB.po:
8925         * po/fr.po:
8926         * po/nl.po:
8927         * po/sr.po:
8928         * po/sv.po:
8929         * po/tr.po:
8930         * po/uk.po:
8931         * tools/gst-register.c: (plugin_added_func), (main):
8932           i18n-ize -register, fix plural
8933
8934 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8935
8936         * gst/elements/gstidentity.c: (gst_identity_class_init),
8937         (gst_identity_init), (gst_identity_chain),
8938         (gst_identity_set_property), (gst_identity_get_property):
8939         * gst/elements/gstidentity.h:
8940           check for perfect stream
8941
8942 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8943
8944         * gst/elements/gstidentity.c: (gst_identity_chain):
8945           print offset_end
8946
8947 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8948
8949         * docs/gst/Makefile.am:
8950         * docs/gst/gstreamer-docs.sgml:
8951           doc fixes
8952
8953 2004-06-24  David Schleef  <ds@schleef.org>
8954
8955         * autogen.sh:  Remove call to env, since the buildbot isn't
8956         broken anymore.
8957
8958 2004-06-24  Wim Taymans  <wim@fluendo.com>
8959
8960         * gst/elements/Makefile.am:
8961         * gst/elements/gstelements.c:
8962         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8963         (gst_multifdsink_class_init), (gst_multifdsink_init),
8964         (gst_multifdsink_add), (gst_multifdsink_remove),
8965         (gst_multifdsink_clear), (gst_multifdsink_chain),
8966         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8967         * gst/elements/gstmultifdsink.h:
8968         Added an element that writes to multiple filedescriptors at once.
8969
8970 2004-06-24  Benjamin Otte  <otte@gnome.org>
8971
8972         * gst/parse/grammar.y:
8973           don't try to link elements before they have been added to bins
8974
8975 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8976
8977         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8978         (gst_file_pad_get_length):
8979         * libs/gst/bytestream/filepad.h:
8980           add 2 new functions
8981
8982 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8983
8984         * docs/gst/gstreamer-sections.txt:
8985         remove from docs, the define that Benjamin removed from gstelement.h
8986
8987 2004-06-22  Benjamin Otte  <otte@gnome.org>
8988
8989         * gst/gstelement.h:
8990           remove define that referenced a nonexisting GstElement struct member
8991
8992 2004-06-20  Benjamin Otte  <otte@gnome.org>
8993
8994         * gst/gstdata.c: (gst_data_is_writable):
8995           whoops, return values were wrong, so writable data was marked as
8996           non-writable and vice versa. (fixes #143953, spotted by Francis
8997           Labonte)
8998           Shows how rarely we need to copy data ;)
8999
9000 2004-06-20  Benjamin Otte  <otte@gnome.org>
9001
9002         * testsuite/schedulers/.cvsignore:
9003         * testsuite/schedulers/Makefile.am:
9004         * testsuite/schedulers/143777-2.c: (main):
9005           add test for opt breakage in bug #143777
9006
9007 2004-06-20  Benjamin Otte  <otte@gnome.org>
9008
9009         * gst/gstpad.c: (gst_pad_call_chain_function):
9010           check for if we were unlinked while inside the chainfunction (fixes
9011           entrygthread having issues with #143777)
9012         * testsuite/schedulers/143777.c: (main):
9013         * testsuite/schedulers/Makefile.am:
9014           add a test for that fix
9015
9016 2004-06-20  Benjamin Otte  <otte@gnome.org>
9017
9018         * gst/gstvalue.c: (gst_value_set_int_range):
9019           test that start is smaller then end
9020         * libs/gst/bytestream/Makefile.am:
9021         * libs/gst/bytestream/filepad.c: 
9022         * libs/gst/bytestream/filepad.h:
9023           add GstFilePad - a pad that behaves like a FILE*
9024         * testsuite/bytestream/.cvsignore:
9025         * testsuite/bytestream/Makefile.am:
9026         * testsuite/bytestream/filepadsink.c: 
9027           test for the GstFilePad
9028
9029 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9030
9031         * gst/elements/gstidentity.c: (gst_identity_class_init),
9032         (gst_identity_init), (gst_identity_set_clock),
9033         (gst_identity_chain), (gst_identity_set_property),
9034         (gst_identity_get_property):
9035         * gst/elements/gstidentity.h:
9036         * gst/gstclock.c: (gst_clock_id_wait):
9037           add a "sync" property to sync to the clock
9038
9039 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9040
9041         * gst/gstelementfactory.c: (gst_element_factory_create):
9042           make the freakin "elementfactory bla has no type" message more
9043           useful. So we actually can do something when someone shows up
9044           complaining about it.
9045
9046 2004-06-15  Johan Dahlin  <johan@gnome.org>
9047
9048         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9049         found. This matches the old behavior better. Thanks to Thomas for
9050         pointing out.
9051
9052 2004-06-14  David Schleef  <ds@schleef.org>
9053
9054         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9055         -fomit-frame-pointer.  Appears to generate correct code in
9056         other cases as well.
9057
9058 2004-06-14  Johan Dahlin  <johan@gnome.org>
9059
9060         * tools/gst-inspect.c (main): Add two new command line options: -a
9061         to print all elements and -n to print the name on each line. Also
9062         fix some error reporting.
9063         (main): Simplify, remove -n and always print names if -a is specified
9064
9065 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9066
9067         * win32/gstconfig.h:
9068         * win32/GSTreamer.vcproj:
9069         * win32/Makefile:
9070         * gst/gstconfig.h.in:
9071         * gst/gst.h:
9072         * gst/gstbin.h:
9073         * gst/gstelement.h:
9074         * gst/gstevent.h:
9075         * gst/gstobject.h:
9076         * gst/gstpad.h:
9077         * docs/gst/gstreamer-sections.txt:
9078         * docs/gst/tmpl/gstconfig.sgml:
9079           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9080
9081 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9082         * docs/gst/gstreamer-sections.txt:
9083         * docs/gst/tmpl/gstconfig.sgml:
9084         Add the GSTREAMER_EXPORT macro to the docs
9085
9086 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9087
9088         * tools/gst-compprep.c: (handle_xmlerror), (main):
9089         Add a check for the version that introduced SetStructuredError to fix
9090         the build on FC1
9091
9092 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9093
9094         * win32/msvc71.sln:
9095         * win32/testsuite/:
9096           prepare to compile the testsuite with MSVC
9097
9098 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9099
9100         * docs/manual/win32.xml:
9101           attempt to transform the Win32 README into an XML doc
9102
9103 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9104
9105         * gst/gst.c:
9106         * gst/gstbin.*:
9107         * gst/config.h.in:
9108         * gst/gstelement.*:
9109         * gst/gstevent.h:
9110         * gst/gstobject.*:
9111         * gst/gstpad.h:
9112         * tools/gst-register.c:
9113         * win32/gstreamer.def:
9114           extern symbols are now exported for the Windows DLL
9115
9116 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9117
9118         * gst/gstinfo.h:
9119           fix a problem to enable/disable DEBUG under MSVC
9120
9121 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9122
9123         * win32/:
9124           enable more debug code in DEBUG build
9125
9126 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9127
9128         * win32/config.h:
9129         * gst/gst-i18n-app.h:
9130           enable NLS under Windows
9131
9132 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9133         * tools/gst-compprep.c: (handle_xmlerror), (main):
9134           Make an error that baffled me a bit clearer
9135
9136 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9137
9138         * gst/gstqueue.c:
9139           don't use g_queue_get_length () because it's 2.4, use ->length
9140
9141 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9142
9143         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9144
9145         * tools/gst-inspect.c: (print_signal_info):
9146           don't free random data twice. (fixes #144185)
9147
9148 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * gst/gstqueue.c:
9151         * gst/gstqueue.h:
9152           fix removing from the wrong queue on event timeout
9153           fix disposing of the event queue by casting correctly
9154           add mutexes for handling the event queue
9155           someone was sleeping when fixing queue last time around :)
9156
9157 2004-06-10  Johan Dahlin  <johan@gnome.org>
9158
9159         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9160         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9161
9162 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9163
9164         * docs/random/gdp:
9165         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9166         * libs/gst/dataprotocol/dataprotocol.c:
9167         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9168         (gst_dp_buffer_from_header):
9169         * libs/gst/dataprotocol/dataprotocol.h:
9170         * libs/gst/dataprotocol/dp-private.h:
9171           rev version to 0.1, add buffer flags and copy them
9172
9173 2004-06-09  Johan Dahlin  <johan@gnome.org>
9174
9175         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9176         the flags from the buffer we're copying.
9177
9178 2004-06-09  Wim Taymans  <wim@fluendo.com>
9179
9180         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9181         * gst/elements/gstidentity.c: (gst_identity_init),
9182         (gst_identity_chain):
9183         Print more buffer info in fakesink.
9184         Make identity output similar to fakesink.
9185
9186 2004-06-07  Daniel Gazard  <dany42@free.fr>
9187
9188         reviewed by Benjamin Otte  <otte@gnome.org>
9189
9190         * configure.ac:
9191           fix cross compiling not working. (fixes #143741)
9192
9193 2004-06-07  Benjamin Otte  <otte@gnome.org>
9194
9195         * gst/gstelement.c: (gst_element_set_time_delay):
9196           add failure check
9197         * gst/gstinfo.h:
9198           put brackets around macro arguments of GST_TIME_ARGS, add note to
9199           move it to correct header in 0.9
9200
9201 2004-06-07  Benjamin Otte  <otte@gnome.org>
9202
9203         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9204         (gst_file_index_load), (_file_index_id_save_entries),
9205         (gst_file_index_commit), (gst_file_index_add_association),
9206         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9207         (gst_file_index_plugin_init):
9208           make debugging use a default category
9209
9210 2004-06-06  David Moore  <dcm@acm.org>
9211
9212         reviewed by Benjamin Otte  <otte@gnome.org>
9213
9214         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9215         (gst_fdsrc_change_state):
9216           reset offset counter when going READY => PAUSED. (fixes #142903)
9217
9218 2004-06-06  ed@catmur.co.uk
9219
9220         reviewed by Benjamin Otte  <otte@gnome.org>
9221
9222         * gst/registries/gstxmlregistry.c:
9223         (gst_xml_registry_rebuild_recurse):
9224           don't rely on g_dir_open to figure out if a file is a directory, use
9225           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9226           directories. (fixes #142850)
9227
9228 2004-06-06  Benjamin Otte  <otte@gnome.org>
9229
9230         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9231           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9232         * libs/gst/bytestream/adapter.c:
9233         * libs/gst/bytestream/adapter.h:
9234           fix copyright in header and typo in debugging category name
9235
9236 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9237
9238         * configure.ac:
9239           bump nano to cvs
9240
9241 === release 0.8.3 ===
9242
9243 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9244
9245         * configure.ac:
9246           update libtool versioning
9247           do a new release
9248         * docs/gst/tmpl/gstelement.sgml:
9249         * docs/gst/tmpl/gsttypes.sgml:
9250         * gst/gstinfo.c: (_gst_debug_init):
9251           put back GST_CAT_DATAFLOW to fix API breakage
9252
9253 2004-06-04  David Schleef  <ds@schleef.org>
9254
9255         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9256
9257 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9258
9259         * configure.ac:
9260           bump nano to cvs
9261
9262 === release 0.8.2 ===
9263
9264 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9267           check GST_DEBUG environment variable which is parsed the same way
9268           as --gst-debug=
9269
9270 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9271
9272         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9273                             gstmd5sink.c gstshaper.c gsttee.c
9274                             gsttypefindelement.c
9275         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9276
9277           - removing trailing commas at end of enums
9278             it is correct C99 code but C90 compilers would complain
9279             (AIX, Forte, ...)
9280             ('should' fix #143290, at least partially)
9281
9282 2004-05-27  Wim Taymans  <wim@fluendo.com>
9283
9284         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9285         (chain_group_set_enabled), (create_group), (add_to_group),
9286         (merge_groups), (setup_group_scheduler), (group_elements),
9287         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9288         Don't try to follow the pad connections with other groups
9289         when a loop based element is added to the scheduler because
9290         the bin will inform the scheduler about the pad links a little
9291         later.
9292
9293 2004-05-27  Wim Taymans  <wim@fluendo.com>
9294
9295         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9296         (remove_from_chain), (chain_group_set_enabled),
9297         (setup_group_scheduler), (group_element_set_enabled),
9298         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9299         (gst_opt_scheduler_show):
9300         Elements without a group can do a state change as well, just wait
9301         with the setup of the scheduling function when it is added to a
9302         chain.
9303
9304 2004-05-27  Wim Taymans  <wim@fluendo.com>
9305
9306         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9307         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9308         (merge_groups), (setup_group_scheduler),
9309         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9310         (gst_opt_scheduler_show):
9311         Fixes to maintain internal consistency of the scheduler data
9312         structures. 
9313          - adding an enabled group to a chain should increment the
9314            number of enabled elements in that chain.
9315          - removing an enabled group from a chain could disable the
9316            chain.
9317          - removing a disabled group from a chain could enable the
9318            chain.
9319          - add g_assert when internal inconsistency is detected.
9320          - adding an element to a group could increase the number of
9321            links this group has with other groups.
9322          - merging two groups also merges the chains.
9323          - also show group links in the _show method.
9324            
9325
9326 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9327
9328         * gst/gstcaps.c: (gst_caps_structure_simplify):
9329           don't print error messages when there is no error
9330         * gst/gstvalue.c: (gst_value_compare_int_range):
9331           compare the second value, too
9332         * testsuite/caps/Makefile.am:
9333         * testsuite/caps/random.c: (assert_on_error), (main):
9334           add tests to make sure the two things above are checked for
9335
9336 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9337
9338         * configure.ac:
9339         * libs/gst/dataprotocol/Makefile.am:
9340         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9341         * libs/gst/dataprotocol/dataprotocol.h:
9342           wrap header in GST_ENABLE_NEW.  make code use it
9343
9344 2004-05-23  Johan Dahlin  <johan@gnome.org>
9345
9346         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9347         so verbose and print GstElement signal names all the time.
9348
9349 2004-05-22  David Schleef  <ds@schleef.org>
9350
9351         * gst/registries/gstxmlregistry.c:
9352         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9353         (bug #142957)
9354
9355 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * configure.ac:
9358           scrub cflags for glib2 so gcc doesn't complain when glib is in
9359           /usr/local
9360
9361 2004-05-21  Johan Dahlin  <johan@gnome.org>
9362
9363         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9364         __GNUC__, patch from Brian Cameron, fixes bug #142804
9365
9366 2004-05-20  David Schleef  <ds@schleef.org>
9367
9368         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9369         comparison code.  (bug #142819)
9370
9371 2004-05-20  Wim Taymans  <wim@fluendo.com>
9372
9373         * gst/gstbuffer.c: (gst_buffer_default_copy):
9374         * gst/gstbuffer.h:
9375         Added Comment to a flag.
9376         copy relevant flags in _buffer_copy.
9377
9378 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9379
9380         reviewed by: Wim Taymans <wim at fluendo dot com>
9381
9382         * gst/gstbuffer.h:
9383           add GST_BUFFER_IN_CAPS buffer flag
9384         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9385         (gst_structure_parse_any_list), (gst_structure_parse_list),
9386         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9387         * gst/gstvalue.c: (gst_value_serialize_any_list),
9388         (gst_value_transform_any_list_string),
9389         (gst_value_list_prepend_value), (gst_value_list_append_value),
9390         (gst_value_list_get_size), (gst_value_list_get_value),
9391         (gst_value_transform_list_string),
9392         (gst_value_transform_fixed_list_string),
9393         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9394         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9395         (_gst_value_initialize):
9396         * gst/gstvalue.h:
9397           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9398           < , > as a format.
9399         * testsuite/caps/string-conversions.c: (main):
9400           add regression tests for < >
9401
9402 2004-05-20  Johan Dahlin  <johan@gnome.org>
9403
9404         * docs/gst/Makefile.am (all-local): Re-add
9405
9406 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9407
9408         * docs/gst/Makefile.am:
9409         * docs/gst/gstreamer-docs.sgml:
9410         * docs/libs/Makefile.am:
9411         * docs/libs/gstreamer-libs-docs.sgml:
9412           fix distcheck issues
9413
9414 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9415
9416         * libs/gst/dataprotocol/Makefile.am:
9417           add to autotest
9418
9419 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * libs/gst/dataprotocol/Makefile.am:
9422         * libs/gst/dataprotocol/dataprotocol.c:
9423         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9424         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9425         * libs/gst/dataprotocol/dp-private.h:
9426           use GST macros to read/write fixed length ints
9427           add some more asserts
9428
9429 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9430
9431         * docs/libs/gstreamer-libs-docs.sgml:
9432         * docs/libs/gstreamer-libs-sections.txt:
9433           remove idct and putbits
9434         * configure.ac:
9435         * docs/libs/tmpl/gstdataprotocol.sgml:
9436         * libs/gst/Makefile.am:
9437         * libs/gst/dataprotocol/Makefile.am:
9438         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9439         (buffer_test), (caps_test), (event_test), (main):
9440         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9441         (gst_dp_dump_byte_array), (gst_dp_init),
9442         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9443         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9444         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9445         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9446         (gst_dp_validate_header), (gst_dp_validate_payload),
9447         (gst_dp_validate_packet), (plugin_init):
9448         * libs/gst/dataprotocol/dataprotocol.h:
9449         * libs/gst/dataprotocol/dp-private.h:
9450           add dataprotocol
9451
9452 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9453
9454         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9455           fix int variable deserialization and add a helper so we can actually
9456           debug this.
9457
9458 2004-05-18  David Schleef  <ds@schleef.org>
9459
9460         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9461           argv[0].  Calling yourself is probably not the best way to
9462           construct a test like this, btw.
9463
9464 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9465
9466         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9467           don't claim to be more intelligent than a scheduler when the
9468           scheduler claims the pipeline is stopped
9469         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9470         (safe_cothread_destroy),
9471         (gst_entry_scheduler_remove_all_cothreads),
9472         (gst_entry_scheduler_reset), (_remove_cothread),
9473         (gst_entry_scheduler_state_transition):
9474           hold off cothread destruction if we're not in main cothread
9475         * configure.ac:
9476         * testsuite/Makefile.am:
9477           add new test dir
9478         * testsuite/schedulers/.cvsignore:
9479         * testsuite/schedulers/Makefile.am:
9480           add tests
9481         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9482           check relinking and adding/removing elements from a running pipeline
9483         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9484           check unlinking in a running pipeline
9485         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9486           check unreffing a running pipeline
9487         * testsuite/schedulers/useless_iteration.c: (main):
9488           check iterating a pipeline that contains running threads works
9489
9490 2004-05-18  David Schleef  <ds@schleef.org>
9491
9492         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9493           is false.
9494
9495 2004-05-18  Wim Taymans  <wim@fluendo.com>
9496
9497         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9498         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9499         Fixed an error introduced with patch for 1.63. When setting
9500         a get based element as the entry point in a group, make sure
9501         to mark the group as GET based.
9502
9503 2004-05-18  Wim Taymans  <wim@fluendo.com>
9504
9505         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9506         (setup_group_scheduler), (loop_group_schedule_function),
9507         (gst_opt_scheduler_pad_link):
9508         Added some more debug info and fixed a bug where the group
9509         type was set to LOOP but it was in fact unknown.
9510
9511 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9512
9513         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9514           make resetting scheduler work twice in a row
9515
9516 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9517
9518         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9519         (CREATE_USERIALIZATION), (_gst_value_initialize),
9520         (gst_value_compare_float), (gst_value_serialize_float),
9521         (gst_value_deserialize_float), (gst_value_compare_enum),
9522         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9523           add serialization and comparison functions for long, int64, enum and
9524           float values
9525         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9526           use best serialization function in type hierarchy instead of only a
9527           matching one. This is required for enums to work.
9528         * gst/parse/grammar.y:
9529           use gst_caps_deserialize
9530         * testsuite/parse/Makefile.am:
9531           parse1 now works
9532         * testsuite/parse/parse1.c: (main):
9533           remove aggregator check, aggregator is broken, this test works now
9534           but fails because of bug #138012
9535         * testsuite/parse/parse2.c: (main):
9536           s/xvideosink/xvimagesink - this test looks a lot like we should
9537           disable it
9538
9539 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9540
9541         * gst/gstelement.c: (gst_element_class_init):
9542           whoops, store the signal id correctly
9543         * gst/schedulers/gstbasicscheduler.c:
9544         (gst_basic_scheduler_chain_wrapper):
9545           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9546           chain function isn't linked
9547
9548 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9549         * configure.ac:
9550         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9551         support until we decide where the flags should be used
9552         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9553         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9554         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9555         Output refused caps in the debug info
9556
9557 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * gst/elements/gstidentity.c: (gst_identity_chain):
9560           add duration debug
9561         * gst/gstinfo.c: (gst_debug_log_default):
9562           add timestamp
9563
9564 2004-05-13  Benjamin Otte  <otte@gnome.org>
9565
9566         * gst/gstpipeline.c: (gst_pipeline_dispose),
9567         (gst_pipeline_change_state):
9568           call gst_scheduler_reset on dispose (fixes #141416)
9569
9570 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9571
9572         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9573           compute mapsize correctly
9574         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9575           use correct datatypes when calling a varargs function
9576         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9577           push a DISCONT event as first thing
9578         * gst/gst_private.h:
9579         * gst/gstinfo.c: (_gst_debug_init):
9580           remove GST_DATAFLOW debugging category
9581         * gst/gstbin.c: (gst_bin_iterate):
9582           use GST_SCHEDULING category
9583         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9584         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9585         (gst_pad_call_get_function):
9586           add GST_DATAFLOW to easily track flow of buffers or events.
9587         * gst/gstqueue.c: (gst_queue_get_type),
9588         (gst_queue_handle_pending_events), (gst_queue_chain),
9589         (gst_queue_get), (gst_queue_handle_src_event):
9590           use own static debugging category GST_DATAFLOW for dataflow,
9591           use DEBUG category for showing which path events go, use LOG
9592           category for buffers.
9593
9594 2004-05-10  David Schleef  <ds@schleef.org>
9595
9596         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9597
9598 2004-05-10  David Schleef  <ds@schleef.org>
9599
9600         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9601         symbols, because otherwise we don't know what they are.  Thanks,
9602         the GStreamer team.
9603         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9604
9605 2004-05-10  David Schleef  <ds@schleef.org>
9606
9607         (from Steve Lhomme)
9608         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9609         are deleted.  Fix.
9610         * win32/Makefile.inspect:
9611         * win32/Makefile.launch:
9612         * win32/Makefile.register:
9613
9614 2004-05-10  David Schleef  <ds@schleef.org>
9615
9616         * gst/gstinfo.h: Add missing inline function.
9617         * gst/gsttrace.c: add include
9618         * gst/parse/grammar.y: remove unused code
9619         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9620         more portable.
9621         * tools/gst-register.c: wrap unistd.h
9622         
9623         More additions/fixes from Steve for the MSVC build.
9624         * win32/GStreamer.vcproj:
9625         * win32/Makefile:
9626         * win32/Makefile.inspect:
9627         * win32/Makefile.launch:
9628         * win32/Makefile.register:
9629         * win32/README.txt:
9630         * win32/gst-inspect.vcproj:
9631         * win32/gst-launch.vcproj:
9632         * win32/gst-register.vcproj:
9633         * win32/gstbytestream.def:
9634         * win32/gstbytestream.vcproj:
9635         * win32/gstconfig.h:
9636         * win32/gstelements.def:
9637         * win32/gstelements.vcproj:
9638         * win32/gstenumtypes.c:
9639         * win32/gstenumtypes.h:
9640         * win32/gstoptimalscheduler.def:
9641         * win32/gstoptimalscheduler.vcproj:
9642         * win32/gstreamer.def:
9643         * win32/gstspider.def:
9644         * win32/gstspider.vcproj:
9645         * win32/gstversion.h:
9646         * win32/msvc71.sln:
9647
9648 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9649
9650         * gst/gstelement.c: (gst_element_class_init),
9651         (gst_element_no_more_pads):
9652         * gst/gstelement.h:
9653           add gst_element_no_more_pads and the "no-more-pads" signal
9654
9655 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9656
9657         * gst/gstregistry.c: (gst_registry_add_plugin):
9658           refuse to add plugins when a plugin with same name is already
9659           registered. Fixes a bunch of "How to remove plugins?" issues.
9660           May lead to other problems though, let's test
9661
9662 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9663
9664         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9665         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9666         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9667
9668 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * tests/Makefile.am: fix am16 issue
9671
9672 2004-05-09  Benjamin Otte  <otte@gnome.org>
9673
9674         * libs/gst/bytestream/Makefile.am:
9675           we should indeed add .c files to makefiles or they won't be built
9676           (d'oh)
9677
9678 2004-05-08  Benjamin Otte  <otte@gnome.org>
9679
9680         * gst/gstpad.c: (gst_pad_proxy_fixate):
9681           really reduce the set of caps
9682
9683 2004-05-08  Benjamin Otte  <otte@gnome.org>
9684
9685         * tests/Makefile.am:
9686         * tests/spidey_bench.c: (handoff), (main):
9687           add benchmark to test how long spider needs to create a pipeline
9688
9689 2004-05-08  Benjamin Otte  <otte@gnome.org>
9690
9691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9692           mark links as unengaged when unnegotiating instead of deactivating.
9693           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9694
9695 2004-05-08  Benjamin Otte  <otte@gnome.org>
9696
9697         * docs/manual/helloworld.xml:
9698           s/audiosink/osssink (patch by Patrick Guimond)
9699
9700 2004-05-07  David Schleef  <ds@schleef.org>
9701
9702         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9703         since it contains important stuff.
9704
9705 2004-05-07  David Schleef  <ds@schleef.org>
9706
9707         * testsuite/caps/caps.c: (test3), (main): A check for appending
9708         ANY caps.
9709
9710 2004-05-07  David Schleef  <ds@schleef.org>
9711
9712         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9713         which may contain commas.  Fixes detection of -Wa,-mregnames
9714
9715 2004-05-06  David Schleef  <ds@schleef.org>
9716
9717         Changes to handle compilers that don't have variadic macro
9718         support.  In particular, glib headers define some inlines
9719         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9720         builds.
9721         * gst/Makefile.am:
9722         * gst/cothreads.c:
9723         * gst/elements/gstfdsink.c:
9724         * gst/elements/gstfdsrc.c:
9725         * gst/elements/gstfilesink.c:
9726         * gst/elements/gstfilesrc.c:
9727         * gst/gst_private.h:
9728         * gst/gstatomic.c:
9729         * gst/gstcaps.c: (gst_caps_append):
9730         * gst/gstcpu.c: (gst_cpuid_i386):
9731         * gst/gstelement.c:
9732         * gst/gsterror.c:
9733         * gst/gstfilter.c:
9734         * gst/gstinfo.h:
9735         * gst/gstprobe.c:
9736         * gst/gstquery.c:
9737         * gst/gstregistry.c:
9738         * gst/gststructure.c:
9739         * gst/gsttaginterface.c:
9740         * gst/gsttrace.c: (gst_trace_new):
9741         * gst/gsttrashstack.c:
9742         * gst/gsturi.c:
9743         * gst/gstvalue.c:
9744         * gst/parse/grammar.y:
9745         * gst/parse/parse.l:
9746         * tools/gst-inspect.c: (main):
9747         * tools/gst-launch.c: (main):
9748         * tools/gst-xmlinspect.c: (PUT_STRING):
9749
9750 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9751
9752         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9753         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9754         * gst/elements/gstfilesrc.h:
9755           send NEW_MEDIA events correctly
9756         * gst/elements/gsttypefindelement.c: (start_typefinding),
9757         (gst_type_find_element_handle_event):
9758           restart typefinding when we get a NEW_MEDIA event
9759         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9760         (gst_bin_dispose):
9761           don't die when someone removes elements in callbacks
9762         * gst/gstelement.c: (gst_element_change_state):
9763           improve debugging
9764         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9765           we need a NEW_MEDIA event to engage a link
9766         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9767           don't g_print debugging stuff
9768         * testsuite/caps/simplify.c: (check_caps):
9769
9770 2004-05-04  Benjamin Otte  <otte@gnome.org>
9771
9772         * gst/parse/grammar.y:
9773           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9774
9775 2004-05-04  Benjamin Otte  <otte@gnome.org>
9776
9777         * testsuite/caps/renegotiate.c: (main):
9778           improve output in error case
9779
9780 2004-05-04  Benjamin Otte  <otte@gnome.org>
9781
9782         * gst/parse/grammar.y:
9783           fix assert to not trigger when there's no error argument
9784         * gst/parse/parse.l:
9785           fix definition of caps to allow more than two structures
9786         * testsuite/caps/Makefile.am:
9787         * testsuite/caps/renegotiate.c: (main):
9788           it's sinesrc and works in that case
9789
9790 2004-05-04  Wim Taymans  <wim@fluendo.com>
9791
9792         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9793         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9794         when removing an element from a group, we always need to
9795         decrement the link count that this group had with other 
9796         groups through the element.
9797         added an extra assert to catch inconsistencies when decrementing
9798         the link count.
9799
9800 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * configure.ac:
9803         * docs/gst/Makefile.am:
9804         * docs/gst/gstreamer-sections.txt:
9805         * docs/gst/tmpl/gstcompat.sgml:
9806         * examples/appreader/Makefile.am:
9807         * examples/cutter/Makefile.am:
9808         * examples/events/Makefile.am:
9809         * examples/helloworld/Makefile.am:
9810         * examples/helloworld2/Makefile.am:
9811         * examples/launch/Makefile.am:
9812         * examples/manual/Makefile.am:
9813         * examples/mixer/Makefile.am:
9814         * examples/pingpong/Makefile.am:
9815         * examples/plugins/Makefile.am:
9816         * examples/queue/Makefile.am:
9817         * examples/queue2/Makefile.am:
9818         * examples/queue3/Makefile.am:
9819         * examples/queue4/Makefile.am:
9820         * examples/retag/Makefile.am:
9821         * examples/thread/Makefile.am:
9822         * examples/typefind/Makefile.am:
9823         * examples/xml/Makefile.am:
9824         * gst/Makefile.am:
9825         * gst/autoplug/Makefile.am:
9826         * gst/elements/Makefile.am:
9827         * gst/gstcompat.h:
9828         * gst/indexers/Makefile.am:
9829         * gst/parse/Makefile.am:
9830         * gst/registries/Makefile.am:
9831         * gst/schedulers/Makefile.am:
9832         * libs/gst/bytestream/Makefile.am:
9833         * libs/gst/control/Makefile.am:
9834         * libs/gst/getbits/Makefile.am:
9835         * po/af.po:
9836         * po/az.po:
9837         * po/en_GB.po:
9838         * po/fr.po:
9839         * po/nl.po:
9840         * po/sr.po:
9841         * po/sv.po:
9842         * po/tr.po:
9843         * po/uk.po:
9844         * tests/Makefile.am:
9845         * tests/bufspeed/Makefile.am:
9846         * tests/instantiate/Makefile.am:
9847         * tests/memchunk/Makefile.am:
9848         * tests/muxing/Makefile.am:
9849         * tests/negotiation/Makefile.am:
9850         * tests/probes/Makefile.am:
9851         * tests/sched/Makefile.am:
9852         * tests/seeking/Makefile.am:
9853         * tests/threadstate/Makefile.am:
9854         * testsuite/caps/Makefile.am:
9855         * testsuite/cleanup/Makefile.am:
9856         * testsuite/dlopen/Makefile.am:
9857         * testsuite/dynparams/Makefile.am:
9858         * testsuite/plugin/Makefile.am:
9859         * testsuite/states/Makefile.am:
9860         * tools/Makefile.am:
9861           reorganize compile/link flags to be consistent
9862           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9863
9864 2004-05-04  David Schleef  <ds@schleef.org>
9865
9866         The "once more, with feeling" check-in.
9867         * testsuite/caps/Makefile.am: dist caps_strings
9868         * testsuite/caps/renegotiate.c: (main): This test triggers a
9869           segfault in the core.  Marking as failing.
9870
9871 2004-05-03  David Schleef  <ds@schleef.org>
9872
9873         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9874           by the build bots.
9875         * testsuite/caps/renegotiate.c: (main): Same.
9876
9877 2004-05-03  David Schleef  <ds@schleef.org>
9878
9879         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9880
9881 2004-05-03  David Schleef  <ds@schleef.org>
9882
9883         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9884           variable to find our source file.
9885
9886 2004-05-03  David Schleef  <ds@schleef.org>
9887
9888         * configure.ac:  Link plugins with libgstreamer and dependent
9889           libraries
9890         * testsuite/caps/Makefile.am:
9891         * testsuite/caps/caps_strings:
9892         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9893           through a file of caps strings and test each one
9894
9895 2004-05-04  Benjamin Otte  <otte@gnome.org>
9896
9897         * libs/gst/bytestream/Makefile.am:
9898         * libs/gst/bytestream/adapter.c: 
9899         * libs/gst/bytestream/adapter.h:
9900           add GstAdapter, similar to bytestream, but doesn't require ugly event
9901           handling or uglier loopbased elements
9902
9903 2004-05-03  David Schleef  <ds@schleef.org>
9904
9905         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9906         * testsuite/caps/erathostenes.c:
9907         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9908
9909 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * docs/pwg/pwg.xml:
9912           remove hardcoded stylesheet path (duh)
9913         * docs/random/release:
9914         * docs/gst/gstreamer-sections.txt:
9915         * gst/Makefile.am:
9916         * gst/gst.h:
9917         * gst/gst_private.h:
9918         * gst/gstcaps.c:
9919         * gst/gstevent.c:
9920         * gst/gstformat.c:
9921         * gst/gstinfo.c:
9922         * gst/gstinfo.h:
9923         * gst/gstinterface.c:
9924         * gst/gstmemchunk.c:
9925         * gst/gstprobe.c:
9926         * gst/gstquery.c:
9927         * gst/gstregistry.c:
9928         * gst/gstregistrypool.c:
9929         * gst/gststructure.c:
9930         * gst/gsttaginterface.c:
9931         * gst/gstthread.c:
9932         * gst/gsttrace.c:
9933         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9934         * gst/gsturi.c:
9935         * gst/gstvalue.c:
9936           deprecate gst_info; remove gstlog.h
9937    
9938
9939 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9940
9941         * Makefile.am:
9942         * po/en_GB.po:
9943         * po/sv.po:
9944         * po/uk.po:
9945           updated translations
9946
9947 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9948
9949         * gst/gstbin.c: (gst_bin_dispose):
9950           better debugging
9951
9952 2004-05-03  Johan Dahlin  <johan@gnome.org>
9953
9954         * gst/schedulers/gstoptimalscheduler.c
9955         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9956         really is a GstElement. Avoids critical when running gst-launch -v
9957         and a oggdemux/decoding pipeline.
9958
9959 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9960
9961         * docs/gst/tmpl/gstpipeline.sgml :
9962         * docs/manual/elements-api.xml :
9963                 doc fix by Patrick Guimond (Protector) from devel ML
9964                 reviewed by ronald
9965
9966 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9967
9968         * docs/gst/Makefile.am :
9969         * docs/libs/Makefile.am :
9970                 apply a patch from Arwed v. Merkatz so that gtk-doc
9971                 generated docs install (same for .devhelp file)
9972                 (fixes part 1 of #138836)
9973
9974 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9975
9976         * docs/faq/dependencies.xml: typo
9977         * docs/faq/getting.xml :
9978             - fix download URL for new gstreamer site
9979             - hide sf.net download page as latest version aren't there
9980             - fix apt URLs
9981             - fill "get via CVS" paragraph (link to dev page on the site)
9982         * docs/faq/general.xml:
9983             hide status tables as they no more exists
9984             change case on plugins license file to reflect reality
9985         * docs/faq/troubleshooting.xml:
9986             remove the wiki question/answer as there is no more wiki
9987
9988 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9989
9990         * gst/gsterror.h:
9991           include the headers needed for declarations used in this header
9992
9993 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9994
9995         * docs/random/uraeus/gstreamer_and_midi.txt :
9996           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9997           (fixes #132288)
9998
9999 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10000
10001         reviewed by Benjamin Otte  <otte@gnome.org>
10002
10003         * gst/schedulers/gthread-cothreads.h:
10004           free allocated data for main cothread, too when destroying context
10005           (fixes #141417)
10006
10007 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10008
10009         * docs/manual/goals.xml : remove duplicated paragraph at end 
10010         of doc page (fixes #141448)
10011
10012 2004-04-29  David Schleef  <ds@schleef.org>
10013
10014         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10015         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10016
10017 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10018
10019         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10020           fix property
10021         * gst/gstcaps.c:
10022           fix doc string
10023         * po/POTFILES.in:
10024           rename typefind source file
10025
10026 2004-04-28  David Schleef  <ds@schleef.org>
10027
10028         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10029         * win32/GStreamer.vcproj:
10030         * win32/Makefile:
10031         * win32/config.h:
10032         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10033         (_trewinddir), (_ttelldir), (_tseekdir):
10034         * win32/dirent.h:
10035         * win32/gst-inspect.vcproj:
10036         * win32/gst-launch.vcproj:
10037         * win32/gst-register.vcproj:
10038         * win32/gstbytestream.vcproj:
10039         * win32/gstelements.vcproj:
10040         * win32/gstoptimalscheduler.vcproj:
10041         * win32/gstspider.vcproj:
10042         * win32/gtchar.h:
10043         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10044         * win32/mman.h:
10045         * win32/mman.inl:
10046         * win32/msvc71.sln:
10047
10048 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10049
10050         * gst/gst.c: (init_post):
10051         * gst/gstinfo.c:
10052           remove useless _gst_progname stuff
10053         * tools/gst-inspect.c: (print_field), (print_caps):
10054           improve caps output
10055
10056 2004-04-28  David Schleef  <ds@schleef.org>
10057
10058         Disable parsing of a lot of files that aren't part of the
10059         exported API.  Move corresponding template files to old/,
10060         waiting for removal when they don't contain anything
10061         interesting.
10062         * docs/gst/Makefile.am:
10063         * docs/gst/gstreamer-sections.txt:
10064         * docs/gst/tmpl/cothreads.sgml:
10065         * docs/gst/tmpl/cothreads_compat.sgml:
10066         * docs/gst/tmpl/gettext.sgml:
10067         * docs/gst/tmpl/gobject2gtk.sgml:
10068         * docs/gst/tmpl/grammar.tab.sgml:
10069         * docs/gst/tmpl/gst-i18n-app.sgml:
10070         * docs/gst/tmpl/gst-i18n-lib.sgml:
10071         * docs/gst/tmpl/gst_private.sgml:
10072         * docs/gst/tmpl/gstaggregator.sgml:
10073         * docs/gst/tmpl/gstarch.sgml:
10074         * docs/gst/tmpl/gstatomic_impl.sgml:
10075         * docs/gst/tmpl/gstbufferstore.sgml:
10076         * docs/gst/tmpl/gstdata_private.sgml:
10077         * docs/gst/tmpl/gstdisksink.sgml:
10078         * docs/gst/tmpl/gstdisksrc.sgml:
10079         * docs/gst/tmpl/gstelementfactory.sgml:
10080         * docs/gst/tmpl/gstextratypes.sgml:
10081         * docs/gst/tmpl/gstfakesink.sgml:
10082         * docs/gst/tmpl/gstfakesrc.sgml:
10083         * docs/gst/tmpl/gstfdsink.sgml:
10084         * docs/gst/tmpl/gstfdsrc.sgml:
10085         * docs/gst/tmpl/gstfilesink.sgml:
10086         * docs/gst/tmpl/gstfilesrc.sgml:
10087         * docs/gst/tmpl/gsthttpsrc.sgml:
10088         * docs/gst/tmpl/gstidentity.sgml:
10089         * docs/gst/tmpl/gstindexfactory.sgml:
10090         * docs/gst/tmpl/gstmarshal.sgml:
10091         * docs/gst/tmpl/gstmd5sink.sgml:
10092         * docs/gst/tmpl/gstmultidisksrc.sgml:
10093         * docs/gst/tmpl/gstmultifilesrc.sgml:
10094         * docs/gst/tmpl/gstpadtemplate.sgml:
10095         * docs/gst/tmpl/gstpipefilter.sgml:
10096         * docs/gst/tmpl/gstschedulerfactory.sgml:
10097         * docs/gst/tmpl/gstsearchfuncs.sgml:
10098         * docs/gst/tmpl/gstshaper.sgml:
10099         * docs/gst/tmpl/gstspider.sgml:
10100         * docs/gst/tmpl/gstspideridentity.sgml:
10101         * docs/gst/tmpl/gststatistics.sgml:
10102         * docs/gst/tmpl/gsttee.sgml:
10103         * docs/gst/tmpl/gsttimecache.sgml:
10104         * docs/gst/tmpl/gsttypefind.sgml:
10105         * docs/gst/tmpl/gsttypefindfactory.sgml:
10106         * docs/gst/tmpl/gstxmlregistry.sgml:
10107         * docs/gst/tmpl/gthread-cothreads.sgml:
10108         * docs/gst/tmpl/old/cothreads.sgml:
10109         * docs/gst/tmpl/old/cothreads_compat.sgml:
10110         * docs/gst/tmpl/old/gettext.sgml:
10111         * docs/gst/tmpl/old/gobject2gtk.sgml:
10112         * docs/gst/tmpl/old/grammar.tab.sgml:
10113         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10114         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10115         * docs/gst/tmpl/old/gst_private.sgml:
10116         * docs/gst/tmpl/old/gstaggregator.sgml:
10117         * docs/gst/tmpl/old/gstarch.sgml:
10118         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10119         * docs/gst/tmpl/old/gstbufferstore.sgml:
10120         * docs/gst/tmpl/old/gstdata_private.sgml:
10121         * docs/gst/tmpl/old/gstdisksink.sgml:
10122         * docs/gst/tmpl/old/gstdisksrc.sgml:
10123         * docs/gst/tmpl/old/gstelementfactory.sgml:
10124         * docs/gst/tmpl/old/gstextratypes.sgml:
10125         * docs/gst/tmpl/old/gstfakesink.sgml:
10126         * docs/gst/tmpl/old/gstfakesrc.sgml:
10127         * docs/gst/tmpl/old/gstfdsink.sgml:
10128         * docs/gst/tmpl/old/gstfdsrc.sgml:
10129         * docs/gst/tmpl/old/gstfilesink.sgml:
10130         * docs/gst/tmpl/old/gstfilesrc.sgml:
10131         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10132         * docs/gst/tmpl/old/gstidentity.sgml:
10133         * docs/gst/tmpl/old/gstindexfactory.sgml:
10134         * docs/gst/tmpl/old/gstmarshal.sgml:
10135         * docs/gst/tmpl/old/gstmd5sink.sgml:
10136         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10137         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10138         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10139         * docs/gst/tmpl/old/gstpipefilter.sgml:
10140         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10141         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10142         * docs/gst/tmpl/old/gstshaper.sgml:
10143         * docs/gst/tmpl/old/gstspider.sgml:
10144         * docs/gst/tmpl/old/gstspideridentity.sgml:
10145         * docs/gst/tmpl/old/gststatistics.sgml:
10146         * docs/gst/tmpl/old/gsttee.sgml:
10147         * docs/gst/tmpl/old/gsttimecache.sgml:
10148         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10149         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10150         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10151         * docs/gst/tmpl/old/types.sgml:
10152         * docs/gst/tmpl/types.sgml:
10153
10154         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10155         gtkdoc-scan doesn't like files with the same name in different
10156         directories.
10157         * gst/elements/Makefile.am:
10158         * gst/elements/gstelements.c:
10159         * gst/elements/gsttypefind.c: 
10160         * gst/elements/gsttypefind.h:
10161         * gst/elements/gsttypefindelement.c:
10162         * gst/elements/gsttypefindelement.h:
10163
10164 2004-04-28  David Schleef  <ds@schleef.org>
10165
10166         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10167         patch (bug #141317):
10168         * gst/gst-i18n-lib.h: Allow disabling gettext.
10169         * gst/gstatomic_impl.h: disable warning when it's dumb.
10170         * gst/gstclock.c: fix include
10171         * gst/gstcompat.h: fix variadic macro
10172         * gst/gstinfo.c: fix include
10173         * gst/gstmacros.h: add defines for inlines on MSVC
10174         * gst/gstplugin.c: fix includes
10175         * gst/gstregistry.c: fix includes
10176         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10177         * gst/gstsystemclock.c: fix include
10178         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10179         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10180         * gst/registries/gstxmlregistry.c:
10181         (gst_xml_registry_parse_element_factory): fix use of non-portable
10182         functions
10183         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10184         * libs/gst/control/dparammanager.h: same
10185
10186 2004-04-28  David Schleef  <ds@schleef.org>
10187
10188         Move a bunch of unused files to old/ with names that are
10189         not case-insensitive-unique.  These files still contain some
10190         useful information that needs to be merged into gstbin.sgml,
10191         etc., so they shouldn't be deleted yet.
10192         * docs/gst/tmpl/GstBin.sgml:
10193         * docs/gst/tmpl/GstBuffer.sgml:
10194         * docs/gst/tmpl/GstCaps.sgml:
10195         * docs/gst/tmpl/GstClock.sgml:
10196         * docs/gst/tmpl/GstCompat.sgml:
10197         * docs/gst/tmpl/GstData.sgml:
10198         * docs/gst/tmpl/GstElement.sgml:
10199         * docs/gst/tmpl/GstEvent.sgml:
10200         * docs/gst/tmpl/GstIndex.sgml:
10201         * docs/gst/tmpl/GstStructure.sgml:
10202         * docs/gst/tmpl/GstTag.sgml:
10203         * docs/gst/tmpl/old/GstBin.sgml:
10204         * docs/gst/tmpl/old/GstBuffer.sgml:
10205         * docs/gst/tmpl/old/GstCaps.sgml:
10206         * docs/gst/tmpl/old/GstClock.sgml:
10207         * docs/gst/tmpl/old/GstCompat.sgml:
10208         * docs/gst/tmpl/old/GstData.sgml:
10209         * docs/gst/tmpl/old/GstElement.sgml:
10210         * docs/gst/tmpl/old/GstEvent.sgml:
10211         * docs/gst/tmpl/old/GstIndex.sgml:
10212         * docs/gst/tmpl/old/GstStructure.sgml:
10213         * docs/gst/tmpl/old/GstTag.sgml:
10214
10215 2004-04-28  David Schleef  <ds@schleef.org>
10216
10217         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10218         (gst_caps_append), (gst_caps_append_structure),
10219         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10220         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10221         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10222         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10223         (gst_caps_intersect), (gst_caps_normalize),
10224         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10225         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10226         * gst/gstcaps.h: use GST_IS_CAPS().
10227
10228 2004-04-26  David Schleef  <ds@schleef.org>
10229
10230         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10231         assembly.  gcc doesn't handle it correctly. (bug #141083)
10232         * gst/gsttrashstack.h: same
10233
10234 2004-04-25  Benjamin Otte  <otte@gnome.org>
10235
10236         * gst/gstelement.c: (gst_element_change_state):
10237           fix assertion to do an int comparison
10238
10239 2004-04-25  Benjamin Otte  <otte@gnome.org>
10240
10241         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10242           better debugging output on error
10243
10244 2004-04-25  Benjamin Otte  <otte@gnome.org>
10245
10246         * gst/gstcaps.c: (gst_caps_subtract):
10247           fix memleak
10248
10249 2004-04-23  Benjamin Otte  <otte@gnome.org>
10250
10251         * gst/gstvalue.c: (gst_value_compare_buffer),
10252         (_gst_value_initialize):
10253           add comparison function for buffers
10254
10255 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10256
10257         * docs/pwg/pwg.xml:
10258           Just found out that this so-called "ima-wav" format is really
10259           just "dvi adpcm" (according to the MS WAV documentation). So
10260           renaming it. We didn't use it yet anyway.
10261
10262 2004-04-23  Benjamin Otte  <otte@gnome.org>
10263
10264         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10265           call gst_caps_is_subset
10266
10267 2004-04-23  Benjamin Otte  <otte@gnome.org>
10268
10269         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10270         (gst_caps_is_subset):
10271           add documentation
10272
10273 2004-04-23  Benjamin Otte  <otte@gnome.org>
10274           
10275         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10276         (gst_caps_structure_subtract), (gst_caps_subtract),
10277         (gst_caps_structure_figure_out_union),
10278         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10279           fix simplifying and subtracting not working correctly with optional
10280           properties
10281           solve assorted problems that make it now simplify ebven more
10282         * docs/gst/tmpl/gstcaps.sgml:
10283         * gst/gstcaps.h:
10284           make gst_caps_do_simplify return a bool to indicate if it simplified
10285         * testsuite/caps/simplify.c: (main):
10286           add more checks. The tests is quite a bit useless right now because
10287           the core is heavily simplifying itself.
10288         * testsuite/caps/caps.h:
10289           fix caps to contain all optional properties
10290
10291 2004-04-22  Benjamin Otte  <otte@gnome.org>
10292
10293         * docs/gst/tmpl/gstcaps.sgml:
10294         * docs/gst/tmpl/gstfilesrc.sgml:
10295         * docs/gst/tmpl/gststructure.sgml:
10296         * docs/gst/tmpl/gstvalue.sgml:
10297           update for recent API changes
10298         * gst/gstcaps.c: (gst_caps_do_simplify):
10299           fix to stop trying with a freed structure
10300         * gst/gstpad.c: (gst_pad_link_fixate):
10301           simplify caps
10302         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10303           remove C++ comment
10304         * gst/gstpad.h:
10305           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10306         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10307         (gst_structure_to_string):
10308           keep the correct type when using lists of ranges
10309         * gst/gstvalue.c: (gst_value_list_prepend_value),
10310         (gst_value_list_append_value):
10311           copy the value before adding to the list (d'oh)
10312         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10313         (gst_value_subtract_int_range_int_range):
10314           handle overflows correctly
10315         * gst/gstvalue.c: (gst_value_subtract_from_list):
10316           fix memleak
10317         * testsuite/caps/caps.h:
10318           add a caps that caused segfaults
10319
10320 2004-04-22  Benjamin Otte  <otte@gnome.org>
10321
10322         * testsuite/refcounting/pad.c: (main):
10323           fix test
10324
10325 2004-04-22  Benjamin Otte  <otte@gnome.org>
10326
10327         * gst/gstcaps.c: (gst_caps_subtract):
10328           allow subtracting ANY and EMPTY from ANY caps
10329
10330 2004-04-22  Benjamin Otte  <otte@gnome.org>
10331
10332         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10333         (gst_caps_union):
10334           only simplify in functions that create new caps. Simplifying in
10335           gst_caps_append breaks tests.
10336
10337 2004-04-22  Benjamin Otte  <otte@gnome.org>
10338
10339         * gst/gstcaps.c: (gst_caps_structure_simplify):
10340           unset GValue after use
10341         * gst/gstcaps.c: (gst_caps_append), 
10342         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10343           use gst_caps_simplify (reduces registry size by 30%)
10344         * gst/gstpad.c: (gst_pad_template_new):
10345           don't allow NULL caps
10346
10347 2004-04-22  Benjamin Otte  <otte@gnome.org>
10348
10349         * docs/gst/gstreamer-sections.txt:
10350           add gst_caps_do_simplify
10351         * gst/gstcaps.c:
10352           add documentation for gst_caps_do_simplify
10353         * gst/gstvalue.h:
10354           fix typo in gst_value_register_subtract_func declaration for gst-doc
10355
10356 2004-04-22  Benjamin Otte  <otte@gnome.org>
10357
10358         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10359           fix bug when converting from empty string.
10360         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10361         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10362           use gst_caps_new_empty to allocate a new caps. Only that function
10363           allocates memory for caps now.
10364         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10365         (gst_caps_remove_structure):
10366           add ability to remove one structure (but not to header yet)
10367         * gst/gstcaps.c: (gst_caps_compare_structures),
10368         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10369         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10370         * gst/gstcaps.h:
10371           add gst_caps_do_simplify that tries to simplify a caps in place.
10372           Deprecate old gst_caps_simplify function.
10373         * testsuite/caps/caps.h:
10374           add caps.h containing a common set of caps to test against.
10375         * testsuite/caps/sets.c: (check_caps), (main):
10376           use it.
10377         * testsuite/caps/.cvsignore:
10378         * testsuite/caps/Makefile.am:
10379         * testsuite/caps/simplify.c: (check_caps), (main):
10380           add test to check correctness and efficency of caps simplification.
10381
10382 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10383
10384         reviewed by Benjamin Otte  <otte@gnome.org>
10385
10386         * gst/gstparse.c: (_gst_parse_escape):
10387           Free the GString used in _gst_parse_escape()
10388
10389 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10390
10391         * gst/gstpad.c: (gst_pad_link_negotiate):
10392           refuse to link if the link is not possible
10393         * configure.ac:
10394         * testsuite/Makefile.am:
10395         * testsuite/negotiation/.cvsignore:
10396         * testsuite/negotiation/Makefile.am:
10397         * testsuite/negotiation/pad_link.c: (main):
10398           add test that checks the above behaviour
10399
10400 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10401
10402         * docs/gst/gstreamer-sections.txt:
10403           add newly added API
10404
10405 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10408         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10409         (gst_filesrc_open_file), (gst_filesrc_close_file),
10410         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10411         * gst/elements/gstfilesrc.h:
10412           add support for non-regular files (#140734)
10413
10414 2004-04-21  Benjamin Otte  <otte@gnome.org>
10415
10416         * gst/gstpad.c: (gst_pad_link_fixate):
10417           add sophisticated error checking code to see if fixation functions
10418           did their fixation right
10419
10420 2004-04-21  Benjamin Otte  <otte@gnome.org>
10421
10422         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10423           check for ANY caps before appending/unioning
10424         * gst/gstcaps.c: (gst_caps_is_subset),
10425         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10426         (gst_caps_structure_subtract), (gst_caps_subtract):
10427         * gst/gstcaps.h:
10428           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10429           the API. deprecate gst_caps_is_equal_fixed
10430         * gst/gstpad.c: (gst_pad_try_set_caps):
10431         * gst/gstqueue.c: (gst_queue_link):
10432           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10433         * gst/gststructure.c: (gst_structure_get_name_id):
10434         * gst/gststructure.h:
10435           add function gst_structure_get_name_id
10436         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10437         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10438         (gst_value_subtract_int_range_int_range),
10439         (gst_value_subtract_double_double_range),
10440         (gst_value_subtract_double_range_double),
10441         (gst_value_subtract_double_range_double_range),
10442         (gst_value_subtract_from_list), (gst_value_subtract_list),
10443         (gst_value_can_intersect), (gst_value_subtract),
10444         (gst_value_can_subtract), (gst_value_register_subtract_func),
10445         (_gst_value_initialize):
10446         * gst/gstvalue.h:
10447           add support for subtracting values from each other. Note that
10448           subtracting means subtracting as in set theory. Required for caps
10449           stuff above.
10450         * testsuite/caps/.cvsignore:
10451         * testsuite/caps/Makefile.am:
10452         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10453         * testsuite/caps/sets.c: (check_caps), (main):
10454         * testsuite/caps/subtract.c: (check_caps), (main):
10455           add tests for subtraction and equality code.
10456
10457 2004-04-20  David Schleef  <ds@schleef.org>
10458
10459         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10460         * gst/indexers/Makefile.am:
10461         * gst/schedulers/Makefile.am:
10462         * libs/gst/bytestream/Makefile.am:
10463         * libs/gst/control/Makefile.am:
10464         * libs/gst/getbits/Makefile.am:
10465
10466 2004-04-20  David Schleef  <ds@schleef.org>
10467
10468         * common/as-libtool.mak: Fine-tune DLL building.
10469         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10470         (like gst-plugins)
10471         * examples/plugins/Makefile.am: remove plugindir
10472         * gst/autoplug/Makefile.am: DLL building fixes
10473         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10474         Windows.
10475         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10476         * gst/indexers/Makefile.am: DLL building fixes
10477         * gst/schedulers/Makefile.am: DLL building fixes.
10478         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10479         * libs/gst/control/Makefile.am: same
10480         * libs/gst/getbits/Makefile.am: same
10481         * testsuite/Makefile.am: New dlopen directory
10482         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10483         when dlopened.
10484         * testsuite/dlopen/dlopen_gst.c: (main): same
10485         * testsuite/dlopen/loadgst.c: (do_test): same
10486
10487 2004-04-20  David Schleef  <ds@schleef.org>
10488
10489         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10490         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10491
10492 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10493
10494         * gst/gstelement.c: (gst_element_wait),
10495         (gst_element_set_time_delay), (gst_element_change_state):
10496           Use GST_TIME_*
10497
10498 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10499
10500         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10501         (gst_spider_identity_plug):
10502           improve debugging messages
10503         * gst/gstbin.c: (gst_bin_remove_func):
10504           make sure the state_change function is only called with simple state
10505           transitions
10506
10507 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10508
10509         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10510         (gst_fakesink_set_property), (gst_fakesink_chain):
10511         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10512         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10513         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10514         * gst/elements/gstidentity.c: (gst_identity_chain),
10515         (gst_identity_set_property):
10516         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10517         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10518           add warnings to _set_property for unknown arguments
10519           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10520
10521 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10522
10523         * Makefile.am:
10524         * docs/manuals.mak:
10525           add .po file download snippet
10526           fix a bug in the doc makefile
10527
10528 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10529
10530         * Makefile.am:
10531         * po/LINGUAS:
10532         * po/en_GB.po:
10533           Added en_GB translation (Gareth Owen)
10534
10535 2004-04-20  Johan Dahlin  <johan@gnome.org>
10536
10537         * gst/gstpad.c (_invent_event): Clean up
10538
10539 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10540
10541         * testsuite/caps/filtercaps.c: (main):
10542           fix test to test things correctly (caps are complicated)
10543
10544 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10545
10546         * testsuite/caps/Makefile.am:
10547         * testsuite/caps/filtercaps.c: (main):
10548           add test (that doesn't work right now, but should)
10549
10550 2004-04-19  David Schleef  <ds@schleef.org>
10551
10552         * configure.ac: Add test for allowing unaligned access.  Add define
10553         to put in gstconfig.h.
10554         * docs/gst/gstreamer-sections.txt: New symbols
10555         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10556         * docs/gst/tmpl/gstfilesrc.sgml:
10557         * docs/gst/tmpl/gstparse.sgml:
10558         * docs/gst/tmpl/gsttypes.sgml:
10559         * docs/gst/tmpl/gstutils.sgml:
10560         * docs/gst/tmpl/gstvalue.sgml:
10561         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10562         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10563         on most !i386/!powerpc architectures.  From Daniel Gazard
10564         <daniel.gazard@free.fr>.  (bug #140156)
10565         * po/af.po: Check in changes made by gettext.
10566         * po/az.po:
10567         * po/fr.po:
10568         * po/nl.po:
10569         * po/sr.po:
10570         * po/sv.po:
10571
10572 2004-04-20  Benjamin Otte  <otte@gnome.org>
10573
10574         * gst/schedulers/entryscheduler.c: 
10575         (gst_entry_scheduler_yield):
10576           refuse to yield when decoupled elements insist on doing that.
10577           At least it's better than crashing
10578
10579 2004-04-19  David Schleef  <ds@schleef.org>
10580
10581         * docs/libs/Makefile.am: Change sinclude to include
10582         * docs/gst/Makefile.am: same
10583         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10584
10585 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10586
10587         * po/LINGUAS:
10588         * po/uk.po:
10589           Added Ukrainian translation (Maxim V. Dziumanenko)
10590
10591 2004-04-19  Johan Dahlin  <johan@gnome.org>
10592
10593         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10594         checking here, do it before calling the function.
10595         Clean up, use for loops instead of while loops while iterating
10596         over lists.
10597
10598         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10599         in debug message.
10600         (gst_spider_create_and_plug): Improve debug message.
10601         General: Replace while loops which iterates over GLists with for
10602         loops. Which are much cleaner, improves readability, especially
10603         for gst_spider_identity_plug
10604
10605         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10606         fixes bug 140477
10607
10608 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * po/LINGUAS:
10611         * po/tr.po:
10612           Added Turkish translation (Baris Cicek)
10613
10614 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10615
10616         * docs/faq/troubleshooting.xml:
10617           Mention gst-register in the FAQ (fixes 139045).
10618
10619 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * docs/gst/gstreamer-sections.txt:
10622
10623 2004-04-17  Benjamin Otte  <otte@gnome.org>
10624
10625         * gst/gstelement.c: (gst_element_dispose):
10626           simplify
10627         * gst/gstpad.c: (gst_pad_call_chain_function):
10628           don't create loads of events due to bad macro usage
10629
10630 2004-04-16  David Schleef  <ds@schleef.org>
10631
10632         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10633         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10634         * gst/gstvalue.c: (gst_value_serialize_buffer),
10635         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10636         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10637         to indicate types that are fixed wrt caps or not.  Switching to
10638         this function fixes (bug #140298).
10639         * gst/gstvalue.h:
10640
10641 2004-04-16  David Schleef  <ds@schleef.org>
10642
10643         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10644         for GST_UNALIGNED_ACESS, since we essentially know which archs
10645         are ok.
10646
10647 2004-04-17  Benjamin Otte  <otte@gnome.org>
10648
10649         * docs/gst/Makefile.am:
10650           ignore gst/parse directory when building docs (fixes #140205)
10651
10652 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * testsuite/refcounting/mem.c: (vmsize):
10655           do error checking
10656
10657 2004-04-16  Johan Dahlin  <johan@gnome.org>
10658
10659         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10660         and gst_pad_call_get_function.
10661
10662 2004-04-15  David Schleef  <ds@schleef.org>
10663
10664         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10665         checks if we can access unaligned memory.
10666         * configure.ac: Use it.
10667
10668 2004-04-16  Benjamin Otte  <otte@gnome.org>
10669
10670         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10671         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10672         * gst/elements/gstfilesrc.h:
10673           s/seek_happened/need_discont/ and require discont before sending any
10674           data
10675
10676 2004-04-15  David Schleef  <ds@schleef.org>
10677
10678         * gst/gstvalue.c: (gst_value_serialize_buffer),
10679         (gst_value_deserialize_buffer), (_gst_value_initialize):
10680         Register these types as fundamental types. (bug #140015)
10681
10682 2004-04-16  Benjamin Otte  <otte@gnome.org>
10683
10684         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10685         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10686         (gst_pad_pull):
10687           implement enforcing discont events before buffers are passed. This
10688           allows state changes of only some elements and later correctly going
10689           on where they left off (or in short: you can now set audio sinks to
10690           NULL to release the device when the pipeline is paused)
10691         * gst/gstpad.c: (gst_pad_call_chain_function),
10692         (gst_pad_call_get_function):
10693         * gst/gstpad.h:
10694           add gst_pad_call_chain_function and gst_pad_call_get_function for
10695           scheduler interaction. They are required because of the changes
10696           above.
10697         * gst/schedulers/entryscheduler.c: (get_buffer),
10698         (gst_entry_scheduler_chain_wrapper),
10699         (gst_entry_scheduler_get_wrapper),
10700         (gst_entry_scheduler_state_transition),
10701         (gst_entry_scheduler_pad_link):
10702         * gst/schedulers/gstbasicscheduler.c:
10703         (gst_basic_scheduler_chain_wrapper),
10704         (gst_basic_scheduler_src_wrapper),
10705         (gst_basic_scheduler_chainhandler_proxy),
10706         (gst_basic_scheduler_gethandler_proxy),
10707         (gst_basic_scheduler_cothreaded_chain),
10708         (gst_basic_scheduler_chain_elements):
10709         * gst/schedulers/gstoptimalscheduler.c:
10710         (get_group_schedule_function), (pad_clear_queued),
10711         (gst_opt_scheduler_pad_link):
10712           use the new functions instead of calling get/chain-functions
10713           directly.
10714
10715 2004-04-15  David Schleef  <ds@schleef.org>
10716
10717         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10718         * docs/gst/tmpl/gstinfo.sgml: same
10719         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10720         gtk-doc put here.
10721         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10722         * examples/queue/queue.c: (main):  We iterate pipelines, not
10723         bins.  (bug #139996)
10724
10725 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10726
10727         * docs/pwg/advanced-types.xml:
10728           Add MS RLE support. Also document Qt RLE although I have no sample
10729           files for that yet. And document an extra property for ADPCM.
10730
10731 2004-04-15  David Schleef  <ds@schleef.org>
10732
10733         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10734         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10735         Windows.
10736
10737 2004-04-15  David Schleef  <ds@schleef.org>
10738
10739         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10740         symbol names to not conflict with new gstinfo.h symbols.
10741         * gst/gstinfo.h: Add inline functions for all those crazy
10742         compilers that don't know how to handle variadic macros (MSVC).
10743
10744 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10745
10746         * configure.ac: bump nano to 1
10747
10748 === release 0.8.1 ===
10749
10750 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10751
10752         * NEWS:
10753         * RELEASE:
10754         * configure.ac:
10755           releasing 0.8.1, "Snow Brigade"
10756
10757 2004-04-14  David Schleef  <ds@schleef.org>
10758
10759         * testsuite/Makefile.am: define tests_ignore
10760         * testsuite/Rules: Added new tests_ignore, which get compiled,
10761         but not run (generally because they're inconsistent or have
10762         heisenbugs).  Now we can ensure all the .c files compile in
10763         testsuite/.
10764         * testsuite/bins/Makefile.am: define tests_ignore
10765         * testsuite/bytestream/Makefile.am:
10766         * testsuite/caps/Makefile.am:
10767         * testsuite/clock/Makefile.am:
10768         * testsuite/debug/Makefile.am:
10769         * testsuite/debug/global.c: (gst_debug_log_one),
10770         (gst_debug_log_two): Fix compilation problem.
10771         * testsuite/dynparams/Makefile.am:
10772         * testsuite/elements/Makefile.am:
10773         * testsuite/ghostpads/Makefile.am:
10774         * testsuite/indexers/Makefile.am:
10775         * testsuite/parse/Makefile.am:
10776         * testsuite/plugin/Makefile.am:
10777         * testsuite/refcounting/Makefile.am:
10778         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10779         results, because it's not calculated correctly.
10780         * testsuite/refcounting/pad.c: (main): same
10781         * testsuite/states/Makefile.am:
10782         * testsuite/tags/Makefile.am:
10783         * testsuite/threads/Makefile.am:
10784
10785 2004-04-14  David Schleef  <ds@schleef.org>
10786
10787         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10788         generating bad code around the cpu detection asm code.
10789
10790 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10791
10792         * tools/gst-inspect.c: (print_element_info):
10793           print numeric version of rank as well, since we added some - 1
10794           rank values to elements
10795
10796 2004-04-13  David Schleef  <ds@schleef.org>
10797
10798         * configure.ac:  Disable various code when compiling for MinGW.
10799         * gst/elements/Makefile.am:
10800         * gst/elements/gstelements.c:
10801         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10802         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10803         * gst/registries/gstxmlregistry.c: (make_dir):
10804
10805 2004-04-13  David Schleef  <ds@schleef.org>
10806
10807         * gst/Makefile.am:
10808         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10809         assembly.
10810         * gst/gstcpuid_i386.s: remove
10811
10812 2004-04-13  David Schleef  <ds@schleef.org>
10813
10814         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10815         seems to think it needs to be done.
10816         * docs/gst/tmpl/gstfakesink.sgml:
10817         * docs/gst/tmpl/gstfakesrc.sgml:
10818         * docs/gst/tmpl/gstfdsink.sgml:
10819         * docs/gst/tmpl/gstfdsrc.sgml:
10820         * docs/gst/tmpl/gstfilesink.sgml:
10821         * docs/gst/tmpl/gstfilesrc.sgml:
10822         * docs/gst/tmpl/gstidentity.sgml:
10823         * docs/gst/tmpl/gstmd5sink.sgml:
10824         * docs/gst/tmpl/gstmultifilesrc.sgml:
10825         * docs/gst/tmpl/gstpipefilter.sgml:
10826         * docs/gst/tmpl/gstshaper.sgml:
10827         * docs/gst/tmpl/gstspider.sgml:
10828         * docs/gst/tmpl/gstspideridentity.sgml:
10829         * docs/gst/tmpl/gststatistics.sgml:
10830         * docs/gst/tmpl/gsttee.sgml:
10831         * docs/gst/tmpl/gsttypefind.sgml:
10832         * docs/gst/tmpl/gstutils.sgml:
10833
10834 2004-04-13  David Schleef  <ds@schleef.org>
10835
10836         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10837         and to build DLLs on Windows.
10838         * gst/Makefile.am:
10839         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10840         (gst_filesrc_open_file):
10841         * gst/schedulers/Makefile.am:
10842
10843 2004-04-13  David Schleef  <ds@schleef.org>
10844
10845         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10846         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10847         fixating lists.
10848
10849 2004-04-12  David Schleef  <ds@schleef.org>
10850
10851         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10852         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10853         to using it.
10854         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10855         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10856         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10857         * gst/gststructure.c: (gst_structure_set_valist),
10858         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10859         support for buffers.
10860         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10861         intended to be const.
10862         * gst/gsttag.h: same
10863         * gst/gstvalue.c: (gst_value_serialize_buffer),
10864         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10865         to (de)serialize buffers.
10866         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10867         * testsuite/caps/string-conversions.c: (main):
10868         * testsuite/caps/value_serialize.c: add new test
10869
10870 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10871
10872         * docs/pwg/advanced-types.xml:
10873           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10874
10875 2004-04-11  Benjamin Otte  <otte@gnome.org>
10876
10877         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10878           rename categories to basic_*
10879         * gst/schedulers/gstbasicscheduler.c: 
10880         (gst_basic_scheduler_chain_wrapper),
10881         (gst_basic_scheduler_chainhandler_proxy),
10882         (gst_basic_scheduler_gethandler_proxy),
10883         (gst_basic_scheduler_eventhandler_proxy):
10884           debugging category fixes - put common stuff in log category
10885         * gst/schedulers/gstbasicscheduler.c: 
10886         (gst_basic_scheduler_chain_elements):
10887           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10888           active and linking two active chains
10889
10890 2004-04-10  Benjamin Otte  <otte@gnome.org>
10891
10892         * docs/pwg/intro-preface.xml:
10893           fix dead links and remove reference to Wiki
10894
10895 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10896
10897         * gst/schedulers/gstbasicscheduler.c:
10898           make sure we can switch back to the main function if we're still in
10899           the main function (supposed to fix #139617)
10900         * gst/schedulers/gthread-cothreads.h:
10901           don't throw an error when switching to the same cothread
10902
10903 2004-04-09  Benjamin Otte  <otte@gnome.org>
10904
10905         * gst/gstbin.c: (gst_bin_get_type):
10906         * gst/gstclock.c: (gst_clock_get_type):
10907         * gst/gstindex.c: (gst_index_get_type):
10908         * gst/gstobject.c: (gst_object_get_type),
10909         (gst_signal_object_get_type):
10910         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10911         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10912         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10913         * gst/gstqueue.c: (gst_queue_get_type):
10914         * gst/gstregistry.c: (gst_registry_get_type):
10915         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10916         * gst/gstthread.c: (gst_thread_get_type):
10917           don't use memchunks for these objects, use malloc instead
10918
10919 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10920
10921         * docs/gst/.cvsignore:
10922         * docs/gst/Makefile.am:
10923         * docs/gst/gstreamer-sections.txt:
10924         * docs/gst/tmpl/gstaggregator.sgml:
10925         * docs/gst/tmpl/gstbuffer.sgml:
10926         * docs/gst/tmpl/gstclock.sgml:
10927         * docs/gst/tmpl/gstelement.sgml:
10928         * docs/gst/tmpl/gstfakesink.sgml:
10929         * docs/gst/tmpl/gstfakesrc.sgml:
10930         * docs/gst/tmpl/gstfdsink.sgml:
10931         * docs/gst/tmpl/gstfdsrc.sgml:
10932         * docs/gst/tmpl/gstfilesink.sgml:
10933         * docs/gst/tmpl/gstfilesrc.sgml:
10934         * docs/gst/tmpl/gstidentity.sgml:
10935         * docs/gst/tmpl/gstindex.sgml:
10936         * docs/gst/tmpl/gstinfo.sgml:
10937         * docs/gst/tmpl/gstmd5sink.sgml:
10938         * docs/gst/tmpl/gstmultifilesrc.sgml:
10939         * docs/gst/tmpl/gstpad.sgml:
10940         * docs/gst/tmpl/gstpipefilter.sgml:
10941         * docs/gst/tmpl/gstpipeline.sgml:
10942         * docs/gst/tmpl/gstpluginfeature.sgml:
10943         * docs/gst/tmpl/gstqueue.sgml:
10944         * docs/gst/tmpl/gstregistry.sgml:
10945         * docs/gst/tmpl/gstscheduler.sgml:
10946         * docs/gst/tmpl/gstshaper.sgml:
10947         * docs/gst/tmpl/gstspider.sgml:
10948         * docs/gst/tmpl/gstspideridentity.sgml:
10949         * docs/gst/tmpl/gststatistics.sgml:
10950         * docs/gst/tmpl/gstsystemclock.sgml:
10951         * docs/gst/tmpl/gsttee.sgml:
10952         * docs/gst/tmpl/gstthread.sgml:
10953         * docs/gst/tmpl/gsttypefind.sgml:
10954         * docs/gst/tmpl/gstutils.sgml:
10955           further doc build fixes
10956
10957 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10958
10959         * docs/gst/Makefile.am:
10960           make docs exit on scanning problems
10961           fix nonsrcdir build issues
10962         * docs/gst/gstreamer-sections.txt:
10963           adding stuff from -unused
10964         * gst/gstqueue.h:
10965           create GstQueueSize
10966         * gst/schedulers/cothreads_compat.h:
10967           fix cothread warnings
10968
10969 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10970
10971         * docs/gst/gstreamer-sections.txt:
10972           remove defines deprecated by Benjamin
10973
10974 2004-04-07  Benjamin Otte  <otte@gnome.org>
10975
10976         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10977           when the buffer is complete, don't check if other buffers are needed
10978         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10979           check that the offset is >0 so we don't try to read before the
10980           beginning of the file
10981         * gst/gstpad.c: (gst_pad_set_pad_template):
10982           sink the template, so we don't end up with 130k pad templates
10983
10984 2004-04-06  Benjamin Otte  <otte@gnome.org>
10985
10986         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10987           don't ref the element, adding already reffed it. And we didn't unref
10988           it later anyway... (huge memleak when you used many spider elements)
10989         * gst/gstelement.c: (gst_element_base_class_finalize):
10990         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10991         (gst_element_register):
10992         * gst/gsturi.c: (gst_element_make_from_uri):
10993           use gst_object_(un)ref instead of g_object(un)ref
10994
10995 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10996
10997         * gst/gstbuffer.h:
10998           remove macro that wouldn't work anymore because struct member has
10999           been removed.
11000         * gst/schedulers/entryscheduler.c: (schedule_forward):
11001           fix segfault for unconnected pads
11002         
11003 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11004
11005         reviewed by David Schleef <ds@schleef.org>
11006
11007         * gst/gstinfo.h:
11008           *_FORMAT modifiers should require putting a % in front of them for
11009           consistency reasons.
11010
11011 2004-04-05  Colin Walters  <walters@redhat.com>
11012
11013         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11014         space.
11015
11016 2004-04-05  Benjamin Otte  <otte@gnome.org>
11017
11018         * configure.ac:
11019         * gst/Makefile.am:
11020         * gst/gst_private.h:
11021         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11022           add support for detecting if GStreamer runs inside valgrind.
11023           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11024           print a big message in valgrind that GStreamer has detected it's
11025           running inside and might now use different code.
11026         * gst/gstmemchunk.c: (populate), (free_area),
11027         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11028         (gst_mem_chunk_free):
11029           flag memchunks for valgrind, so it can detect leaking of chunks.
11030           This allows detecting leaks of GstBuffer and GstEvent correctly
11031           inside valgrind.
11032
11033 2004-04-05  David Schleef  <ds@schleef.org>
11034
11035         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11036           jensgr@gmx.net (Jens Granseuer)
11037
11038 2004-04-05  David Schleef  <ds@schleef.org>
11039
11040         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11041         (gst_buffer_default_free), (gst_buffer_default_copy),
11042         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11043         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11044         structures in one place.
11045
11046 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11047
11048         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11049           (GST_TIME_FORMAT, GST_TIME_ARGS)
11050
11051 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11052
11053         * testsuite/elements/Makefile.am:
11054           disable test until it stops breaking make distcheck
11055
11056 2004-04-05  Johan Dahlin  <johan@gnome.org>
11057
11058         * po/sv.po: Updated translation
11059
11060 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11061
11062         * gst/gstplugin.c: (gst_plugin_load_file):
11063           fix segfault for when original plugin was loaded statically
11064
11065 2004-04-05  Benjamin Otte  <otte@gnome.org>
11066
11067         * testsuite/debug/category.c: (main):
11068         * testsuite/debug/commandline.c: (main):
11069         * testsuite/debug/output.c: (main):
11070           fix tests to work again with debugging enabled
11071
11072 2004-04-05  Benjamin Otte  <otte@gnome.org>
11073
11074         * gst/schedulers/gstbasicscheduler.c:
11075         (gst_basic_scheduler_pad_link):
11076           fix to work with recent scheduling changes
11077
11078 2004-04-05  Benjamin Otte  <otte@gnome.org>
11079
11080         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11081         prepareChangeLog doesn't work when cvs indents):
11082           don't throw an error when no element can be scheduled, there's too
11083           many weird reasons why it doesn't work. Return STOPPED instead.
11084           decoupled elemts' schedulability doesn't depend on bufpens.
11085
11086 2004-04-04  Benjamin Otte  <otte@gnome.org>
11087
11088         * gst/schedulers/gstbasicscheduler.c:
11089         (gst_basic_scheduler_pad_select):
11090           fix uninitialized variable warnings
11091
11092 2004-04-04  Benjamin Otte  <otte@gnome.org>
11093
11094         * gst/gstpad.c: (gst_pad_collect_valist):
11095           fix uninitialized variable warning
11096         * gst/schedulers/entryscheduler.c: (schedule_forward):
11097           fix shadowed variable
11098
11099 2004-04-04  Benjamin Otte  <otte@gnome.org>
11100
11101         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11102         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11103         (gst_pad_select):
11104         * gst/gstpad.h:
11105         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11106         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11107         * gst/gstscheduler.h:
11108           implement gst_pad_collect as replacement for gst_pad_select.
11109           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11110           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11111           new pad_select, lock and unlock calls.
11112         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11113         * gst/cothreads.h:
11114         * gst/schedulers/cothreads_compat.h:
11115         * gst/schedulers/gthread-cothreads.h:
11116           remove unused cothread_lock and cothread_unlock calls
11117         * gst/schedulers/entryscheduler.c:
11118         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11119         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11120         (gst_entry_scheduler_pad_select):
11121           update to new API
11122         * gst/schedulers/gstbasicscheduler.c:
11123         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11124         (gst_basic_scheduler_pad_select):
11125           remove useless lock and unlock calls, update pad_select to new API
11126           (untested)
11127         * gst/schedulers/gstoptimalscheduler.c:
11128         (gst_opt_scheduler_class_init):
11129           remove useless select, lock and unlock function calls
11130         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11131           use gst_pad_collect instead of gst_pad_select
11132
11133 2004-04-04  Benjamin Otte  <otte@gnome.org>
11134
11135         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11136         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11137         (schedule_next_element), (print_entry):
11138           add can_schedule_pad to handle element states.
11139           add schedule_forward to select the correct entry to schedule next
11140
11141 2004-04-03  Benjamin Otte  <otte@gnome.org>
11142
11143         * gst/schedulers/entryscheduler.c: 
11144           remove unused variable, fix error inside Rb, fix compile warning in
11145           unreachable code
11146
11147 2004-04-03  Benjamin Otte  <otte@gnome.org>
11148
11149         * gst/schedulers/entryscheduler.c:
11150           completely revamp the inner workings, so it's a lot easier to
11151           understand and extend
11152
11153 2004-04-03  Andy Wingo  <wingo@pobox.com>
11154
11155         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11156         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11157         This allows better introspection of pipeline topology.
11158         (add_to_chain): Don't do trickery to put loop elements first;
11159         rather, queue a chain sort by marking the chain as dirty.
11160         (remove_from_chain): Mark the chain dirty.
11161         (sort_chain): New function. Sorts the group list so that terminal
11162         sinks are first. This means elements on the sink side will be
11163         preferentially sscheduled before elements on the src side of the
11164         pipeline.
11165         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11166         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11167         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11168         (group_inc_link): Change argument and variable names to match the
11169         new link structure member names (src and sink).
11170         (group_dec_link): Add some description
11171
11172 2004-04-03  Benjamin Otte  <otte@gnome.org>
11173
11174         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11175         * gst/gstinfo.h:
11176         * testsuite/debug/category.c: (main):
11177         * testsuite/debug/commandline.c: (main):
11178         * testsuite/debug/output.c: (main):
11179         * testsuite/debug/printf_extension.c: (main):
11180           fix to successfully build and test with --disable-gst-debug
11181           configure switch (fixes #138705)
11182
11183 2004-04-03  Benjamin Otte  <otte@gnome.org>
11184
11185         * docs/pwg/building-boiler.xml:
11186           add cvs login line and s/anonymous/anoncvs/
11187
11188 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11189
11190         reviewed by Benjamin Otte  <otte@gnome.org>
11191
11192         * gst/gststructure.c: (gst_structure_free):
11193           memleak fix: free fields array (partial fix for #134839)
11194
11195 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11196
11197         * docs/random/ds/0.9-suggested-changes:
11198           Add a note to change handoff use in fakesrc to be usable in
11199           a more generic way (fakesrc should be renamed to appsrc or so).
11200         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11201           Change signal type to scope, so we can fill the buffer in the
11202           handoff handler (that's the whole use of this signal...).
11203
11204 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11205
11206         * docs/pwg/other-ntoone.xml:
11207           Document muxers and n-to-1 elements.
11208
11209 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11210
11211         * gst/registries/gstxmlregistry.c
11212         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11213         determine if a file is a G_MODULE. The old one discards paths
11214         containing "so" somewhere in the middle. My home directory is
11215         called "soto". Go figure...
11216
11217 2004-03-31  David Schleef  <ds@schleef.org>
11218
11219         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11220         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11221         * gst/gstbuffer.h:
11222
11223 2004-03-31  David Schleef  <ds@schleef.org>
11224
11225         * gst/gstvalue.c: (gst_value_union_int_int_range),
11226         (gst_value_union_int_range_int_range), (gst_value_can_union),
11227         (gst_value_union), (_gst_value_initialize):  Add some union
11228         implementations.  We didn't have any previously.
11229         * testsuite/caps/Makefile.am:
11230         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11231         (gst_audioscale_getcaps), (test_caps), (main): A little test
11232         that is the same as the caps manipulation in audioscale.
11233
11234 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11235
11236         * docs/faq/general.xml:
11237           add entry about "does gst support format X?"
11238
11239 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11240
11241         * gst/gstthread.c:
11242           fix docs
11243         * gst/gstutils.h:
11244           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11245
11246 2004-03-30  Benjamin Otte  <otte@gnome.org>
11247
11248         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11249           set the offset of the buffer to the requested offset
11250         * gst/elements/gsttypefind.c: (stop_typefinding):
11251           revert patch 1.18 (which I unfortunately don't know the reason for).
11252           This is needed to allow downstream elements to seek. Otherwise
11253           typefind might overwrite a previous seek by downstream elements.
11254           This lead to errors with id3tag and typefind on some mp3s.
11255         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11256         (gst_entry_scheduler_iterate):
11257           be more verbose when debugging
11258
11259 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11262           make sure we don't get NULL strings
11263
11264 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11265
11266         * gst/gstcaps.c:
11267         * gst/gstelement.c:
11268         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11269         * gst/gstindex.c: (gst_index_resolver_get_type),
11270         (gst_index_get_type), (gst_index_factory_get_type):
11271         * gst/gstinfo.c:
11272         * gst/gstpad.c:
11273         * gst/gstplugin.c:
11274         * gst/gsturi.c: (gst_uri_handler_get_type):
11275         * gst/gstvalue.c:
11276           first batch of documentation fixes
11277
11278 2004-03-29  David Schleef  <ds@schleef.org>
11279
11280         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11281         * docs/gst/gstreamer-docs.sgml:  More hacking
11282         * docs/gst/gstreamer-sections.txt:
11283         * docs/gst/tmpl/cothreads_compat.sgml:
11284         * docs/gst/tmpl/gstcaps.sgml:
11285         * docs/gst/tmpl/gstclock.sgml:
11286         * docs/gst/tmpl/gstelement.sgml:
11287         * docs/gst/tmpl/gstevent.sgml:
11288         * docs/gst/tmpl/gstpad.sgml:
11289         * docs/gst/tmpl/gstutils.sgml:
11290         * docs/gst/tmpl/gstxml.sgml:
11291         * docs/gst/tmpl/gthread-cothreads.sgml:
11292         * docs/random/ds/0.9-suggested-changes:
11293         * gst/elements/gstfakesink.h: doc fixes
11294         * gst/elements/gstfakesrc.h: doc fixes
11295         * gst/gstcaps.c: doc fixes
11296         * gst/gstcaps.h: doc fixes
11297         * gst/gstelement.c: doc fixes
11298         * gst/gstelement.h: doc fixes
11299         * gst/gstindex.c: doc fixes
11300         * gst/gstinfo.c: doc fixes
11301         * gst/gstpad.c: doc fixes
11302         * gst/gstpad.h: doc fixes
11303         * gst/gstplugin.c: doc fixes
11304         * gst/gsttypefind.h: doc fixes
11305         * gst/gsturi.c: doc fixes
11306         * gst/gstvalue.c: doc fixes
11307
11308 2004-03-29  Colin Walters  <walters@redhat.com>
11309
11310         * gst/registries/gstxmlregistry.c (get_time)
11311         (plugin_times_older_than_recurse):
11312         Use the result of stat to determine whether a path is a file,
11313         so we don't attempt to opendir() files.
11314
11315 2004-03-29  Benjamin Otte  <otte@gnome.org>
11316
11317         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11318           print caps in debugging output when setting caps failed
11319         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11320         (schedule_next_element), (get_buffer), (run_chainhandler),
11321         (element_may_start), (gst_entry_scheduler_chain_handler),
11322         (gst_entry_scheduler_get_handler),
11323         (gst_entry_scheduler_state_transition),
11324         (gst_entry_scheduler_pad_link):
11325           make this scheduler a testcase for mandatory
11326           discont-before-first-buffer which is needed if we want to allow apps
11327           to release the sound device.
11328           add SCHED_ASSERT macro to print scheduler state before an assertion
11329           triggers.
11330
11331 2004-03-29  Benjamin Otte  <otte@gnome.org>
11332
11333         * COPYING:
11334           replace by LGPL (former COPYING.LIB). The core is completely
11335           licensed LGPL.
11336         * COPYING.LIB:
11337           remove
11338
11339 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11340
11341         * po/af.po:
11342         * po/sv.po:
11343           updated Afrikaans and Swedish
11344
11345 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11346
11347         * po/LINGUAS:
11348         * po/az.po:
11349           adding Azerbaijani (Mətin Əmirov)
11350
11351 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11352
11353         * gst/gstelement.h: 
11354         * gst/gstelement.c (gst_element_set_time_delay): New function for
11355         setting element time taking into account a hardware buffering
11356         delay.
11357         (gst_element_set_time): Now just an invocation of
11358         gst_element_set_time_delay.
11359         * gst/gstclock.h: 
11360         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11361         allowing to set event times in the future.
11362         (gst_clock_get_event_time): Now just an invocation of
11363         gst_clock_get_event_time_delay.
11364
11365 2004-03-28  Benjamin Otte  <otte@gnome.org>
11366
11367         * gst/gstbin.c: (gst_bin_set_element_sched),
11368         (gst_bin_unset_element_sched):
11369           don't add decoupled elements to schedulers - otherwise it's
11370           impossible to control if a link to a decoupled element was already
11371           removed from a scheduler or not.
11372         * gst/schedulers/cothreads_compat.h:
11373         * gst/schedulers/gthread-cothreads.h:
11374           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11375           is no "unused" warning.
11376         * gst/schedulers/Makefile.am:
11377         * gst/schedulers/entryscheduler.c:
11378           add new scheduler, based on ideas from talking to David and Martin.
11379           It's supposed to be small and correct. Currently it's also slow (but
11380           it's not noticable)
11381         * examples/retag/retag.c: (main):
11382         * testsuite/bytestream/test1.c: (main):
11383           fix missing NULLs at end of variadic functions
11384         * testsuite/elements/.cvsignore:
11385           update
11386
11387 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11388
11389         * gst/gstevent.h:
11390         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11391
11392 2004-03-25  David Schleef  <ds@schleef.org>
11393
11394         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11395         * docs/gst/tmpl/gstaggregator.sgml:
11396         * docs/gst/tmpl/gstautoplugfactory.sgml:
11397         * docs/gst/tmpl/gstbin.sgml:
11398         * docs/gst/tmpl/gstbuffer.sgml:
11399         * docs/gst/tmpl/gstbufferstore.sgml:
11400         * docs/gst/tmpl/gstfakesink.sgml:
11401         * docs/gst/tmpl/gstfakesrc.sgml:
11402         * docs/gst/tmpl/gstmd5sink.sgml:
11403         * docs/gst/tmpl/gstreamer-unused.sgml:
11404         * docs/gst/tmpl/gstsearchfuncs.sgml:
11405         * docs/gst/tmpl/gstshaper.sgml:
11406         * docs/gst/tmpl/gstspider.sgml:
11407         * docs/gst/tmpl/gsttee.sgml:
11408         * docs/gst/tmpl/gstutils.sgml:
11409         * docs/gst/tmpl/gstvalue.sgml:
11410         * docs/gst/tmpl/gstxml.sgml:
11411         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11412         and we don't support it.
11413         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11414         (gst_use_threads), (gst_has_threads): same
11415         * gst/gstthreaddummy.c: same
11416         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11417         * gst/autoplug/gstspider.h: same
11418         * gst/elements/gstaggregator.h: Remove bogus function from header
11419         * gst/elements/gstfakesink.h: same
11420         * gst/elements/gstfakesrc.h: same
11421         * gst/elements/gstmd5sink.h: same
11422         * gst/elements/gstshaper.h: same
11423         * gst/elements/gsttee.h: same
11424         * gst/gstbin.c: doc fixes
11425         * gst/gstbin.h: Remove unused definition.
11426         * gst/gstbuffer.c: doc fixes
11427         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11428         * gst/gstfilter.c: doc fixes
11429         * gst/gsttag.c: doc fixes
11430         * gst/gstvalue.c: doc fixes
11431
11432 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11433
11434         * docs/pwg/advanced-types.xml:
11435           Document typefinding.
11436         * docs/pwg/other-oneton.xml:
11437           Document one-to-n elements, demuxers and parsers.
11438
11439 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11440
11441         reviewed by: David Schleef  <ds@schleef.org>
11442
11443         * configure.ac: Check bison version (bug #127838)
11444
11445 2004-03-25  David Schleef  <ds@schleef.org>
11446
11447         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11448         * docs/gst/gstreamer-sections.txt:
11449         * docs/gst/tmpl/gstautoplug.sgml:
11450         * docs/gst/tmpl/gststaticautoplug.sgml:
11451         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11452         * docs/gst/tmpl/gstutils.sgml:
11453         * docs/gst/tmpl/gstxml.sgml:
11454
11455 2004-03-24  David Schleef  <ds@schleef.org>
11456
11457         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11458         manual being such complete crap, that I decided to do major
11459         hacking of it.  This checkin replaces any fine tuning that
11460         may have been done previously, with the benefit of actually
11461         being complete for much of the API that was changed since
11462         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11463         * docs/gst/gstreamer-sections.txt:
11464         * docs/gst/tmpl/GstBin.sgml:
11465         * docs/gst/tmpl/GstBuffer.sgml:
11466         * docs/gst/tmpl/GstCaps.sgml:
11467         * docs/gst/tmpl/GstClock.sgml:
11468         * docs/gst/tmpl/GstCompat.sgml:
11469         * docs/gst/tmpl/GstData.sgml:
11470         * docs/gst/tmpl/GstElement.sgml:
11471         * docs/gst/tmpl/GstEvent.sgml:
11472         * docs/gst/tmpl/GstIndex.sgml:
11473         * docs/gst/tmpl/GstStructure.sgml:
11474         * docs/gst/tmpl/GstTag.sgml:
11475         * docs/gst/tmpl/cothreads.sgml:
11476         * docs/gst/tmpl/cothreads_compat.sgml:
11477         * docs/gst/tmpl/gettext.sgml:
11478         * docs/gst/tmpl/grammar.tab.sgml:
11479         * docs/gst/tmpl/gst-i18n-app.sgml:
11480         * docs/gst/tmpl/gst-i18n-lib.sgml:
11481         * docs/gst/tmpl/gst.sgml:
11482         * docs/gst/tmpl/gst_private.sgml:
11483         * docs/gst/tmpl/gstaggregator.sgml:
11484         * docs/gst/tmpl/gstarch.sgml:
11485         * docs/gst/tmpl/gstatomic.sgml:
11486         * docs/gst/tmpl/gstatomic_impl.sgml:
11487         * docs/gst/tmpl/gstbin.sgml:
11488         * docs/gst/tmpl/gstbuffer.sgml:
11489         * docs/gst/tmpl/gstbufferstore.sgml:
11490         * docs/gst/tmpl/gstcaps.sgml:
11491         * docs/gst/tmpl/gstclock.sgml:
11492         * docs/gst/tmpl/gstcompat.sgml:
11493         * docs/gst/tmpl/gstconfig.sgml:
11494         * docs/gst/tmpl/gstcpu.sgml:
11495         * docs/gst/tmpl/gstdata.sgml:
11496         * docs/gst/tmpl/gstdata_private.sgml:
11497         * docs/gst/tmpl/gstelement.sgml:
11498         * docs/gst/tmpl/gstenumtypes.sgml:
11499         * docs/gst/tmpl/gsterror.sgml:
11500         * docs/gst/tmpl/gstevent.sgml:
11501         * docs/gst/tmpl/gstfakesink.sgml:
11502         * docs/gst/tmpl/gstfakesrc.sgml:
11503         * docs/gst/tmpl/gstfilesink.sgml:
11504         * docs/gst/tmpl/gstfilter.sgml:
11505         * docs/gst/tmpl/gstindex.sgml:
11506         * docs/gst/tmpl/gstinfo.sgml:
11507         * docs/gst/tmpl/gstinterface.sgml:
11508         * docs/gst/tmpl/gstlog.sgml:
11509         * docs/gst/tmpl/gstmacros.sgml:
11510         * docs/gst/tmpl/gstmarshal.sgml:
11511         * docs/gst/tmpl/gstmd5sink.sgml:
11512         * docs/gst/tmpl/gstmultifilesrc.sgml:
11513         * docs/gst/tmpl/gstobject.sgml:
11514         * docs/gst/tmpl/gstpad.sgml:
11515         * docs/gst/tmpl/gstparse.sgml:
11516         * docs/gst/tmpl/gstpipeline.sgml:
11517         * docs/gst/tmpl/gstplugin.sgml:
11518         * docs/gst/tmpl/gstpluginfeature.sgml:
11519         * docs/gst/tmpl/gstqueue.sgml:
11520         * docs/gst/tmpl/gstreamer-unused.sgml:
11521         * docs/gst/tmpl/gstregistry.sgml:
11522         * docs/gst/tmpl/gstregistrypool.sgml:
11523         * docs/gst/tmpl/gstscheduler.sgml:
11524         * docs/gst/tmpl/gstsearchfuncs.sgml:
11525         * docs/gst/tmpl/gstshaper.sgml:
11526         * docs/gst/tmpl/gstspider.sgml:
11527         * docs/gst/tmpl/gstspideridentity.sgml:
11528         * docs/gst/tmpl/gststructure.sgml:
11529         * docs/gst/tmpl/gstsystemclock.sgml:
11530         * docs/gst/tmpl/gsttag.sgml:
11531         * docs/gst/tmpl/gsttaginterface.sgml:
11532         * docs/gst/tmpl/gsttee.sgml:
11533         * docs/gst/tmpl/gstthread.sgml:
11534         * docs/gst/tmpl/gsttrace.sgml:
11535         * docs/gst/tmpl/gsttrashstack.sgml:
11536         * docs/gst/tmpl/gsttypefind.sgml:
11537         * docs/gst/tmpl/gsttypes.sgml:
11538         * docs/gst/tmpl/gsturi.sgml:
11539         * docs/gst/tmpl/gsturitype.sgml:
11540         * docs/gst/tmpl/gstutils.sgml:
11541         * docs/gst/tmpl/gstvalue.sgml:
11542         * docs/gst/tmpl/gstversion.sgml:
11543         * docs/gst/tmpl/gstxml.sgml:
11544         * docs/gst/tmpl/gstxmlregistry.sgml:
11545         * docs/gst/tmpl/gthread-cothreads.sgml:
11546         * docs/gst/tmpl/types.sgml:
11547
11548 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11549
11550         * docs/pwg/other-sink.xml:
11551         * docs/pwg/other-source.xml:
11552           Documentation on how to write source and sink elements. Other
11553           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11554           manager, autoplugger) are all still pending.
11555
11556 2004-03-25  Benjamin Otte  <otte@gnome.org>
11557
11558         * testsuite/elements/Makefile.am:
11559         * testsuite/elements/gst-compprep-check:
11560           add check to make sure gst-compprep works
11561         * testsuite/elements/gst-inspect-check.in:
11562           improve initialization output
11563         * testsuite/Makefile.am:
11564         * testsuite/gst-inspect-check:
11565           remove old file
11566
11567 2004-03-24  David Schleef  <ds@schleef.org>
11568
11569         * testsuite/elements/Makefile.am:
11570         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11571         to the testsuite.
11572
11573 2004-03-24  Benjamin Otte  <otte@gnome.org>
11574
11575         * libs/gst/control/dparam.c: (gst_dparam_attach),
11576         (gst_dparam_detach):
11577         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11578           fix lvalue casts for real
11579
11580 2004-03-24  Benjamin Otte  <otte@gnome.org>
11581
11582         * gst/schedulers/gstbasicscheduler.c:
11583         (gst_basic_scheduler_src_wrapper):
11584         * gst/schedulers/gstoptimalscheduler.c:
11585         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11586         (pad_clear_queued), (gst_opt_scheduler_add_element),
11587         (gst_opt_scheduler_remove_element):
11588           fix GStreamer to not have issues with lvalue casts anymore (fixes
11589           #136841)
11590
11591 2004-03-24  Benjamin Otte  <otte@gnome.org>
11592
11593         * gst/gstelement.c:
11594           add documentation about a gobject quirk where the object hasn't the
11595           correct class pointer set on initialization
11596         * gst/schedulers/gstbasicscheduler.c:
11597         (gst_basic_scheduler_src_wrapper):
11598           make sure to not run into an infinite loop
11599
11600 2004-03-22  Benjamin Otte  <otte@gnome.org>
11601
11602         * gst/gstutils.c: (gst_util_dump_mem):
11603         * gst/gstutils.h:
11604           first argument of gst_util_dump_mem should be const
11605
11606 2004-03-22  Johan Dahlin  <johan@gnome.org>
11607
11608         * gst/gstvalue.h: Clean up a little bit.
11609
11610 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11611
11612         reviewed by Benjamin Otte  <otte@gnome.org>
11613
11614         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11615         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11616         (gst_aggregator_class_init), (gst_aggregator_init):
11617         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11618         (gst_filesrc_dispose), (gst_filesrc_set_location):
11619         * gst/elements/gstidentity.c: (gst_identity_finalize),
11620         (gst_identity_class_init), (gst_identity_chain):
11621         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11622         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11623         (gst_statistics_class_init):
11624         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11625         (gst_tee_get_property):
11626           clean up used memory in this elements correctly on teardown (closes
11627           #137279)
11628
11629 2004-03-20  Colin Walters  <walters@redhat.com>
11630
11631         * gst/registries/gstxmlregistry.c:
11632         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11633         registry saving atomic.
11634
11635 2004-03-20  Colin Walters  <walters@redhat.com>
11636
11637         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11638         Just use
11639         access() instead of actually creating and deleting files.
11640
11641 2004-03-18  David Schleef  <ds@schleef.org>
11642
11643         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11644         (bug #137625)
11645
11646 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11647
11648         * po/sv.po: updated translation (Christian Rose)
11649
11650 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11653         (gst_filesink_get_query_types), (_do_init),
11654         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11655           return FALSE silently
11656         * po/af.po: updated translation (Petri Jooste)
11657
11658 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11659
11660         * Makefile.am:
11661         * configure.ac:
11662           dist common properly
11663         * po/af.po:
11664         * po/fr.po:
11665         * po/nl.po:
11666         * po/sr.po:
11667         * po/sv.po:
11668           refreshing translations
11669
11670 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11671
11672         * po/LINGUAS:
11673         * po/sv.po:
11674         * po/af.po:
11675           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11676
11677 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11678
11679         * Makefile.am: use common/release.mak
11680
11681 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11682
11683         * docs/faq/gst-uninstalled:
11684           adding gst-monkeysaudio to the list of possible plugin dirs
11685
11686 2004-03-16  David Schleef  <ds@schleef.org>
11687
11688         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11689         (gst_init_check_with_popt_table):  Fix some gettext strings to
11690         make them easier to translate.  Required making the strings
11691         non-const.
11692
11693 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11694
11695         * configure.ac: bump nano to 1
11696
11697 === release 0.8.0 ===
11698
11699 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11700
11701         * configure.ac: release 0.8.0, "Executive Slacks"
11702
11703 2004-03-16  Johan Dahlin  <johan@gnome.org>
11704
11705         * gst/schedulers/gstoptimalscheduler.c
11706         (gst_opt_scheduler_pad_unlink): Remove double ;,
11707         spotted by Scott Wheeler
11708
11709 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11710
11711         * configure.ac: bump libtool version
11712
11713 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11714
11715         * gst/gstcaps.h:
11716         * gst/gststructure.h:
11717           add reserved padding
11718
11719 2004-03-15  Benjamin Otte  <otte@gnome.org>
11720
11721         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11722           set the first parameter for select call correctly.
11723           (fixes #137230)
11724
11725 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11726
11727         * *.c,*.h: don't mix tabs and spaces
11728
11729 2004-03-15  Johan Dahlin  <johan@gnome.org>
11730
11731         * gst/schedulers/gstoptimalscheduler.c
11732         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11733         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11734
11735         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11736         
11737 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11738
11739         * testsuite/Rules:
11740           fix gst-register rules
11741
11742 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11743
11744         * testsuite/Rules:
11745           use versioned gst-register
11746
11747 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * docs/libs/gstreamer-libs-sections.txt:
11750           remove </SUBSECTION>
11751         * gst/gstplugin.c:
11752         * gst/gstregistry.c: (gst_registry_add_plugin):
11753         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11754         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11755           add debugging and fix some comment blocks
11756
11757 2004-03-15  Johan Dahlin  <johan@gnome.org>
11758
11759         * *.h: Revert indent changes.
11760         
11761 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11762
11763         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11764           g_error_free the g_error
11765         * tools/gst-feedback-m.m:
11766           check for other versions of gstreamer
11767         * tools/gst-indent:
11768           use sh, not bash
11769
11770 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11771
11772         * tools/gst-register.c: do not spill paths when registries are not
11773           writable, until we fix the "user running gst-register" case.
11774
11775 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11776
11777         * *.c, *.h: commit of gst-indent run on core
11778
11779 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11780
11781         * tools/gst-indent:
11782         * tools/Makefile.am:
11783           add our indentation style as a script
11784
11785 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11786
11787         * po/sr.po:
11788         * po/LINGUAS:
11789           added Serbian translation
11790
11791 2004-03-13  Benjamin Otte  <otte@gnome.org>
11792
11793         * gst/gstelement.c:
11794           add documentation note about gst_element_found_tags_for_pad not
11795           being usable in getfunctions. (see #137042)
11796
11797 2004-03-12  David Schleef  <ds@schleef.org>
11798
11799         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11800         change API right now!  Readd gst_caps_is_simple() macro.
11801         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11802         uninitialized variable.  I'd bet this caused crashes.
11803         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11804
11805 2004-03-12  Johan Dahlin  <johan@gnome.org>
11806
11807         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11808         * gst/gstcaps.h: Clean up
11809
11810         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11811         _gst_caps_initalize()
11812
11813         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11814         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11815
11816         * gst/gststructure.c (gst_structure_get_type): Ditto
11817
11818         * gst/gststructure.h: Ditto
11819         
11820 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11821
11822         * gst/gstqueue.c: (gst_queue_init):
11823           Reset default max. values in queues. Reason is simply to avoid
11824           braindead use. If you want wider values, use the properties. The
11825           default is supposed to always work. Wider values would make this
11826           beast a memory hog by default (250 full-PAL RGB32 video frames?
11827           That's 440 MB! No thank you).
11828
11829 2004-03-10  David Schleef  <ds@schleef.org>
11830
11831         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11832         were found.  (bug #136793)
11833
11834 2004-03-10  Johan Dahlin  <johan@gnome.org>
11835
11836         * gst/schedulers/gstoptimalscheduler.c
11837         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11838         links to elements within the same group, so we can finally remove
11839         that annoying warning. Refactor the code a little bit
11840         (group_dec_links_for_element): Split out
11841
11842 2004-03-09  David Schleef  <ds@schleef.org>
11843
11844         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11845         (bug #134863)
11846
11847 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11848
11849         * configure.ac: first bug fix due to major/minor bump
11850
11851 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11852
11853         * configure.ac: bump nano to 1
11854
11855 === release 0.7.6 ===
11856
11857 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * NEWS:
11860         * RELEASE:
11861         * configure.ac:
11862           releasing 0.7.6, "Almost"
11863         * po/fr.po:
11864         * po/nl.po:
11865         * tools/Makefile.am:
11866         * tools/gst-feedback-m.m:
11867           unversioned source
11868
11869 2004-03-09  Johan Dahlin  <johan@gnome.org>
11870
11871         Reviewed by: Thomas Vander Stichele
11872
11873         * gst/gstelement.c (gst_element_class_init): register second
11874         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11875         language bindings can (de)marshall correctly.
11876
11877         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11878
11879         * gst/gsterror.c (gst_g_error_get_type): New function
11880
11881         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11882         with VOID:OBJECT,OBJECT,STRING 
11883
11884 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11885
11886         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11887         Free a leaked g_timer on early returns.
11888
11889 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11890
11891         * docs/pwg/advanced-types.xml:
11892           Add cinepak description.
11893
11894 2004-03-07  David Schleef  <ds@schleef.org>
11895
11896         * docs/random/mimetypes:  Added cinepak description
11897
11898 2004-03-07  Andy Wingo  <wingo@pobox.com>
11899
11900         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11901
11902         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11903         there are no links to other groups when a group is destroyed.
11904         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11905         removed from a group, make sure the link count to elements linked
11906         to other pads is appropriately decremented. This really fixes
11907         #135672.
11908
11909         The 1.60->1.61 patch has been reapplied in light of this fix.
11910
11911         * gst/gstelement.c (gst_element_dispose): Really protect against
11912         multiple invocations this time.
11913
11914 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11915
11916         * docs/gst/gstreamer-sections.txt:
11917         * docs/gst/tmpl/gsttag.sgml:
11918           remove some deprecated functions, document some existing ones
11919         * gst/gsttag.c: (gst_tag_get_flag):
11920         * gst/gsttag.h:
11921           add accessor function
11922
11923 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11924
11925         * docs/gst/gstreamer-sections.txt:
11926         * docs/gst/tmpl/gsttag.sgml:
11927         * docs/gst/tmpl/gstxml.sgml:
11928         * gst/gsttag.c: (gst_tag_get_flag):
11929         * gst/gsttag.h:
11930
11931 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11932
11933         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11934         leak
11935
11936 2004-03-05  David Schleef  <ds@schleef.org>
11937
11938         * REQUIREMENTS: Add bison and flex.
11939         * configure.ac: Fix comment about bison.
11940         * docs/random/ds/0.9-suggested-changes: yer ma
11941         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11942
11943 2004-03-05  Benjamin Otte  <otte@gnome.org>
11944
11945         * gst/gstelement.c: (gst_element_error_full):
11946           revert recent recursive state changing commit - messing with other
11947           elements' states is evil and should be done by apps only.
11948
11949 2004-03-05  Benjamin Otte  <otte@gnome.org>
11950
11951         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11952           check for empty intersection instead of NULL caps
11953         (gst_element_get_compatible_pad_filtered):
11954           remove old workaround that is only a bug nowadays
11955
11956 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * gst/gstelement.c: (gst_element_error_full):
11959           make elements try to recursively change state to PAUSED on all
11960           parents after an error to suppress ensuing warnings
11961         * gst/parse/grammar.y:
11962           make it check if it was able to sync the state, and throw an error
11963           if not, so stuff like
11964           oggdemux ! vorbisdec ! osssink gets caught
11965
11966 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11967
11968         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11969           it contains lib64; use AS_AC_EXPAND to handle it properly
11970
11971 2004-03-05  David Schleef  <ds@schleef.org>
11972
11973         * gst/gstcpuid_i386.s:  Remove unused code
11974         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11975         (gst_getbits_newbuf): Remove MMX code
11976         * libs/gst/getbits/getbits.h: Remove MMX code
11977
11978 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11979
11980         * debian/.cvsignore:
11981         * debian/README.Debian:
11982         * debian/changelog:
11983         * debian/control:
11984         * debian/control.in:
11985         * debian/copyright:
11986         * debian/gstreamer-core-libs-dev.files:
11987         * debian/gstreamer-core-libs.files:
11988         * debian/gstreamer-core.files:
11989         * debian/gstreamer-core.postinst:
11990         * debian/gstreamer-core.postrm:
11991         * debian/gstreamer-doc.files:
11992         * debian/gstreamer-doc.links:
11993         * debian/gstreamer-doc.lintian:
11994         * debian/gstreamer-runtime.files:
11995         * debian/gstreamer-runtime.manpages:
11996         * debian/gstreamer-runtime.postinst:
11997         * debian/gstreamer-runtime.postrm:
11998         * debian/gstreamer-tools.files:
11999         * debian/gstreamer-tools.manpages:
12000         * debian/libgstreamer-dev.files:
12001         * debian/libgstreamer0.4.1.files:
12002         * debian/libgstreamerVERSION.files:
12003         * debian/rules:
12004         Debian package info not maintained here.
12005
12006 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12007
12008         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12009         * gst/gstbin.c: (gst_bin_class_init):
12010         * gst/gstelement.c: (gst_element_class_init):
12011         * gst/gstindex.c: (gst_index_class_init):
12012         * gst/gstobject.c: (gst_object_class_init),
12013         (gst_signal_object_class_init):
12014         * gst/gstpad.c: (gst_pad_template_class_init):
12015         * gst/gstregistry.c: (gst_registry_class_init):
12016         * gst/gsturi.c: (gst_uri_handler_base_init):
12017         * gst/gstxml.c: (gst_xml_class_init):
12018         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12019         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12020           make all signal names use dashes instead of underscore
12021
12022 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12025
12026 2004-03-03  Benjamin Otte  <otte@gnome.org>
12027
12028         * gst/schedulers/gstoptimalscheduler.c:
12029           revert last commit by Andy Wingo. It causes segfaults on unreffing
12030           in Rhythmbox. (see bug #135672)
12031
12032 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12033
12034         * po/fr.po: fix typo
12035
12036 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12037
12038         * tools/gst-inspect.c: (main): 
12039         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12040
12041 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12042
12043         * configure.ac:
12044           get GLIB_ONLY and POPT flags for the nonversioned binaries
12045         * tools/Makefile.am:
12046           use them
12047
12048 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12049
12050         * gst/gst.c: (init_post):
12051           change so that GST_REGISTRY now is where the global registry gets
12052           saved, since that is where plugins now get attached to first, and
12053           spilled over to the user registry.  Note that in the case of using
12054           GST_REGISTRY env var, we don't want to affect any real registries
12055           beyond the one given by this var, and thus we don't set a user
12056           registry to spill to.  So make sure GST_REGISTRY is writable.
12057
12058 2004-03-01  David Schleef  <ds@schleef.org>
12059
12060         * AUTHORS:  Added some names.  Add yourself if you're missing.
12061
12062 2004-03-01  David Schleef  <ds@schleef.org>
12063
12064         * MAINTAINERS: Add
12065
12066 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12067
12068         * configure.ac:
12069           remove whitespace
12070         * docs/gst/tmpl/gstbuffer.sgml:
12071         * docs/gst/tmpl/gstdata.sgml:
12072         * docs/gst/tmpl/gstreamer-unused.sgml:
12073         * docs/gst/tmpl/gstxml.sgml:
12074           doc update
12075         * docs/manuals.mak:
12076           add a FIXME
12077         * docs/pwg/intro-preface.xml:
12078         * docs/pwg/pwg.xml:
12079           remove GNOME
12080         * gst/gst.c: (init_post):
12081           try GST_PLUGIN_PATH paths for the _global_registry first
12082         * gst/gstelement.h:
12083           add the error message as well, otherwise (null) debug info doesn't
12084           make much sense
12085         * tools/gst-register.c: (main):
12086           spill paths to next registry if this registry is not writable
12087         * po/fr.po:
12088         * po/nl.po:
12089           translation updates
12090
12091 2004-03-01  Johan Dahlin  <johan@gnome.org>
12092
12093         * gst/gstbuffer.c (_gst_buffer_initialize): 
12094         * gst/gstdata.c (gst_data_get_type): 
12095         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12096         instead of ref, since some applications that uses GBoxed
12097         routines depends on a function that actually returns a copy.
12098
12099 2004-02-27  Benjamin Otte  <otte@gnome.org>
12100
12101         * gst/gstbuffer.h:
12102           remove gst_buffer_free, use gst_data_unref
12103         * gst/gstdata.c: (gst_data_get_type):
12104           use refcounting in GstData GBoxed registration
12105         * gst/gstdata.h:
12106           remove gst_data_free, use gst_data_unref
12107
12108 2004-02-27  Johan Dahlin  <johan@gnome.org>
12109
12110         * gst/gstdata.c (gst_data_get_type): New function, register
12111         GstData as a GBoxed type.
12112
12113         * gst/gstdata.h (GST_TYPE_DATA): New macro
12114
12115 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12116
12117         * Makefile.am:
12118         * gstreamer.spec.in:
12119           put back RELEASE
12120         * gst/Makefile.am:
12121           clean up non-disting of built files
12122         * testsuite/debug/commandline.c:
12123           test fix for option rename
12124
12125 2004-02-26  David Schleef  <ds@schleef.org>
12126
12127         * configure.ac:  We don't really need glib-2.3.  Also remove
12128         some unneeded checks for library functions.
12129         * gst/Makefile.am:  Instead, we need to not dist files created
12130         by glib-genmarshal.
12131
12132 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12133
12134         * configure.ac:
12135           bump glib required version to 2.3.0 for g_value_takes_boxed
12136
12137  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12138
12139         * common/m4/gst-docs.m4
12140         change flavour text from enable to disable as enable is our default
12141         closes bug Bug 135304
12142
12143 === release 0.7.5 ===
12144  
12145  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12146  
12147         * NEWS:
12148           instate NEWS file
12149         * Makefile.am:
12150         * gstreamer.spec.in:
12151         * RELEASE:
12152           put back release
12153         * configure.ac:
12154         * docs/random/release:
12155           more updates
12156
12157 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12158
12159         * gst/gsttag.c: (_gst_tag_initialize):
12160         * po/fr.po:
12161         * po/nl.po:
12162           remove hyphen from codec tags
12163
12164 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12165
12166         * gst/parse/Makefile.am:
12167           fix dependency so that a make from a clean build works the first
12168           time
12169
12170 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12171
12172         * docs/random/release:
12173           update release strategy
12174         * po/fr.po:
12175           auto-update po file
12176         * po/nl.po:
12177           update dutch translation
12178
12179 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12180
12181         * docs/manual/debugging.xml:
12182         fix manual for new debugging system
12183
12184 2004-02-25  Andy Wingo  <wingo@pobox.com>
12185
12186         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12187         gst_pad_link_prepare. Please email the list with specific reasons
12188         for reverting.
12189
12190 2004-02-24  Andy Wingo  <wingo@pobox.com>
12191
12192         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12193         invocations.
12194
12195         * gst/schedulers/gstoptimalscheduler.c:
12196         I added a mess of prototypes at the top of the file by way of
12197         documentation. Some of the operations on chains and groups were
12198         re-organized.
12199
12200         (create_group): Added a type argument so if the group is enabled,
12201         the setup_group_scheduler knows what to do.
12202         (group_elements): Added a type argument here, too, to be passed on
12203         to create_group.
12204         (group_element_set_enabled): If an unlinked PLAYING element is
12205         added to a bin, we have to create a new group to hold the element,
12206         and this function will be called before the group is added to the
12207         chain. Thus we have a valid case for group->chain==NULL. Instead
12208         of calling chain_group_set_enabled, just set the flag on the group
12209         (the chain's status will be set when the group is added to it).
12210         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12211         Setup the group scheduler when the group is enabled, not
12212         specifically when an element goes PAUSED->PLAYING. This means
12213         PLAYING elements can be added, linked, and scheduled into a
12214         PLAYING pipeline, as was intended.
12215         (add_to_group): Don't ref the group twice. I don't know when this
12216         double-ref got in here. Removing it has the potential to cause
12217         segfaults if other parts of the scheduler are buggy. If you find
12218         that the scheduler is segfaulting for you, put in an extra ref
12219         here and see if that hacks over the underlying issue. Of course,
12220         then find out what code is unreffing a group it doesn't own...
12221         (create_group): Make the extra refcount floating, and remove it
12222         after adding the element. This means that...
12223         (unref_group): Destroy when the refcount reaches 0, not 1, like
12224         every other refcounted object in the known universe.
12225         (remove_from_group): When a group becomes empty, set it to be not
12226         active, and remove it from its chain. Don't unref it again,
12227         there's no floating reference any more.
12228         (destroy_group): We have to remove the group from the chain in
12229         remove_from_group (rather than here) to break refcounting cycles
12230         (the chain always has a ref on the group). So assert that
12231         group->chain==NULL.
12232         (ref_group_by_count): Removed, it was commented out anyway.
12233         (merge_chains): Use the remove_from_chain and add_to_chain
12234         primitives to do the reparenting, instead of rolling our own
12235         implementation.
12236         (add_to_chain): The first non-disabled group in the chain's group
12237         list will be the entry point for the chain. Because buffers can
12238         accumulate in loop elements' peer bufpens, we preferentially
12239         schedule loop groups before get groups to avoid unnecessary
12240         execution of get-based groups when the bufpens are already full.
12241         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12242         (get_group_schedule_function): Ditto.
12243         (loop_group_schedule_function): Ditto.
12244         (gst_opt_scheduler_loop_wrapper): Ditto.
12245         (gst_opt_scheduler_iterate): Ditto.
12246
12247         I understand the opt scheduler now, yippee!
12248
12249         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12250         (gst_pad_get_name, gst_pad_set_chain_function) 
12251         (gst_pad_set_get_function, gst_pad_set_event_function) 
12252         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12253         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12254         (gst_pad_set_query_function, gst_pad_get_query_types) 
12255         (gst_pad_get_query_types_default) 
12256         (gst_pad_set_internal_link_function) 
12257         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12258         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12259         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12260         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12261         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12262         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12263         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12264         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12265         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12266         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12267         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12268         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12269         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12270         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12271         argument checks, and some doc fixes.
12272
12273         (gst_pad_custom_new_from_template): Um, does anyone
12274         use these functions? Actually make a custom pad instead of a
12275         normal one.
12276         (gst_pad_try_set_caps): Transpose some checks.
12277         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12278         the pad is in negotiation.
12279         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12280         
12281         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12282
12283         * gst/gstelement.h: 
12284         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12285         on the list.
12286
12287 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12288
12289         * gst/gstbin.c: (gst_bin_add):
12290           add error for not being able to add elements
12291
12292 2004-02-22  Julien MOUTTE <julien@moutte.net>
12293
12294         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12295         audio-codec and video-codec.
12296
12297 2004-02-22  Benjamin Otte  <otte@gnome.org>
12298
12299         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12300
12301         * autogen.sh:
12302           replace test -e with test -x for mkinstalldirs to be more portable.
12303           (fixes #134816)
12304
12305 2004-02-22  Benjamin Otte  <otte@gnome.org>
12306
12307         * gst/gstpad.c:
12308           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12309           too noisy
12310         * gst/gsttag.c: (_gst_tag_initialize):
12311         * gst/gsttag.h:
12312           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12313         * libs/gst/control/dparam.c: (gst_dparam_attach):
12314         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12315           check that types for attached dparams match
12316
12317 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12318
12319         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12320         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12321         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12322           fix errors
12323
12324 2004-02-20  Andy Wingo  <wingo@pobox.com>
12325
12326         * gst/gstbin.c:
12327         * gst/gstbuffer.c:
12328         * gst/gstplugin.c:
12329         * gst/registries/gstxmlregistry.c: 
12330         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12331
12332         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12333         (gst_element_add_pad): DEBUG->INFO, some fixes.
12334         (gst_element_get_compatible_pad_template): Just see if the
12335         templates' caps intersect, not if one is a strict subset of the
12336         other. This conforms more to what gst_pad_link_intersect() does.
12337         (gst_element_class_add_pad_template): Don't memcpy the pad
12338         template, just ref it.
12339         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12340
12341         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12342         (gst_pad_link_filtered): Debug changes.
12343         (gst_pad_link_prepare): New function, consolidated from
12344         can_link_filtered and link_filtered.
12345
12346         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12347         look more like that of the functions in gstelement.c
12348
12349         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12350         object, and return the empty string if object is NULL.
12351
12352         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12353         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12354         LOG, not DEBUG. We still get flex info on debug.
12355
12356         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12357         debug string more verbose.
12358         (plugin_times_older_than): DEBUG->LOG.
12359
12360 2004-02-20  Julien MOUTTE <julien@moutte.net>
12361
12362         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12363         will emit found_tag for each stream they demux with the codec.
12364
12365 2004-02-20  Benjamin Otte  <otte@gnome.org>
12366
12367         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12368           copy navigation event correctly. Check freeing tag lists. 
12369         * gst/gstthread.c: (gst_thread_change_state):
12370           don't abort() on state changing mess - it might happen because of
12371           bugs.
12372         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12373           use boxed functions
12374         * gst/gstvalue.h:
12375           fix GST_VALUE_HOLDS_CAPS
12376
12377 2004-02-19  David Schleef  <ds@schleef.org>
12378
12379         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12380         and use it for GST_FUNCTION.  (bug #134750)
12381
12382 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12383
12384         * po/fr.po:
12385         * po/nl.po:
12386           updating translations
12387
12388 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12389
12390         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12391
12392 2004-02-18  kost@imn.htwk-leipzig.de
12393
12394         reviewed by: David Schleef  <ds@schleef.org>
12395
12396         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12397         for libgstcontrol.
12398
12399 2004-02-18  David Schleef  <ds@schleef.org>
12400
12401         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12402         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12403         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12404         * tools/gst-inspect.c: (print_element_info): Support dumping of
12405         double dparam information.
12406
12407 2004-02-17  David Schleef  <ds@schleef.org>
12408
12409         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12410         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12411         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12412         Use GST_TYPE_CAPS in signal prototype.
12413         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12414         Convert GST_TYPE_CAPS to boxed.
12415         * gst/gstelement.c: (gst_element_class_init):
12416         Use GST_TYPE_TAG_LIST in signal prototype.
12417         * gst/gstindex.c: (gst_index_class_init):
12418         * gst/gstindex.h:
12419         Add GST_TYPE_INDEX_ENTRY type.
12420         * gst/gstmarshal.list:
12421         Add necessary marshal types.
12422         * gst/gstpad.c: (gst_real_pad_class_init),
12423         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12424         (gst_pad_recover_caps_error):
12425         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12426         * gst/gststructure.c: (_gst_structure_initialize),
12427         (gst_structure_copy), (_gst_structure_copy_conditional):
12428         * gst/gststructure.h:
12429         Convert GST_TYPE_STRUCTURE to boxed.
12430         * gst/gsttag.c: (gst_tag_list_get_type):
12431         * gst/gsttag.h:
12432         Add GST_TYPE_TAG_LIST type.
12433
12434 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12435
12436         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12437         to what we agreed with david.
12438         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12439
12440 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * po/nl.po: update translation
12443
12444 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12445
12446         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12447           throw an error if spider is trying to play a mime type there is
12448           no decoder for
12449         * po/POTFILES.in:
12450           add gst/autoplug/gstspider.c for translation
12451
12452 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12453
12454         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12455         silently when the pad is negotiating.
12456
12457 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12458
12459         * docs/faq/Makefile.am:
12460           add script to run gstreamer uninstalled 
12461         * docs/faq/faq.xml:
12462         * docs/faq/developing.xml:
12463         * docs/faq/gst-uninstalled:
12464           extract script to run gstreamer uninstalled
12465         * docs/manuals.mak:
12466           add EXTRA_SOURCES variable for Makefile.am's to set to
12467           use additional SOURCE files for the doc build
12468
12469 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12472
12473 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12474
12475         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12476         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12477         an error was thrown by osssink. Basically a state change failure for
12478         an element in a different scheduling group was considered as
12479         successful, which means that caps nego was going on and weird stuff
12480         happened. Like I wrote in the comment there, if someone wants to
12481         revert that please drop me a mail explaining why because I really see
12482         no point in keeping that broken behaviour there.
12483         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12484         be empty, we then return NULL which will trigger a nice error when 
12485         pulling from the pad.
12486
12487 2004-02-13  David Schleef  <ds@schleef.org>
12488
12489         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12490         (gst_dparam_get_property), (gst_dparam_set_property),
12491         (gst_dparam_do_update_default):
12492         * libs/gst/control/dparam.h:
12493         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12494         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12495         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12496         (gst_dpsmooth_do_update_double):
12497         * libs/gst/control/dparam_smooth.h:
12498         * libs/gst/control/dparammanager.c:
12499         (gst_dpman_inline_direct_update):
12500         Add support for double dparams.
12501
12502 2004-02-13  David Schleef  <ds@schleef.org>
12503
12504         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12505         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12506
12507 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12508
12509         reviewed by: David Schleef  <ds@schleef.org>
12510
12511         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12512         (gst_fdsrc_init), (gst_fdsrc_set_property),
12513         (gst_fdsrc_get_property), (gst_fdsrc_get):
12514         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12515         and sends an EOS event if file descriptor reading times out.
12516
12517 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * configure.ac:
12520           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12521
12522 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12523
12524         * configure.ac: pass required libxml version as argument
12525         (bug reported by Christophe Fergeau)
12526
12527 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12528   
12529         * docs/gst/gstreamer-docs.sgml:
12530         * docs/gst/tmpl/gstxml.sgml:
12531         * docs/libs/gstreamer-libs-docs.sgml:
12532           version API docs
12533
12534 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12535
12536         * gst/gstinfo.c:
12537         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12538         (gst_registry_pool_feature_filter):
12539         * gst/gstthread.c: (gst_thread_class_init):
12540         * gst/gstvalue.c:
12541           add includes exposed by building without libxml
12542         * gst/indexers/Makefile.am:
12543           do not build fileindex when LOADSAVE disabled; we should have
12544           a better libxml check later since fileindex depends on xml, not
12545           LOADSAVE or REGISTRY
12546         * libs/gst/control/Makefile.am:
12547           link with m
12548         * tools/Makefile.am:
12549           fix wrong source code for gst-xmlinspect
12550
12551 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         * configure.ac:
12554           fix gcov help output
12555           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12556         * docs/random/release:
12557           some updated releasing notes
12558         * gstreamer.spec.in:
12559           more updates
12560
12561 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12562
12563         * docs/faq/faq.xml:
12564         * docs/manual/manual.xml:
12565         * docs/pwg/pwg.xml:
12566         * docs/pwg/titlepage.xml:
12567           put version in documentation
12568
12569 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12570
12571         * tools/Makefile.am: fix man page installation
12572
12573 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12574
12575         * configure.ac:
12576           don't check for libxml when load/save and registry disabled (#105844)
12577         * gstreamer.spec.in:
12578           sync with fedora candidate spec
12579
12580 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12581
12582         * po/fr.po:
12583         * po/nl.po:
12584           replace multidisksrc with multifilesrc
12585
12586 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12587
12588         * po/POTFILES.in:
12589           update to multidisksrc => multifilesrc file renaming (#134145)
12590
12591 2004-02-11  David Schleef  <ds@schleef.org>
12592
12593         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12594         * docs/gst/tmpl/gstpadtemplate.sgml: same
12595         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12596         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12597         fixing dance.
12598         * gst/gstutils.c: Remove disabled code that uses GstProps.
12599         * gst/registries/gstxmlregistry.h: same
12600         * docs/random/ds/0.9-suggested-changes: random notes
12601
12602 2004-02-11  kost@imn.htwk-leipzig.de
12603
12604         reviewed by: David Schleef  <ds@schleef.org>
12605
12606         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12607         initialisation of clock (bug #134128)
12608
12609 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12610
12611         * configure.ac:
12612         * gst/elements/Makefile.am:
12613         * gst/elements/gstelements.c:
12614         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12615         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12616         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12617         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12618         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12619         * gst/elements/gstmultifilesrc.h:
12620           rename multidisksrc to multifilesrc (part of #122200)
12621
12622 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * docs/manuals.mak:
12625           fix automake complaints
12626         * gst-element-check.m4:
12627           fix unquotedness
12628
12629 2004-02-11  David Schleef  <ds@schleef.org>
12630
12631         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12632         * gst/gstatomic_impl.h: Disable sparc implementation.
12633
12634 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * gst-element-check.m4:
12637           fix underquoted macros as reported by automake 1.8.x (#133800)
12638         * configure.ac:
12639           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12640           by autopoint (fixes #132996)
12641
12642 2004-02-10  Andy Wingo  <wingo@pobox.com>
12643
12644         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12645         way to do inheritance.
12646         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12647         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12648         Routine docs.
12649         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12650         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12651         doc.
12652         (gst_pad_unlink, gst_pad_is_linked): Docs.
12653         (gst_pad_renegotiate): A brief description of capsnego.
12654         (gst_pad_try_set_caps): Document.
12655         (gst_pad_try_set_caps_nonfixed): Document.
12656         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12657         (gst_pad_set_parent): Deprecated (although not out of the API).
12658         (gst_pad_get_parent): Deprecated, although many plugins use this.
12659         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12660         are private and will go away in 0.9.
12661         (gst_pad_perform_negotiate): Doc.
12662         (gst_pad_link_unnegotiate): I think this is meant to be static.
12663         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12664         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12665         (gst_pad_get_peer): Doc updates.
12666         (gst_pad_caps_change_notify): Doc.
12667         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12668         (gst_ghost_pad_new): Doc fixes.
12669
12670         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12671         (gst_object_check_uniqueness): 
12672
12673         * gst/gstelement.c (gst_element_add_pad) 
12674         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12675         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12676         (gst_element_get_static_pad, gst_element_get_pad_list) 
12677         (gst_element_class_get_pad_template_list) 
12678         (gst_element_class_get_pad_template): Work on the docs.
12679         (gst_element_get_pad_template_list): Uses the class method.
12680         (gst_element_get_compatible_pad_template): Docs, and consolidate
12681         some test conditions. 
12682         (gst_element_get_pad_from_template): New static function.
12683         (gst_element_request_compatible_pad): Docs, and work with
12684         non-request compatible templates. 
12685         (gst_element_get_compatible_pad_filtered): Docs and remove
12686         redundant checks.
12687         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12688         (gst_element_link_filtered, gst_element_link_many) 
12689         (gst_element_link, gst_element_link_pads) 
12690         (gst_element_unlink_many): Docs.
12691
12692 2004-02-05  Andy Wingo  <wingo@pobox.com>
12693
12694         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12695         s/pointer/boxed/.
12696
12697         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12698
12699         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12700         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12701         with the type=GST_TYPE_CAPS. This allows language bindings to know
12702         what kind of data they're dealing with.
12703
12704         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12705         to NULL when g_value_init is called. GstCaps, which rolls its own
12706         type implementation, now does the same instead of allocating empty
12707         caps.
12708         (_gst_caps_initialize, _gst_caps_collect_value,
12709         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12710         table methods. This allows G_VALUE_COLLECT to work.
12711
12712 2004-02-05  Andy Wingo  <wingo@pobox.com>
12713
12714         * configure.ac:
12715         * testsuite/Makefile.am (SUBDIRS): 
12716         * testsuite/ghostpads/Makefile.am: 
12717         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12718
12719         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12720         These two routines are the only ones that set
12721         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12722         pad template. They should be made static, depending on ABI needs.
12723         (gst_real_pad_dispose): Handle the case of ghost pads without a
12724         parent. Assert after dealing with ghost pads that the ghost pad
12725         list is empty.
12726         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12727         set after creation.
12728         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12729         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12730         functions. set_property will call add_ghost_pad/remove_ghost_pad
12731         as appropriate.
12732         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12733
12734         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12735         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12736         (gst_element_remove_pad): Handle ghost pads as well.
12737         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12738         depending on API-stability needs).
12739
12740 2004-02-05  Andy Wingo  <wingo@pobox.com>
12741
12742         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12743         of course they're const
12744
12745 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12746
12747         * tools/Makefile.am:
12748         * tools/gst-feedback:
12749         * tools/gst-feedback-0.7:
12750           make gst-feedback versioned too for consistency
12751
12752 2004-02-11  David Schleef  <ds@schleef.org>
12753
12754         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12755         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12756
12757 2004-02-10  Julien MOUTTE <julien@moutte.net>
12758
12759         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12760         the structure does not contain a valid tag list. Adding a safety check
12761         to remove a noisy warning in that case.
12762
12763 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12764
12765         * gst/gst.c: fix name to be in line with others
12766
12767 2004-02-09  Julien MOUTTE <julien@moutte.net>
12768
12769         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12770         not shout that loud when len is 0. Just return 0 silently.
12771
12772 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12773
12774         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12775         because data_unref has one and I prefer the debug to be symetric.
12776         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12777         were refed when added to the queue and unrefed only once when the queue
12778         was flushed. Now the flush handler unref the buffers two times : first
12779         unref for the ref added when pushing in the queue's tail and second
12780         unref to destroy the flushed buffer.
12781
12782 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12783
12784         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12785
12786 2004-02-06  David Schleef  <ds@schleef.org>
12787
12788         * docs/random/ds/0.9-suggested-changes: Random ramblings
12789         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12790         to int before printing.
12791         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12792         * gst/parse/parse.l: same.  See bug #129600
12793
12794 2004-02-06  David Schleef  <ds@schleef.org>
12795
12796         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12797         (gst_index_add_entry), (gst_index_add_associationv),
12798         (gst_index_add_association): Add gst_index_add_associationv()
12799         and clean up gst_index_add_association(). #127133
12800
12801 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12802
12803         * autogen.sh: check out common with right tag if CVS/Tag exists
12804
12805 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12806
12807         * testsuite/ghostpads/ghostpads.c: (main):
12808           fix testsuite from segfaulting
12809
12810 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12811
12812         * Makefile.am: add release target
12813         * configure.ac: bump nano to 1
12814         * docs/random/release:
12815
12816 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12817
12818         * gst/gstcaps.h:
12819         * gst/gstelement.c: (gst_element_base_class_init),
12820         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12821         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12822         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12823         (gst_real_pad_dispose):
12824         * gst/gststructure.c: (gst_structure_free),
12825         (gst_structure_from_string):
12826           put reverted patch back in
12827         * gst/gstelement.c: (gst_element_remove_pad):
12828           free explicit caps if they're set
12829         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12830           copy the structure when fixating
12831
12832 2004-02-05  David Schleef  <ds@schleef.org>
12833
12834         * gst/gstmarshal.list:
12835         * gst/gstpad.c: (gst_real_pad_class_init),
12836         (_gst_real_pad_fixate_accumulator):
12837         Revert POINTER->BOXED change in signal marshaller.
12838
12839 === release 0.7.4 ===
12840                                                                                 
12841 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12842                                                                                 
12843         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12844         * configure.ac: changed for release
12845
12846 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12847
12848         * gstreamer.spec.in:
12849           bump required version of gtk-doc
12850
12851 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12852
12853         * gst/gstcaps.h:
12854         * gst/gstelement.c: (gst_element_base_class_init),
12855         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12856         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12857         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12858         (gst_real_pad_dispose):
12859         * gst/gststructure.c: (gst_structure_free),
12860         (gst_structure_from_string):
12861           revert patch that breaks applications, reapply after release
12862           to get this fixed properly
12863
12864 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12865
12866         * gst/gsttag.c: (_gst_tag_initialize):
12867         * gst/gsttag.h:
12868           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12869
12870 2004-02-04  David Schleef  <ds@schleef.org>
12871
12872         Fix some memleaks:
12873         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12874         (gst_spider_plug_from_srcpad):
12875         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12876
12877 2004-02-04  David Schleef  <ds@schleef.org>
12878
12879         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12880         a GstRealPad before accessing its structure members.
12881
12882 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12883
12884         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12885         (gst_clock_get_speed):
12886         * gst/gstclock.h:
12887           reset padding, remove unused fields
12888
12889 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12890
12891         * gst/autoplug/gstspideridentity.c:
12892         (gst_spider_identity_sink_loop_type_finding):
12893           use get_allowed_caps, not get_caps (fixes #132519)
12894         * gst/elements/gsttypefind.c: (stop_typefinding):
12895           use correct order when sending buffers and seeking
12896
12897 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * configure.ac:
12900         * gst/gstelement.h:
12901         * gst/gstpad.h:
12902         * gst/gstqueue.h:
12903           upgrade libtool CURRENT, reset padding
12904
12905 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12906
12907         * configure.ac:
12908           bump to prerelease
12909           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12910
12911 2004-02-04  David Schleef  <ds@schleef.org>
12912
12913         * docs/random/ds/0.9-suggested-changes: random notes
12914         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12915         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12916         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12917         expansion.
12918         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12919         (gst_filesink_get_query_types): same
12920         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12921         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12922         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12923         to use new GST_PTR_FORMAT.
12924         * gst/gstelement.h: deprecate function factory macros
12925         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12926         These are our last variadic macros that can't be replaced with
12927         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12928         attempting to deprecate gst_element_clock_wait().
12929         * gst/gstevent.h: same
12930         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12931         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12932         * gst/gstpad.h: deprecate function factory macros similar to above.
12933
12934 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12935
12936         * configure.ac:
12937         * tools/Makefile.am:
12938         * tools/gst-run.c: (popt_callback), (hash_print_key),
12939         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12940         (get_candidates), (main):
12941           add new source file to generate non-versioned wrapper binaries
12942           for our tools.
12943
12944 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12945
12946         * gst/gstevent.c: (_gst_event_free):
12947           actually break; inside the switch statement
12948         * gst/parse/grammar.y:
12949           fix memleak where GValues weren't unset
12950
12951 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12952
12953         * gst/gststructure.c: (gst_structure_from_string):
12954           fix huge memleak
12955         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12956         (new_entry), (gst_type_find_element_chain):
12957         * gst/gstelement.c: (gst_element_base_class_init),
12958         (gst_element_class_set_details):
12959         * gst/gstpad.c: (gst_pad_can_link_filtered):
12960           fix smaller memleaks
12961         * gst/gstpad.c: (gst_real_pad_dispose):
12962           check that explicit caps are gone
12963         * gst/gststructure.c: (gst_structure_free):
12964           actually free the structure
12965         * gst/gstelement.c: (gst_element_clear_pad_caps):
12966           unset explicit caps
12967
12968 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * tools/Makefile.am:
12971           use AM_CFLAGS since all the CFLAGS are the same
12972           use AM_LDFAGS
12973
12974 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12975
12976         * docs/manual/gnome.xml:
12977           expand example a little
12978         * gst/gst.c: (gst_init_with_popt_table),
12979         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12980           make sure popt option displays are done with right textdomain
12981           use GstPoptOption type
12982         * gst/gst.h:
12983           create GstPoptOption type
12984
12985 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12986
12987         * gst/gsterror.c: (_gst_stream_errors_init):
12988         * gst/gsterror.h:
12989           adding error type for no codec
12990         * po/POTFILES.in:
12991           add gst-inspect
12992         * po/nl.po:
12993           update dutch translation
12994         * tools/gst-inspect.c: (print_element_list), (main):
12995           do proper internationalization
12996         * tools/gst-launch.c: (idle_func):
12997           remove commented out function call
12998
12999 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13000
13001         * docs/README:
13002           add some error fixing notes
13003         * docs/gst/gstreamer-sections.txt:
13004           remove double entries
13005         * docs/gst/tmpl/gstbin.sgml:
13006         * docs/gst/tmpl/gstclock.sgml:
13007           remove override
13008         * docs/gst/tmpl/gstelement.sgml:
13009         * docs/gst/tmpl/gstindex.sgml:
13010         * docs/gst/tmpl/gstobject.sgml:
13011         * docs/gst/tmpl/gstpadtemplate.sgml:
13012         * docs/gst/tmpl/gstreamer-unused.sgml:
13013         * docs/gst/tmpl/gsttag.sgml:
13014         * docs/gst/tmpl/gstthread.sgml:
13015         * docs/gst/tmpl/gstxml.sgml:
13016         * gst/gsttag.h:
13017           sync header prototypes with c decls
13018         * gst/gsttaginterface.c:
13019           fix doc headers
13020
13021 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13022
13023         * gst/parse/Makefile.am:
13024         * gst/gstobject.h:
13025           get rid of gstmarshal.h dependency. It's not needed.
13026         * gst/gst.h:
13027         * gst/elements/gstfakesink.c:
13028         * gst/elements/gstfakesrc.c:
13029         * gst/elements/gstidentity.c:
13030         * gst/gstbin.c:
13031         * gst/gstelement.c:
13032         * gst/gstindex.c:
13033         * gst/gstobject.c:
13034         * gst/gstpad.c:
13035         * gst/gstthread.c:
13036         * gst/gstxml.c:
13037         * libs/gst/control/dparam.c:
13038         * libs/gst/control/dparammanager.c:
13039           include gstmarshal.h.
13040         Fixes #132045
13041
13042 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13043
13044         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13045         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13046         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13047         * gst/elements/gstfilesrc.h:
13048           don't ref the filesrc when creating mmaped buffers. Don't keep a
13049           list of not-yet-destroyed buffers.
13050         * gst/gstbuffer.h:
13051           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13052
13053 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13054
13055         * gst/gst.c: (init_pre):
13056           remove textdomain
13057
13058 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13059
13060         * docs/pwg/advanced-events.xml:
13061         * docs/pwg/advanced-scheduling.xml:
13062         * docs/pwg/intro-basics.xml:
13063         * docs/pwg/other-manager.xml:
13064         * docs/pwg/other-nton.xml:
13065         * docs/pwg/other-ntoone.xml:
13066         * docs/pwg/other-oneton.xml:
13067         * docs/pwg/pwg.xml:
13068           All sort of documentation... Forgot what. Point is that I want this
13069           in before I leave. The 'other-*' will be the last section and will
13070           explain issues specific to these type of elements.
13071
13072 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13073
13074         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13075         (gst_filesrc_get_read):
13076           set all the values on buffers that we can
13077
13078 2004-02-02  David Schleef  <ds@schleef.org>
13079
13080         Change usage of isblah() to g_ascii_isblah() to be more locale
13081         independent.  (#133076)
13082         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13083         * gst/gstutils.c:
13084         * gst/parse/parse.l:
13085
13086 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13087
13088         reviewed by: David Schleef  <ds@schleef.org>
13089
13090         Fix memory leaks:
13091         * gst/gstcaps.c: (gst_caps_to_string):
13092         * gst/registries/gstxmlregistry.c:
13093         (gst_xml_registry_add_path_list_func),
13094         (gst_xml_registry_parse_padtemplate):
13095
13096 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13097
13098         * gst/gstelement.c: (gst_element_default_error):
13099           suffix error messages with period
13100
13101 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13102
13103         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13104         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13105         * gst/gsterror.c: (gst_error_get_message):
13106           Suffix with dots
13107         * po/fr.po:
13108         * po/nl.po:
13109           Update translation files
13110
13111 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13112
13113         * gst/autoplug/gstspideridentity.c:
13114         (gst_spider_identity_sink_loop_type_finding):
13115         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13116         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13117         (gst_filesink_close_file), (gst_filesink_handle_event),
13118         (gst_filesink_chain):
13119         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13120         (gst_filesrc_get_read), (gst_filesrc_open_file):
13121         * gst/elements/gstidentity.c: (gst_identity_chain):
13122         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13123         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13124         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13125         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13126         * gst/gsterror.c: (_gst_core_errors_init),
13127         (_gst_library_errors_init), (_gst_resource_errors_init),
13128         (_gst_stream_errors_init), (gst_error_get_message):
13129         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13130         (gst_pad_recover_caps_error), (gst_pad_pull):
13131         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13132         * gst/schedulers/gstbasicscheduler.c:
13133         (gst_basic_scheduler_chainhandler_proxy),
13134         (gst_basic_scheduler_gethandler_proxy),
13135         (gst_basic_scheduler_cothreaded_chain):
13136           Suffix error messages with period.
13137           Use (NULL) instead of NULL
13138
13139 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13140
13141         * docs/gst/tmpl/gstelement.sgml:
13142         * docs/gst/tmpl/gstxml.sgml:
13143         * gst/gstelement.c: (gst_element_error_full):
13144           add element path to error
13145
13146 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13147
13148         * docs/random/mimetypes:
13149           update raw int/float info
13150         * gst/gsttag.c: (_gst_tag_initialize):
13151         * gst/gsttag.h:
13152           add GST_TAG_ENCODER
13153
13154 2004-01-30  David Schleef  <ds@schleef.org>
13155
13156         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13157           missing (#132991)
13158
13159 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13160
13161         reviewed by Benjamin Otte 
13162           parts of the patch submitted in bug #113913
13163
13164         * configure.ac:
13165           use AC_C_INLINE. Use = instead of == with test
13166         * examples/plugins/example.c:
13167         * gst/autoplug/gstspideridentity.c:
13168         * gst/elements/gstfdsrc.c:
13169         * gst/elements/gstfilesrc.c:
13170         * gst/elements/gstidentity.c:
13171         * gst/elements/gstmultidisksrc.c:
13172         * gst/elements/gststatistics.c:
13173         * gst/gstelement.c:
13174         * gst/gstobject.c:
13175         * gst/gstpad.c:
13176         * gst/gstpipeline.c:
13177         * gst/gstthread.c:
13178           don't end enums with a comma
13179         * gst/gstindex.c: (gst_index_compare_func):
13180           do explicit casting to gint
13181         * gst/gsttrace.c: (gst_trace_text_flush):
13182           #define strsize as a macro
13183
13184 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * docs/README:
13187         * docs/gst/gstreamer-docs.sgml:
13188         * docs/gst/gstreamer-sections.txt:
13189         * docs/gst/tmpl/gstelement.sgml:
13190         * docs/gst/tmpl/gsterror.sgml:
13191         * docs/gst/tmpl/gstinterface.sgml:
13192         * docs/gst/tmpl/gstreamer-unused.sgml:
13193         * docs/gst/tmpl/gststructure.sgml:
13194         * docs/gst/tmpl/gsttag.sgml:
13195         * docs/gst/tmpl/gsttaginterface.sgml:
13196         * docs/gst/tmpl/gstvalue.sgml:
13197         make sure all API ends up in the built docs
13198         * gst/gstinterface.c:
13199         * gst/gststructure.c: (gst_structure_id_set_value),
13200         (gst_structure_set_value), (gst_structure_id_get_value):
13201         * gst/gststructure.h:
13202         * gst/gstvalue.h:
13203         sync .h with .c declarations
13204
13205 2004-01-30  Julien Moutte  <julien@moutte.net>
13206
13207         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13208         Ronald will fix riffread.
13209
13210 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13211
13212         * docs/pwg/advanced-interfaces.xml:
13213           Added tuner interface docs.
13214
13215 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13216
13217         * docs/random/mimetypes:
13218           correct Theora information
13219         * gst/gstelement.h:
13220           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13221
13222 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13223
13224         * gst/gstelement.c: (gst_element_error_full):
13225         * gst/gstelement.h:
13226           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13227
13228 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13229
13230         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13231         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13232         again and even before DISCONT.
13233         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13234         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13235         bytestream so that it's not stopping to fill the bytestream if events
13236         different than EOS or DISCONT are received. Instead it process them so
13237         that they go downstream.
13238
13239 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13240
13241         * docs/gst/tmpl/gstelement.sgml:
13242         * docs/gst/tmpl/gstreamer-unused.sgml:
13243         * docs/gst/tmpl/gstxml.sgml:
13244         * gst/autoplug/gstspideridentity.c:
13245         (gst_spider_identity_sink_loop_type_finding):
13246         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13247         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13248         (gst_filesink_close_file), (gst_filesink_handle_event),
13249         (gst_filesink_chain):
13250         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13251         (gst_filesrc_get_read), (gst_filesrc_open_file):
13252         * gst/elements/gstidentity.c: (gst_identity_chain):
13253         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13254         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13255         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13256         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13257         * gst/gstelement.h:
13258         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13259         (gst_pad_recover_caps_error), (gst_pad_pull):
13260         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13261         * gst/schedulers/gstbasicscheduler.c:
13262         (gst_basic_scheduler_chainhandler_proxy),
13263         (gst_basic_scheduler_gethandler_proxy),
13264         (gst_basic_scheduler_cothreaded_chain):
13265           gst_element_error -> GST_ELEMENT_ERROR
13266
13267 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13268
13269         * docs/Makefile.am:
13270         * docs/gst/tmpl/gstelement.sgml:
13271         * docs/gst/tmpl/gstxml.sgml:
13272         * docs/manuals.mak:
13273         * docs/pwg/advanced-request.xml:
13274         * docs/pwg/advanced-scheduling.xml:
13275         * docs/pwg/advanced-tagging.xml:
13276           fix non-validating docbook using CDATA
13277           make sure make check-local gets run first to check if it validates
13278
13279 2004-01-29  Julien MOUTTE <julien@moutte.net>
13280
13281         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13282         handling (up and downstream).
13283         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13284         my_filter thing.
13285
13286 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13287
13288         * docs/pwg/advanced-tagging.xml:
13289           Add docs about tag writing.
13290
13291 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13292
13293         * docs/pwg/advanced-tagging.xml:
13294           Add a part about tag reading and application signalling... Tag
13295           writing still needs to be documented.
13296         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13297           We can set file locations in READY, too.
13298
13299 2004-01-29  Julien MOUTTE <julien@moutte.net>
13300
13301         * docs/random/ds/element-checklist: Adding some notes about src
13302         events.
13303
13304 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13305
13306         * docs/random/mimetypes:
13307           Update docs to point to correct elements for various mimetypes, and
13308           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13309           <stephane.loeuillet@tiscali.fr>.
13310
13311 2004-01-28  David Schleef  <ds@schleef.org>
13312
13313         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13314
13315 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13316
13317         * docs/random/mimetypes:
13318           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13319           undefined"
13320         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13321           make it only work in NULL.
13322         * gst/gstcaps.c:
13323           don't posion NULL caps
13324         * gst/gstelement.c: (gst_element_set_time):
13325           add debugging statement
13326         * gst/gstelement.c: (gst_element_emit_found_tag),
13327         (gst_element_found_tag_func), (gst_element_found_tags):
13328         * gst/gstelement.h:
13329           These functions take const taglists
13330         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13331           fix memleak
13332         * gst/gstpad.c: (gst_pad_event_default):
13333           make more effort on handling discont and clocks, g_warn if everything
13334           fails
13335         * gst/gststructure.c: (gst_structure_remove_fields),
13336         (gst_structure_remove_fields_valist):
13337         * gst/gststructure.h:
13338           add gst_structure_remove_fields(_valist)
13339         * gst/gsttag.c:
13340           fix doc glitch
13341
13342 2004-01-28  David Schleef  <ds@schleef.org>
13343
13344         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13345         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13346         Fix memory leakage of gst_caps_to_string().
13347
13348         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13349         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13350         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13351         (gst_spider_identity_sink_loop_type_finding):
13352         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13353         (find_suggest):
13354         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13355         (gst_pad_set_explicit_caps):
13356         * gst/parse/grammar.y:
13357
13358 2004-01-28  David Schleef  <ds@schleef.org>
13359
13360         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13361         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13362         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13363         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13364         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13365         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13366         (gst_debug_log_default), (_gst_info_printf_extension),
13367         (_gst_info_printf_extension_arginfo):  Add printf extension.
13368         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13369         * gst/gststructure.c: (gst_structure_to_string),
13370         (_gst_structure_parse_value): Use gst_value_deserialize() and
13371         remove old code.
13372         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13373         (gst_value_deserialize_boolean), (gst_strtoi),
13374         (gst_value_deserialize_int), (gst_value_deserialize_double),
13375         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13376         a bunch of deserialize functions and gst_value_deserialize.
13377         * gst/gstvalue.h: er, _de_serialize, not unserialize
13378         * testsuite/caps/string-conversions.c: (main): We don't currently
13379         handle (float) in caps, so convert these to (double).
13380         * testsuite/debug/Makefile.am: Add new test for the printf extension
13381         * testsuite/debug/printf_extension.c: (main): same
13382
13383 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13384
13385         * docs/random/company/time:
13386           Add some docs about clocking and time
13387
13388 2004-01-28  Julien MOUTTE <julien@moutte.net>
13389
13390         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13391
13392 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13393
13394         * docs/pwg/advanced-clock.xml:
13395         * docs/pwg/advanced-dparams.xml:
13396         * docs/pwg/advanced-events.xml:
13397         * docs/pwg/advanced-interfaces.xml:
13398         * docs/pwg/advanced-midi.xml:
13399         * docs/pwg/advanced-request.xml:
13400         * docs/pwg/advanced-scheduling.xml:
13401         * docs/pwg/advanced-tagging.xml:
13402         * docs/pwg/advanced-types.xml:
13403         * docs/pwg/appendix-checklist.xml:
13404         * docs/pwg/building-boiler.xml:
13405         * docs/pwg/building-chainfn.xml:
13406         * docs/pwg/building-filterfactory.xml:
13407         * docs/pwg/building-pads.xml:
13408         * docs/pwg/building-props.xml:
13409         * docs/pwg/building-signals.xml:
13410         * docs/pwg/building-state.xml:
13411         * docs/pwg/building-testapp.xml:
13412         * docs/pwg/intro-basics.xml:
13413         * docs/pwg/intro-preface.xml:
13414         * docs/pwg/other-autoplugger.xml:
13415         * docs/pwg/other-sink.xml:
13416         * docs/pwg/other-source.xml:
13417         * docs/pwg/titlepage.xml:
13418           fix up id's
13419
13420 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13421
13422         * docs/95NonPath:
13423         * docs/HACKING:
13424         * docs/README:
13425         * docs/building-the-docs-on-debian:
13426           collect relevant bits of doc info
13427
13428 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13429
13430         * docs/pwg/advanced_tagging.xml:
13431           Half-assed commit so Thomas can re-arrange document IDs here to be
13432           consistent, too.
13433
13434 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13435
13436         * docs/manual/autoplugging.xml:
13437         * docs/manual/bins-api.xml:
13438         * docs/manual/bins.xml:
13439         * docs/manual/buffers-api.xml:
13440         * docs/manual/buffers.xml:
13441         * docs/manual/clocks.xml:
13442         * docs/manual/components.xml:
13443         * docs/manual/cothreads.xml:
13444         * docs/manual/debugging.xml:
13445         * docs/manual/dparams-app.xml:
13446         * docs/manual/dynamic.xml:
13447         * docs/manual/elements-api.xml:
13448         * docs/manual/elements.xml:
13449         * docs/manual/factories.xml:
13450         * docs/manual/gnome.xml:
13451         * docs/manual/goals.xml:
13452         * docs/manual/helloworld.xml:
13453         * docs/manual/helloworld2.xml:
13454         * docs/manual/init-api.xml:
13455         * docs/manual/intro.xml:
13456         * docs/manual/links-api.xml:
13457         * docs/manual/links.xml:
13458         * docs/manual/manual.xml:
13459         * docs/manual/motivation.xml:
13460         * docs/manual/pads-api.xml:
13461         * docs/manual/pads.xml:
13462         * docs/manual/plugins-api.xml:
13463         * docs/manual/plugins.xml:
13464         * docs/manual/programs.xml:
13465         * docs/manual/queues.xml:
13466         * docs/manual/quotes.xml:
13467         * docs/manual/schedulers.xml:
13468         * docs/manual/states-api.xml:
13469         * docs/manual/states.xml:
13470         * docs/manual/threads.xml:
13471         * docs/manual/typedetection.xml:
13472         * docs/manual/xml.xml:
13473           use chapter, part, section or misc as id starts for all bits
13474
13475 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13476
13477         * docs/gst/gstreamer-sections.txt:
13478           Fix up TITLE of the sections
13479
13480 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13481
13482         * docs/pwg/advanced_interfaces.xml:
13483           Add documentation on propertyprobing.
13484         * docs/pwg/advanced_events.xml:
13485         * docs/pwg/advanced_tagging.xml:
13486         * docs/pwg/building_boiler.xml:
13487         * docs/pwg/building_filterfactory.xml:
13488         * docs/pwg/pwg.xml:
13489           Move filterfactory and tagging into their own chapter, add a chapter
13490           on events. all these are empty placeholders that will be filled in
13491           some day.
13492
13493 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13494
13495         * docs/pwg/advanced_interfaces.xml:
13496           Docs for mixer interface. Also a check for website uploading.
13497
13498 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13499
13500         * docs/HACKING:
13501         * docs/Makefile.am:
13502         * docs/faq/Makefile.am:
13503         * docs/gst/Makefile.am:
13504         * docs/gst/tmpl/gstelement.sgml:
13505         * docs/gst/tmpl/gstplugin.sgml:
13506         * docs/gst/tmpl/gstreamer-unused.sgml:
13507         * docs/libs/Makefile.am:
13508         * docs/manual/Makefile.am:
13509         * docs/manuals.mak:
13510         * docs/pwg/Makefile.am:
13511         * docs/upload.mak:
13512           Separate out upload target and make it similar for
13513           both docbook and gtk-doc docs
13514
13515 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13516
13517         * docs/manuals.mak:
13518           Fix upload target to work with freedesktop
13519
13520 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13521
13522         * docs/pwg/advanced_types.xml:
13523           Add notes on creating your own types.
13524         * docs/pwg/building_boiler.xml:
13525         * docs/pwg/building_pads.xml:
13526         * docs/pwg/building_state.xml:
13527           Add some stuff about how to retrieve values from structures, how
13528           that relates to types and change layout slightly again to be almost
13529           perfect.
13530
13531 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13532
13533         * docs/pwg/advanced_dparams.xml:
13534         * docs/pwg/advanced_scheduling.xml:
13535           Change index layout slightly.
13536
13537 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13538
13539         * docs/pwg/advanced_clock.xml:
13540         * docs/pwg/advanced_interfaces.xml:
13541         * docs/pwg/advanced_midi.xml:
13542           General placeholders for now.
13543         * docs/pwg/advanced_request.xml:
13544           Explanation about sometimes and request pads.
13545         * docs/pwg/advanced_scheduling.xml:
13546           Concept of bytestream, loopfunctions and schedulers.
13547         * docs/pwg/building_boiler.xml:
13548           Add something about plugin-init.
13549
13550 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13551
13552         * docs/pwg/building_pads.xml:
13553           Fix broken docbook
13554
13555 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13556
13557         * docs/pwg/advanced_interfaces.xml:
13558         * docs/pwg/pwg.xml:
13559           Add as a placeholder for future filling-in.
13560         * docs/pwg/basics_autoplugging.xml:
13561         * docs/pwg/basics_buffers.xml:
13562         * docs/pwg/basics_elements.xml:
13563         * docs/pwg/basics_events.xml:
13564         * docs/pwg/basics_plugins.xml:
13565         * docs/pwg/basics_types.xml:
13566           Remove, because unused (this is all in intro_basics.xml).
13567         * docs/pwg/building_signals.xml:
13568           Short intro to signals + reference to GObject docs - we really
13569           shouldn't go into these sort of things to deply because we don't
13570           use them that extensively anyway.
13571         * docs/pwg/building_state.xml:
13572           Explanation of states. Benjamin, please check.
13573         * docs/pwg/building_testapp.xml:
13574           Put everything in one page - putting only a few lines of content
13575           per page doesn't really make sense.
13576
13577           Time to get into the advanced topics. ;).
13578
13579 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13580
13581         * docs/pwg/advanced_types.xml:
13582           Finish documenting the current state of mimetypes.
13583         * docs/pwg/building_boiler.xml:
13584         * docs/pwg/building_chainfn.xml:
13585         * docs/pwg/building_pads.xml:
13586         * docs/pwg/building_props.xml:
13587         * docs/pwg/building_testapp.xml:
13588           Start documenting the "how to build a simple audio filter" part
13589           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13590           states and (maybe?) a short introduction to capsnego in the chapter
13591           on pads (building_pads.xml). Capsnego should probably be explained
13592           fully in advanced_capsnego.xml or so.
13593
13594 2004-01-26  David Schleef  <ds@schleef.org>
13595
13596         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13597         * gst/gstpad.h: Add new function to allow element to (somewhat)
13598         specify non-fixed caps on a pad.
13599         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13600         that I added a few weeks ago.
13601
13602 2004-01-26  David Schleef  <ds@schleef.org>
13603
13604         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13605           making try_set_caps() work with non-fixed caps.
13606
13607 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13608
13609         * docs/pwg/advanced_types.xml:
13610         * docs/pwg/intro_basics.xml:
13611         * docs/pwg/intro_preface.xml:
13612         * docs/pwg/pwg.xml:
13613         * docs/pwg/titlepage.xml:
13614           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13615           in here (docs/random/mimetypes), and will from there on work on both
13616           updating outdated parts and adding missing parts.
13617           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13618
13619 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13620
13621         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13622           policy is set
13623
13624 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13625
13626         * gst/gstelement.h:
13627           remove gst_element_factory_get_version. It doesn't exist anymore.
13628         * gst/gstplugin.c:
13629         * gst/gstplugin.h:
13630           remove gst_plugin_set_name and change gst_plugin_get_longname to
13631           gst_plugin_get_description to match code.
13632         * gst/gsterror.h:
13633           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13634         * gst/gstpad.c: (gst_pad_try_set_caps):
13635           make it work with nonfixed caps.
13636           Note that even in the nonfixed case the link function of the pad
13637           that tries to set caps isn't called.
13638
13639 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13640
13641         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13642           fix bug where buffer was not assembled correctly
13643         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13644           silence by default
13645         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13646           only seek if there's no more buffers that could work without seeking
13647
13648 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13649
13650         * gst/gsttag.c: (_gst_tag_initialize):
13651         * gst/gsttag.h:
13652           Add application tag (for encoding/muxing app).
13653
13654 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13655
13656         * autogen.sh:
13657           make autopoint force, and libtoolize not copy
13658         * common/m4/as-docbook.m4:
13659           added docbook xml catalog setup check
13660         * common/m4/gst-doc.m4:
13661           use docbook check
13662
13663 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13664
13665         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13666         * gst/gsttag.h:
13667           add GstTagFlag
13668
13669 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13670
13671         * docs/gst/gstreamer-sections.txt:
13672         * docs/gst/tmpl/gst.sgml:
13673         * docs/gst/tmpl/gstbuffer.sgml:
13674         * docs/gst/tmpl/gstclock.sgml:
13675         * docs/gst/tmpl/gstelement.sgml:
13676         * docs/gst/tmpl/gstreamer-unused.sgml:
13677         * docs/gst/tmpl/gstxml.sgml:
13678           sync latest API changes to docs
13679
13680 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13681
13682         * gst/gstpluginfeature.c:
13683           fix doc snippet
13684         * tools/gst-inspect.c: (print_element_list):
13685           fix output of typefind
13686           add GPL header
13687         * tools/gst-launch.c:
13688           add GPL header
13689
13690 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13691
13692         * gst/elements/Makefile.am:
13693         * gst/elements/gstelements.c:
13694         * gst/elements/gsttypefindelement.c:
13695         * gst/elements/gsttypefindelement.h:
13696         * po/POTFILES.in:
13697         * po/fr.po:
13698         * po/nl.po:
13699           renamed gsttypefindelement to gsttypefind, conserving CVS history
13700
13701 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13702
13703         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13704         * gst/gsttag.h:
13705           add some tags used in ogg as well
13706           fix _ in replaygain tags
13707
13708 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13709
13710         * gst/gsterror.h:
13711           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13712
13713 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13714
13715         * gst/gstelement.c: (gst_element_error_full):
13716         * gst/gstelement.h:
13717           change _extended to _full
13718
13719 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13720
13721         reviewed by: <delete if not using a buddy>
13722
13723         * docs/gst/tmpl/gst.sgml:
13724         * docs/gst/tmpl/gstbuffer.sgml:
13725         * docs/gst/tmpl/gstclock.sgml:
13726         * docs/gst/tmpl/gstelement.sgml:
13727         * docs/gst/tmpl/gstreamer-unused.sgml:
13728         * docs/gst/tmpl/gstxml.sgml:
13729         * gst/gstelement.c: (gst_element_error_full):
13730         * gst/gstelement.h:
13731
13732 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13733
13734         * gst/gstelement.h: fix _gst_element_error_printf prototype
13735
13736 2004-01-20  David Schleef  <ds@schleef.org>
13737
13738         * gst/gststructure.c: (gst_structure_to_string):
13739         Convert function to use gst_value_serialize().
13740         * gst/gstvalue.c: (gst_value_serialize_list),
13741         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13742         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13743         (gst_value_serialize_int), (gst_value_serialize_double),
13744         (gst_string_wrap), (gst_value_serialize_string),
13745         (gst_value_serialize), (gst_value_deserialize):
13746         * gst/gstvalue.h:
13747         Add implementations for serialize.
13748
13749 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13750
13751         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13752         we want to keep that one in the future or change xvidenc.c to use 
13753         another error.
13754
13755 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13756
13757         * gst/gstelement.c: (_gst_element_error_printf):
13758         * gst/gstelement.h:
13759           privatise function
13760
13761 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13762
13763         * docs/random/error:
13764           doc explaining error system
13765         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13766           cleanup
13767
13768 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13769
13770         * gst/gst-i18n-app.h:
13771         * gst/gst-i18n-lib.h:
13772           remove inclusion of config.h
13773         * po/POTFILES.in:
13774         * po/nl.po:
13775           add gst/gstelement.c
13776
13777 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13778
13779         * po/nl.po: updated Dutch translation
13780
13781 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13782
13783         * gst/gsterror.c: (_gst_core_errors_init),
13784         (_gst_library_errors_init), (_gst_resource_errors_init),
13785         (_gst_stream_errors_init):
13786         remove ending punctuation dots
13787
13788 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13789
13790         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13791         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13792         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13793         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13794         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13795         use GST_ERROR_SYSTEM
13796
13797 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * gst/gstelement.c: (gst_element_error_printf),
13800         (gst_element_error_extended):
13801         * gst/gstelement.h:
13802           add a helper printf function so we can have NULL values passed.
13803
13804 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13805
13806         * gst/gstelement.h:
13807           add G_STMT macros to gst_element_error, which isn't strictly
13808           necessary but people tell me to anyway.
13809
13810 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13811
13812         * gst/Makefile.am:
13813         * gst/autoplug/gstspideridentity.c:
13814         (gst_spider_identity_sink_loop_type_finding):
13815         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13816         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13817         (gst_filesink_close_file), (gst_filesink_handle_event),
13818         (gst_filesink_chain):
13819         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13820         (gst_filesrc_map_region), (gst_filesrc_get_read),
13821         (gst_filesrc_open_file):
13822         * gst/elements/gstidentity.c: (gst_identity_chain):
13823         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13824         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13825         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13826         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13827         * gst/gst.h:
13828         * gst/gst_private.h:
13829         * gst/gstelement.c: (gst_element_class_init),
13830         (gst_element_default_error), (gst_element_error_func),
13831         (gst_element_error_extended):
13832         * gst/gstelement.h:
13833         * gst/gsterror.c: (_gst_core_errors_init),
13834         (_gst_library_errors_init), (_gst_resource_errors_init),
13835         (_gst_stream_errors_init), (gst_error_get_message):
13836         * gst/gsterror.h:
13837         * gst/gstinfo.c: (_gst_debug_init):
13838         * gst/gstmarshal.list:
13839         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13840         (gst_pad_recover_caps_error), (gst_pad_pull):
13841         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13842         * gst/schedulers/gstbasicscheduler.c:
13843         (gst_basic_scheduler_chainhandler_proxy),
13844         (gst_basic_scheduler_gethandler_proxy),
13845         (gst_basic_scheduler_cothreaded_chain):
13846         * po/POTFILES.in:
13847         * po/fr.po:
13848         * po/nl.po:
13849           change error signal
13850           add error categories
13851
13852 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13853
13854         * gst/gsttag.c: (_gst_tag_initialize):
13855         * gst/gsttag.h:
13856         Add replaygain tag
13857
13858 2004-01-18  Colin Walters  <walters@verbum.org>
13859
13860         * examples/retag/retag.c: Call gst_init before processing
13861         program args.  Add g_assert to _link_many call.
13862
13863 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13864
13865         * gst/gstpad.c: (gst_pad_alloc_buffer):
13866           Return a newly allocated buffer when the pad has no peer.
13867
13868 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13869
13870         * gst/gstclock.c: (gst_clock_get_time):
13871           make it compile with gcc 2.95 again.
13872           Patch by Scott Wheeler
13873
13874 2004-01-15  David Schleef  <ds@schleef.org>
13875
13876         * gst/gstcaps.h:
13877         Added gst_caps_is_simple() macro.
13878         * testsuite/caps/caps.c: (test1):
13879         * testsuite/caps/intersect2.c: (main):
13880         * testsuite/caps/intersection.c: (main):
13881         Fixes to make 'make check' work again after removing
13882         gst_caps_is_chained().
13883
13884 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13885
13886         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13887         and additions to the MIDI document.
13888
13889 2004-01-15  David Schleef  <ds@schleef.org>
13890
13891         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13892         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13893         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13894
13895 2004-01-15  David Schleef  <ds@schleef.org>
13896
13897         * gst/gstqueue.c:
13898         * gst/gstqueue.h:
13899         Fix the spelling of "treshold" and make min_threshold actually
13900         affect the queue.
13901
13902 2004-01-15  David Schleef  <ds@schleef.org>
13903
13904         * gst/gstcaps.c:
13905         Add lots of documentation.
13906         * gst/gstcaps.h:
13907         Deprecate a few functions.
13908         * gst/gstpad.c:
13909         Removed use of deprecated functions.
13910
13911 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13912
13913         * gst/gstpad.c: (gst_pad_is_linked):
13914         * gst/gstpad.h:
13915           implement gst_pad_is_linked
13916         * gst/gstelement.h:
13917           reserve space for initiate_state_change
13918
13919 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13920
13921         * gst/autoplug/gstspideridentity.c:
13922         (gst_spider_identity_sink_loop_type_finding):
13923           break infinite loop by just returning instead of looping
13924         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13925           set event time difference correctly. Set it to 1 second instead
13926           of 100ms to be more tolerant
13927         * gst/gstelement.c: (gst_element_set_time):
13928           add debugging output
13929
13930 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13931
13932         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13933           query if buffers are inside the pool, ignore events
13934
13935 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13936
13937         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13938         (gst_clock_set_speed), (gst_clock_set_active),
13939         (gst_clock_is_active), (gst_clock_reset),
13940         (gst_clock_handle_discont):
13941         * gst/gstclock.h:
13942           deprecate old interface and disable functions that aren't in use
13943           anymore.
13944         * gst/gstelement.h:
13945         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13946         (gst_element_set_time), (gst_element_adjust_time):
13947           add concept of "element time" and functions to get/set this time.
13948         * gst/gstelement.c: (gst_element_change_state):
13949           update element time correctly.
13950         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13951           This is a debug message, not a g_critical.
13952         * gst/gstpad.c: (gst_pad_event_default):
13953           handle discontinuous events right with element time.
13954         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13955           update to clocking fixes.
13956           set clocks on elements in READY=>PAUSED. The old behaviour caused
13957           a wrong element time on the first element that started playing.
13958         * gst/schedulers/gstbasicscheduler.c:
13959         (gst_basic_scheduler_class_init):
13960         * gst/schedulers/gstoptimalscheduler.c:
13961         (gst_opt_scheduler_class_init):
13962           remove code that just implements the default behaviour.
13963         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13964           update to use new clocking functions
13965         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13966         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13967           update to test new element time.
13968         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13969           use _get_allowed_caps instead of _get_caps. This catches filtered
13970           caps correctly.
13971         * testsuite/debug/commandline.c:
13972           update for new GST_DEBUG syntax.
13973         * testsuite/threads/Makefile.am:
13974           disable a test that only works sometimes.
13975
13976 2004-01-13  Julien MOUTTE <julien@moutte.net>
13977
13978         * po/LINGUAS: Adding fr.
13979         * po/fr.po: Adding french translation.
13980
13981 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13982
13983         * gst/parse/grammar.y:
13984         * po/POTFILES.in:
13985         * po/nl.po:
13986         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13987           translate parsing error messages
13988
13989 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13990
13991         * po/POTFILES.in: adding gst-launch
13992         * po/nl.po: updated translation, all 99 strings translated
13993         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13994         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13995           fix strings for translation
13996
13997 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13998
13999         * gst/gst.c:
14000           - capitalize beginnings of popt options
14001           - fix strings for translation
14002           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14003
14004 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14005
14006         * po/README: add some notes on how to update translations
14007
14008 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14009
14010         * ABOUT-NLS: removed, is autogenerated from autopoint
14011         * autogen.sh: add autopoint stuff
14012         * configure.ac: fix up gettext stuff
14013         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14014         * gst/elements/gsttypefindelement.c: add header include
14015         * gst/gettext.h: add header, copy from system-installed header
14016         * gst/gst-i18n-app.h: to be included by each app having translations
14017         * gst/gst-i18n-lib.h: to be included by each lib having translations
14018         * gst/gst.c: (init_pre): fix up gettext calls
14019         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14020         * po/LINGUAS: the new way to specify translations present
14021         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14022         * po/Makevars: the variables filled in for GStreamer
14023         * po/POTFILES.in: added new files with translations
14024         * po/de.po: has new strings
14025         * po/nl.po: readded, has new strings
14026
14027 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14028
14029         * gst/gsttag.c: fix some strings marked for translation
14030
14031 2004-01-13  Iain <iain@prettypeople.org>
14032
14033         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14034         group when we add an element to it, cos we unref it when we remove one
14035
14036 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14037
14038         * testsuite/debug/commandline.c: (debug_not_reached):
14039         * testsuite/debug/output.c: (check_message):
14040           fix testsuite
14041
14042 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14043
14044         * examples/cutter/.cvsignore:
14045         * examples/helloworld/.cvsignore:
14046         * examples/launch/.cvsignore:
14047         * examples/manual/.cvsignore:
14048         * examples/mixer/.cvsignore:
14049         * examples/pingpong/.cvsignore:
14050         * examples/plugins/.cvsignore:
14051         * examples/queue/.cvsignore:
14052         * examples/queue2/.cvsignore:
14053         * examples/queue3/.cvsignore:
14054         * examples/queue4/.cvsignore:
14055         * examples/retag/.cvsignore:
14056         * examples/thread/.cvsignore:
14057         * examples/typefind/.cvsignore:
14058         * examples/xml/.cvsignore:
14059         * gst/.cvsignore:
14060         * gst/autoplug/.cvsignore:
14061         * gst/elements/.cvsignore:
14062         * gst/indexers/.cvsignore:
14063         * gst/parse/.cvsignore:
14064         * gst/registries/.cvsignore:
14065         * gst/schedulers/.cvsignore:
14066         * libs/gst/bytestream/.cvsignore:
14067         * libs/gst/control/.cvsignore:
14068         * libs/gst/getbits/.cvsignore:
14069         * tests/.cvsignore:
14070         * tests/bufspeed/.cvsignore:
14071         * tests/instantiate/.cvsignore:
14072         * tests/memchunk/.cvsignore:
14073         * tests/muxing/.cvsignore:
14074         * tests/sched/.cvsignore:
14075         * tests/seeking/.cvsignore:
14076         * tests/threadstate/.cvsignore:
14077         * testsuite/.cvsignore:
14078         * testsuite/caps/.cvsignore:
14079         * testsuite/cleanup/.cvsignore:
14080         * testsuite/dynparams/.cvsignore:
14081         * testsuite/plugin/.cvsignore:
14082         * tools/.cvsignore:
14083           update - this is huge, because it includes *.bb, *.bbg and *.da files
14084           which are generated for gcov.
14085
14086 2004-01-11  David Schleef  <ds@schleef.org>
14087
14088         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14089         a function to parse integers in ways that strto[u]l() does not.
14090
14091 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14092
14093         * tools/gst-inspect.c: (print_caps):
14094           improve output of caps a bit
14095
14096 2004-01-11  David Schleef  <ds@schleef.org>
14097
14098         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14099         inherit correct flags (READONLY and DONTKEEP).
14100
14101 2004-01-11  David Schleef  <ds@schleef.org>
14102
14103         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14104         (gst_filesrc_map_region):
14105         * gst/gstbuffer.c: (_gst_buffer_initialize),
14106         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14107         (gst_buffer_new), (gst_buffer_create_sub),
14108         (gst_buffer_is_span_fast), (gst_buffer_span):
14109         * gst/gstbuffer.h:
14110         Change GstBuffer private structure element names. (all files)
14111         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14112         (gst_queue_link):
14113         * gst/gstqueue.h:
14114         Implement getcaps/pad_link functions that handle the case where
14115         there are data in the queue.
14116
14117 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14118
14119         * gst/elements/gstbufferstore.c:
14120           initialize debugging structure correctly
14121         * gst/elements/gsttee.c: (gst_tee_set_property):
14122           g_object_notify when property was changed
14123         * gst/elements/gsttypefindelement.c:
14124         (gst_type_find_element_change_state):
14125           clear caps correctly
14126
14127 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14128
14129         * gst/gstqueue.c: (gst_queue_init):
14130           Use better defaults for when a queue should block. This
14131           gets rid of jerky playback for quite a few files.
14132           It takes more memory.
14133
14134 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14135
14136         (gst_xml_registry_parse_padtemplate):
14137           make critical message slightly more useful
14138
14139 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14140
14141         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14142         (gst_debug_message_get), (gst_debug_log_default):
14143         * gst/gstinfo.h:
14144           Change gst_debug_log(_valist) to take a const format string.
14145           Change prototype of log function and functions using those to 
14146           take a GstDebugMessage instead of a string that requires using
14147           gst_debug_message_get.
14148
14149 2004-01-08  David Schleef  <ds@schleef.org>
14150
14151         * Makefile.am:
14152         * configure.ac:
14153         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14154         and -ftest-coverage, which allows gcov to show information about
14155         testsuite coverage.
14156
14157 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14158
14159         * gst/gstutils.h:
14160           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14161           GST_PARENT_CALL_WITH_DEFAULT
14162         * gst/elements/gstaggregator.c: 
14163         * gst/elements/gstbufferstore.c: 
14164         * gst/elements/gstfakesink.c: 
14165         * gst/elements/gstfakesrc.c: 
14166         * gst/elements/gstfdsink.c: 
14167         * gst/elements/gstfdsrc.c: 
14168         * gst/elements/gstfilesink.c: 
14169         * gst/elements/gstfilesrc.c: 
14170         * gst/elements/gstidentity.c: 
14171         * gst/elements/gstmd5sink.c: 
14172         * gst/elements/gstmultidisksrc.c:
14173         * gst/elements/gstpipefilter.c: 
14174         * gst/elements/gstshaper.c:
14175         * gst/elements/gststatistics.c:
14176         * gst/elements/gsttee.c:
14177         * gst/elements/gsttypefindelement.c:
14178           use them.
14179
14180 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14181
14182         * docs/gst/gstreamer-docs.sgml: remove props
14183         * docs/gst/gstreamer-sections.txt: remove props
14184         * docs/gst/tmpl/gst.sgml:
14185         * docs/gst/tmpl/gstbin.sgml:
14186         * docs/gst/tmpl/gstbuffer.sgml:
14187         * docs/gst/tmpl/gstcaps.sgml:
14188         * docs/gst/tmpl/gstclock.sgml:
14189         * docs/gst/tmpl/gstelement.sgml:
14190         * docs/gst/tmpl/gstindex.sgml:
14191         * docs/gst/tmpl/gstobject.sgml:
14192         * docs/gst/tmpl/gstpad.sgml:
14193         * docs/gst/tmpl/gstpadtemplate.sgml:
14194         * docs/gst/tmpl/gstreamer-unused.sgml:
14195         * docs/gst/tmpl/gstthread.sgml:
14196         * docs/gst/tmpl/gstxml.sgml:
14197           sync with code reorganization
14198
14199 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14200
14201         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14202         Make the 'Could not find compatible pad' message more informative.
14203
14204 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14205                                                                                 
14206         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14207           Fix for if we pass NULL as property to location.
14208         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14209         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14210           Fix for instantiate-test (see below).
14211         * gst/gststructure.c: (_gst_structure_parse_value):
14212           Fix compile error on gcc-2.96.
14213         * configure.ac:
14214         * tests/Makefile.am:
14215         * tests/instantiate/Makefile.am:
14216         * tests/instantiate/create.c: (create_all_elements), (main):
14217           Add a test that instantiates all elements. This makes it easy to
14218           track dead code for old API/design (like setting event functions
14219           on sink pads and so on).
14220
14221 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14222
14223         * gst/gstcaps.c: (gst_caps_append_structure):
14224           Move the poisoning to allow a NULL structure
14225         * gst/gstevent.c: (_gst_event_free):
14226           When freeing a navigation event, free the structure
14227           also
14228
14229 2004-01-04  David Schleef  <ds@schleef.org>
14230
14231         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14232         Remove usage of gst_pad_proxy_fixate.
14233         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14234         (gst_caps_split_one), (gst_caps_replace):
14235         Add poisoning code.
14236         * gst/gstmarshal.list:
14237         Add pointer__pointer for fixate signal
14238         * gst/gstpad.c: (gst_real_pad_class_init),
14239         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14240         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14241         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14242         Add poisoning code. Add fixate signal on RealPad. Change
14243         set_explicit_caps() to take const GstCaps, like try_set_caps().
14244         * gst/gstpad.h:
14245         * testsuite/caps/Makefile.am:
14246         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14247
14248 2004-01-03  David Schleef  <ds@schleef.org>
14249
14250         * gst/elements/gsttypefindelement.c:
14251         (gst_type_find_element_have_type), (gst_type_find_element_init):
14252         Use gst_pad_use_explicit_caps for src pad.
14253         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14254         before using it.
14255
14256 2004-01-03  David Schleef  <ds@schleef.org>
14257
14258         * gst/gstelement.c: (gst_element_link_pads_filtered),
14259         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14260         that linking was successful.
14261         * gst/gstpad.c: (gst_pad_link_free),
14262         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14263         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14264         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14265         GstPadLinkReturn correctly between functions, and don't fail
14266         when DELAYED is used (DELAYED is very important).  Better
14267         cleanup on unlinking and unnegotiation.  Should fix some spider
14268         bugs.
14269
14270 2004-01-02  David Schleef  <ds@schleef.org>
14271
14272         * gst/gstelement.c: (gst_element_class_init),
14273         (gst_element_base_class_init): ->padtemplates should be cleared
14274         in base_init, since we need to have a fresh list for every
14275         class.  (Alternately, we chould copy the list and share the
14276         actual pad templates (not the list), but that would require
14277         changing every plugin to move pad template registration from
14278         base_init to class_init.)
14279
14280 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14281
14282         * gst/gstelement.c: (gst_element_class_add_pad_template):
14283           Refuse registering a pad template if another pad template
14284           with the same name already exists (#114715).
14285
14286 2004-01-02  David Schleef  <ds@schleef.org>
14287
14288         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14289         (gst_caps_is_equal_fixed): Add new function.
14290         * gst/gstcaps.h: ditto.
14291         * gst/gstpad.c: (gst_real_pad_class_init),
14292         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14293         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14294         check new caps against existing caps -- if they're the same, return
14295         OK without renegotiating.  caps-nego-failed signal fixed so that
14296         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14297         to save an extra caps copy.  Don't complete negotiation if a pad
14298         link function returns DELAYED.
14299
14300 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14301
14302         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14303           Fix wrong g_return_if_fail
14304
14305 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14306
14307         * gst/gstbin.c: (gst_bin_class_init):
14308         Change the marshalling of element_added/element_removed
14309         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14310         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14311
14312 2004-01-01  David Schleef  <ds@schleef.org>
14313
14314         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14315         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14316         (gst_pad_use_explicit_caps):
14317         * gst/gstpad.h:
14318         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14319         to use an internal getcaps and link fuction so that negotiation
14320         always results in the explicitly set caps.
14321         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14322         are particularly useful for decoders.
14323
14324 2003-12-31  David Schleef  <ds@schleef.org>
14325
14326         * gst/elements/gstidentity.c: (gst_identity_class_init),
14327         (gst_identity_init), (gst_identity_chain),
14328         (gst_identity_set_property), (gst_identity_get_property):
14329         * gst/elements/gstidentity.h:
14330         * gst/gstqueue.c: (gst_queue_init):
14331           Negotiation fixes.
14332
14333 2003-12-31  David Schleef  <ds@schleef.org>
14334
14335         * gst/gstcaps.c: (gst_caps_intersect),
14336         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14337           Implement gst_caps_normalize().
14338         * testsuite/caps/normalisation.c: (main):
14339           Add an additional test
14340
14341 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14342
14343         * gst/gstqueue.c: (gst_queue_init):
14344           use gst_pad_proxy_getcaps()
14345
14346 2003-12-31  David Schleef  <ds@schleef.org>
14347
14348         * gst/elements/gstshaper.c: (gst_shaper_link):
14349         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14350         * gst/gstqueue.c: (gst_queue_link):
14351           Negotiation fixes.
14352
14353 2003-12-31  David Schleef  <ds@schleef.org>
14354
14355         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14356         * gst/gstpad.h: Add functions that are useful as default pad
14357         link and fixate functions for elements.
14358
14359 2003-12-30  David Schleef  <ds@schleef.org>
14360
14361         * gst/gstpad.c: (gst_pad_link_try):
14362           Fix segfault when attempting to return to old caps
14363
14364 2003-12-29  David Schleef  <ds@schleef.org>
14365
14366         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14367         (gst_caps_structure_simplify), (gst_caps_simplify):
14368         * gst/gstcaps.h:
14369           Add simplify function
14370         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14371         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14372         * gst/gstpad.h:
14373           Copy over srcnotify, sinknotify when calling old pad_link
14374           functions.  Add new is_negotiated() function.
14375         * gst/gststructure.c: (gst_structure_copy):
14376           Fix an incredibly stupid bug that should have been noticed
14377           weeks ago.  _copy() returned the argument, not the new copy.
14378
14379 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14380
14381         * gst/gstcaps.c: (gst_caps_append):
14382           add sanity checks
14383         * gst/gstcaps.h: (gst_caps_debug):
14384           remove, it doesn't exist anymore.
14385         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14386         (gst_element_threadsafe_properties_post_run):
14387           make debugging messages not clutter up THREAD debug category
14388         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14389         (gst_element_change_state):
14390           update to new caps API
14391         * gst/gstinterface.c: (gst_implements_interface_cast):
14392           don't put vital code in g_return_if_fail
14393         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14394         (gst_pad_link_filtered):
14395           add pst_pad_try_link and use it.
14396         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14397           implement correctly, deprecate first one.
14398         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14399           add and implement.
14400         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14401           implement.
14402         (gst_pad_get_negotiated_caps):
14403           add and implement. Make GST_PAD_CAPS call this function.
14404         (gst_pad_get_caps):
14405           remove unneeded check..
14406         (gst_pad_recover_caps_error):
14407           disable, always return FALSE.
14408         (gst_real_pad_dispose):
14409           don't free caps and appfilter anymore, they're unused.
14410         * gst/gstpad.h:
14411           Reflect changes mentioned above.
14412         * gst/gstsystemclock.c: (gst_system_clock_wait):
14413           Make 'clock is way behind' a debugging message.
14414         * gst/gstthread.c: (gst_thread_change_state):
14415           Fix debugging message
14416
14417 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14418
14419         * gst/gstinfo.h:
14420           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14421         * docs/gst/tmpl/gstreamer-unused.sgml:
14422           removed all traces of cvs conflicts
14423
14424 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14425
14426         * configure.ac:
14427         * gst/schedulers/cothreads_compat.h:
14428         * libs/Makefile.am:
14429           remove last instances of wingo cothread usage
14430
14431 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14432
14433         * gst/gstplugin.c:
14434         * gst/gstversion.h.in:
14435         * gst/parse/grammar.y:
14436           change comment block from /** to /* when not gtk-doc comments
14437
14438 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14439
14440         * gst/gst.c: whitespace and doc style fixes
14441
14442 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14443
14444         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14445
14446 2003-12-24  Colin Walters  <walters@verbum.org>
14447
14448         * gst/elements/gsttypefindelement.c:
14449           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14450           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14451           Don't double-free caps.
14452
14453 2003-12-23  David Schleef  <ds@schleef.org>
14454
14455         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14456           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14457           Many little fixes and additions of debug statements to
14458           get rhythmbox working.
14459
14460 2003-12-23  Colin Walters  <walters@verbum.org>
14461
14462         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14463         Use GST_PAD_LINK_SUCCESSFUL.
14464
14465 2003-12-23  David Schleef  <ds@schleef.org>
14466
14467         * gst/elements/gstaggregator.c:
14468         * gst/elements/gsttee.c:
14469           Use gst_pad_proxy_getcaps().
14470         * gst/gstpad.c:
14471         * gst/gstpad.h:
14472           Add gst_pad_proxy_getcaps(), which filter elements can use
14473           as a generic getcaps implementation.
14474           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14475           was advertised.
14476
14477 2003-12-23  David Schleef  <ds@schleef.org>
14478
14479         * gst/gstpad.c:
14480           Rearrange/rewrite much of the pad negotiation code, since it
14481           resembled pasta.  This actually changes the way some
14482           negotiation works, since the previous code was inconsistent
14483           depending on how it was invoked.  Add (internal) structure
14484           GstPadLink, which is used to hold some information (more in
14485           the future) about the link between two pads.  Fixes a number
14486           of bugs, including random lossage of filter caps when the
14487           initial negotiation is delayed.  A few functions are still
14488           unimplemented.
14489         * gst/gstpad.h:
14490           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14491           these when testing GstPadLinkReturn values instead of comparing
14492           directly.
14493
14494 2003-12-23  David Schleef  <ds@schleef.org>
14495
14496         * gst/gstvalue.c: 
14497         * gst/gstvalue.h:
14498           Rearrange lots of code.  Change registration of compare function
14499           into registration of compare/serialize/deserialize functions.
14500           Doesn't include implementation of gst_value_[de]serialize(),
14501           but that should be easy.
14502
14503 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14504
14505         * docs/gst/gstreamer-sections.txt:
14506         * docs/gst/tmpl/gstprops.sgml: removed
14507         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14508           David removed props and caps code, so let's remove their docs as well.
14509           Removed all no longer existing symbols from gstreamer-sections.txt
14510           
14511 2003-12-22  Colin Walters  <walters@verbum.org>
14512
14513         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14514           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14515           of tags directly.
14516
14517 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14518
14519         * gst/elements/gstelements.c:
14520           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14521         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14522           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14523           gst_caps (peer).
14524
14525 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14526
14527         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14528         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14529         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14530         (gst_spider_identity_sink_loop_type_finding):
14531         * gst/autoplug/gstspideridentity.h:
14532           Fix autoplugging in spider element, so it works with new caps.
14533           This was mainly caused by identifying empty caps incorrectly.
14534
14535 2003-12-22  David Schleef  <ds@schleef.org>
14536
14537         * gststructure.c, gstvalue.c, gstvalue.h: Add
14538           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14539           using g_value_copy()
14540
14541 2003-12-21  David Schleef  <ds@schleef.org>
14542
14543         * many, many files: Merge CAPS branch.  This includes:
14544           - implemention of GstValue and several GstValue types
14545           - implemention of GstStructure
14546           - entire rewrite of GstCaps
14547           - removal of GstProps
14548           - many changes to GstPad to compensate for new caps paradigm
14549           - removal of GstBufferpool
14550         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14551         gstvalue.h, gst/gstcaps[2]*.[ch]:
14552           - rename gstcaps2.[ch] to gstcaps.[ch]
14553
14554 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14555
14556         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14557         (gst_queue_chain), (gst_queue_handle_src_event):
14558           implement timeout for sending events. Workaround for if the
14559           pipeline on this queue is not passing any data.
14560
14561 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14562                                                                                 
14563         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14564         * moved CVS to freedesktop.org