check/gst-libs/controller.c: more tests (hehe I have the most)
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2
3         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4         (gst_test_mono_source_set_property),
5         (gst_test_mono_source_class_init), (GST_START_TEST),
6         (gst_controller_suite):
7           more tests (hehe I have the most)
8         * gst/gstbus.c:
9           describe popping messages whenusing mulltiple sources
10         * libs/gst/controller/gst-controller.c:
11         (gst_controlled_property_set_interpolation_mode),
12         (gst_controlled_property_new):
13         * libs/gst/controller/gst-controller.h:
14         * libs/gst/controller/gst-interpolation.c:
15           implement boolean properties
16
17 2005-08-31  Wim Taymans  <wim@fluendo.com>
18
19         * gst/gstminiobject.c: (gst_mini_object_ref):
20         Cannot assert that the refcount has to be positive
21         since a disposed object can be resurected.
22
23 2005-08-31  Wim Taymans  <wim@fluendo.com>
24
25         * gst/gstpad.c: (gst_pad_init):
26         Revert change, need to first fix badly behaving 
27         apps.
28
29 2005-08-30  Wim Taymans  <wim@fluendo.com>
30
31         * check/elements/fakesrc.c: (setup_fakesrc):
32         * check/elements/identity.c: (setup_identity):
33         Activate pads before using them.
34
35 2005-08-30  Wim Taymans  <wim@fluendo.com>
36
37         * gst/base/gstadapter.c: (gst_adapter_flush):
38         Flushing out 0 bytes is ok for this function.
39
40         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
41         no newsegment gives a warning and sets the start/stop to 
42         invalid.
43
44         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
45         (gst_base_transform_set_passthrough):
46         Some debug info.
47
48         * gst/gstminiobject.c: (gst_mini_object_ref):
49         Check refcount here too.
50
51         * gst/gstpad.c: (gst_pad_init):
52         Pads are initially flushing and refusing data.
53
54         * gst/gstutils.c: (gst_element_link_pads_filtered):
55         When adding a capsfilter element make sure it has the
56         same state as the parent bin.
57
58 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
59
60         * docs/gst/tmpl/.cvsignore:
61         * docs/gst/tmpl/gstformat.sgml:
62         * docs/gst/tmpl/gstversion.sgml:
63         * gst/gstbus.h:
64         * gst/gstformat.c:
65         * gst/gstformat.h:
66         * gst/gstversion.h.in:
67           more docs and two more inlined
68
69 2005-08-30  Wim Taymans  <wim@fluendo.com>
70
71         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
72         Don't sync to clock.
73
74 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
75
76         * docs/gst/gstreamer-sections.txt:
77           ultral33t func10ns deserve to appear in the docs actualy
78         * docs/gst/tmpl/.cvsignore:
79         * docs/gst/tmpl/gstcompat.sgml:
80         * docs/gst/tmpl/gstconfig.sgml:
81         * gst/check/gstcheck.c:
82         * gst/gstcompat.h:
83         * gst/gstconfig.h.in:
84           inlined more docs
85
86 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
87
88         * docs/gst/tmpl/.cvsignore:
89         * docs/gst/tmpl/gstquery.sgml:
90         * docs/gst/tmpl/gstutils.sgml:
91         * gst/gstquery.c:
92         * gst/gstquery.h:
93           inlined and extended docs
94
95 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
96
97         * check/gst-libs/controller.c: (GST_START_TEST),
98         (gst_controller_suite):
99           more tests
100         * docs/gst/tmpl/gstutils.sgml:
101         * docs/libs/gstreamer-libs-sections.txt:
102         * docs/libs/tmpl/gstdataprotocol.sgml:
103           include path fixes
104         * examples/controller/audio-example.c: (main):
105           controller example works now
106         * gst/gstclock.h:
107           doc fixes
108         * tools/gst-inspect.c: (print_element_properties_info):
109           show param spec flags
110
111 2005-08-29  Andy Wingo  <wingo@pobox.com>
112
113         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
114
115 2005-08-28  Andy Wingo  <wingo@pobox.com>
116
117         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
118         as having two arguments instead of just one. Allows superclasses
119         to access information on subclasses -- see the terrible for() loop
120         in gtype.c:g_type_create_instance for the reason why. All callers
121         changed.
122
123 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
124
125         * docs/design/part-messages.txt:
126           update info
127         * docs/gst/tmpl/.cvsignore:
128         * docs/gst/tmpl/gstcaps.sgml:
129         * docs/gst/tmpl/gstclock.sgml:
130         * gst/gstbus.c:
131         * gst/gstcaps.c:
132         * gst/gstcaps.h:
133         * gst/gstclock.c:
134         * gst/gstclock.h:
135         * gst/gstmessage.c:
136           added descriptions for bus and message
137           inline caps and clock docs
138
139 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
140
141         * gst/gstmessage.c:
142         * gst/gstmessage.h:
143           doc fixes
144
145 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
146
147         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
148           fix div-by-zero
149
150 2005-08-26  Andy Wingo  <wingo@pobox.com>
151
152         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
153         element_set_state's return val.
154         (test_2_elements): Add test that's been disabled for months.
155
156         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
157         can-activate-pull properties.
158
159         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
160         can-activate-pull properties. Implement is_seekable so fakesrc can
161         operate in pull mode.
162
163         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
164         properties.
165         (gst_base_sink_activate, gst_base_sink_activate_pull)
166         (gst_base_sink_activate_push): Make activation mode choosing work.
167         Cleanups.
168         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
169         is right. Make pull mode work. Post an eos before pausing in pull
170         mode.
171         (gst_base_sink_change_state): Pay attention to the core's
172         change_state() return val.
173         
174         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
175         has-getrange properties. Cleanups.
176         
177         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
178         has_getrange and replace with can_activate_pull and
179         can_activate_push.
180
181         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
182         locking comments. Remove has_loop, has_chain and replace with
183         can_activate_pull and can_activate_push.
184
185 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
186
187         * configure.ac:
188         * examples/Makefile.am:
189         * examples/metadata/Makefile.am:
190         * examples/metadata/read-metadata.c: (message_loop),
191         (have_pad_handler), (make_pipeline), (print_tag), (main):
192           Add metadata reading example that loops over a list of filenames,
193           dumping any tags found.
194
195         * gst/gstbus.c: (gst_bus_dispose):
196         * gst/gstelement.c: (gst_element_dispose):
197           Release a few potentially-held references in dispose.
198
199 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
200
201         * docs/gst/tmpl/gstminiobject.sgml:
202           do *not* add tmpl/*.sgml files to CVS!
203
204 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
205
206         * libs/gst/bytestream/.cvsignore:
207         * libs/gst/bytestream/Makefile.am:
208         * libs/gst/bytestream/adapter.c:
209         * libs/gst/bytestream/adapter.h:
210         * libs/gst/bytestream/bytestream.c:
211         * libs/gst/bytestream/bytestream.h:
212         * libs/gst/bytestream/filepad.c:
213         * libs/gst/bytestream/filepad.h:
214           removing obsolete files
215
216 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
217
218         * docs/gst/gstreamer-docs.sgml:
219         * docs/libs/gstreamer-libs-docs.sgml:
220           disabed additional index entries again, as this makes docs-gen just
221           slow and they aren't useful yet
222         * docs/libs/gstreamer-libs-sections.txt:
223           little -section.txt cleanup for libs
224
225 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
226
227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
228         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
229           fix up some debugging
230         (gst_base_transform_get_unit_size),
231         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
232         (gst_base_transform_handle_buffer):
233         * gst/base/gstbasetransform.h:
234           handle and store timed NEWSEGMENT events so that subclasses that
235           calculate time by counting samples have a segment_start time they
236           need to add to their timestamps - see audioresample
237
238 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
239
240         * gst/gstbin.h:
241           removed ';' from the end of macro defs
242         * docs/gst/gstreamer-docs.sgml:
243         * docs/gst/gstreamer-sections.txt:
244         * docs/gst/tmpl/.cvsignore:
245         * gst/gstbus.h:
246         * gst/gstelement.c: (gst_element_class_init),
247         (gst_element_set_state), (activate_pads),
248         (gst_element_save_thyself):
249         * gst/gstevent.c: (gst_event_new_newsegment):
250         * gst/gstevent.h:
251         * gst/gstiterator.c:
252         * gst/gstiterator.h:
253         * gst/gstpad.c:
254         * gst/gstprobe.h:
255         * gst/gstutils.c: (gst_pad_query_convert):
256         * gst/gstutils.h:
257           fixed parameter name mismatches between source, header and docs
258           added some more docs, resolved the last batch of unused elements in
259           docs (now someone needs to doc them)
260
261 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
262
263         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
264         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
265           don't walk through the plugins backwards.  Where is all this
266           reversed logic coming from ?
267
268 2005-08-25  Wim Taymans  <wim@fluendo.com>
269
270         * gst/base/gstbasetransform.c: (gst_base_transform_init),
271         (gst_base_transform_transform_size),
272         (gst_base_transform_configure_caps),
273         (gst_base_transform_get_unit_size),
274         (gst_base_transform_buffer_alloc),
275         (gst_base_transform_change_state):
276         * gst/base/gstbasetransform.h:
277         Cache caps unit_size.
278         Make sure we cannot negotiate up and downstream at the
279         same time.
280
281 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
282
283         * gst/gst.c: (init_pre), (init_post):
284           register the installed plugin path after the env var
285         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
286         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
287           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
288           directories, so the tests can prefer uninstalled over installed
289
290 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
291
292         * gst/base/gstbasetransform.h:
293           comment
294         * gst/gstpad.c:
295           add to docs
296
297 2005-08-25  Wim Taymans  <wim@fluendo.com>
298
299         * gst/gstbin.c: (bin_bus_handler):
300         Be a bit more conservative about the posted message.
301         
302         * gst/gstbus.c: (gst_bus_post):
303         Some cleanups, warn wrong return values.
304
305 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
306
307         * check/gst/gstbin.c: (GST_START_TEST):
308         * gst/gstbin.c: (bin_bus_handler):
309         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
310         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
311         (gst_message_new_warning), (gst_message_new_tag),
312         (gst_message_new_state_changed), (gst_message_new_segment_start),
313         (gst_message_new_segment_done), (gst_message_new_custom):
314         * gst/gstmessage.h:
315         * tools/gst-launch.c: (event_loop):
316         * tools/gst-md5sum.c: (event_loop):
317           Revert unpopular change for GST_MESSAGE_SRC to GObject.
318
319 2005-08-25  Wim Taymans  <wim@fluendo.com>
320
321         * check/generic/states.c: (GST_START_TEST):
322         Cleanup can be done at the end.
323
324         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
325         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
326         (gst_task_get_state), (gst_task_start), (gst_task_pause):
327         Oh boy.. Thanks for finding this, Thomas. 
328
329 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
330
331         * docs/gst/gstreamer.types:
332           added missing types
333
334 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
335
336         * docs/gst/gstreamer-docs.sgml:
337         * docs/gst/gstreamer-sections.txt:
338         * docs/gst/tmpl/.cvsignore:
339         * gst/gstbin.c:
340         * gst/gstiterator.c:
341         * gst/gstutils.c:
342         * gst/registries/gstxmlregistry.h:
343           added miissing classes and symbols (123 more to go)
344           removed removed symbols from section file
345           fixed many doc-comments
346
347 2005-08-24  Wim Taymans  <wim@fluendo.com>
348
349         * check/generic/states.c: (GST_START_TEST):
350         Make sure all tasks are stopped.
351
352         * check/gst/gstbin.c: (GST_START_TEST):
353         Unref after usage for proper valgrinding.
354
355         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
356         Really wait for the task to stop before destroying the
357         mutex.
358
359         * gst/gstqueue.c: (gst_queue_sink_activate_push),
360         (gst_queue_src_activate_push):
361         Small cleanups. Don't stop the task when we did not start
362         it.
363
364         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
365         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
366         (gst_task_get_state), (gst_task_start), (gst_task_pause),
367         (gst_task_join):
368         * gst/gsttask.h:
369         Protect the stream lock with the object lock.
370         Disallow setting the stream lock when running.
371         Add cleanup_all to wait for the threadpool to finish.
372         Remove code to autoallocate a mutex if none was provided.
373         Add _join() to wait for a task to stop.
374         Protect the thread pool with a global lock.
375
376 2005-08-24  Wim Taymans  <wim@fluendo.com>
377
378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
379         (gst_base_sink_get_times), (gst_base_sink_do_sync),
380         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
381         * gst/base/gstbasesink.h:
382         Handle newsegment events correctly.
383         Drop buffers out of the segment range.
384
385 2005-08-22  Andy Wingo  <wingo@pobox.com>
386
387         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
388         macro, implements an interface and gstimplementsinterface for a
389         new type.
390
391 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
392
393         * check/Makefile.am:
394         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
395           add a test that does a bunch of state changes on elements
396           needs some fixing for valgrind
397         * check/states/sinks.c: (gst_object_suite):
398           whitespace
399         * gst/gstcaps.h:
400           add prototype for gst_caps_is_equal_fixed
401         * gst/gstplugin.c:
402         * gst/gstregistrypool.c:
403           doc fixes
404
405 2005-08-24  Andy Wingo  <wingo@pobox.com>
406
407         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
408         convert a negative value. Doesn't make much sense. Mostly this is
409         here to force callers to ensure -1 maps to -1.
410
411 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
412
413         * docs/pwg/advanced-types.xml:
414           Well done to Michael for catching my deliberate introduction
415           of this spelling mistake. 
416         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
417         * gst/gstelement.h:
418           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
419           unlink pads before removing the element from the bin.
420
421 2005-08-24  Andy Wingo  <wingo@pobox.com>
422
423         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
424         the same thing as GST_DEBUG=*:4.
425         (parse_debug_level, parse_debug_category): New helper parsers.
426
427 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
428
429         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
430         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
431         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
432         (gst_base_transform_buffer_alloc),
433         (gst_base_transform_handle_buffer):
434           use gboolean return values and pointers to size so we can use the
435           full GST_BUFFER_SIZE range (guint) for buffer sizes
436           use GstPadDirection for transform_caps
437         * gst/base/gstbasetransform.h:
438           rename get_size to get_unit_size since that's what it is
439         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
440           use GstPadDirection for transform_caps
441         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
442         * gst/gstutils.h:
443           cleanup and debugging
444
445 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
446
447         * gst/gstelement.c: (gst_element_class_init),
448         (gst_element_set_state), (activate_pads),
449         (gst_element_save_thyself):
450         * tools/gst-compprep.c: (main):
451         * tools/gst-inspect.c: (print_element_properties_info):
452         * tools/gst-xmlinspect.c: (print_element_properties):
453           Fixed long standing mem-leak
454
455 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
456
457         * check/gst/gstbin.c: (GST_START_TEST):
458         * gst/gstbin.c: (bin_bus_handler):
459         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
460         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
461         (gst_message_new_warning), (gst_message_new_tag),
462         (gst_message_new_state_changed), (gst_message_new_segment_start),
463         (gst_message_new_segment_done), (gst_message_new_custom):
464         * gst/gstmessage.h:
465         * tools/gst-launch.c: (event_loop):
466         * tools/gst-md5sum.c: (event_loop):
467           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
468           that applications can sensibly post custom messages with references
469           to their own objects.
470
471 2005-08-24  Andy Wingo  <wingo@pobox.com>
472
473         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
474         already.
475
476 2005-08-24  Wim Taymans  <wim@fluendo.com>
477
478         * gst/base/gstbasetransform.c: (gst_base_transform_init),
479         (gst_base_transform_transform_caps),
480         (gst_base_transform_transform_size),
481         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
482         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
483         (gst_base_transform_handle_buffer):
484         * gst/base/gstbasetransform.h:
485         Many fixes and new features added by Thomas. Can now also do
486         transforms with variable sizes and a custom fixate_caps function.
487
488 2005-08-24  Wim Taymans  <wim@fluendo.com>
489
490         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
491         Some debugging.
492
493         * gst/gstclock.h:
494         Cast to ClockTime before formatting to time.
495
496         * gst/gstutils.h:
497         Cleanups.
498
499 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
500
501         * check/gst-libs/controller.c: (GST_START_TEST),
502         (gst_controller_suite):
503         * docs/gst/tmpl/gstcaps.sgml:
504         * docs/gst/tmpl/gstghostpad.sgml:
505         * docs/gst/tmpl/gstquery.sgml:
506         * docs/gst/tmpl/gstutils.sgml:
507         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
508         (gst_object_sink_values), (gst_object_get_value_arrays),
509         (gst_object_get_value_array):
510           gracefully handle helper method calls to objects that are not beeing
511           controlled, added test case for that          
512
513 2005-08-23  Wim Taymans  <wim@fluendo.com>
514
515         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
516         (gst_event_new_newsegment), (gst_event_parse_newsegment),
517         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
518         (gst_event_parse_qos), (gst_event_new_seek),
519         (gst_event_parse_seek):
520         * gst/gstevent.h:
521         Some more debugging output and doc cleanups.
522
523         * gst/gstqueue.c: (gst_queue_handle_sink_event):
524         Fix possible deadlock.
525
526 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
527
528         * docs/gst/gstreamer-docs.sgml:
529         * docs/gst/gstreamer-sections.txt:
530         * docs/gst/gstreamer.types:
531         * docs/gst/tmpl/.cvsignore:
532         * gst/gstbin.h:
533         * gst/gstbus.c:
534         * gst/gstelement.c:
535         * gst/gstevent.h:
536           added about 100 symbols from gstreamer-unused.txt to the right sections
537           fixed more broken comments
538           added GstBus to docs
539
540 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
541
542         * docs/gst/gstreamer-sections.txt:
543         * docs/gst/tmpl/.cvsignore:
544         * docs/gst/tmpl/gstbin.sgml:
545         * docs/gst/tmpl/gstbuffer.sgml:
546         * gst/base/gstbasesrc.c:
547         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
548         * gst/gstbuffer.c:
549         * gst/gstbuffer.h:
550         * tools/gst-launch.1.in:
551           inlined more doc comments, added missing comments and fixed comments
552           fixed typos
553
554 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
555
556         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
557           some debugging
558         * gst/gstcaps.h:
559           whitespace fixes
560         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
561           more debugging
562         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
563         * gst/gststructure.h:
564           add a fixate function for booleans; add a FIXME that these func
565           names should probably be gst_structure_fixate_*
566
567 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
568
569         * docs/gst/gstreamer-docs.sgml:
570         * docs/gst/gstreamer-sections.txt:
571         * gst/Makefile.am:
572         * gst/gstbin.c: (gst_bin_get_type),
573         (gst_bin_child_proxy_get_child_by_index),
574         (gst_bin_child_proxy_get_children_count),
575         (gst_bin_child_proxy_init):
576         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
577         (gst_child_proxy_get_child_by_index),
578         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
579         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
580         (gst_child_proxy_get), (gst_child_proxy_set_property),
581         (gst_child_proxy_set_valist), (gst_child_proxy_set),
582         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
583         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
584         * gst/gstchildproxy.h:
585         * gst/parse/grammar.y:
586         * tools/gst-inspect.c: (print_interfaces),
587         (print_element_properties_info), (print_element_info):
588          ported gstchildproxy over from 0.8
589          ported gst-inspect fixes and enhancements over from 0.8
590
591 2005-08-22  Wim Taymans  <wim@fluendo.com>
592
593         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
594         (gst_base_transform_handle_buffer):
595         Also call the transform function if we have ANY caps.
596
597         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
598         Fix debug info.
599
600 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
601
602         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
603           Don't pretend to handle seek events if the source is not seekable
604
605 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
606
607         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
608           Remove extra parameter to debug output
609
610         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
611         (gst_base_src_do_seek), (gst_base_src_activate_push):
612           Fix seek event handling.
613
614         * gst/gstpipeline.c: (gst_pipeline_change_state):
615         * gst/gstqueue.c: (gst_queue_handle_sink_event),
616         (gst_queue_src_activate_push):
617           Don't start the src pad task on FLUSH_STOP if the pad
618           isn't linked.
619           Debug changes.
620
621 2005-08-22  Wim Taymans  <wim@fluendo.com>
622
623         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
624         Added check for gst_static_caps_get() refcounting.
625
626 2005-08-22  Wim Taymans  <wim@fluendo.com>
627
628         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
629         Make _static_caps_get() refcounting sane.
630         
631         * gst/gstelement.c: (gst_element_set_state):
632         Add g_return_val_if_fail() to protect against segfaults.
633
634 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
635
636         * docs/gst/tmpl/gstevent.sgml:
637         * gst/gstevent.c:
638         * gst/gstevent.h:
639           inlined remaining docs, added missing doc comments
640
641 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
642
643         * check/gst/gstbin.c: (GST_START_TEST):
644           since we don't know when preroll is done, use refcount range
645           check for the sink
646         * gst/check/gstcheck.h:
647           add macro for checking refcount range
648
649 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
650
651         * check/Makefile.am:
652           clean up environment for when registry gets built versus
653           when actual tests are run; valgrind seems to not report
654           leaks if GST_PLUGIN_PATH is set to some specific values
655         * check/gst/gstbin.c: (GST_START_TEST):
656           add more refcounting checks; maybe this exposes a
657           preroll lock bug ?
658         * common/check.mak:
659         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
660         * gst/check/gstcheck.h:
661         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
662         (gst_bin_change_state):
663         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
664           add/fix debugging/whitespace
665
666 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
667
668         * check/gst/gstevent.c: (event_probe), (test_event),
669         (GST_START_TEST):
670          Er, don't call gst_bin_watch_for_state_change you idiot.
671
672 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
673
674         * check/Makefile.am:
675           Use CHECK_CFLAGS and CHECK_LIBS
676         * check/gst/gstevent.c: (event_probe), (test_event),
677         (GST_START_TEST):
678           Don't leak events.
679         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
680         (gst_base_src_start), (gst_base_src_stop),
681         (gst_base_src_activate_push), (gst_base_src_activate_pull),
682         (gst_base_src_change_state):
683           Sprinkle gst_base_src_stop liberally around error paths to fix
684           problems reusing a source after failed state changes.
685         * gst/base/gsttypefindhelper.c: (helper_find_peek),
686         (helper_find_suggest), (gst_type_find_helper):
687           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
688         * gst/gstevent.h:
689         * docs/gst/tmpl/gstevent.sgml:
690           Migrate part of the docs from the SGML file. Wait for ensonic to
691           tell me how I did it wrong ;)
692         * tools/gst-typefind.c: (main):
693           Extra robustness to state changes between files.
694
695 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
696
697         * check/Makefile.am:
698           don't valgrind the controller test - it's leaking - Stefan, HELP
699         * gst/check/gstcheck.c: (gst_check_message_error),
700         (gst_check_chain_func), (gst_check_setup_element),
701         (gst_check_teardown_element), (gst_check_setup_src_pad),
702         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
703         (gst_check_teardown_sink_pad):
704         * gst/check/gstcheck.h:
705           add a bunch of methods to set up elements, and src and sink pads
706         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
707         * check/elements/identity.c: (setup_identity), (cleanup_identity),
708         (GST_START_TEST):
709           use them
710         * gst/gstmessage.c:
711         * gst/gsttag.h:
712           whitespace/doc fixes
713
714 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
715
716         * gst/gstelement.h:
717           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
718           be handled by the application and not always printed as well
719
720 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
721
722         * check/Makefile.am:
723           set GST_TOOLS_DIR
724         * gst/check/gstcheck.c: (gst_check_message_error):
725         * gst/check/gstcheck.h:
726           add a fail_unless_equals_int
727           add fail_unless for error messages
728
729 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * check/Makefile.am:
732         * check/gst.supp:
733         * common/Makefile.am:
734         * common/check.mak:
735         * common/gst.supp:
736           factor out some of the common stuff so we can use it
737
738 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * check/Makefile.am:
741         * check/gst/gstiterator.c: (GST_START_TEST):
742         * check/gst/gstsystemclock.c: (GST_START_TEST),
743         (gst_systemclock_suite):
744         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
745         * gst/gstclock.c:
746           valgrind more tests
747
748 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
749
750         * check/elements/.cvsignore:
751         * check/elements/gstfakesrc.c:
752           rename to name of element
753         * check/elements/identity.c: (chain_func), (event_func),
754         (setup_identity), (cleanup_identity), (GST_START_TEST),
755         (identity_suite), (main):
756           add a test for identity
757         * check/Makefile.am:
758         * pkgconfig/Makefile.am:
759         * pkgconfig/gstreamer-check.pc.in:
760         * pkgconfig/gstreamer-check-uninstalled.pc.in:
761         * gst/check:
762         * gst/Makefile.am:
763         * configure.ac:
764           move the check stuff to a library that gets installed
765         * check/gst-libs/controller.c: (GST_START_TEST):
766         * check/gst-libs/gdp.c:
767         * check/gst/gst.c: (GST_START_TEST):
768         * check/gst/gstbin.c:
769         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
770         * check/gst/gstbus.c:
771         * check/gst/gstcaps.c: (GST_START_TEST):
772         * check/gst/gstelement.c:
773         * check/gst/gstghostpad.c:
774         * check/gst/gstiterator.c:
775         * check/gst/gstmessage.c:
776         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
777         * check/gst/gstobject.c:
778         * check/gst/gstpad.c: (GST_START_TEST):
779         * check/gst/gststructure.c: (GST_START_TEST):
780         * check/gst/gstsystemclock.c: (GST_START_TEST),
781         (gst_systemclock_suite):
782         * check/gst/gsttag.c: (gst_tag_suite):
783         * check/gst/gstvalue.c:
784         * check/pipelines/cleanup.c:
785         * check/pipelines/simple_launch_lines.c:
786         * check/states/sinks.c:
787           change include statement
788
789         * docs/gst/gstreamer-sections.txt:
790         * docs/gst/tmpl/gstpad.sgml:
791           document more pad stuff
792         * gst/gstminiobject.c: (gst_mini_object_ref),
793         (gst_mini_object_unref):
794           debug refcounting
795
796 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
797
798         * docs/gst/tmpl/gst.sgml:
799         * gst/gst.c:
800           eliminate another tmpl file, fix spelling in the long-description
801
802 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
803
804         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
805         (test_event), (timediff), (gstevents_suite):
806           Should fix build on 64-bit arch's
807
808 2005-08-18  Andy Wingo  <wingo@pobox.com>
809
810         Make sure that when a pipeline goes to PLAYING, that data has
811         actually hit the sink.
812
813         * check/states/sinks.c (test_sink): A sink that doesn't get any
814         data shouldn't return SUCCESS for going to either PLAYING or
815         PAUSED. Test also the return values on the way back down.
816
817         * gst/gstelement.c (gst_element_set_state): When changing the
818         state of an element currently changing state asynchronously, go to
819         lost-state after commiting the pending state. Makes future calls
820         to get_state continue to return ASYNC.
821
822         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
823         ASYNC when going to PLAYING if we still don't have preroll, as can
824         happen with live sources.
825
826 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
827
828         * docs/pwg/advanced-types.xml:
829           Hack long paragraph into 2 chunks as a workaround for buggy
830           jadetex version in sid and breezy that loops infinitely and
831           eats all RAM.
832
833 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
834
835         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
836         (test_event), (timediff), (gstevents_suite):
837           Provide more error margin in clock measurements to allow for 
838           g_get_current_time inaccuracies.
839
840 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
841
842         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
843         (test_event), (timediff), (gstevents_suite):
844            Fix error message output so I might be able to tell why the
845            test works here but fails on the build farm.
846
847 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
848
849         * check/Makefile.am:
850         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
851         (test_event), (timediff), (gstevents_suite), (main):
852           I wrote a test!
853
854         * docs/design/part-seeking.txt:
855           Spelling correction
856
857         * docs/gst/tmpl/gstevent.sgml:
858         * docs/gst/tmpl/gstfakesrc.sgml:
859           Docs updates.
860
861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
862           Treat a buffer-without-newsegment the same as a receiving 
863           a newsegment not in time format, and disable syncing to the clock
864           with a warning.
865
866         * gst/gstbus.c: (gst_bus_set_sync_handler):
867           Assert if anyone tries to replace the existing sync_handler for bus, 
868           as only the owner should be setting it.
869
870         * gst/gstevent.h:
871           Have a fixed set of custom event enums with events identified by
872           their structure name (as in 0.8), rather than a free-for-all
873           allowing collisions between enum values from different plugins.
874
875         * gst/gstpad.c: (gst_pad_class_init):
876           Docs change.
877           
878         * gst/gstqueue.c: (gst_queue_handle_sink_event):
879           Handle out-of-band downstream events from the sending thread.
880
881 2005-08-17  Andy Wingo  <wingo@pobox.com>
882
883         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
884         play-timeout==0 to mean no timeout at all. In that case, don't
885         bother with a get_state or a warning, just return directly, even
886         if it's ASYNC.
887
888         * gst/base/gstbasetransform.c: Debug changes.
889
890         * gst/gstutils.h:
891         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
892         ensure bins post state change messages. A bit of a hack but I can't
893         think of a way to avoid it.
894
895         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
896
897 2005-08-16  Andy Wingo  <wingo@pobox.com>
898
899         * gst/base/gstadapter.h:
900         * gst/base/gstadapter.c (gst_adapter_take): New function, like
901         peek() but you own the data. Not terribly efficient atm.
902
903 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
904
905         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
906         (gst_element_found_tags):
907         * gst/gstutils.h:
908           Add two utility functions for tag handling.
909
910 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
911
912         * docs/manual/advanced-dataaccess.xml:
913         * docs/manual/basics-helloworld.xml:
914           Fix docs to use _bin_add() before _link(), which fixes the examples
915           with recent core versions (reported by Madhan Raj M
916           <raj_madan@rediffmail.com>, #313199).
917
918 2005-08-16  Wim Taymans  <wim@fluendo.com>
919
920         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
921         Added subtract checks.
922
923         * docs/design/part-events.txt:
924         Some more docs about newsegment
925
926         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
927         Fix FIXME
928
929         * gst/gstcaps.c: (gst_caps_to_string):
930         Add comments, cleanups.
931         
932         * gst/gstelement.c: (gst_element_save_thyself):
933         cleanups
934         
935         * gst/gstvalue.c: (gst_value_collect_int_range),
936         (gst_string_unwrap), (gst_value_union_int_int_range),
937         (gst_value_union_int_range_int_range),
938         (gst_value_intersect_int_int_range),
939         (gst_value_intersect_int_range_int_range),
940         (gst_value_intersect_double_double_range),
941         (gst_value_intersect_double_range_double_range),
942         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
943         (gst_value_subtract_int_range_int),
944         (gst_value_subtract_double_range_double),
945         (gst_value_subtract_double_range_double_range),
946         (gst_value_subtract_from_list), (gst_value_subtract_list),
947         (gst_value_can_compare), (gst_value_compare_fraction):
948         Cleanups, add comments, remove unneeded asserts.
949
950 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
951
952         * tools/gst-launch.c: (event_loop):
953           don't convert NULL structures to strings
954
955 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
956
957         * docs/gst/gstreamer-sections.txt:
958           made some defines private
959         * docs/gst/tmpl/gstconfig.sgml:
960         * docs/gst/tmpl/gstqueue.sgml:
961         * docs/gst/tmpl/gsttaglist.sgml:
962         * docs/gst/tmpl/gsttypes.sgml:
963         * docs/gst/tmpl/gstutils.sgml:
964         * docs/pwg/appendix-porting.xml:
965         * gst/base/gstbasesink.h:
966         * gst/base/gstbasesrc.c:
967         * gst/base/gstbasesrc.h:
968         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
969         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
970         * gst/gstelement.c: (gst_element_class_init):
971         * gst/gstpad.c: (gst_pad_class_init):
972         * gst/gstqueue.c: (gst_queue_class_init):
973         * gst/gstxml.c: (gst_xml_class_init):
974           documented all undocumented signal inline
975         * libs/gst/controller/gst-controller.h:
976           added padding
977
978 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
979
980         * docs/pwg/appendix-porting.xml:
981           Document _set_link_function -> _set_setcaps_function.
982
983 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
984
985         * check/Makefile.am:
986           add a .check target for running the check
987         * check/gst-libs/controller.c: (GST_START_TEST):
988           cosmetic fixups
989         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
990           complete checks for gstbuffer; would be nice if I could get the
991           gcov stuff to work so I can see if I actually completed gstbuffer.c
992         * check/gstcheck.h:
993           add ASSERT_BUFFER_REFCOUNT
994
995 2005-08-13  Tim-Philipp M??ller  <tim at centricular dot net>
996
997         * docs/gst/gstreamer-sections.txt:
998         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
999         * gst/gsttag.h:
1000           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
1001           spew out a warning if a tag that is already registered
1002           is re-registered, unless it is re-registered with a 
1003           different type (#308438).
1004
1005 2005-08-12  Tim-Philipp M??ller  <tim at centricular dot net>
1006
1007         * docs/pwg/appendix-porting.xml:
1008         * docs/pwg/building-state.xml:
1009           Add some paragraphs about state changes in 0.9 to the PWG
1010           and the porting guide, in particular about the new meaning
1011           of GST_STATE_PAUSED and how to write state change functions
1012           with concurrent access by multiple threads in mind.
1013
1014 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
1015
1016         * docs/gst/gstreamer-docs.sgml:
1017         * docs/libs/gstreamer-libs-docs.sgml:
1018           added deprecation and since indexes
1019         * libs/gst/controller/gst-controller.c:
1020         * libs/gst/controller/gst-helper.c:
1021           added since tags
1022
1023
1024 2005-08-11  Wim Taymans  <wim@fluendo.com>
1025
1026         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
1027         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
1028         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
1029         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
1030         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
1031         (gst_ghost_pad_set_target):
1032         Actually implement (re)setting the target on a ghostpad
1033         as described in the docs.
1034
1035 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1036
1037         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
1038           Check whether GST_DEBUG_NO_COLOR environment variable is
1039           set and disable coloured debug output if that is the case.
1040
1041 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1042
1043         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1044         (gst_type_find_helper):
1045           The memory returned by gst_type_find_peek() needs to
1046           stay valid until the end of a typefind function, and
1047           typefind functions may keep results from different 
1048           offsets around, so we can't just unref the buffer from
1049           the previous _peek(), but have to save all buffers 
1050           returned by _peek() until typefinding is done and only
1051           free them then.
1052
1053 2005-08-09  Tim-Philipp M??ller  <tim at centricular dot net>
1054
1055         * docs/gst/gstreamer-sections.txt:
1056         * gst/gstutils.h:
1057           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
1058
1059 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1060
1061         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1062           Fix a pretty good memleak.
1063
1064 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
1065
1066         * gst/gstiterator.h:
1067           Fix wrong include and 'make distcheck'.
1068
1069 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1070
1071         * gst/gstbin.c: (bin_bus_handler):
1072           Use gst_element_post_message() instead.
1073
1074 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
1075
1076         * gst/base/gstadapter.h:
1077         * gst/base/gstbasesink.h:
1078         * gst/base/gstbasesrc.h:
1079         * gst/base/gstbasetransform.h:
1080         * gst/base/gstcollectpads.h:
1081         * gst/base/gstpushsrc.h:
1082         * gst/gstiterator.h:
1083           Add padding to our base elements' class and instance structs and
1084           to GstIterator (you will need to rebuild all plugins and apps!)
1085
1086 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1087
1088         * gst/gstbin.c: (bin_bus_handler):
1089           Make default message forwarding from child->bus to bin->bus
1090           threadsafe and make it not emit warnings if the parent has no bus.
1091
1092 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1093
1094         * gst/gstelement.c: (activate_pads):
1095           On paused->ready, set pad->caps to NULL, as is the documented
1096           behaviour in this state change. Fixes playback of series of
1097           media files when visualization is enabled in Totem.
1098
1099 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1100
1101         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1102           Allow NULL as filter-caps (which means "any").
1103
1104 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1105
1106         * docs/libs/gstreamer-libs-sections.txt:
1107         * libs/gst/controller/gst-controller.c:
1108         * libs/gst/controller/gst-controller.h:
1109         * libs/gst/controller/gst-helper.c:
1110           adding more entries to the docs and fix small doc-bugs
1111
1112 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1113
1114         * docs/gst/gstreamer-docs.sgml:
1115         * docs/gst/gstreamer-sections.txt:
1116         * docs/gst/gstreamer.types:
1117         * docs/gst/tmpl/gstbasesink.sgml:
1118         * docs/gst/tmpl/gstbasesrc.sgml:
1119         * docs/gst/tmpl/gstbasetransform.sgml:
1120         * docs/gst/tmpl/gstfakesrc.sgml:
1121         * gst/base/gstcollectpads.c:
1122         * gst/base/gstcollectpads.h:
1123         * libs/gst/controller/gst-controller.c:
1124         * libs/gst/controller/gst-controller.h:
1125         * libs/gst/controller/gst-helper.c:
1126         * libs/gst/controller/gst-interpolation.c:
1127         * libs/gst/controller/lib.c:
1128           added long/short desc for controller docs
1129           added collectpads base class docs
1130           added correct includes to base-class docs
1131
1132 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1133
1134         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
1135         (gst_test_mono_source_set_property),
1136         (gst_test_mono_source_class_init), (GST_START_TEST),
1137         (gst_controller_suite):
1138         * docs/gst/gstreamer-docs.sgml:
1139         * docs/gst/gstreamer-sections.txt:
1140         * docs/gst/gstreamer.types:
1141         * docs/libs/gstreamer-libs-docs.sgml:
1142         * docs/libs/gstreamer-libs-sections.txt:
1143         * gst/base/gstadapter.c:
1144         * libs/gst/controller/gst-controller.c:
1145         (gst_controlled_property_new), (gst_controlled_property_free),
1146         (gst_controller_new_valist),
1147         (gst_controller_remove_properties_valist),
1148         (gst_controller_sink_values), (_gst_controller_finalize):
1149         * libs/gst/controller/gst-controller.h:
1150         * libs/gst/controller/gst-helper.c:
1151         (gst_object_control_properties), (gst_object_uncontrol_properties),
1152         (gst_object_get_controller), (gst_object_set_controller),
1153         (gst_object_sink_values), (gst_object_get_value_arrays),
1154         (gst_object_get_value_array):
1155           more tests (and fixes) for the controller
1156           more docs for the controller
1157           integrated companies docs for the adapter 
1158
1159 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1160
1161         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
1162         (GST_START_TEST), (fakesrc_suite):
1163           add tests for sizetype
1164
1165 2005-08-04  Andy Wingo  <wingo@pobox.com>
1166
1167         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
1168         fixes buffer_alloc proxying among other things.
1169
1170         * gst/base/gstbasetransform.c:
1171         * gst/base/gstbasetransform.h:
1172         Revert patch to gstbasetransform from 7-28 removing
1173         delay_configure.
1174
1175         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
1176         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
1177         Semantics changed, should return not the size of the output buffer
1178         but the byte size of a buffer with a given caps.
1179
1180         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
1181         debug object.
1182         (gst_base_transform_configure_caps): Don't set out_size here: (in,
1183         out) are not the pad caps until setcaps finishes.
1184         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
1185         not-in-place case as well. Deal with changing from in-place to
1186         not-in-place within calling pad_alloc_buffer. Still a bit
1187         concerned about the overhead here...
1188
1189 2005-08-03  Andy Wingo  <wingo@pobox.com>
1190
1191         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
1192         fixating is an error.
1193
1194 2005-08-04  Edward Hervey  <edward@fluendo.com>
1195
1196         * gst/base/gstadapter.h: 
1197         Added gst_adapter_get_type() to the header
1198
1199 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1200
1201         * check/Makefile.am:
1202         * check/gst-libs/controller.c:
1203         * libs/gst/controller/gst-controller.c:
1204         (gst_controller_new_valist):
1205           added check test suite for the controller
1206         * gst/base/gstpushsrc.c:
1207           fixed a doc typo
1208
1209 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1210
1211         * docs/gst/Makefile.am:
1212         * docs/gst/gstreamer-docs.sgml:
1213         * docs/gst/gstreamer-sections.txt:
1214         * docs/gst/gstreamer.types:
1215         * docs/gst/tmpl/gstfakesrc.sgml:
1216         * gst/base/README:
1217         * gst/base/gstbasesink.c:
1218         * gst/base/gstbasesink.h:
1219         * gst/base/gstbasesrc.c:
1220         * gst/base/gstbasesrc.h:
1221         * gst/base/gstbasetransform.c:
1222         * gst/base/gstpushsrc.c:
1223         * gst/base/gstpushsrc.h:
1224           add short/long description docs to base classes
1225           add pushsrc to the docs
1226           remove consolidated doc fragments
1227
1228 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1229
1230         * configure.ac:
1231         * docs/libs/Makefile.am:
1232         * docs/libs/gstreamer-libs-docs.sgml:
1233         * docs/libs/gstreamer-libs-sections.txt:
1234         * docs/libs/gstreamer-libs.types:
1235         * examples/Makefile.am:
1236         * examples/controller/.cvsignore:
1237         * examples/controller/Makefile.am:
1238         * examples/controller/audio-example.c: (main):
1239         * libs/gst/Makefile.am:
1240         * libs/gst/controller/.cvsignore:
1241         * libs/gst/controller/Makefile.am:
1242         * libs/gst/controller/gst-controller.c:
1243         (on_object_controlled_property_changed), (gst_timed_value_compare),
1244         (gst_timed_value_find),
1245         (gst_controlled_property_set_interpolation_mode),
1246         (gst_controlled_property_new), (gst_controlled_property_free),
1247         (gst_controller_find_controlled_property),
1248         (gst_controller_new_valist), (gst_controller_new),
1249         (gst_controller_remove_properties_valist),
1250         (gst_controller_remove_properties), (gst_controller_set),
1251         (gst_controller_set_from_list), (gst_controller_unset),
1252         (gst_controller_get), (gst_controller_get_all),
1253         (gst_controller_sink_values), (gst_controller_get_value_arrays),
1254         (gst_controller_get_value_array),
1255         (gst_controller_set_interpolation_mode),
1256         (_gst_controller_finalize), (_gst_controller_init),
1257         (_gst_controller_class_init), (gst_controller_get_type):
1258         * libs/gst/controller/gst-controller.h:
1259         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1260         (g_object_uncontrol_properties), (g_object_get_controller),
1261         (g_object_set_controller), (g_object_sink_values),
1262         (g_object_get_value_arrays), (g_object_get_value_array):
1263         * libs/gst/controller/gst-interpolation.c:
1264         (gst_controlled_property_find_timed_value_node),
1265         (interpolate_none_get), (interpolate_trigger_get),
1266         (interpolate_trigger_get_value_array):
1267         * libs/gst/controller/lib.c: (gst_controller_init):
1268         * pkgconfig/Makefile.am:
1269         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1270         * pkgconfig/gstreamer-control.pc.in:
1271         * testsuite/Makefile.am:
1272         * testsuite/controller/.cvsignore:
1273         * testsuite/controller/Makefile.am:
1274         * testsuite/controller/interpolator.c: (main):
1275           added controller code
1276           removed dparam pc files
1277
1278 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1279         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1280         (gst_collectpads_stop):
1281           Broadcast the condition when shutting down, to make sure we wake all
1282           threads up. Shut down pads on finalize, for safety.
1283
1284 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1285         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1286         (gst_base_transform_handle_buffer),
1287         (gst_base_transform_change_state):
1288           Handle PAUSED->READY->PAUSED transition after negotiation
1289           occurred already.
1290         * gst/gstmessage.c: (gst_message_init):
1291           Extra piece of debug for new messages.
1292
1293 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1294
1295         * configure.ac:
1296         * docs/gst/tmpl/gstbasesrc.sgml:
1297         * docs/gst/tmpl/gstelement.sgml:
1298         * docs/gst/tmpl/gstevent.sgml:
1299         * docs/gst/tmpl/gstfakesrc.sgml:
1300         * docs/gst/tmpl/gstformat.sgml:
1301         * docs/gst/tmpl/gstghostpad.sgml:
1302         * docs/gst/tmpl/gstpad.sgml:
1303         * docs/gst/tmpl/gstquery.sgml:
1304         * docs/gst/tmpl/gststructure.sgml:
1305         * docs/gst/tmpl/gsttaglist.sgml:
1306         * docs/gst/tmpl/gstvalue.sgml:
1307         * docs/libs/gstreamer-libs-docs.sgml:
1308         * docs/libs/gstreamer-libs-sections.txt:
1309         * docs/libs/gstreamer-libs.types:
1310         * libs/gst/Makefile.am:
1311         * libs/gst/control/.cvsignore:
1312         * libs/gst/control/Makefile.am:
1313         * libs/gst/control/control.c:
1314         * libs/gst/control/control.h:
1315         * libs/gst/control/dparam.c:
1316         * libs/gst/control/dparam.h:
1317         * libs/gst/control/dparam_smooth.c:
1318         * libs/gst/control/dparam_smooth.h:
1319         * libs/gst/control/dparamcommon.h:
1320         * libs/gst/control/dparammanager.c:
1321         * libs/gst/control/dparammanager.h:
1322         * libs/gst/control/dplinearinterp.c:
1323         * libs/gst/control/dplinearinterp.h:
1324         * libs/gst/control/unitconvert.c:
1325         * libs/gst/control/unitconvert.h:
1326         * testsuite/Makefile.am:
1327         * testsuite/dynparams/.cvsignore:
1328         * testsuite/dynparams/Makefile.am:
1329         * testsuite/dynparams/dparamstest.c:
1330         * tools/Makefile.am:
1331         * tools/gst-inspect.c: (print_element_info), (main):
1332         * tools/gst-xmlinspect.c: (print_element_info), (main):
1333           deactivate and remove dparams (libgstcontrol)
1334
1335 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1336
1337         * gst/elements/gsttypefindelement.c:
1338         (gst_type_find_element_have_type), (gst_type_find_element_init),
1339         (stop_typefinding), (gst_type_find_element_handle_event),
1340         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1341         * gst/elements/gsttypefindelement.h:
1342           Set caps on all outgoing buffers, not just the first one.
1343
1344 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1345
1346         * gst/elements/gsttypefindelement.c:
1347         (gst_type_find_element_have_type),
1348         (gst_type_find_element_check_set_buffer_caps),
1349         (gst_type_find_element_init), (stop_typefinding),
1350         (gst_type_find_element_handle_event),
1351         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1352         * gst/elements/gsttypefindelement.h:
1353           Set caps on first outgoing buffer when we've found the type.
1354
1355 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1356
1357         * docs/gst/gstreamer-docs.sgml:
1358         * docs/gst/gstreamer-sections.txt:
1359         * docs/gst/tmpl/gstscheduler.sgml:
1360         * docs/gst/tmpl/gstschedulerfactory.sgml:
1361           Remove some old cruft from docs.
1362
1363 2005-07-31  Tim-Philipp M??ller  <tim at centricular dot net>
1364
1365         * gst/gstpad.h:
1366           Fix inline docs for GstPadLinkReturn.
1367           
1368         * gst/gststructure.c: (gst_structure_has_name):
1369         * gst/gststructure.h:
1370         * docs/gst/gstreamer-sections.txt:
1371           New API: gst_structure_has_name().
1372
1373 2005-07-30  Tim-Philipp M??ller  <tim at centricular dot net>
1374
1375         * configure.ac:
1376           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1377           and _LARGEFILE_SOURCE in config.h as required. Do not 
1378           export those flags in our .pc files any longer (#142209).
1379
1380           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1381
1382         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1383         (gst_file_sink_do_seek), (gst_file_sink_event),
1384         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1385           Redo seek/tell calls with large file support in mind; add some
1386           debugging messages; add log message that tells us when large
1387           file support is unavailable or not enabled for some reason.
1388
1389         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1390           Add log message that tells us when large file support 
1391           is unavailable or not enabled for some reason.
1392
1393 2005-07-29  Wim Taymans  <wim@fluendo.com>
1394
1395         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1396         Added test for removing an element with ghostpad from a bin.
1397         Fixed test as current implementation does the right thing.
1398
1399         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1400         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1401         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1402         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1403         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1404         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1405         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1406         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1407         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1408         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1409         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1410         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1411         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1412         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1413         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1414         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1415         * gst/gstghostpad.h:
1416         Clean up ghostpads, remove properties for internal stuff.
1417         Make threadsafe.
1418         Fix refcounting.
1419         Prepare for switching targets, not all use cases work yet.
1420
1421 2005-07-29  Wim Taymans  <wim@fluendo.com>
1422
1423         * docs/design/part-gstghostpad.txt:
1424         Small update.
1425
1426         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1427         (gst_bin_remove_func):
1428         Unlinking pads while holding the bin LOCK is not a good
1429         idea.
1430
1431         * gst/gstpad.c: (gst_pad_class_init),
1432         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1433         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1434         No prob setting template after creating the pad.
1435
1436 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1437
1438         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1439         (gst_bus_peek), (gst_bus_source_dispatch),
1440         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1441         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1442           gst_bus_poll may be called from other threads. Handle
1443           this nicely by not making poll_data disappear off the
1444           stack once gst_bus_poll returns.
1445           gst_bus_peek now increments the refcount on the returned
1446           message.
1447
1448 2005-07-29  Wim Taymans  <wim@fluendo.com>
1449
1450         * docs/design/part-gstghostpad.txt:
1451         Overview of current GhostPad datastructures and use
1452         cases for changing the target.
1453
1454 2005-07-28  Wim Taymans  <wim@fluendo.com>
1455
1456         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1457         Added checks for hierarchy consistency whan adding linked
1458         elements to bins.
1459
1460         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1461         Added check to test element scheduling without bin/pipeline.
1462
1463         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1464         First add elements to bin, then link.
1465         
1466         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1467         (gst_bin_remove_func):
1468         Unlink pads from elements added/removed from bin to maintain
1469         hierarchy consistency.
1470
1471 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1472
1473         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1474         (gst_base_transform_handle_buffer):
1475         * gst/base/gstbasetransform.h:
1476           Remove broken delay_configure (fixes renegotiation of software
1477           scaling pipelines); remove some leftover printf()s.
1478
1479 2005-07-28  Wim Taymans  <wim@fluendo.com>
1480
1481         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1482         Added some more tests for wrong hierarchy
1483
1484         * docs/design/part-overview.txt:
1485         Some updates.
1486
1487         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1488         Cleanups.
1489
1490         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1491         (gst_element_dispose):
1492         Some more cleanups.
1493
1494         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1495         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1496         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1497         (gst_pad_set_caps), (gst_pad_send_event):
1498         Check for correct hierarchy when linking pads. Moving to
1499         strict requirement for ghostpads when linking elements in
1500         different bins.
1501
1502         * gst/gstpad.h:
1503         Clean ups. Added WRONG_HIERARCHY return value.
1504
1505 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1506
1507         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1508           Better debug if no transform is possible.
1509
1510 2005-07-27  Wim Taymans  <wim@fluendo.com>
1511
1512         * docs/random/wtay/network-transp:
1513         Some old doc I had.
1514
1515 2005-07-27  Wim Taymans  <wim@fluendo.com>
1516
1517         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1518         (gst_dp_event_from_packet):
1519         Fix serialization of seek events.
1520
1521 2005-07-27  Wim Taymans  <wim@fluendo.com>
1522
1523         * check/gst-libs/gdp.c: (GST_START_TEST):
1524         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1525         Fix compilation and fix event serialization.
1526
1527 2005-07-27  Wim Taymans  <wim@fluendo.com>
1528
1529         * CHANGES-0.9:
1530         * docs/design/part-TODO.txt:
1531         * docs/design/part-events.txt:
1532         Some docs updates
1533
1534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1535         (gst_base_sink_event), (gst_base_sink_do_sync),
1536         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1537         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1538         (gst_base_src_do_seek), (gst_base_src_event_handler),
1539         (gst_base_src_loop):
1540         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1541         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1542         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1543         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1544         (gst_base_transform_set_passthrough),
1545         (gst_base_transform_is_passthrough):
1546         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1547         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1548         Event updates.
1549
1550         * gst/gstbuffer.h:
1551         Use faster casts.
1552
1553         * gst/gstelement.c: (gst_element_seek):
1554         * gst/gstelement.h:
1555         Update gst_element_seek.
1556
1557         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1558         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1559         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1560         (gst_event_new_eos), (gst_event_new_newsegment),
1561         (gst_event_parse_newsegment), (gst_event_new_tag),
1562         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1563         (gst_event_parse_qos), (gst_event_new_seek),
1564         (gst_event_parse_seek), (gst_event_new_navigation):
1565         * gst/gstevent.h:
1566         Make GstEvent use GstStructure. Add parsing code, make sure the
1567         API is sufficiently generic.
1568         Mark possible directions of events and serialization.
1569
1570         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1571         (_gst_message_copy), (gst_message_new_segment_start),
1572         (gst_message_new_segment_done), (gst_message_new_custom),
1573         (gst_message_parse_segment_start),
1574         (gst_message_parse_segment_done):
1575         Small cleanups.
1576
1577         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1578         (gst_pad_set_caps), (gst_pad_send_event):
1579         Update for new events. 
1580         Catch events sent in wrong directions.
1581
1582         * gst/gstqueue.c: (gst_queue_link_src),
1583         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1584         (gst_queue_handle_src_query):
1585         Event updates.
1586
1587         * gst/gsttag.c:
1588         * gst/gsttag.h:
1589         Remove event code from this file.
1590
1591         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1592         (gst_dp_event_from_packet):
1593         Event updates.
1594
1595 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1596
1597         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1598         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1599         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1600           Make debugging actually useful.
1601
1602 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1603
1604         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1605         (gst_pad_fixate_caps):
1606           Implement default fixation once again, so that gst_pad_fixate()
1607           actually does anything at all. This probably needs to be some
1608           sort of a last resort, and use profile-based fixation first, but
1609           since that doesn't exist yet, this is the best we have. Fixes
1610           visualization in Totem.
1611
1612 2005-07-22  Wim Taymans  <wim@fluendo.com>
1613
1614         * docs/design/part-events.txt:
1615         Small update.
1616
1617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1618         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1619         (gst_base_sink_activate_pull):
1620         Some more comments.
1621
1622         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1623         (gst_fake_src_create):
1624         Fix handoff marshall.
1625
1626         * gst/elements/gstidentity.c: (gst_identity_class_init),
1627         (gst_identity_transform_ip):
1628         We're a real inplace element.
1629
1630         * gst/gstbus.c: (gst_bus_post):
1631         Added some comments.
1632
1633         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1634         * tests/muxing/case1.c: (main):
1635         * tests/sched/dynamic-pipeline.c: (main):
1636         * tests/sched/interrupt1.c: (main):
1637         * tests/sched/interrupt2.c: (main):
1638         * tests/sched/interrupt3.c: (main):
1639         * tests/sched/runxml.c: (main):
1640         * tests/sched/sched-stress.c: (main):
1641         * tests/seeking/seeking1.c: (event_received), (main):
1642         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1643         (main):
1644         * tests/threadstate/threadstate3.c: (main):
1645         * tests/threadstate/threadstate4.c: (main):
1646         * tests/threadstate/threadstate5.c: (main):
1647         Fix the tests.
1648
1649 2005-07-21  Wim Taymans  <wim@fluendo.com>
1650
1651         * docs/design/part-seeking.txt:
1652         Some small additions.
1653
1654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1655         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1656         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1657         * gst/base/gstbasesink.h:
1658         discont values are gint64, handle the math correctly.
1659
1660         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1661         Make the basesrc report error if the source pad is not linked.
1662
1663         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1664         (gst_queue_loop), (gst_queue_handle_src_query),
1665         (gst_queue_src_activate_push):
1666         Make queue collect data even if the srcpad is not linked.
1667         Start pushing out data as soon as it is linked.
1668
1669         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1670         * gst/gstutils.h:
1671         Added gst_flow_get_name() to ease error reporting.
1672
1673 2005-07-20  Wim Taymans  <wim@fluendo.com>
1674
1675         * gst/gstmessage.c: (gst_message_new_segment_start),
1676         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1677         (gst_message_parse_segment_done):
1678         * gst/gstmessage.h:
1679         Added a bunch of messages for advanced seeking.
1680
1681         * gst/parse/grammar.y:
1682         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1683         (gst_dpman_state_changed):
1684         Fix some new-pad -> pad-added signals
1685
1686 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1687
1688         * docs/manual/appendix-porting.xml:
1689         * docs/pwg/appendix-porting.xml:
1690           Document new-pad/state-change signal renames and the FixedList
1691           type rename.
1692
1693 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1694
1695         * docs/manual/advanced-autoplugging.xml:
1696         * docs/manual/basics-helloworld.xml:
1697         * docs/manual/basics-pads.xml:
1698         * docs/random/ds/0.9-suggested-changes:
1699         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1700         * gst/gstelement.h:
1701         * gst/gstevent.h:
1702         * gst/gstformat.h:
1703         * gst/gstquery.h:
1704         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1705         (gst_structure_parse_array), (gst_structure_parse_value):
1706         * gst/gstvalue.c: (gst_type_is_fixed),
1707         (gst_value_list_prepend_value), (gst_value_list_append_value),
1708         (gst_value_list_get_size), (gst_value_list_get_value),
1709         (gst_value_transform_array_string), (gst_value_serialize_array),
1710         (gst_value_deserialize_array), (gst_value_intersect_array),
1711         (gst_value_is_fixed), (_gst_value_initialize):
1712         * gst/gstvalue.h:
1713           GstElement::new-pad -> pad-added, GstElement::state-change ->
1714           state-changed, GstValueFixedList -> GstValueArray, add format and
1715           flags as their own arguments in gst_element_seek() (should improve
1716           "bindeability"), remove function generators since they don't work
1717           under a whole bunch of compilers (they were deprecated already
1718           anyway).
1719
1720 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1721
1722         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1723         (_gst_debug_register_funcptr):
1724         * gst/gstinfo.h:
1725           Fix illegal cast on some platforms (#309253).
1726
1727 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1728
1729         * gst/gstmessage.c: (gst_message_new_custom):
1730         * gst/gstmessage.h:
1731           Add _new_custom, make _new_application a macro to _new_custom.
1732
1733 2005-07-20  Wim Taymans  <wim@fluendo.com>
1734
1735         * gst/base/gstbasesrc.c: (gst_base_src_init),
1736         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1737         * gst/base/gstbasesrc.h:
1738         Add a gboolean to decide when to push out a discont.
1739
1740         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1741         (gst_queue_loop), (gst_queue_handle_src_query),
1742         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1743         (gst_queue_set_property), (gst_queue_get_property):
1744         Some cleanups.
1745
1746         * tests/threadstate/threadstate1.c: (main):
1747         Make a thread test compile and run... very silly..
1748
1749
1750 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1751
1752         * docs/manual/appendix-porting.xml:
1753           Mention removal of libgstgconf-0.9.la and existence of gconf
1754           elements.
1755
1756 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1757
1758         * docs/pwg/advanced-clock.xml:
1759         * docs/pwg/appendix-porting.xml:
1760         * docs/pwg/intro-preface.xml:
1761         * docs/pwg/other-base.xml:
1762         * docs/pwg/other-manager.xml:
1763         * docs/pwg/other-nton.xml:
1764         * docs/pwg/other-ntoone.xml:
1765         * docs/pwg/other-oneton.xml:
1766         * docs/pwg/pwg.xml:
1767           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1768           demuxer), remove n-to-n (was never written), fix some code examples
1769           and links and update the porting section to include all this.
1770
1771 2005-07-19  Wim Taymans  <wim@fluendo.com>
1772
1773         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1774         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1775         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1776         (gst_queue_src_activate_push), (gst_queue_change_state),
1777         (gst_queue_get_property):
1778         * gst/gstqueue.h:
1779         Propagate GstFlowReturn more intelligently upstream and output
1780         an ERROR/EOS when streaming stopped due to fatal error.
1781
1782 2005-07-19  Wim Taymans  <wim@fluendo.com>
1783
1784         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1785         Don't block forever for the state change to complete, the
1786         pipeline already did with a sensible timeout.
1787
1788 2005-07-19  Wim Taymans  <wim@fluendo.com>
1789
1790         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1791         Make sure we never call the create function is we
1792         got deactivated.
1793
1794 2005-07-19  Andy Wingo  <wingo@pobox.com>
1795
1796         * gst/parse/parse.l: Attempt to solve bug #172815.
1797
1798 2005-07-19  Wim Taymans  <wim@fluendo.com>
1799
1800         * docs/design/part-clocks.txt:
1801         * docs/design/part-events.txt:
1802         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1803         Small docs updates.
1804         Only update the seeking values when we are not
1805         busy streaming.
1806
1807 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1808
1809         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1810           Oops, ignore the result of gst_pad_push_event here.
1811
1812 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1813
1814         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1815         (gst_base_src_activate_push):
1816           Send discont event from the loop function, as pads
1817           aren't activated yet in the activate_push handler.
1818
1819         * gst/gstbin.c: (bin_bus_handler):
1820           Don't leak element name.
1821
1822 2005-07-18  Andy Wingo  <wingo@pobox.com>
1823
1824         * configure.ac: Use AS_LIBTOOL_TAGS.
1825
1826 2005-07-18  Wim Taymans  <wim@fluendo.com>
1827
1828         * docs/gst/gstreamer.types:
1829         Remove deleted types.
1830
1831 2005-07-18  Wim Taymans  <wim@fluendo.com>
1832
1833         * check/elements/gstfakesrc.c: (GST_START_TEST):
1834         * configure.ac:
1835         * gst/Makefile.am:
1836         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1837         (init_popt_callback):
1838         * gst/gst.h:
1839         * gst/gst_private.h:
1840         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1841         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1842         * gst/gstbin.h:
1843         * gst/gstbus.h:
1844         * gst/gstconfig.h.in:
1845         * gst/gstelement.c: (gst_element_class_init),
1846         (gst_element_set_base_time), (gst_element_get_base_time),
1847         (iterator_fold_with_resync), (gst_element_change_state),
1848         (gst_element_dispose), (gst_element_get_bus):
1849         * gst/gstelement.h:
1850         * gst/gstelementfactory.h:
1851         * gst/gsterror.c: (_gst_core_errors_init):
1852         * gst/gsterror.h:
1853         * gst/gstevent.h:
1854         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1855         * gst/gstindex.c:
1856         * gst/gstinfo.c: (_gst_debug_init):
1857         * gst/gstmessage.c: (_gst_message_copy):
1858         * gst/gstmessage.h:
1859         * gst/gstminiobject.h:
1860         * gst/gstobject.c:
1861         * gst/gstobject.h:
1862         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1863         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1864         * gst/gstpad.h:
1865         * gst/gstparse.h:
1866         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1867         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1868         (gst_pipeline_get_last_stream_time):
1869         * gst/gstpipeline.h:
1870         * gst/gstpluginfeature.h:
1871         * gst/gstquery.h:
1872         * gst/gstscheduler.c:
1873         * gst/gstscheduler.h:
1874         * gst/gststructure.h:
1875         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1876         (gst_task_finalize), (gst_task_func), (gst_task_create),
1877         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1878         (gst_task_stop), (gst_task_pause):
1879         * gst/gsttask.h:
1880         * gst/gsttypefind.h:
1881         * gst/gsttypes.h:
1882         * gst/registries/gstlibxmlregistry.c: (load_feature),
1883         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1884         * gst/registries/gstxmlregistry.c:
1885         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1886         * gst/schedulers/threadscheduler.c:
1887         * libs/gst/control/dparammanager.h:
1888         * tools/gst-inspect.c: (print_element_list),
1889         (print_plugin_features), (print_element_features):
1890         * tools/gst-xmlinspect.c: (print_element_list),
1891         (print_plugin_info), (main):
1892         Removed plugable schedulers.
1893         Removed Scheduler/Manager from elements.
1894         Removed gsttypes.h, rearranged includes.
1895         Removed dependency pad<->element, element<>pipeline, and
1896         various others,  fix includes.
1897         implement gst_pad_get_parent() with gst_object_get_parent()
1898         Make GstTask sefcontained.
1899         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1900         timeout.
1901         Fix endless loop in iterator_fold_with_resync.
1902
1903
1904 2005-07-18  Wim Taymans  <wim@fluendo.com>
1905
1906         * gst/Makefile.am:
1907         * gst/gstarch.h:
1908         Remove old file.
1909
1910 2005-07-18  Wim Taymans  <wim@fluendo.com>
1911
1912         * gst/Makefile.am:
1913         No more cothreads.h
1914
1915 2005-07-18  Wim Taymans  <wim@fluendo.com>
1916
1917         * gst/cothreads.c:
1918         * gst/cothreads.h:
1919         Let's remove these.
1920
1921 2005-07-18  Wim Taymans  <wim@fluendo.com>
1922
1923         * docs/design/part-dynamic.txt:
1924         * docs/design/part-events.txt:
1925         * docs/design/part-seeking.txt:
1926         Some more docs in the works.
1927
1928         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1929         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1930         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1931         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1932         (gst_base_transform_handle_buffer),
1933         (gst_base_transform_sink_activate_push),
1934         (gst_base_transform_src_activate_pull),
1935         (gst_base_transform_set_passthrough),
1936         (gst_base_transform_is_passthrough):
1937         Refcounting fixes.
1938
1939         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1940         Cleanups.
1941
1942         * gst/gstevent.c: (gst_event_finalize):
1943         Set SRC to NULL.
1944
1945         * gst/gstutils.c: (gst_element_unlink),
1946         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1947         (gst_pad_proxy_setcaps):
1948         * gst/gstutils.h:
1949         Add _get_parent_element() to get a pads parent as an element.
1950
1951 2005-07-18  Wim Taymans  <wim@fluendo.com>
1952
1953         * check/gst/gstbin.c: (GST_START_TEST):
1954         Remove bogus test.
1955
1956 2005-07-18  Wim Taymans  <wim@fluendo.com>
1957
1958         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1959         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1960         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1961         (gst_base_sink_event), (gst_base_sink_do_sync),
1962         (gst_base_sink_chain), (gst_base_sink_loop),
1963         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1964         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1965         Refcounting fixes.
1966         Fix logic for returning ASYNC when not prerolled.
1967
1968 2005-07-18  Wim Taymans  <wim@fluendo.com>
1969
1970         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1971         Fix nasty refcount bug.
1972
1973 2005-07-16 Philippe Khalaf <burger@speedy.org>
1974         * gst/elements/gstfdsrc.c:
1975         * gst/elements/gstfdsrc.h:
1976         * gst/elements/gstelements.c:
1977         * gst/elements/Makefile.am:
1978         Ported fdsrc to 0.9.
1979
1980 2005-07-16  Wim Taymans  <wim@fluendo.com>
1981
1982         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1983         (gst_base_sink_do_sync):
1984         Fix compile error.
1985
1986 2005-07-16  Wim Taymans  <wim@fluendo.com>
1987
1988         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1989         (gst_base_sink_event), (gst_base_sink_get_times),
1990         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1991         * gst/base/gstbasesink.h:
1992         Store and use discont values when syncing buffers as described
1993         in design docs.
1994         
1995         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1996         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1997         (gst_base_src_activate_push):
1998         Push discont event when starting.
1999
2000         * gst/elements/gstidentity.c: (gst_identity_transform):
2001         Small cleanups.
2002
2003         * gst/gstbin.c: (gst_bin_change_state):
2004         Small cleanups in base_time  distribution.
2005
2006         * gst/gstelement.c: (gst_element_set_base_time),
2007         (gst_element_get_base_time), (gst_element_change_state):
2008         * gst/gstelement.h:
2009         Added methods for the base_time of the element.
2010         Some MT fixes.
2011
2012         * gst/gstpipeline.c: (gst_pipeline_send_event),
2013         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
2014         (gst_pipeline_get_last_stream_time):
2015         * gst/gstpipeline.h:
2016         MT fixes.
2017         Handle seeking as described in design doc, remove stream_time
2018         hack.
2019         Cleanups clock and stream_time selection code. Added accessors
2020         for the stream_time.
2021         
2022
2023 2005-07-16  Andy Wingo  <wingo@pobox.com>
2024
2025         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
2026         (#305291).
2027
2028 2005-07-16  Wim Taymans  <wim@fluendo.com>
2029
2030         * check/gst/gstbin.c: (GST_START_TEST):
2031         Make elements silent as the deep_notify refs the
2032         parent, which might make the test fail.
2033
2034         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
2035         Don't hold the lock for too long.
2036
2037 2005-07-16  Tim-Philipp M??ller  <tim at centricular dot net>
2038
2039         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2040           Don't unref the caps we passed to gst_caps_make_writable() after
2041           passing them. gst_caps_make_writable() will do that for us.
2042
2043 2005-07-15  Andy Wingo  <wingo@pobox.com>
2044
2045         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
2046         (#157311).
2047
2048         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
2049         own marshalling function for the handoff signal. Properly type the
2050         buffer as a buffer. Fixes some warnings. Should do a more general
2051         solution.
2052         (gst_identity_class_init): Plug into the right marshaller.
2053
2054 2005-07-15  Wim Taymans  <wim@fluendo.com>
2055
2056         * docs/design/part-TODO.txt:
2057         * docs/design/part-clocks.txt:
2058         * docs/design/part-element-sink.txt:
2059         * docs/design/part-events.txt:
2060         * docs/design/part-gstpipeline.txt:
2061         Updated docs, mostly DISCONT related.
2062
2063 2005-07-15  Tim-Philipp M??ller  <tim at centricular dot net>
2064
2065         * docs/pwg/building-pads.xml:
2066           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
2067
2068 2005-07-15  Andy Wingo  <wingo@pobox.com>
2069
2070         * tools/gst-typefind.c: Update, add copyright block.
2071
2072         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
2073         Normalize and truncate caps before fixation.
2074
2075         * gst/gstcaps.h:
2076         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
2077         discards all but the first structure from its argument.
2078
2079 2005-07-15  Wim Taymans  <wim@fluendo.com>
2080
2081         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2082         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
2083         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2084         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2085         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
2086         (gst_base_transform_chain), (gst_base_transform_change_state),
2087         (gst_base_transform_set_passthrough),
2088         (gst_base_transform_is_passthrough):
2089         * gst/base/gstbasetransform.h:
2090         Make passthrough work using the bufferpools.
2091         Changed API a bit, subclasses have to write into a buffer
2092         provided by the base class.
2093         More debug info in nego functions.
2094         
2095         * gst/elements/gstidentity.c: (gst_identity_init),
2096         (gst_identity_transform):
2097         Port to new base class.
2098
2099 2005-07-15  Wim Taymans  <wim@fluendo.com>
2100
2101         * gst/gstmessage.c: (gst_message_new_state_changed):
2102         * tools/gst-launch.c: (event_loop), (main):
2103         Totally dump messages in -launch with the -m option.
2104         Fix message name for State messages,
2105
2106 2005-07-14  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2109         Post error messages on errors.
2110
2111 2005-07-14  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gstcaps.c: (gst_caps_do_simplify):
2114         Remove debug info.
2115
2116         * gst/gsterror.h:
2117         Define error for stream stopped.
2118
2119         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2120         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
2121         Do proper return values.
2122
2123         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
2124         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
2125         (gst_pad_get_range):
2126         Better return values.
2127
2128         * gst/gstpad.h:
2129         Reorganise return values, add macro to check for fatal errors.
2130
2131         * gst/gstqueue.c: (gst_queue_chain):
2132         Return proper GstFlowReturn values,
2133
2134 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2135
2136         * docs/gst/gstreamer-sections.txt:
2137         * docs/gst/gstreamer.types:
2138         * docs/gst/tmpl/gst.sgml:
2139         * docs/gst/tmpl/gstbasesink.sgml:
2140         * docs/gst/tmpl/gstbasesrc.sgml:
2141         * docs/gst/tmpl/gstbasetransform.sgml:
2142         * docs/gst/tmpl/gstbin.sgml:
2143         * docs/gst/tmpl/gstbuffer.sgml:
2144         * docs/gst/tmpl/gstcaps.sgml:
2145         * docs/gst/tmpl/gstclock.sgml:
2146         * docs/gst/tmpl/gstcompat.sgml:
2147         * docs/gst/tmpl/gstconfig.sgml:
2148         * docs/gst/tmpl/gstelement.sgml:
2149         * docs/gst/tmpl/gstelementdetails.sgml:
2150         * docs/gst/tmpl/gstelementfactory.sgml:
2151         * docs/gst/tmpl/gstenumtypes.sgml:
2152         * docs/gst/tmpl/gsterror.sgml:
2153         * docs/gst/tmpl/gstevent.sgml:
2154         * docs/gst/tmpl/gstfakesink.sgml:
2155         * docs/gst/tmpl/gstfakesrc.sgml:
2156         * docs/gst/tmpl/gstfilesink.sgml:
2157         * docs/gst/tmpl/gstfilesrc.sgml:
2158         * docs/gst/tmpl/gstfilter.sgml:
2159         * docs/gst/tmpl/gstformat.sgml:
2160         * docs/gst/tmpl/gstghostpad.sgml:
2161         * docs/gst/tmpl/gstimplementsinterface.sgml:
2162         * docs/gst/tmpl/gstindex.sgml:
2163         * docs/gst/tmpl/gstindexfactory.sgml:
2164         * docs/gst/tmpl/gstinfo.sgml:
2165         * docs/gst/tmpl/gstiterator.sgml:
2166         * docs/gst/tmpl/gstmacros.sgml:
2167         * docs/gst/tmpl/gstmemchunk.sgml:
2168         * docs/gst/tmpl/gstminiobject.sgml:
2169         * docs/gst/tmpl/gstobject.sgml:
2170         * docs/gst/tmpl/gstpad.sgml:
2171         * docs/gst/tmpl/gstpadtemplate.sgml:
2172         * docs/gst/tmpl/gstparse.sgml:
2173         * docs/gst/tmpl/gstpipeline.sgml:
2174         * docs/gst/tmpl/gstplugin.sgml:
2175         * docs/gst/tmpl/gstpluginfeature.sgml:
2176         * docs/gst/tmpl/gstquery.sgml:
2177         * docs/gst/tmpl/gstqueue.sgml:
2178         * docs/gst/tmpl/gstregistry.sgml:
2179         * docs/gst/tmpl/gstregistrypool.sgml:
2180         * docs/gst/tmpl/gstscheduler.sgml:
2181         * docs/gst/tmpl/gstschedulerfactory.sgml:
2182         * docs/gst/tmpl/gststructure.sgml:
2183         * docs/gst/tmpl/gstsystemclock.sgml:
2184         * docs/gst/tmpl/gsttaglist.sgml:
2185         * docs/gst/tmpl/gsttagsetter.sgml:
2186         * docs/gst/tmpl/gsttrace.sgml:
2187         * docs/gst/tmpl/gsttrashstack.sgml:
2188         * docs/gst/tmpl/gsttypefind.sgml:
2189         * docs/gst/tmpl/gsttypefindfactory.sgml:
2190         * docs/gst/tmpl/gsttypes.sgml:
2191         * docs/gst/tmpl/gsturihandler.sgml:
2192         * docs/gst/tmpl/gsturitype.sgml:
2193         * docs/gst/tmpl/gstutils.sgml:
2194         * docs/gst/tmpl/gstvalue.sgml:
2195         * docs/gst/tmpl/gstversion.sgml:
2196         * docs/gst/tmpl/gstxml.sgml:
2197         * docs/libs/tmpl/gstcontrol.sgml:
2198         * docs/libs/tmpl/gstdataprotocol.sgml:
2199         * docs/libs/tmpl/gstdparam.sgml:
2200         * docs/libs/tmpl/gstdplinint.sgml:
2201         * docs/libs/tmpl/gstdpman.sgml:
2202         * docs/libs/tmpl/gstdpsmooth.sgml:
2203         * docs/libs/tmpl/gstgetbits.sgml:
2204         * docs/libs/tmpl/gstunitconvert.sgml:
2205         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
2206         (gst_push_src_base_init), (gst_push_src_class_init),
2207         (gst_push_src_init), (gst_push_src_create):
2208         * gst/base/gstpushsrc.h:
2209         * gst/elements/gstelements.c:
2210         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
2211         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
2212         (gst_fake_sink_init), (gst_fake_sink_set_property),
2213         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
2214         (gst_fake_sink_event), (gst_fake_sink_preroll),
2215         (gst_fake_sink_render), (gst_fake_sink_change_state):
2216         * gst/elements/gstfakesink.h:
2217         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2218         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2219         (gst_fake_src_base_init), (gst_fake_src_class_init),
2220         (gst_fake_src_init), (gst_fake_src_event_handler),
2221         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
2222         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
2223         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
2224         (gst_fake_src_create_buffer), (gst_fake_src_create),
2225         (gst_fake_src_start), (gst_fake_src_stop):
2226         * gst/elements/gstfakesrc.h:
2227         * gst/elements/gstfilesink.c: (_do_init),
2228         (gst_file_sink_base_init), (gst_file_sink_class_init),
2229         (gst_file_sink_init), (gst_file_sink_dispose),
2230         (gst_file_sink_set_location), (gst_file_sink_set_property),
2231         (gst_file_sink_get_property), (gst_file_sink_open_file),
2232         (gst_file_sink_close_file), (gst_file_sink_query),
2233         (gst_file_sink_event), (gst_file_sink_render),
2234         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
2235         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
2236         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
2237         * gst/elements/gstfilesink.h:
2238         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
2239         (gst_file_src_class_init), (gst_file_src_init),
2240         (gst_file_src_finalize), (gst_file_src_set_location),
2241         (gst_file_src_set_property), (gst_file_src_get_property),
2242         (gst_file_src_map_region), (gst_file_src_map_small_region),
2243         (gst_file_src_create_mmap), (gst_file_src_create_read),
2244         (gst_file_src_create), (gst_file_src_is_seekable),
2245         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
2246         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
2247         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
2248         (gst_file_src_uri_handler_init):
2249         * gst/elements/gstfilesrc.h:
2250           more autistic cleanliness in functions/names/defines
2251
2252 2005-07-13  Andy Wingo  <wingo@pobox.com>
2253
2254         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
2255         source couldn't negotiate.
2256
2257         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
2258         connections again.
2259
2260         * gst/gstutils.h:
2261         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2262         function. I am channeling Hades. Put your boots on suckers!!!
2263
2264 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2265
2266         * testsuite/caps/Makefile.am:
2267         * testsuite/caps/value_compare.c:
2268         * testsuite/caps/value_intersect.c:
2269         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2270           move two testsuite apps over to the check dir
2271
2272 2005-07-12  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2275         Added more debug info in the negotiate process.
2276
2277         * gst/gstmessage.h:
2278         Prepare for segment playback.
2279
2280         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2281         Better debugging.
2282
2283         * gst/gstutils.c:
2284         Some more docs.
2285
2286         * tools/gst-launch.c: (main):
2287         NULL pipeline on errors.
2288
2289 2005-07-12  Andy Wingo  <wingo@pobox.com>
2290
2291         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2292         not it comes from a malloc region. Make sure our copy gets freed.
2293
2294 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2295
2296         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2297         * check/gst/gstmessage.c: (GST_START_TEST):
2298         * check/gst/gststructure.c: (GST_START_TEST),
2299         (gst_structure_suite), (main):
2300           more testing
2301         * gst/gstelement.c: (gst_element_message_full):
2302           clean up GError and debug string now that they get copied
2303         * gst/gstmessage.c: (gst_message_new_error),
2304         (gst_message_new_warning), (gst_message_parse_error),
2305         (gst_message_parse_warning):
2306           use GST_TYPE_G_ERROR for structure_new, and take copies of
2307           arguments, so that we don't mess up refcounting
2308
2309 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2310
2311         * check/Makefile.am:
2312           add per-test valgrind targets
2313         * check/gst-libs/gdp.c: (GST_START_TEST),
2314         (gst_data_protocol_suite), (main):
2315           clean up
2316
2317 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2318
2319         * check/Makefile.am:
2320           instate more valgrindable tests
2321         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2322         (GST_START_TEST), (fakesrc_suite):
2323         * check/gst/gstpad.c: (GST_START_TEST):
2324         * check/gst/gststructure.c: (GST_START_TEST):
2325           fix test leaks
2326         * docs/gst/tmpl/gstminiobject.sgml:
2327         * gst/gstpad.c: (gst_pad_finalize):
2328           fix the static mutex leak
2329
2330 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2331
2332         * check/Makefile.am:
2333           add two more tests for valgrinding
2334         * check/gst/gstvalue.c: (GST_START_TEST):
2335           test refcount of deserialized buffer, found a leak
2336         * docs/gst/gstreamer-docs.sgml:
2337         * docs/gst/gstreamer-sections.txt:
2338         * docs/gst/gstreamer.types:
2339         * docs/gst/tmpl/gstminiobject.sgml:
2340           add miniobject to docs
2341         * gst/gstminiobject.c:
2342           add some docs
2343         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2344         (gst_string_unwrap):
2345           fix a hard-to-find invalid write for one of the tests
2346           fix a leak for deserialized buffers
2347
2348 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2349
2350         * docs/pwg/advanced-events.xml:
2351         * docs/pwg/advanced-request.xml:
2352         * docs/pwg/advanced-scheduling.xml:
2353         * docs/pwg/appendix-porting.xml:
2354         * docs/pwg/building-boiler.xml:
2355         * docs/pwg/intro-preface.xml:
2356         * docs/pwg/other-ntoone.xml:
2357           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2358           of example code and explanation for pad activation, loop() and
2359           getrange() functions and a bit more. Remove old comments pointing
2360           to loop-functions.
2361         * examples/pwg/Makefile.am:
2362           Add loop/getrange examples.
2363
2364 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2365
2366         * configure.ac:
2367           check for valgrind binary + some fixes
2368         * check/gst.supp:
2369           valgrind suppressions for the tests
2370         * check/Makefile.am:
2371           add a valgrind: target that valgrinds the unit tests
2372         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2373         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2374         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2375         * check/gst/gstghostpad.c:
2376           added some cleanup
2377         * check/gst/gstdata.c:
2378           removed
2379         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2380         (thread_unref), (gst_mini_object_suite), (main):
2381           added
2382         * gst/gst.c: (gst_deinit):
2383         * gst/gst.h:
2384           add a method to clean up.
2385         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2386         (gst_system_clock_obtain):
2387           allow for disposing the system clock.
2388         * tools/gst-launch.c: (main):
2389           deinit
2390
2391 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2392
2393         * docs/gst/tmpl/gstbasesrc.sgml:
2394         * docs/gst/tmpl/gstfakesrc.sgml:
2395         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2396         (gst_base_src_init), (gst_base_src_set_property),
2397         (gst_base_src_get_property), (gst_base_src_get_range),
2398         (gst_base_src_start):
2399         * gst/base/gstbasesrc.h:
2400           add num-buffers property
2401         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2402         (gst_fakesrc_init), (gst_fakesrc_set_property),
2403         (gst_fakesrc_get_property), (gst_fakesrc_create),
2404         (gst_fakesrc_start):
2405           remove num-buffers property
2406
2407 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2408
2409         * docs/gst/gstreamer-sections.txt:
2410         * docs/gst/tmpl/gstbasesink.sgml:
2411         * docs/gst/tmpl/gstbasesrc.sgml:
2412         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2413         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2414         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2415         (gst_base_sink_set_property), (gst_base_sink_get_property),
2416         (gst_base_sink_handle_object), (gst_base_sink_event),
2417         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2418         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2419         (gst_base_sink_loop), (gst_base_sink_deactivate),
2420         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2421         (gst_base_sink_change_state):
2422         * gst/base/gstbasesink.h:
2423         * gst/base/gstbasesrc.h:
2424         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2425         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2426         (gst_filesink_init):
2427           more macro splitting
2428
2429 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2430
2431         * gst/gstelement.c: (gst_element_get_bus):
2432           add debug
2433         * tools/gst-launch.c: (check_intr), (event_loop):
2434           fix bus leaks
2435
2436 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2437
2438         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2439           fix a caps leak
2440
2441 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2442
2443         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2444         (gst_base_src_finalize):
2445           add finalize method and clean up properly
2446         * gst/gstpipeline.c: (gst_pipeline_dispose):
2447           add debug
2448
2449 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2450
2451         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2452         (gst_bin_suite):
2453           add more things to check
2454         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2455         * gst/gstelement.c:
2456           more debug
2457
2458 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2459
2460         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2461         (GST_START_TEST), (fakesrc_suite):
2462         * check/gst-libs/gdp.c: (GST_START_TEST):
2463         * check/gst/gst.c: (GST_START_TEST):
2464         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2465         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2466         * check/gst/gstbus.c: (GST_START_TEST):
2467         * check/gst/gstcaps.c: (GST_START_TEST):
2468         * check/gst/gstdata.c: (GST_START_TEST):
2469         * check/gst/gstelement.c: (GST_START_TEST):
2470         * check/gst/gstghostpad.c: (GST_START_TEST):
2471         * check/gst/gstiterator.c: (GST_START_TEST):
2472         * check/gst/gstmessage.c: (GST_START_TEST):
2473         * check/gst/gstobject.c: (GST_START_TEST):
2474         * check/gst/gstpad.c: (GST_START_TEST):
2475         * check/gst/gststructure.c: (GST_START_TEST):
2476         * check/gst/gstsystemclock.c: (GST_START_TEST),
2477         (gst_systemclock_suite):
2478         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2479         * check/gst/gstvalue.c: (GST_START_TEST):
2480         * check/pipelines/cleanup.c: (GST_START_TEST):
2481         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2482         * check/states/sinks.c: (GST_START_TEST):
2483         * check/gstcheck.c: (gst_check_init):
2484         * check/gstcheck.h:
2485           add debugging category
2486           use GST_START_TEST now, so we add a debug line
2487
2488 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2489
2490         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2491           add test for state change message on a bin
2492         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2493           add another test
2494         * gst/gstbin.c: (gst_bin_init):
2495         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2496         * gst/gstelement.c: (gst_element_post_message),
2497         (gst_element_set_state):
2498         * gst/gstelementfactory.c: (gst_element_factory_create):
2499         * gst/gstmessage.c: (gst_message_new):
2500         * gst/gstscheduler.c:
2501           various debugging additions and cleanups
2502
2503 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2504
2505         * check/Makefile.am:
2506         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2507         (main):
2508           adding tests for elements
2509         * gst/gstelement.c: (gst_element_dispose):
2510
2511 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2512
2513         * gst/registries/gstlibxmlregistry.c: (load_feature):
2514           plug more leaks.  A simple gst_init() now is leakfree, yay.
2515
2516 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2517
2518         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2519         (gst_xml_registry_load):
2520           plug another memleak
2521
2522 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2523
2524         * configure.ac:
2525           use GST_SET_ERROR_CFLAGS
2526         * docs/faq/cvs.xml:
2527           change to ERROR_CFLAGS
2528
2529 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         * configure.ac:
2532           make GST_ERROR_CFLAGS overridable and re-enable Werror
2533         * docs/faq/cvs.xml:
2534           add a note about error CFLAGS
2535         * docs/gst/tmpl/gstfakesrc.sgml:
2536         * gst/elements/gstfakesrc.c:
2537           comment out some unused code
2538         * gst/gst.c: (split_and_iterate):
2539         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2540         (load_feature):
2541           plug some memleaks
2542
2543 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2544
2545         * common/Makefile.am:
2546         * common/gtk-doc.mak:
2547         * docs/gst/Makefile.am:
2548           factor out gtk-doc.mak
2549
2550 2005-07-07  Wim Taymans  <wim@fluendo.com>
2551
2552         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2553         (gst_thread_scheduler_dispose):
2554         Unlock the STREAM_LOCK completely.
2555
2556 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2557
2558         * check/Makefile.am:
2559         * check/elements/.cvsignore:
2560         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2561         (START_TEST), (fakesrc_suite), (main):
2562         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2563         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2564         (gst_fakesrc_create), (gst_fakesrc_start):
2565         * gst/elements/gstfakesrc.h:
2566           adding a first element test
2567
2568 2005-07-07  Andy Wingo  <wingo@pobox.com>
2569
2570         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2571         debug message.
2572
2573 2005-07-07  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/gstquery.c:
2576         * gst/gstquery.h:
2577         Remove old types
2578
2579 2005-07-07  Wim Taymans  <wim@fluendo.com>
2580
2581         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2582         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2583         Allow subclasses to implement their own negotiation.
2584
2585 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2586
2587         * docs/design/part-gstbin.txt:
2588         * docs/design/part-gstpipeline.txt:
2589           Update design notes to reflect the movement of
2590           responsibility for bus handling from GstPipeline to
2591           GstBin
2592
2593 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2594
2595         * configure.ac:
2596           Remove unnecessary queue2/3/4 examples.
2597
2598 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2599
2600         * examples/Makefile.am:
2601         * examples/helloworld/helloworld.c: (event_loop), (main):
2602         * examples/queue/queue.c: (event_loop), (main):
2603         * examples/queue2/queue2.c: (main):
2604           Update a couple of the examples to work again.
2605
2606         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2607         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2608          Spelling corrections and extra debug.
2609         
2610         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2611         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2612         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2613         * gst/gstbin.h:
2614         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2615         (gst_pipeline_change_state):
2616         * gst/gstpipeline.h:
2617           Move the bus handler for children to the GstBin, and create a
2618           separate bus for receiving messages from children to the one the
2619           bus sends 'upwards' on.
2620
2621 2005-07-06  Wim Taymans  <wim@fluendo.com>
2622
2623         * gst/base/README:
2624         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2625         (gst_base_sink_handle_object), (gst_base_sink_loop),
2626         (gst_base_sink_change_state):
2627         * gst/base/gstbasesink.h:
2628         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2629         (gst_base_src_init), (gst_base_src_setcaps),
2630         (gst_base_src_getcaps), (gst_base_src_loop),
2631         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2632         (gst_base_src_start), (gst_base_src_change_state):
2633         * gst/base/gstbasesrc.h:
2634         Make basesrc negotiate.
2635         Handle the case where preroll fails in basesink.
2636         Update README.
2637
2638 2005-07-06  Wim Taymans  <wim@fluendo.com>
2639
2640         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2641         Implement the fixate function.
2642         Clean up acceptcaps.
2643
2644 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2645
2646         * docs/pwg/building-filterfactory.xml:
2647         * docs/pwg/pwg.xml:
2648           Remove never-written filter-factory chapter; I'll add the various
2649           base classes to part 4 ("other element types") later on.
2650
2651 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2652
2653         * docs/pwg/advanced-negotiation.xml:
2654         * docs/pwg/building-boiler.xml:
2655         * docs/pwg/building-pads.xml:
2656         * docs/pwg/pwg.xml:
2657         * examples/pwg/Makefile.am:
2658           Add a chapter on caps negotiation, simplify the original code
2659           samples a bit w.r.t. caps negotiation, add link to the advanced
2660           section. Add a bunch of examples showing different use cases of
2661           different types of caps negotiation. Upstream renegotiation isn't
2662           fully documented yet since nobody knows how that works.
2663
2664 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2665
2666         * check/gst/gstpad.c:
2667         * check/gstcheck.c:
2668         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2669           if pad has no parent, return NULL as list of internal links
2670
2671 2005-07-05  Andy Wingo  <wingo@pobox.com>
2672
2673         * gst/elements/gstfilesrc.c:
2674         * gst/elements/gstfakesrc.c: 
2675         * gst/base/gstpushsrc.c:
2676         * gst/base/gstbasesrc.h: 
2677         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2678         
2679 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2680
2681         * Makefile.am:
2682           better report generation target (lcov needs a patch)
2683
2684 2005-07-05  Andy Wingo  <wingo@pobox.com>
2685
2686         * gst/elements, testsuite: Null if we got it...
2687
2688 2005-07-05  Wim Taymans  <wim@fluendo.com>
2689
2690         * configure.ac:
2691         * libs/gst/dataprotocol/Makefile.am:
2692         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2693         * libs/gst/dataprotocol/dataprotocol.h:
2694         * pkgconfig/Makefile.am:
2695         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2696         * pkgconfig/gstreamer-dataprotocol.pc.in:
2697         Ported dataprotol to 0.9. 
2698         Added pkgconfig files.
2699
2700 2005-07-05  Andy Wingo  <wingo@pobox.com>
2701
2702         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2703         Default to returning TRUE for the case when tranform_caps returns
2704         a fixed caps, like for identity or volume.
2705
2706         * check/gst/gstbus.c (pound_bus_with_messages): 
2707         * check/gst/gstmessage.c (START_TEST): 
2708         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2709         message API change.
2710
2711         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2712         logic weaks here: always run transform_caps, trying passthrough
2713         operation only if the original caps intersects with the transform.
2714
2715         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2716         source and sink caps.
2717
2718         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2719         Intersect the peer caps with the pad template before going into
2720         transform_caps.
2721         (gst_base_transform_transform_caps): More debugging.
2722
2723         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2724         src argument.
2725
2726 2005-07-04  Edward Hervey  <edward@fluendo.com>
2727
2728         * gst/gstutils.c:
2729         * gst/gstutils.h:
2730         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2731         in bindings.
2732
2733 2005-07-04  Andy Wingo  <wingo@pobox.com>
2734
2735         * check/gst/gstpad.c: Only set explicit caps on pads.
2736
2737 2005-07-01  Andy Wingo  <wingo@pobox.com>
2738
2739         * tests/network-clock.scm: Commentary update.
2740
2741         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2742         Didn't really make sense, not implementable with basetransform,
2743         etc.
2744         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2745         attempt at implementing the sync property, needs an unlock method.
2746
2747         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2748         New func, by default returns the same caps (the identity
2749         transformation).
2750         (gst_base_transform_getcaps): Uses transform_caps to return
2751         something sensible.
2752         (gst_base_transform_setcaps): Complicated logic to get caps on
2753         both pads, even if they are different, and to call set_caps once
2754         for every time both pads get their caps set.
2755         (gst_base_transform_handle_buffer): Give the ref to the transform
2756         function. Allows in-place modification of the buffer.
2757
2758         * gst/base/gstbasetransform.h (transform_caps): New class method.
2759         Given caps on one side, what can I do on the other.
2760         (set_caps): Take two caps, one for each side of the element.
2761
2762         * gst/gstpad.h:
2763         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2764         caps in place. This is safe because we can check the mutability of
2765         the caps, and a good idea because fixate functions are just called
2766         as a matter of last resort. (Not actually implemented.)
2767         (gst_pad_set_caps): If the caps we're setting is actually the same
2768         as the existing pad caps, just update the pointer without calling
2769         setcaps. Assert that caps is either NULL or fixed, as per the
2770         docs.
2771
2772         * gst/gstghostpad.c: Update for fixate changes.
2773
2774 2005-07-02  Andy Wingo  <wingo@pobox.com>
2775
2776         * gst/gstcaps.c:
2777         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2778         two refcounts makes it immutable, which is enough. Doc more.
2779
2780 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2781
2782         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2783           Put the mini_object into GValue as a mini_object,
2784           not a gpointer, since that's how we declared
2785           the signal.
2786
2787 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2788
2789         * examples/pwg/Makefile.am:
2790           Fix buildbot again.
2791
2792 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2793
2794         * docs/pwg/building-testapp.xml:
2795           Add extra check.
2796         * examples/pwg/Makefile.am:
2797           Fix buildbot.
2798
2799 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2800
2801         * configure.ac:
2802         * examples/Makefile.am:
2803         * examples/pwg/Makefile.am:
2804         * examples/pwg/extract.pl:
2805           Enable building the PWG examples.
2806         * docs/pwg/advanced-interfaces.xml:
2807           Add URI interface stub.
2808         * docs/pwg/advanced-types.xml:
2809         * docs/pwg/other-autoplugger.xml:
2810         * docs/pwg/appendix-porting.xml:
2811         * docs/pwg/pwg.xml:
2812           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2813         * docs/pwg/building-boiler.xml:
2814         * docs/pwg/building-chainfn.xml:
2815         * docs/pwg/building-pads.xml:
2816         * docs/pwg/building-props.xml:
2817         * docs/pwg/building-state.xml:
2818         * docs/pwg/building-testapp.xml:
2819           Update the building-*.xml parts for 0.9 changes. All examples
2820           code blocks compile in examples/pwg/*.
2821
2822 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2823
2824         * docs/manual/advanced-autoplugging.xml:
2825         * docs/manual/appendix-checklist.xml:
2826         * docs/manual/appendix-integration.xml:
2827         * docs/manual/highlevel-components.xml:
2828           Fix playbin/decodebin examples, update docs a bit, mention bus
2829           instead of signals in various places, mention kmplayer and
2830           kaffeine since they have a working GStreamer backend in the KDE
2831           section.
2832
2833 2005-06-30  Wim Taymans  <wim@fluendo.com>
2834
2835         * CHANGES-0.9:
2836         * docs/design/draft-ghostpads.txt:
2837         * docs/design/draft-push-pull.txt:
2838         * docs/design/draft-query.txt:
2839         * docs/design/part-TODO.txt:
2840         * docs/design/part-query.txt:
2841         Added CHANGES-0.9 doc, updated status of other docs.
2842         
2843         * gst/gstquery.h:
2844         Remove "hmm" macro
2845
2846 2005-06-30  Wim Taymans  <wim@fluendo.com>
2847
2848         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2849         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2850         (gst_base_sink_change_state):
2851         * gst/base/gstbasesink.h:
2852         Some tweaks, only EOS and a buffer complete a preroll.
2853
2854 2005-06-30  Andy Wingo  <wingo@pobox.com>
2855
2856         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2857         activate_push down to the internal pad as well.
2858
2859 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2860
2861         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2862
2863         * gst/gsttaginterface.c:
2864           Some documentation fixes (#307394 and #307397).
2865
2866 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2867
2868         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2869
2870         * gst/gstvalue.c: (gst_value_intersect_list):
2871           Fix memleak (#309125).
2872
2873 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2874
2875         * docs/manual/advanced-dataaccess.xml:
2876           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2877         * docs/manual/basics-pads.xml:
2878           Add reference for filtered caps to above chapter.
2879
2880 2005-06-30  Wim Taymans  <wim@fluendo.com>
2881
2882         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2883         (gst_bin_change_state):
2884         Probes are gone.
2885         Lame attempt at making the state change function a bit
2886         more readable.
2887
2888 2005-06-30  Wim Taymans  <wim@fluendo.com>
2889
2890         * docs/design/part-clocks.txt:
2891         * docs/design/part-element-sink.txt:
2892         * docs/design/part-events.txt:
2893         * docs/design/part-preroll.txt:
2894         * docs/design/part-states.txt:
2895         Some more tweeks and additions to the docs.
2896
2897 2005-06-30  Wim Taymans  <wim@fluendo.com>
2898
2899         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2900         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2901         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2902         (gst_pad_check_pull_range), (gst_pad_get_range),
2903         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2904         * gst/gstpad.h:
2905         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2906         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2907         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2908         (gst_pad_remove_buffer_probe):
2909         Removed atomic operations, use existing LOCK.
2910         Move exception handling out of main code path.
2911
2912 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2913
2914         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2915         (silly_return_true_function), (gst_pad_class_init),
2916         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2917         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2918         (gst_pad_send_event):
2919           Fix accumulator, add default value by using _emitv() instead
2920           of _emit() for signal emission.
2921
2922 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2923
2924         * docs/manual/advanced-dataaccess.xml:
2925         * examples/manual/Makefile.am:
2926           Add probe example.
2927         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2928           Make work (??).
2929
2930 2005-06-29  Tim-Philipp M??ller  <tim at centricular dot net>
2931
2932         * gst/elements/gstfilesink.c: (gst_filesink_render):
2933           Simplify code so that we don't have to handle short
2934           writes and return GST_FLOW_ERROR if an error occured.
2935
2936 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2937
2938         * docs/gst/gstreamer-docs.sgml:
2939           Remove probes more.
2940
2941 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2942
2943         * docs/gst/gstreamer-sections.txt:
2944         * docs/gst/tmpl/gstpad.sgml:
2945         * docs/gst/tmpl/gstprobe.sgml:
2946         * gst/Makefile.am:
2947         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2948         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2949         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2950         (gst_pad_push_event), (gst_pad_send_event):
2951         * gst/gstpad.h:
2952         * gst/gstutils.c: (gst_pad_add_data_probe),
2953         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2954         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2955         (gst_pad_remove_buffer_probe):
2956         * gst/gstutils.h:
2957           Remove old probes, add new g-signal-based probes and some utility
2958           functions.
2959
2960 2005-06-29  Edward Hervey  <edward@fluendo.com>
2961
2962         * gst/gstelementfactory.c:
2963         * gst/gstutils.h:
2964         * gst/gstutils.c:
2965         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2966         the definition to the header file.
2967
2968 2005-06-29  Andy Wingo  <wingo@pobox.com>
2969
2970         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2971         plugins from the source directory.
2972
2973 2005-06-29  Wim Taymans  <wim@fluendo.com>
2974
2975         * docs/gst/tmpl/gstbuffer.sgml:
2976         * docs/gst/tmpl/gstclock.sgml:
2977         Some fixings for blantently wrong text.
2978
2979 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2980
2981         * check/Makefile.am:
2982         * gst/gst.c: (add_path_func), (init_pre):
2983         * gst/gstregistry.c: (gst_registry_add_path):
2984           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2985           only scan the GST_PLUGIN_PATH locations, and not add
2986           system locations
2987
2988 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2989
2990         * docs/gst/gstreamer-sections.txt:
2991         * docs/gst/tmpl/gstbasesrc.sgml:
2992         * gst/gstelement.c:
2993         * gst/gstelement.h:
2994         * gst/gstevent.c:
2995         * gst/gstutils.c:
2996           doc fixes
2997
2998 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2999
3000         * docs/manual/advanced-autoplugging.xml:
3001           Fix autoplugging example.
3002
3003 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3004
3005         * docs/manual/advanced-autoplugging.xml:
3006         * docs/manual/mime-world.fig:
3007           Try to get autoplugging working, fix type detection. Fix text
3008           in hello-world image.
3009
3010 2005-06-29  Wim Taymans  <wim@fluendo.com>
3011
3012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3013         (gst_base_sink_change_state):
3014         Small debug line.
3015
3016         * gst/gstclock.h:
3017         map SIGNAL and BROADCAST to the right function.
3018
3019         * gst/gstobject.h:
3020         Remove redundant braces.
3021
3022         * gst/gstpad.c: (gst_pad_set_caps):
3023         Don't call setcaps function when reseting caps to NULL.
3024
3025         * gst/gstsystemclock.c: (gst_system_clock_dispose),
3026         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
3027         (gst_system_clock_id_unschedule):
3028         Use BROADCAST as this is what we do.
3029
3030 2005-06-29  Wim Taymans  <wim@fluendo.com>
3031
3032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3033         We are actually prerolling before commiting the state
3034         change. 
3035
3036 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3037
3038         * docs/manual/advanced-clocks.xml:
3039         * docs/manual/advanced-interfaces.xml:
3040         * docs/manual/advanced-metadata.xml:
3041         * docs/manual/advanced-position.xml:
3042         * docs/manual/advanced-schedulers.xml:
3043         * docs/manual/advanced-threads.xml:
3044         * docs/manual/appendix-porting.xml:
3045         * docs/manual/basics-bins.xml:
3046         * docs/manual/basics-bus.xml:
3047         * docs/manual/basics-elements.xml:
3048         * docs/manual/basics-helloworld.xml:
3049         * docs/manual/basics-pads.xml:
3050         * docs/manual/highlevel-components.xml:
3051         * docs/manual/manual.xml:
3052         * docs/manual/thread.fig:
3053           Update (until threads/scheduling) Application Development Manual;
3054           remove GstThread, add GstBus, add simple porting checklist, add
3055           documentation for tag writing, clocks, make all examples until this
3056           part compile and run.
3057         * examples/manual/Makefile.am:
3058           Update from changes to Application Development Manual; add bus
3059           example, remove thread example.
3060
3061 2005-06-28  Wim Taymans  <wim@fluendo.com>
3062
3063         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
3064         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
3065         (gst_bus_source_dispatch):
3066         Add debugging messages.
3067         Make internal methods static.
3068         Handle the case where the bus is flushed in the handler.
3069         
3070         * gst/gstelement.c: (gst_element_get_bus):
3071         Fix refcount in _get_bus();
3072
3073         * gst/gstpipeline.c: (gst_pipeline_change_state),
3074         (gst_pipeline_get_clock_func):
3075         Clock refcounting fixes.
3076         Handle the case where preroll timed out more gracefully.
3077         
3078         * gst/gstsystemclock.c: (gst_system_clock_dispose):
3079         Clean up the internal thread in dispose. This is needed
3080         for subclasses that actually get disposed.
3081         
3082         * gst/schedulers/threadscheduler.c:
3083         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3084         (gst_thread_scheduler_dispose):
3085         Free thread pool in dispose.
3086
3087 2005-06-28  Andy Wingo  <wingo@pobox.com>
3088
3089         * tests/network-clock-utils.scm (debug, print-event): New utils.
3090
3091         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
3092         (*packet-loss*): Unified loss probability.
3093         (network-time): Report out-of-band events.
3094
3095         * tests/plot-data: Add support for out-of-band events. Hack it
3096         into this script instead of passing it down the pipe; should fix
3097         this later.
3098
3099 2005-06-28  Wim Taymans  <wim@fluendo.com>
3100
3101         * docs/gst/gstreamer.types:
3102         * docs/gst/tmpl/gstbasesrc.sgml:
3103         * docs/gst/tmpl/gstpad.sgml:
3104         Docs fixes.
3105
3106 2005-06-28  Wim Taymans  <wim@fluendo.com>
3107
3108         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3109         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
3110         (gst_proxy_pad_do_fixatecaps):
3111         Correctly proxy the check_pull_range function.
3112
3113 2005-06-28  Andy Wingo  <wingo@pobox.com>
3114
3115         * tests/network-clock.scm: Removed need for slib.
3116         
3117 2005-06-28  Wim Taymans  <wim@fluendo.com>
3118
3119         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
3120         (gst_basesink_preroll_queue_flush):
3121         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
3122         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
3123         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3124         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
3125         (gst_proxy_pad_set_property):
3126         * gst/gstpad.c:
3127         * gst/gstpad.h:
3128         * gst/gstqueue.c: (gst_queue_init):
3129         The deprecated pad loop function is removed now.
3130
3131 2005-06-28  Andy Wingo  <wingo@pobox.com>
3132
3133         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
3134         New parameters, simulate network packet loss.
3135
3136         * tests/network-clock-utils.scm: Initialize the RNG.
3137
3138 2005-06-28  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
3141         (gst_basesink_event), (gst_basesink_deactivate):
3142         Flushing the preroll queue always needs to unlock the waiters.
3143
3144 2005-06-28  Edward Hervey  <edward@fluendo.com>
3145
3146         * gst/gstpipeline.c: (gst_pipeline_send_event): 
3147         Wheen a seek was successful on a pipeline, set the stream_time to the
3148         seek offset in order to have a synchronized stream_time.
3149
3150 2005-06-28  Wim Taymans  <wim@fluendo.com>
3151
3152         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3153         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3154         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
3155         (gst_proxy_pad_do_fixatecaps):
3156         Call wrapper function instead of just calling the function
3157         pointers. This takes care of any locking and whatmore.
3158
3159 2005-06-28  Wim Taymans  <wim@fluendo.com>
3160
3161         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
3162         (gst_pad_pull_range):
3163         * gst/gstpad.h:
3164         CONNECTED -> LINKED.
3165
3166 2005-06-28  Andy Wingo  <wingo@pobox.com>
3167
3168         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
3169         source-munging commit!!!
3170
3171         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
3172         (gst_object_sink): Take gpointer arguments, not GstObject --
3173         avoids casts. Like GLib.
3174
3175         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
3176         activate.
3177
3178 2005-06-27  Andy Wingo  <wingo@pobox.com>
3179
3180         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
3181         remaining buffer.
3182
3183         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
3184         returns a sorted copy of the trace list.
3185         (gst_alloc_trace_print_live): New API, only prints traces with
3186         live objects. Sort the list.
3187         (gst_alloc_trace_print_all): Sort the list.
3188         (gst_alloc_trace_print): Align columns.
3189
3190         * gst/elements/gstttypefindelement.c:
3191         * gst/elements/gsttee.c:
3192         * gst/base/gstbasesrc.c:
3193         * gst/base/gstbasesink.c:
3194         * gst/base/gstbasetransform.c:
3195         * gst/gstqueue.c: Adapt for pad activation changes.
3196
3197         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
3198         sched.
3199         (gst_pipeline_dispose): Drop ref on sched.
3200
3201         * gst/gstpad.c (gst_pad_init): Set the default activate func.
3202         (gst_pad_activate_default): Push mode by default.
3203         (pre_activate_switch, post_activate_switch): New stubs, things to
3204         do before and after switching activation modes on pads.
3205         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
3206         the pad's activate function to choose which mode to activate.
3207         Shortcut on deactivation and call the right function directly.
3208         (gst_pad_activate_pull): New API, (de)activates a pad in pull
3209         mode.
3210         (gst_pad_activate_push): New API, same for push mode.
3211         (gst_pad_set_activate_function) 
3212         (gst_pad_set_activatepull_function) 
3213         (gst_pad_set_activatepush_function): Setters for new API.
3214
3215         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
3216         Trace all miniobjects.
3217         (gst_mini_object_make_writable): Unref the arg if we copy, like
3218         gst_caps_make_writable.
3219
3220         * gst/gstmessage.c (_gst_message_initialize): No trace init.
3221
3222         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
3223         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
3224         Adapt for new pad API.
3225
3226         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
3227
3228         * gst/gstelement.h:
3229         * gst/gstelement.c (gst_element_iterate_src_pads) 
3230         (gst_element_iterate_sink_pads): New API functions.
3231         
3232         * gst/gstelement.c (iterator_fold_with_resync): New utility,
3233         should fold into gstiterator.c in some form.
3234         (gst_element_pads_activate): Simplified via use of fold and
3235         delegation of decisions to gstpad->activate.
3236
3237         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
3238         help in debugging.
3239
3240         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
3241         class once in init, like gstmessage. Didn't run into this issue
3242         but it seems correct. Don't initialize a trace, gstminiobject does
3243         that.
3244
3245         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
3246         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
3247         to the bus.
3248         (assert_live_count): New util function, uses alloc traces to check
3249         cleanup.
3250
3251         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
3252         To be modified when unlink drops the internal pad.
3253
3254 2005-06-27  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
3257         (gst_bin_change_state):
3258         Cleanup the get_state() function a little, make sure it
3259         iterates the same set of elements.
3260         Added stub iterate_state_order().
3261
3262 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3263
3264         * docs/gst/gstreamer-docs.sgml:
3265         * docs/gst/gstreamer-sections.txt:
3266         * docs/gst/gstreamer.types:
3267         * docs/gst/tmpl/gstbasesink.sgml:
3268         * docs/gst/tmpl/gstbasesrc.sgml:
3269         * docs/gst/tmpl/gstbasetransform.sgml:
3270         * docs/gst/tmpl/gstelement.sgml:
3271         * docs/gst/tmpl/gstiterator.sgml:
3272         * gst/base/gstbasesrc.c:
3273         * gst/base/gstbasesrc.h:
3274         * gst/base/gstbasetransform.h:
3275         * gst/gstelement.c:
3276         * gst/gstiterator.h:
3277           adding basetransform and iterator docs
3278
3279 2005-06-27  Andy Wingo  <wingo@pobox.com>
3280
3281         * docs/design/part-activation.txt: Notes on how activation should
3282         work -- not quite implemented yet.
3283
3284 2005-06-25  Wim Taymans  <wim@fluendo.com>
3285
3286         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3287         At least get the chain function correct, needs more
3288         fixing.
3289
3290 2005-06-25  Wim Taymans  <wim@fluendo.com>
3291
3292         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3293         (gst_basesink_handle_object), (gst_basesink_event),
3294         (gst_basesink_do_sync), (gst_basesink_handle_event),
3295         (gst_basesink_change_state):
3296         * gst/gsttask.h:
3297         Right, two problems here: ghostpads don't take locks and
3298         glib _rec_mutex_lock_full() with depth==0 still locks.
3299         Catch illegal locking and g_warn them.
3300
3301 2005-06-25  Wim Taymans  <wim@fluendo.com>
3302
3303         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3304         Have to check for completion now...
3305
3306 2005-06-25  Wim Taymans  <wim@fluendo.com>
3307
3308         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3309         (gst_basesink_handle_object), (gst_basesink_event),
3310         (gst_basesink_do_sync), (gst_basesink_handle_event),
3311         (gst_basesink_change_state):
3312         * gst/gstpad.h:
3313         Unlock STREAM_LOCK whatever the recursion was.
3314
3315 2005-06-25  Wim Taymans  <wim@fluendo.com>
3316
3317         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3318         (gst_basesink_preroll_queue_empty),
3319         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3320         (gst_basesink_event), (gst_basesink_do_sync),
3321         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3322         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3323         (gst_basesink_change_state):
3324         Reworked the base sink, handle event and buffer serialisation
3325         correctly and removed possible deadlock.
3326         Handle EOS correctly.
3327
3328 2005-06-25  Wim Taymans  <wim@fluendo.com>
3329
3330         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3331         (gst_pipeline_change_state):
3332         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3333         Allow elements to post EOS in the state change function.
3334         Fix up -launch, make it exit the poll loop when the
3335         pipeline actually changed state.
3336         Fix up warning parsing in -launch.
3337
3338 2005-06-25  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3341         (gst_tee_sink_activate):
3342         Core takes STREAM_LOCK for us now.
3343
3344 2005-06-25  Wim Taymans  <wim@fluendo.com>
3345
3346         * gst/gstelement.c: (gst_element_get_state_func),
3347         (gst_element_set_state):
3348         * gst/gstelement.h:
3349         * gst/gstmessage.c: (gst_message_parse_error),
3350         (gst_message_parse_warning):
3351         Keep track of current target state while performing a state
3352         change so that subclasses can do something interesting.
3353         Fix parsing of warning/error messages when GError is NULL.
3354
3355 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3356
3357         * docs/gst/Makefile.am:
3358         * docs/gst/gstreamer-docs.sgml:
3359         * docs/gst/gstreamer-sections.txt:
3360         * docs/gst/gstreamer.types:
3361         * docs/gst/tmpl/gstbasesink.sgml:
3362         * docs/gst/tmpl/gstbasesrc.sgml:
3363         * docs/gst/tmpl/gstbin.sgml:
3364         * docs/gst/tmpl/gstcompat.sgml:
3365         * docs/gst/tmpl/gstfakesink.sgml:
3366         * docs/gst/tmpl/gstfakesrc.sgml:
3367         * docs/gst/tmpl/gstfilesink.sgml:
3368         * docs/gst/tmpl/gstfilesrc.sgml:
3369         * docs/gst/tmpl/gstindex.sgml:
3370         * docs/manual/appendix-quotes.xml:
3371         * gst/base/gstbasesrc.h:
3372         * gst/elements/gstfakesrc.h:
3373         * gst/gstmessage.h:
3374           start pulling in base classes and elements in our docs
3375
3376 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3377
3378         * docs/gst/Makefile.am:
3379         * docs/libs/Makefile.am:
3380           fixed make distcheck with gtk-doc 1.3
3381
3382 2005-06-23  Wim Taymans  <wim@fluendo.com>
3383
3384         * gst/gstelement.c: (gst_element_get_state_func),
3385         (gst_element_set_state), (gst_element_change_state):
3386         When the state did not change, also report NO_PREROLL
3387         when it matters.
3388
3389 2005-06-23  Wim Taymans  <wim@fluendo.com>
3390
3391         * gst/gstpad.c: (gst_pad_event_default):
3392         * gst/gstqueue.c: (gst_queue_loop):
3393         No unsafe task pausing please.
3394
3395 2005-06-23  Wim Taymans  <wim@fluendo.com>
3396
3397         * gst/schedulers/threadscheduler.c:
3398         (gst_thread_scheduler_task_start),
3399         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3400         Ref the task before pushing it on the threadpool. This
3401         makes sure that we have a ref when the threadfunction is
3402         actually called.
3403
3404 2005-06-23  Andy Wingo  <wingo@pobox.com>
3405
3406         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3407         offset is greater than the file's size.
3408
3409         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3410         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3411         * gst/gstobject.c (gst_object_class_init): Make the class lock
3412         recursive. Wim won't let me drop deep_notify. Decodebin works
3413         again, whoopdy doo.
3414
3415         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3416         internal pad, and hacks accordingly. Doesn't do it on the target
3417         pad because we change its caps. Probably catches all cases of
3418         interest tho.
3419         (gst_ghost_pad_set_property): Connect to notify::caps as
3420         appropritate.
3421
3422         * tests/network-clock.scm (plot-simulation): Pipe data to the
3423         elite python skript.
3424
3425         * tests/network-clock-utils.scm (define-parameter): New macro,
3426         defines a parameter that can be set via the command line.
3427         (set-parameter!, parse-parameter-arguments): Command line args
3428         parser.
3429
3430         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3431         stdin.
3432
3433 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3434
3435         * gst/elements/gsttypefindelement.c:
3436         (gst_type_find_element_handle_event):
3437           Don't restart typefinding on a discont.
3438         * gst/gstelement.c: (gst_element_set_state):
3439           Debug spelling fix.
3440         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3441           Allow changing mode of an active pad.
3442           Debug output fixes.
3443         * gst/registries/gstlibxmlregistry.c: (load_feature):
3444           Don't cast a static pad template to a normal pad template.
3445
3446 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3447
3448         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3449         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3450           remove gst_strtoll completely, since it didn't actually do
3451           anything more than what g_ascii_strtoull already does.
3452           check for range errors when deserializing
3453           do a cast for the unsigned cases; but further fixing needs
3454           a decision on what the interpretation of "(int)" and
3455           deserialization should be for values that fall outside the
3456           type's boundaries (ie, refuse, or interpret as casting)
3457
3458 2005-06-23  Wim Taymans  <wim@fluendo.com>
3459
3460         * check/Makefile.am:
3461         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3462         * docs/design/part-live-source.txt:
3463         * docs/design/part-states.txt:
3464         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3465         (gst_basesrc_set_live), (gst_basesrc_is_live),
3466         (gst_basesrc_get_range), (gst_basesrc_activate),
3467         (gst_basesrc_change_state):
3468         * gst/base/gstbasesrc.h:
3469         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3470         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3471         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3472         * gst/gstelement.c: (gst_element_get_state_func),
3473         (gst_element_set_state):
3474         * gst/gstelement.h:
3475         * gst/gsttypes.h:
3476         * tools/gst-launch.c: (event_loop), (main):
3477         Added support for live sources and other elements that
3478         cannot do preroll.
3479         Updated design docs, added live-source design doc.
3480         Implemented live source functionality in basesrc
3481         Fix error condition in _bin_get_state()
3482         Implement live source handling in -launch.
3483         Added check for live sources.
3484         Fixed case in GstBin where elements were changed state
3485         multiple times.
3486
3487
3488 2005-06-23  Andy Wingo  <wingo@pobox.com>
3489
3490         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3491         borken refcounting.
3492
3493         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3494         gst_caps_replace takes care of this for us.
3495
3496         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3497         gst_pad_set_caps on the target, not just its setcaps() function.
3498
3499         * tests/network-clock.scm: 
3500         * tests/network-clock-utils.scm: A network clock simulator.
3501         Something of an algorithmic testbed before doing something in C.
3502
3503 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3504
3505         * check/Makefile.am:
3506         * check/gst/capslist.h:
3507           copy over from 0.8, and add two with bitmasks specified with
3508           (int) 0xFF...
3509         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3510           add test to parse everything from capslist.h
3511         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3512         (main):
3513           add test for structure deserialization
3514         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3515           add tests for deserialization of strings to int types
3516         * gst/gststructure.c: (gst_structure_nth_field_name):
3517         * gst/gststructure.h:
3518           add a way to get the name of a field referenced by index
3519         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3520           instead of checking if the resulting long long lies between
3521           min and max, we check if the long long would fit into
3522           a number of bytes for the final type.
3523           This fixes cases where a string represents 2^32 - 1, which
3524           when cast to int would be the (valid) -1, but is bigger than
3525           G_MAXINT
3526
3527 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3528
3529         * gst/parse/grammar.y:
3530           add a log line for type deserialization
3531
3532 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3533
3534         * check/gst/gstvalue.c: (START_TEST):
3535         * gst/gstvalue.c: (gst_value_deserialize):
3536           return long long, not int, so gint64 deserialization actually
3537           works.  Is there any flag that makes the compiler check this ?
3538           Fixes #308559
3539
3540 2005-06-22  Wim Taymans  <wim@fluendo.com>
3541
3542         * gst/gstbuffer.h:
3543         Added convenience macros for setting buffers in GValue.
3544
3545 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3546
3547         * check/gst/.cvsignore:
3548         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3549           add a test deserializing int64, and comment part out because
3550           it fails, yay !
3551
3552 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3553
3554         * check/Makefile.am:
3555         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3556         * testsuite/Makefile.am:
3557         * testsuite/caps/Makefile.am:
3558         * testsuite/caps/value_serialize.c:
3559         * testsuite/test_gst_init.c:
3560           move a value_serialize test over
3561
3562 2005-06-20  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstpad.c:
3565         Small doc updates.
3566         
3567         * gst/gstvalue.c: (gst_value_compare_buffer),
3568         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3569         (gst_value_compare_flags), (gst_value_serialize_flags),
3570         (gst_value_deserialize_flags), (_gst_value_initialize):
3571         Fix serialisation of buffers, they are not boxed types anymore
3572
3573 2005-06-20  Wim Taymans  <wim@fluendo.com>
3574
3575         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3576         Testcase to show error in buffer-on-caps serialisation.
3577
3578 2005-06-20  Andy Wingo  <wingo@pobox.com>
3579
3580         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3581         will be adding to later.
3582
3583         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3584         if its socks fill with rocks.
3585         (gst_system_clock_obtain): Set the name on object construction.
3586         Avoid double-checked locking.
3587
3588 2005-06-20  Tim-Philipp M??ller  <tim at centricular dot net>
3589
3590         * gst/gsturi.c: (gst_element_make_from_uri):
3591           Fix potential endless loop.
3592
3593 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3594
3595         * check/Makefile.am:
3596           add gsttag
3597         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3598         (main):
3599           move over from testsuite dir and clean up
3600         * configure.ac:
3601         * gst/gsttag.c:
3602         * testsuite/Makefile.am:
3603         * testsuite/tags/.cvsignore:
3604         * testsuite/tags/Makefile.am:
3605         * testsuite/tags/merge.c:
3606           remove testsuite/tags
3607
3608 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3609
3610         * docs/gst/gstreamer-sections.txt:
3611         * docs/gst/tmpl/gstenumtypes.sgml:
3612         * win32/gstenumtypes.c:
3613           clean up documentation build a little
3614
3615 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3616
3617         * check/gstcheck.h:
3618           add macros for checking refcounts on objects and caps
3619         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3620           add some more unit tests
3621         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3622         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3623           fix leaked refcounts (I hope :)) so unittest works
3624         * gst/gstpad.h:
3625           whitespace removal
3626
3627 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3628
3629         * configure.ac: back to HEAD
3630
3631 === release 0.9.1 ===
3632
3633 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3634
3635         * NEWS:
3636         * RELEASE:
3637           updated
3638
3639 2005-06-17  Andy Wingo  <wingo@pobox.com>
3640
3641         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3642         assert; it's always possible that the pad gets deactivated in
3643         between the checks in gstpad.c and the implementation. Rely on
3644         finish_preroll() to return a FLUSHING or similar instead of on the
3645         assert.
3646         
3647         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3648         clock and post an EOS message if we come out of finish_preroll in
3649         the playing state.
3650
3651 2005-06-16  David Schleef  <ds@schleef.org>
3652
3653         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3654         (gst_capsfilter_set_property): Allow NULL as possible value
3655         for filter_caps property, indicating GST_CAPS_ANY.
3656
3657 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3658
3659         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3660           fix debug output
3661         * gst/schedulers/Makefile.am:
3662           use libgst prefix
3663         * gstreamer.spec.in:
3664           fix spec for it
3665
3666 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3667
3668         * gstreamer.spec.in:
3669           clean up
3670
3671 2005-06-08  Andy Wingo  <wingo@pobox.com>
3672
3673         * gst/gstutils.c: RPAD fixes all around.
3674         (gst_element_link_pads): Refcounting fixes.
3675
3676         * tools/gst-inspect.c:
3677         * tools/gst-xmlinspect.c:
3678         * parse/grammar.y:
3679         * gst/base/gsttypefindhelper.c:
3680         * gst/base/gstbasesink.c:
3681         * gst/gstqueue.c: RPAD fixes.
3682
3683         * gst/gstghostpad.h:
3684         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3685         pads. The tricky thing is they provide both source and sink
3686         interfaces, since they proxy the internal pad for the external
3687         pad, and vice versa. Implement with lower-level ProxyPad objects,
3688         with the interior proxy pad as a child of the exterior ghost pad.
3689         Should write a doc on this.
3690         
3691         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3692         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3693         gst_object API.
3694         
3695         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3696         pads are real pads. No ghost pads in this file. Not documenting
3697         the myriad s/RPAD/PAD/ and REALIZE fixes.
3698         (gst_pad_class_init): Add properties for "direction" and
3699         "template". Both are construct-only, so they can't change during
3700         the life of the pad. Fixes properly deriving from GstPad.
3701         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3702         derived objects, just set properties when creating the objects via
3703         g_object_new.
3704         (gst_pad_get_parent): Implement as a function, return NULL if the
3705         parent is not an element.
3706         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3707         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3708         
3709         * gst/gstobject.c (gst_object_class_init): Make name a construct
3710         property. Don't set it in the object init.
3711
3712         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3713         with UNKNOWN direction.
3714         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3715         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3716         (gst_element_remove_pad): Remove ghost-pad special cases.
3717         (gst_element_pads_activate): Remove rpad cruft.
3718
3719         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3720         catch the pad's-parent-not-an-element case.
3721
3722         * gst/gst.h: Include gstghostpad.h.
3723
3724         * gst/gst.c (init_post): No more real, ghost pads.
3725
3726         * gst/Makefile.am: Add gstghostpad.[ch].
3727
3728         * check/Makefile.am:
3729         * check/gst/gstbin.c:
3730         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3731         into a bin creates ghost pads, and that the refcounts are right.
3732         Partly moved from gstbin.c.
3733
3734 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3735
3736         * check/gst-libs/.cvsignore:
3737         * check/gst/.cvsignore:
3738         * check/pipelines/.cvsignore:
3739           ignore more
3740         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3741         (START_TEST), (cleanup_suite), (main):
3742           add some tests related to cleanup after running pipelines
3743
3744 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3745
3746         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3747           add a testsuite for GstBuffer
3748
3749 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3750
3751         * gst/gstminiobject.h:
3752           add defines for accessing the refcount
3753
3754 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3755
3756         * Makefile.am: added support for html unit test coverage reports
3757
3758 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3759
3760         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3761           Free existing caps if the capsfilter changes. Add a FIXME about
3762           setting those caps on the pads.
3763
3764         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3765           Before adding a ghost pad to a parent bin, check that there isn't
3766           already one for the element on the bin. Prevents infinite recursion
3767           when using decodebin in parse pipelines. Andy says he'll rewrite the
3768           way this works anyway, so ignore the hack.
3769
3770 2005-06-02  Andy Wingo  <wingo@pobox.com>
3771
3772         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3773         file size, pass it on to the type find helper.
3774
3775         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3776         segment_start and segment_end properly according to the seek
3777         method. Segment_end is still a bit flaky because offset can be
3778         negative for CUR and END cases, but it takes -1 as an "unset"
3779         value.
3780
3781 2005-06-02  Wim Taymans  <wim@fluendo.com>
3782
3783         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3784         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3785         (gst_basesink_activate):
3786         * gst/base/gstbasesink.h:
3787         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3788         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3789         (gst_pad_query), (gst_pad_start_task):
3790         * gst/gstpad.h:
3791         * gst/gstqueue.c: (gst_queue_bufferalloc),
3792         (gst_queue_handle_sink_event), (gst_queue_chain):
3793         Bufferalloc: return GstFlowReturn to more accuratly report
3794         why allocation failed.
3795
3796 2005-06-02  Wim Taymans  <wim@fluendo.com>
3797
3798         * gst/gstpipeline.c: (gst_pipeline_send_event):
3799         Take snapshot of state without blocking.
3800
3801 2005-06-02  Wim Taymans  <wim@fluendo.com>
3802
3803         * docs/design/part-TODO.txt:
3804         * docs/design/part-caps.txt:
3805         * docs/design/part-clocks.txt:
3806         * docs/design/part-negotiation.txt:
3807         * docs/design/part-preroll.txt:
3808         Small doc updates 
3809
3810 2005-05-30  Wim Taymans  <wim@fluendo.com>
3811
3812         * gst/elements/gstidentity.c: (gst_identity_event),
3813         (gst_identity_transform), (gst_identity_get_property):
3814         Protect last_message property as it is accessed from
3815         multiple threads.
3816
3817 2005-05-30  Wim Taymans  <wim@fluendo.com>
3818
3819         * gst/gstelement.c: (gst_element_init),
3820         (gst_element_pads_activate), (gst_element_change_state):
3821         Slicker pad activation code.
3822
3823 2005-05-30  Wim Taymans  <wim@fluendo.com>
3824
3825         * gst/Makefile.am:
3826         * gst/gstelement.h:
3827         * gst/gstelementfactory.h:
3828         * gst/gsttypes.h:
3829         Move elementfactory methods to separate .h file.
3830
3831 2005-05-30  Wim Taymans  <wim@fluendo.com>
3832
3833         * docs/design/part-overview.txt:
3834         * gst/gstsystemclock.h:
3835         Small typo fixes, doc updates.
3836
3837 2005-05-30  Wim Taymans  <wim@fluendo.com>
3838
3839         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3840         (init_popt_callback):
3841         Remove cpu-opt flag.
3842
3843 2005-05-30  Wim Taymans  <wim@fluendo.com>
3844
3845         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3846         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3847         * gst/gstbuffer.h:
3848         Avoid typechecking in places where not needed.
3849         Added accessor for malloc_data.
3850
3851 2005-05-30  Wim Taymans  <wim@fluendo.com>
3852
3853         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3854         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3855         (gst_pad_configure_sink), (gst_pad_configure_src),
3856         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3857         (gst_pad_start_task):
3858         Propagate errors from _set_caps() in configure_src/sink
3859         functions instead of returning TRUE.
3860         FLUSH events can travel up and downstream
3861
3862
3863 2005-05-30  Wim Taymans  <wim@fluendo.com>
3864
3865         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3866         (gst_basesink_activate):
3867         Handle EOS in preroll.
3868
3869 2005-05-30  Wim Taymans  <wim@fluendo.com>
3870
3871         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3872         (gst_queue_loop), (gst_queue_handle_src_event):
3873         Remove old pieces of code
3874         Flushing the queue in an upstream event is a very bad idea.
3875
3876 2005-05-26  Andy Wingo  <wingo@pobox.com>
3877
3878         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3879         gst_value_set_mini_object so as to add a ref on the object (which
3880         will be removed when the value is unset).
3881
3882         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3883         arg type in ::handoff.
3884
3885         * gst/gstelement.c (gst_element_change_state): Also deactivate
3886         pads in READY->NULL, just in case the element didn't make it to
3887         PAUSED. Wingo tested, Wim approved.
3888
3889 2005-05-26  Wim Taymans  <wim@fluendo.com>
3890
3891         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3892         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3893         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3894         A flushing pad cannot be used to alloc_buffer from.
3895
3896 2005-05-26  Wim Taymans  <wim@fluendo.com>
3897
3898         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3899         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3900         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3901         (gst_bus_create_watch), (gst_bus_add_watch_full):
3902         * gst/gstbus.h:
3903         Implement a real GSource and use g_main_context_wakeup() to
3904         signal new messages instead of the socketpair.
3905
3906 2005-05-25  Wim Taymans  <wim@fluendo.com>
3907
3908         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3909         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3910         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3911         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3912         (gst_pad_send_event), (gst_pad_start_task):
3913         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3914         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3915         (gst_queue_sink_activate), (gst_queue_src_activate),
3916         (gst_queue_change_state):
3917         * gst/gstqueue.h:
3918         Fix state changes for non sinks. We now change sinks, then elements
3919         with unconnected srcpads, then the rest.
3920         More efficient queue unlocking in flush and state changes.
3921         Set the pad activate mode even if it does not have an activate
3922         function.
3923
3924 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3925
3926         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3927           Don't go in pull mode for non-seekable sources.
3928         * gst/elements/gsttypefindelement.h:
3929         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3930         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3931         (free_entry), (stop_typefinding),
3932         (gst_type_find_element_handle_event), (find_peek),
3933         (gst_type_find_element_chain), (do_pull_typefind),
3934         (gst_type_find_element_change_state):
3935           Allow typefinding (w/o seeking) in push-mode, simplified version
3936           of what was in 0.8.
3937         * gst/gstutils.c: (gst_buffer_join):
3938         * gst/gstutils.h:
3939           gst_buffer_join() from 0.8.
3940
3941 2005-05-25  Wim Taymans  <wim@fluendo.com>
3942
3943         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3944         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3945         (gst_pad_send_event), (gst_pad_start_task):
3946         Disable attempt at mode switching until it is figured out.
3947
3948 2005-05-25  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3951         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3952         (gst_basesink_finish_preroll), (gst_basesink_chain),
3953         (gst_basesink_loop), (gst_basesink_activate),
3954         (gst_basesink_change_state):
3955         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3956         (gst_basesrc_get_range), (gst_basesrc_loop),
3957         (gst_basesrc_activate):
3958         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3959         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3960         (gst_real_pad_init), (gst_real_pad_set_property),
3961         (gst_real_pad_get_property), (gst_pad_set_active),
3962         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3963         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3964         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3965         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3966         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3967         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3968         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3969         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3970         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3971         (gst_pad_stop_task):
3972         * gst/gstpad.h:
3973         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3974         (gst_queue_loop), (gst_queue_src_activate):
3975         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3976         (gst_task_get_state):
3977         * gst/gsttask.h:
3978         * gst/schedulers/threadscheduler.c:
3979         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3980         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3981         in task function.
3982         Remove ACTIVE pad flag, use FLUSHING everywhere
3983         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3984         functions.
3985         Add locks around IS_FLUSHING when reading.
3986         Take STREAM lock in chain(), get_range() functions so plugins
3987         don't need to take it anymore.
3988         
3989
3990
3991 2005-05-25  Wim Taymans  <wim@fluendo.com>
3992
3993         * tools/gst-launch.c: (event_loop):
3994         Unref message after using its contents instead of
3995         before.
3996
3997 2005-05-24  Wim Taymans  <wim@fluendo.com>
3998
3999         * docs/design/draft-ghostpads.txt:
4000         * docs/design/draft-push-pull.txt:
4001         * docs/design/draft-query.txt:
4002         * docs/design/part-overview.txt:
4003         Docs updates, added general overview doc.
4004
4005 2005-05-21  David Schleef  <ds@schleef.org>
4006
4007         * docs/gst/tmpl/old/GstBin.sgml:
4008         * docs/gst/tmpl/old/GstBuffer.sgml:
4009         * docs/gst/tmpl/old/GstCaps.sgml:
4010         * docs/gst/tmpl/old/GstClock.sgml:
4011         * docs/gst/tmpl/old/GstCompat.sgml:
4012         * docs/gst/tmpl/old/GstData.sgml:
4013         * docs/gst/tmpl/old/GstElement.sgml:
4014         * docs/gst/tmpl/old/GstEvent.sgml:
4015         * docs/gst/tmpl/old/GstIndex.sgml:
4016         * docs/gst/tmpl/old/GstStructure.sgml:
4017         * docs/gst/tmpl/old/GstTag.sgml:
4018         * docs/gst/tmpl/old/cothreads.sgml:
4019         * docs/gst/tmpl/old/cothreads_compat.sgml:
4020         * docs/gst/tmpl/old/gettext.sgml:
4021         * docs/gst/tmpl/old/gobject2gtk.sgml:
4022         * docs/gst/tmpl/old/grammar.tab.sgml:
4023         * docs/gst/tmpl/old/gst-i18n-app.sgml:
4024         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
4025         * docs/gst/tmpl/old/gst_private.sgml:
4026         * docs/gst/tmpl/old/gstaggregator.sgml:
4027         * docs/gst/tmpl/old/gstarch.sgml:
4028         * docs/gst/tmpl/old/gstatomic_impl.sgml:
4029         * docs/gst/tmpl/old/gstbufferstore.sgml:
4030         * docs/gst/tmpl/old/gstdata_private.sgml:
4031         * docs/gst/tmpl/old/gstdisksink.sgml:
4032         * docs/gst/tmpl/old/gstdisksrc.sgml:
4033         * docs/gst/tmpl/old/gstelementfactory.sgml:
4034         * docs/gst/tmpl/old/gstextratypes.sgml:
4035         * docs/gst/tmpl/old/gstfakesink.sgml:
4036         * docs/gst/tmpl/old/gstfakesrc.sgml:
4037         * docs/gst/tmpl/old/gstfdsink.sgml:
4038         * docs/gst/tmpl/old/gstfdsrc.sgml:
4039         * docs/gst/tmpl/old/gstfilesink.sgml:
4040         * docs/gst/tmpl/old/gstfilesrc.sgml:
4041         * docs/gst/tmpl/old/gsthttpsrc.sgml:
4042         * docs/gst/tmpl/old/gstidentity.sgml:
4043         * docs/gst/tmpl/old/gstindexfactory.sgml:
4044         * docs/gst/tmpl/old/gstmarshal.sgml:
4045         * docs/gst/tmpl/old/gstmd5sink.sgml:
4046         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
4047         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
4048         * docs/gst/tmpl/old/gstpadtemplate.sgml:
4049         * docs/gst/tmpl/old/gstpipefilter.sgml:
4050         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
4051         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
4052         * docs/gst/tmpl/old/gstshaper.sgml:
4053         * docs/gst/tmpl/old/gstspider.sgml:
4054         * docs/gst/tmpl/old/gstspideridentity.sgml:
4055         * docs/gst/tmpl/old/gststatistics.sgml:
4056         * docs/gst/tmpl/old/gsttee.sgml:
4057         * docs/gst/tmpl/old/gsttimecache.sgml:
4058         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
4059         * docs/gst/tmpl/old/gstxmlregistry.sgml:
4060         * docs/gst/tmpl/old/gthread-cothreads.sgml:
4061         * docs/gst/tmpl/old/types.sgml:
4062           I didn't intend to add these or check them in.
4063
4064 2005-05-19  David Schleef  <ds@schleef.org>
4065
4066         * configure.ac: Use -no-common everywhere.  In a sane world, it
4067           would be the default in libtool, because without it, you can't
4068           build DLLs on Windows.
4069         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
4070         * docs/gst/gstreamer-sections.txt:
4071         * docs/gst/tmpl/gstcpu.sgml:
4072         * docs/gst/tmpl/gstdata.sgml:
4073         * docs/gst/tmpl/gstthread.sgml:
4074
4075 2005-05-19  David Schleef  <ds@schleef.org>
4076
4077         * gst/gstminiobject.c: (gst_value_set_mini_object),
4078         (gst_value_take_mini_object), (gst_value_get_mini_object):
4079         * gst/gstminiobject.h: Add GValue set/get functions.
4080
4081 2005-05-19  Wim Taymans  <wim@fluendo.com>
4082
4083         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
4084         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
4085         (gst_subbuffer_init), (gst_buffer_is_span_fast):
4086         * gst/gstbuffer.h:
4087         * gst/gstbus.c: (gst_bus_post):
4088         * gst/gstelement.c: (gst_element_get_random_pad):
4089         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
4090         Make subbufer unref the parent in finalize.
4091         some more debugging info.
4092
4093
4094 2005-05-19  Wim Taymans  <wim@fluendo.com>
4095
4096         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4097         (gst_basesink_init), (gst_basesink_finalize),
4098         (gst_basesink_activate), (gst_basesink_change_state):
4099         Don't free preroll queue too early.
4100
4101 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4102
4103         * gst/Makefile.am:
4104         * gst/ROADMAP:
4105           Hi, I'm outdated. Please shoot me.
4106
4107 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4108
4109         * gst/gstpipeline.c: (gst_pipeline_send_event):
4110           Do not access variables after they have been deleted.
4111
4112 2005-05-19  Wim Taymans  <wim@fluendo.com>
4113
4114         * tools/gst-inspect.c: (print_plugin_features):
4115         A plugin feature does unfortunatly not use the
4116         object name yet...
4117
4118 2005-05-18  Wim Taymans  <wim@fluendo.com>
4119
4120         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
4121         Port _span() functions to new subbuffers.
4122
4123 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4124
4125         * gst/gstbin.c: (gst_bin_add_func):
4126           Fix clock settery in bins when adding kids after the clock has
4127           been selected.
4128
4129 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4130
4131         * gst/elements/gstidentity.c: (gst_identity_class_init):
4132           Workaround until signals support GstMiniObject.
4133
4134 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
4135
4136         * gst/gstbuffer.c:
4137         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
4138
4139 2005-05-18  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/base/Makefile.am:
4142         * gst/base/gstadapter.c: (gst_adapter_base_init),
4143         (gst_adapter_class_init), (gst_adapter_init),
4144         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
4145         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
4146         (gst_adapter_flush), (gst_adapter_available),
4147         (gst_adapter_available_fast):
4148         * gst/base/gstadapter.h:
4149         Ported and added adapter to the base classes.
4150
4151 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4152
4153         * gst/gst.c:
4154         * gst/gstmessage.c:
4155           Make sure the class is reffed/unreffed once before threads can be
4156           used.  Fixes #304551.
4157
4158 2005-05-17  Wim Taymans  <wim@fluendo.com>
4159
4160         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
4161         (gst_basesink_chain_unlocked), (gst_basesink_activate):
4162         * gst/gstminiobject.c: (gst_mini_object_get_type),
4163         (gst_mini_object_free):
4164         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
4165         (gst_pad_push), (gst_pad_push_event):
4166         * gst/gstqueue.c: (gst_queue_change_state):
4167         Don't queue buffers in basesink when we are flushing.
4168         Unref buffer when flushing in basesink.
4169         Flush queue when going to READY
4170         Unref buffer when _push() returns an error.
4171         Don't free MiniObject instance when refcount is incremented
4172         in _finalize() so that we can recover objects.
4173
4174 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         * docs/manual/advanced-schedulers.xml:
4177         * docs/manual/appendix-checklist.xml:
4178         * docs/pwg/advanced-clock.xml:
4179         * docs/pwg/advanced-interfaces.xml:
4180         * docs/pwg/advanced-request.xml:
4181         * docs/pwg/advanced-types.xml:
4182         * docs/pwg/intro-preface.xml:
4183         * examples/plugins/example.c: (gst_example_get_type),
4184         (gst_example_class_init), (gst_example_chain),
4185         (gst_example_set_property), (gst_example_get_property),
4186         (gst_example_change_state), (plugin_init):
4187         * examples/plugins/example.h:
4188           small doc fixes
4189
4190 2005-05-17  Wim Taymans  <wim@fluendo.com>
4191
4192         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
4193         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
4194         * gst/gstqueue.c: (gst_queue_change_state):
4195         Clear queue when going to READY.
4196         Remove IN_SETCAPS flag too.
4197
4198 2005-05-17  Tim-Philipp M??ller  <tim at centricular dot net>
4199
4200         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
4201           Remove implicit cast from gboolean to GstElementStateReturn;
4202           make sure we still return failure in paused => ready case if
4203           the parent class fails to change state and our own stop 
4204           vfunc succeeds.
4205
4206 2005-05-17  Wim Taymans  <wim@fluendo.com>
4207
4208         * tools/gst-launch.c: (event_loop):
4209         Message was unreffed too soon.
4210
4211 2005-05-16  Andy Wingo  <wingo@pobox.com>
4212
4213         * gst/gstbin.c (sink_iterator_filter): Err... um...
4214
4215         * check/gst/gstbin.c (test_ghost_pads): New test for the
4216         ghosting-if-elements-not-in-same-bin behavior.
4217
4218 2005-05-16  David Schleef  <ds@schleef.org>
4219
4220         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
4221         accessing refcount directly.
4222
4223 2005-05-15  David Schleef  <ds@schleef.org>
4224
4225         * check/Makefile.am: remove GstData checks
4226         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
4227         * gst/Makefile.am: add miniobject, remove data
4228         * gst/gst.h: add miniobject, remove data
4229         * gst/gstdata.c: remove
4230         * gst/gstdata.h: remove
4231         * gst/gstdata_private.h: remove
4232         * gst/gsttypes.h: remove GstEvent and GstMessage
4233         * gst/gstelement.c: (gst_element_post_message): fix for API changes
4234         * gst/gstmarshal.list: change BOXED -> OBJECT
4235
4236         Implement GstMiniObject.
4237         * gst/gstminiobject.c:
4238         * gst/gstminiobject.h:
4239
4240         Modify to be subclasses of GstMiniObject.
4241         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
4242         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
4243         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
4244         (gst_subbuffer_get_type), (gst_subbuffer_init),
4245         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
4246         (gst_buffer_span):
4247         * gst/gstbuffer.h:
4248         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
4249         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
4250         (_gst_event_copy), (gst_event_new):
4251         * gst/gstevent.h:
4252         * gst/gstmessage.c: (_gst_message_initialize),
4253         (gst_message_get_type), (gst_message_class_init),
4254         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
4255         (gst_message_new), (gst_message_new_error),
4256         (gst_message_new_warning), (gst_message_new_tag),
4257         (gst_message_new_state_changed), (gst_message_new_application):
4258         * gst/gstmessage.h:
4259         * gst/gstprobe.c: (gst_probe_perform),
4260         (gst_probe_dispatcher_dispatch):
4261         * gst/gstprobe.h:
4262         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4263         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4264         (_gst_query_copy), (gst_query_new):
4265
4266         Update elements for GstData -> GstMiniObject changes
4267         * gst/gstquery.h:
4268         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4269         (gst_queue_chain), (gst_queue_loop):
4270         * gst/elements/gstbufferstore.c:
4271         (gst_buffer_store_add_buffer_func),
4272         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4273         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4274         (gst_fakesink_render):
4275         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4276         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4277         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4278         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4279         (gst_filesrc_create_read):
4280         * gst/elements/gstidentity.c: (gst_identity_class_init):
4281         * gst/elements/gsttypefindelement.c:
4282         (gst_type_find_element_src_event), (free_entry_buffers),
4283         (gst_type_find_element_handle_event):
4284         * libs/gst/dataprotocol/dataprotocol.c:
4285         (gst_dp_header_from_buffer):
4286         * libs/gst/dataprotocol/dataprotocol.h:
4287         * libs/gst/dataprotocol/dp-private.h:
4288
4289 2005-05-15  David Schleef  <ds@schleef.org>
4290
4291         * gst/elements/gstelements.c: Don't include headers that were
4292         just removed.
4293
4294 2005-05-15  David Schleef  <ds@schleef.org>
4295
4296         * gst/elements/Makefile.am: Remove some elements that don't
4297         need to be in the core (or even exist at all).
4298         * gst/elements/gstaggregator.c:
4299         * gst/elements/gstaggregator.h:
4300         * gst/elements/gstmd5sink.c:
4301         * gst/elements/gstmd5sink.h:
4302         * gst/elements/gstmultifilesrc.c:
4303         * gst/elements/gstmultifilesrc.h:
4304         * gst/elements/gstpipefilter.c:
4305         * gst/elements/gstpipefilter.h:
4306         * gst/elements/gstshaper.c:
4307         * gst/elements/gstshaper.h:
4308         * gst/elements/gststatistics.c:
4309         * gst/elements/gststatistics.h:
4310         * po/POTFILES.in: Remove above files.
4311
4312 2005-05-14  Andy Wingo  <wingo@pobox.com>
4313
4314         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4315         so as to get the refs right.
4316         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4317         unreffing objects that don't pass the filter.
4318
4319         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4320         gst_element_set_bus.
4321         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4322         normal cases, this will destroy the bus.
4323
4324         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4325         object.
4326
4327         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4328         has no sinks.
4329
4330 2005-05-13  Andy Wingo  <wingo@pobox.com>
4331
4332         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4333         gst_pad_link, call pad_link_maybe_ghosting,
4334         (pad_link_maybe_ghosting): Links pads, making sure that the
4335         elements being linked are in the same bin.
4336         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4337         Helpers for pad_link_maybe_ghosting.
4338
4339 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
4340
4341         * configure.ac:
4342           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4343
4344 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
4345
4346         * docs/design/part-element-source.txt:
4347           Mention GstPushSrc
4348
4349 2005-05-12  Wim Taymans  <wim@fluendo.com>
4350
4351         * gst/base/gstbasesink.c: (gst_basesink_init),
4352         (gst_basesink_activate):
4353         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4354         (gst_basesrc_is_seekable):
4355         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4356         (bin_element_is_sink), (gst_bin_change_state):
4357         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4358         * gst/gstelement.h:
4359         Identify sinks by their flag to avoid overly complicated
4360         checks (fow now).
4361         Do state changes even for elements not reachable from the
4362         sinks.
4363         BaseSink is a sink now :)
4364         Some more debugging info in the basesrc.
4365
4366
4367 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4368
4369         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4370           Implement _query on a bin, similar to _send_event.
4371
4372 2005-05-12  Tim-Philipp M??ller  <tim at centricular dot net>
4373
4374         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4375           Discont event offset format should be GST_FORMAT_BYTES,
4376           not GST_FORMAT_TIME.
4377
4378 2005-05-12  Wim Taymans  <wim@fluendo.com>
4379
4380         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4381         Same fix as Ronald's but without the signal. 
4382
4383 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4384
4385         * gst/gstutils.c: (gst_element_query_position):
4386           No, an element is not a pad.
4387
4388 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4389
4390         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4391         (gst_bin_get_state):
4392           If a child is removed from a bin while we remove the child from
4393           the bin and while we're retrieving its state, signal this to the
4394           get_state function so we abort the wait (instead of waiting for
4395           a timeout) and can immediately re-iterate over all other elements.
4396
4397 2005-05-12  Wim Taymans  <wim@fluendo.com>
4398
4399         * gst/base/Makefile.am:
4400         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4401         (gst_basesrc_start):
4402         * gst/base/gstbasesrc.h:
4403         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4404         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4405         (gst_pushsrc_init), (gst_pushsrc_create):
4406         * gst/base/gstpushsrc.h:
4407         Added is_seekable to BaseSrc
4408         Added simple PushSrc.
4409
4410 2005-05-11  Wim Taymans  <wim@fluendo.com>
4411
4412         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4413         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4414         (gst_element_link_pads), (gst_element_query_position),
4415         (gst_element_query_convert), (intersect_caps_func),
4416         (gst_pad_query_position), (gst_pad_query_convert):
4417         Fix refcounting in utils function.
4418         No point in trying to activate a pad when it's added, it could
4419         be added from the state change function and then we deadlock, the
4420         element has to decide what to do.
4421
4422 2005-05-10  Andy Wingo  <wingo@pobox.com>
4423
4424         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4425         *all* the arguments.
4426
4427         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4428         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4429         lock (according to the docs -- if this is wrong change the docs).
4430
4431         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4432         flush messages in the NULL state.
4433
4434         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4435         message immediately and return.
4436         (gst_bus_set_flushing): New function. If a bus is flushing, it
4437         flushes out any queued messages and immediately unrefs new
4438         messages. This is so when an element goes to NULL, all of the
4439         unhandled messages coming from it can be freed, and their
4440         references to the element dropped. In other words: message source
4441         ref considered harmful :P
4442
4443         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4444         we're finished with it.
4445
4446         * gst/gstmessage.c (gst_message_new_state_changed): 
4447
4448 2005-05-10  Wim Taymans  <wim@fluendo.com>
4449
4450         * gst/gstvalue.c: (gst_value_compare_flags),
4451         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4452         (_gst_value_initialize):
4453         Added flags serialize/deserialize/compare code.
4454
4455 2005-05-09  Andy Wingo  <wingo@pobox.com>
4456
4457         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4458         Intersect the peer's caps with our caps.
4459
4460 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4461
4462         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4463         * gst/elements/gsttypefindelement.c: (find_peek):
4464           Handle negative offsets better. Fixes decodebin.
4465
4466 2005-05-09  Wim Taymans  <wim@fluendo.com>
4467
4468         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4469         (gst_base_transform_event):
4470         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4471         Implement accept_caps.
4472         Fix silly lock/unlock mismatch in base class.
4473
4474 2005-05-09  Wim Taymans  <wim@fluendo.com>
4475
4476         * docs/design/draft-push-pull.txt:
4477         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4478         * gst/elements/gstfilesink.c: (gst_filesink_init),
4479         (gst_filesink_query):
4480         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4481         (gst_type_find_handle_src_query), (find_element_get_length):
4482         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4483         * gst/gstelement.h:
4484         * gst/gstmessage.c:
4485         * gst/gstmessage.h:
4486         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4487         (gst_real_pad_get_caps_unlocked),
4488         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4489         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4490         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4491         (gst_real_pad_dispose), (gst_real_pad_finalize),
4492         (gst_pad_load_and_link), (gst_pad_save_thyself),
4493         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4494         (gst_pad_check_pull_range), (gst_pad_pull_range),
4495         (gst_pad_template_get_type), (gst_pad_template_class_init),
4496         (gst_pad_template_init), (gst_pad_template_dispose),
4497         (name_is_valid), (gst_static_pad_template_get),
4498         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4499         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4500         (gst_pad_get_element_private), (gst_pad_start_task),
4501         (gst_pad_pause_task), (gst_pad_stop_task),
4502         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4503         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4504         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4505         (gst_ghost_pad_new):
4506         * gst/gstpad.h:
4507         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4508         (gst_query_new_position), (gst_query_set_position),
4509         (gst_query_parse_position), (gst_query_new_convert),
4510         (gst_query_set_convert), (gst_query_parse_convert):
4511         * gst/gstquery.h:
4512         * gst/gstqueryutils.c:
4513         * gst/gstqueryutils.h:
4514         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4515         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4516         (gst_queue_handle_src_query):
4517         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4518         (gst_element_query_position), (gst_element_query_convert),
4519         (intersect_caps_func), (gst_pad_query_position),
4520         (gst_pad_query_convert):
4521         * gst/gstutils.h:
4522         * tools/gst-inspect.c: (print_pad_info):
4523         * tools/gst-xmlinspect.c: (print_element_info):
4524         Remove old query functions. Ported old code.
4525         Added position/convert helper functions to gstutils.
4526         Reordered gstpad.c code, grouping relevant things.
4527         Remove gst_message_new(), always need to speficy a specific
4528         message.
4529
4530
4531 2005-05-09  Andy Wingo  <wingo@pobox.com>
4532
4533         * gst/gstiterator.h: Add some includes.
4534
4535         * gst/gstqueryutils.h: Include more headers.
4536
4537         * gst/gstpad.h:
4538         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4539         some uses of gst_pad_query.
4540
4541         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4542         NULL out parameters.
4543         (gst_query_new_position): New proc, allocates a new position
4544         query.
4545
4546         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4547         gstqueryutils.c to the build.
4548
4549         * gst/gststructure.c (gst_structure_set_valist): Implement with
4550         the generic G_VALUE_COLLECT.
4551         
4552 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4553
4554         * gst/Makefile.am: (gst_headers):
4555         Added gstqueryutils.h to the list of headers to install, that was
4556         a 'nachty' move wingo :)
4557
4558 2005-05-06  Andy Wingo  <wingo@pobox.com>
4559
4560         * gst/gstquery.h
4561         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4562         GstData, init a memchunk.
4563         (standard_definitions): Add a few query types, deprecate a few.
4564         (gst_query_get_type): New proc.
4565         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4566         implementation.
4567         (gst_query_new_application, gst_query_get_structure): New public
4568         procs.
4569
4570         * docs/design/draft-query.txt: Removed LINKS from the query types,
4571         because all the rest can be dispatched to other pads -- seemed
4572         ugly to have a query that couldn't be dispatched. internal_links
4573         is fine as a pad method.
4574
4575         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4576         in gstpad.c, but maintain binary compatibility for the moment.
4577         Will fix before 0.9 is out.
4578
4579         * gst/gstqueryutils.c: 
4580         * gst/gstqueryutils.h: New files, implement 3 methods for each
4581         query type: parse_query, parse_response, and set. Probably need an
4582         allocator as well.
4583
4584         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4585
4586         * gst/elements/gstfilesink.c (gst_filesink_query2):
4587         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4588         query_types, and formats methods.
4589
4590         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4591         (gst_pad_set_query2_function): New functions.
4592         (gst_real_pad_init): Set query2_default as the default query2
4593         function. Basically just dispatches to internally linked pads.
4594
4595         Needs review!
4596         
4597         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4598         without using the atomic operations. Only one thread can possibly
4599         be accessing the data at this point. Changed so as to avoid
4600         gst_atomic operations.
4601
4602 2005-05-06  Wim Taymans  <wim@fluendo.com>
4603
4604         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4605         Also set caps if we use the fallback buffer alloc.
4606
4607 2005-05-06  Tim-Philipp M??ller  <tim at centricular dot net>
4608
4609         * docs/gst/Makefile.am:
4610         * docs/gst/gstreamer-docs.sgml:
4611         * docs/gst/gstreamer-sections.txt:
4612         * docs/gst/tmpl/gstatomic.sgml:
4613         * docs/gst/tmpl/gstmemchunk.sgml:
4614         * testsuite/elements/struct_i386.h:
4615         * win32/GStreamer.vcproj:
4616         * win32/Makefile:
4617           Purge GstAtomic stuff from docs and win32 makefiles as well
4618
4619 2005-05-06  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4622         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4623         * gst/gstpad.c: (gst_pad_peer_get_caps):
4624         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4625         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4626         (gst_queue_src_activate), (gst_queue_change_state):
4627         * gst/gstqueue.h:
4628         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4629         (intersect_caps_func):
4630         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4631         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4632         Some fixes for the peer_get_caps() change.
4633
4634 2005-05-06  Wim Taymans  <wim@fluendo.com>
4635
4636         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4637         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4638         (gst_basesink_activate):
4639         Actually do something with error codes returned from the push
4640         functions.
4641
4642 2005-05-06  Wim Taymans  <wim@fluendo.com>
4643
4644         * docs/design/part-element-sink.txt:
4645         * docs/design/part-element-source.txt:
4646         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4647         (gst_basesink_event), (gst_basesink_activate):
4648         * gst/base/gstbasesink.h:
4649         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4650         (gst_basesrc_activate):
4651         * gst/base/gstbasesrc.h:
4652         * gst/gstelement.c: (gst_element_pads_activate):
4653         Some more documentation.
4654         Fixed scheduling decision in _pads_activate().
4655
4656 2005-05-05  Andy Wingo  <wingo@pobox.com>
4657
4658         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4659         the test suite.
4660
4661 2005-05-05  Wim Taymans  <wim@fluendo.com>
4662
4663         * gst/base/Makefile.am:
4664         * gst/base/gstbasesink.h:
4665         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4666         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4667         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4668         (gst_collectpads_class_init), (gst_collectpads_init),
4669         (gst_collectpads_finalize), (gst_collectpads_new),
4670         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4671         (find_pad), (gst_collectpads_remove_pad),
4672         (gst_collectpads_is_active), (gst_collectpads_collect),
4673         (gst_collectpads_collect_range), (gst_collectpads_start),
4674         (gst_collectpads_stop), (gst_collectpads_peek),
4675         (gst_collectpads_pop), (gst_collectpads_available),
4676         (gst_collectpads_read), (gst_collectpads_flush),
4677         (gst_collectpads_chain):
4678         * gst/base/gstcollectpads.h:
4679         * gst/elements/Makefile.am:
4680         * gst/elements/gstelements.c:
4681         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4682         (gst_fakesink_get_times), (gst_fakesink_event),
4683         (gst_fakesink_preroll), (gst_fakesink_render):
4684         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4685         (gst_filesink_init), (gst_filesink_set_location),
4686         (gst_filesink_open_file), (gst_filesink_close_file),
4687         (gst_filesink_pad_query), (gst_filesink_event),
4688         (gst_filesink_render), (gst_filesink_change_state):
4689         * gst/elements/gstfilesink.h:
4690         Added object to help in making collect pad based elements.
4691         Ported filesink.
4692         Make event function in sink baseclass return gboolean.
4693
4694 2005-05-05  Wim Taymans  <wim@fluendo.com>
4695
4696         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4697         (gst_bin_get_by_name):
4698         * gst/gstbuffer.h:
4699         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4700         (gst_clock_finalize):
4701         * gst/gstdata.c: (gst_data_replace):
4702         * gst/gstdata.h:
4703         * gst/gstelement.c: (gst_element_request_pad),
4704         (gst_element_pads_activate):
4705         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4706         (gst_object_unref):
4707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4708         (gst_pad_set_checkgetrange_function),
4709         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4710         (gst_pad_check_pull_range), (gst_pad_pull_range),
4711         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4712         (gst_pad_pause_task), (gst_pad_stop_task):
4713         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4714         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4715         Fix name lookup in GstBin.
4716         Added _data_replace() function and _buffer_replace()
4717         Use finalize method to clean up clock.
4718         Fix refcounting on request pads.
4719         Fix pad schedule mode error.
4720         Some more object refcounting debug info,
4721
4722
4723 2005-05-04  Andy Wingo <wingo@pobox.com>
4724
4725         * check/Makefile.am:
4726         * docs/gst/tmpl/gstatomic.sgml:
4727         * docs/gst/tmpl/gstplugin.sgml:
4728         * gst/base/gstbasesink.c: (gst_basesink_activate):
4729         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4730         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4731         (gst_basesrc_query), (gst_basesrc_set_property),
4732         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4733         (gst_basesrc_activate):
4734         * gst/base/gstbasesrc.h:
4735         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4736         (gst_base_transform_src_activate):
4737         * gst/elements/gstelements.c:
4738         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4739         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4740         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4741         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4742         (gst_type_find_element_checkgetrange),
4743         (gst_type_find_element_activate):
4744         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4745         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4746         (gst_caps_load_thyself):
4747         * gst/gstelement.c: (gst_element_pads_activate),
4748         (gst_element_save_thyself), (gst_element_restore_thyself):
4749         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4750         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4751         * gst/gstpad.h:
4752         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4753         (gst_xml_parse_file), (gst_xml_parse_memory),
4754         (gst_xml_get_element), (gst_xml_make_element):
4755         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4756         (_file_index_id_save_xml), (gst_file_index_commit):
4757         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4758         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4759         (load_paths):
4760         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4761         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4762         * tools/gst-complete.c: (main):
4763         * tools/gst-compprep.c: (main):
4764         * tools/gst-inspect.c: (print_element_properties_info):
4765         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4766         * tools/gst-xmlinspect.c: (print_element_properties):
4767         GCC 4 fixen.
4768         
4769 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4770
4771         * gst/gstplugin.c: (gst_plugin_check_module),
4772         (gst_plugin_check_file), (gst_plugin_load_file):
4773             apply patch from #172526 to make register work on MacOSX
4774
4775 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * docs/gst/tmpl/gstconfig.sgml:
4778         * gst/gstconfig.h.in:
4779           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4780         * testsuite/debug/printf_extension.c: (main):
4781           Do not use GST_PTR_FORMAT on pointers to types with
4782           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4783         * testsuite/elements/property.h:
4784           use correct printf format
4785
4786 2005-05-02  Wim Taymans  <wim@fluendo.com>
4787
4788         * docs/design/draft-push-pull.txt:
4789         * docs/design/draft-query.txt:
4790         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4791         (gst_basesrc_start):
4792         Added draft for new query API.
4793         Added draft for better selecting scheduling methods.
4794         Make basesrc ignore length if the subclass does not support
4795         it.
4796
4797 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * gst/Makefile.am:
4800           possible fixes for automake-1.5 - _LIBADD is reserved
4801
4802 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4803
4804         * docs/faq/Makefile.am:
4805         * docs/manual/Makefile.am:
4806         * docs/manuals.mak:
4807         * docs/pwg/Makefile.am:
4808         * gst/Makefile.am:
4809           possible fixes for automake-1.5
4810
4811 2005-04-28  Wim Taymans  <wim@fluendo.com>
4812
4813         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4814         (gst_basesink_pad_getcaps), (gst_basesink_init),
4815         (gst_basesink_do_sync):
4816         * gst/gstclock.c: (gst_clock_entry_new):
4817         * gst/gstevent.c: (gst_event_discont_get_value):
4818         * gst/gstpipeline.c: (pipeline_bus_handler),
4819         (gst_pipeline_change_state):
4820         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4821         Better debugging of clocking info.
4822         Allow NULL values when getting discont values.
4823
4824 2005-04-27  Wim Taymans  <wim@fluendo.com>
4825
4826         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4827         * check/gst/gstpad.c: (gst_pad_suite):
4828         Increase timeout for checks.
4829
4830 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4831
4832         * check/Makefile.am:
4833           fix the broken rule for cleanup.  Apparently this rule is
4834           only needed on FC2, so maybe this warrants further autotool
4835           inspection.
4836
4837 2005-04-26  Wim Taymans  <wim@fluendo.com>
4838
4839         * gst/gsttrashstack.h:
4840         Ooohh. a nasty one! After having a failed pop() from the stack,
4841         it's possible that the stack is empty. In that case, don't
4842         follow the NULL pointer.
4843
4844 2005-04-25  Wim Taymans  <wim@fluendo.com>
4845
4846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4847         (gst_pad_set_checkgetrange_function),
4848         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4849         (gst_pad_check_pull_range), (gst_pad_pull_range),
4850         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4851         (gst_pad_pause_task), (gst_pad_stop_task):
4852         * gst/gstplugin.c: (gst_plugin_load):
4853         * gst/gstplugin.h:
4854         Remove gst_library_load as it does more harm than good with
4855         the new g_module flags.
4856         Revert bogus caps template check in pad linking, pad caps
4857         are important when linking not the template, which is more
4858         general than the current caps.
4859
4860 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4861
4862         * gst/autoplug/.cvsignore:
4863         * gst/autoplug/Makefile.am:
4864         * gst/autoplug/gstsearchfuncs.c:
4865         * gst/autoplug/gstsearchfuncs.h:
4866         * gst/autoplug/gstspider.c:
4867         * gst/autoplug/gstspider.h:
4868         * gst/autoplug/gstspideridentity.c:
4869         * gst/autoplug/gstspideridentity.h:
4870         * gst/autoplug/spidertest.c:
4871           Die, spider, die.
4872
4873 2005-04-25  Wim Taymans  <wim@fluendo.com>
4874
4875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4876         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4877         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4878         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4879         * gst/gstpad.h:
4880         Added stubs for unimplemented functions. 
4881
4882 2005-04-24  David Schleef  <ds@schleef.org>
4883
4884         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4885         please fix.
4886
4887 2005-04-24  David Schleef  <ds@schleef.org>
4888
4889         Convert everything from GstAtomicInt to g_atomic_int_*, and
4890         remove gstatomic.
4891         * gst/Makefile.am:
4892         * gst/gstatomic.c:
4893         * gst/gstatomic.h:
4894         * gst/gstatomic_impl.h:
4895         * gst/gstbuffer.c:
4896         * gst/gstcaps.c:
4897         * gst/gstcaps.h:
4898         * gst/gstclock.c:
4899         * gst/gstclock.h:
4900         * gst/gstdata.c:
4901         * gst/gstdata.h:
4902         * gst/gstdata_private.h:
4903         * gst/gstevent.c:
4904         * gst/gstinfo.c:
4905         * gst/gstinfo.h:
4906         * gst/gstmessage.c:
4907         * gst/gstobject.c:
4908         * gst/gstobject.h:
4909         * gst/gststructure.c:
4910         * gst/gststructure.h:
4911         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4912         * gst/gstutils.h:
4913
4914 2005-04-24  David Schleef  <ds@schleef.org>
4915
4916         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4917         make the regressions tests work.  Remove some code that is no
4918         longer true.
4919         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4920         Disable warning for pads without templates.
4921
4922 2005-04-24  David Schleef  <ds@schleef.org>
4923
4924         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4925         functions that handle filtered links.
4926         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4927         removed functions.
4928         * gst/gstutils.c: Fix/remove utility functions that handle
4929         filtered caps.
4930         * gst/gstutils.h:
4931         * gst/gstvalue.c: Add serialization/deserialization of caps
4932         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4933         requires fixing so that the filter caps notation creates
4934         a capsfilter element and sets the filter_caps property.  I
4935         think everyone probably wants to keep the shorthand notation.
4936         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4937         * docs/gst/tmpl/gstpad.sgml:
4938
4939         * gst/elements/gstelements.c: Register capsfilter element.
4940         * gst/Makefile.am: fix spacing
4941         * docs/random/ds/0.9-suggested-changes: random
4942
4943 2005-04-23  David Schleef  <ds@schleef.org>
4944
4945         * gst/elements/Makefile.am:
4946         * gst/elements/gstcapsfilter.c: New element that acts like an
4947         identity, but filters caps.  Will eventually replace filtered
4948         caps in pad linking.
4949         * gst/gstutils.c: (gst_element_create_all_pads): New function
4950         to create all the ALWAYS pads that are registered with an
4951         element class.  This functionality should eventually be
4952         merged in with GstElement initialization.
4953         * gst/gstutils.h:
4954         * testsuite/trigger/README: part of trigger test code that should
4955         have been checked in a long time ago.
4956
4957 2005-04-23  David Schleef  <ds@schleef.org>
4958
4959         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4960         needed with new versions of libtool (nobody will confirm this),
4961         and hard to carry around.
4962         * gst/autoplug/Makefile.am:
4963         * gst/base/Makefile.am:
4964         * gst/elements/Makefile.am:
4965         * gst/indexers/Makefile.am:
4966         * gst/schedulers/Makefile.am:
4967         * libs/gst/bytestream/Makefile.am:
4968         * libs/gst/control/Makefile.am:
4969         * libs/gst/dataprotocol/Makefile.am:
4970         * libs/gst/getbits/Makefile.am:
4971
4972 2005-04-21  Wim Taymans  <wim@fluendo.com>
4973
4974         * docs/design/draft-push-pull.txt:
4975         * docs/design/part-MT-refcounting.txt:
4976         * docs/design/part-TODO.txt:
4977         * docs/design/part-caps.txt:
4978         * docs/design/part-events.txt:
4979         * docs/design/part-gstbus.txt:
4980         * docs/design/part-gstpipeline.txt:
4981         * docs/design/part-messages.txt:
4982         * docs/design/part-push-pull.txt:
4983         * docs/design/part-query.txt:
4984         Some more docs.
4985
4986 2005-04-21  Wim Taymans  <wim@fluendo.com>
4987
4988         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4989         (gst_message_new), (gst_message_new_error),
4990         (gst_message_new_warning), (gst_message_new_tag),
4991         (gst_message_new_state_changed), (gst_message_new_application),
4992         (gst_message_get_structure):
4993         * gst/gstmessage.h:
4994         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4995         (gst_structure_copy_conditional):
4996         Use parent refcount in GstMessage to ensure GstStructure
4997         consistency.
4998         Cleaned up headers a bit.
4999         
5000
5001 2005-04-20  Wim Taymans  <wim@fluendo.com>
5002
5003         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5004         (gst_basesink_pad_getcaps), (gst_basesink_init),
5005         (gst_basesink_chain_unlocked):
5006         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
5007         (gst_type_find_helper):
5008         * gst/elements/gsttypefindelement.c:
5009         (gst_type_find_element_have_type), (gst_type_find_element_init),
5010         (stop_typefinding), (gst_type_find_element_handle_event),
5011         (find_suggest), (gst_type_find_element_chain),
5012         (gst_type_find_element_checkgetrange),
5013         (gst_type_find_element_getrange), (do_typefind),
5014         (gst_type_find_element_activate):
5015         * gst/gstbuffer.c: (_gst_buffer_sub_free),
5016         (gst_buffer_default_free), (gst_buffer_default_copy),
5017         (gst_buffer_set_caps):
5018         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
5019         (gst_caps_replace):
5020         * gst/gstmessage.c: (gst_message_new),
5021         (gst_message_new_state_changed):
5022         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5023         (gst_pad_set_checkgetrange_function),
5024         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
5025         (gst_pad_set_caps), (gst_pad_check_pull_range),
5026         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
5027         * gst/gstpad.h:
5028         * gst/gsttypefind.c: (gst_type_find_register):
5029         Make gst_caps_replace() work like other _replace() functions.
5030         Use _caps_replace() where possible.
5031         Make sure _message_new() initialises its field.
5032         Add gst_static_pad_template_get_caps()
5033
5034
5035 2005-04-18  Andy Wingo  <wingo@pobox.com>
5036
5037         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
5038         on the peer, not the pad. I think that was a typo. Pass an extra
5039         arg to see if random access is possible. Activate the pads as
5040         PULL_RANGE if possible.
5041
5042         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
5043
5044         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
5045         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
5046         to PROP_....
5047
5048 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5049
5050         * docs/faq/using.xml:
5051           Add note on gstreamer-properties (#154996).
5052
5053 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5054
5055         * docs/random/bbb/optional-properties:
5056           Some analysis on optional properties.
5057
5058 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5059
5060         * docs/gst/tmpl/gstelementfactory.sgml:
5061         * gst/gstelement.h:
5062         * gst/gstelementfactory.c: (gst_element_factory_init),
5063         (gst_element_factory_cleanup), (gst_element_register),
5064         (__gst_element_factory_add_static_pad_template),
5065         (gst_element_factory_get_static_pad_templates),
5066         (gst_element_factory_can_src_caps),
5067         (gst_element_factory_can_sink_caps):
5068         * gst/registries/Makefile.am:
5069         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
5070         (gst_xml_registry_class_init), (gst_xml_registry_init),
5071         (gst_xml_registry_new), (gst_xml_registry_set_property),
5072         (gst_xml_registry_get_property), (get_time), (make_dir),
5073         (gst_xml_registry_get_perms_func),
5074         (plugin_times_older_than_recurse), (plugin_times_older_than),
5075         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
5076         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
5077         (add_to_char_array), (read_string), (read_uint), (read_enum),
5078         (load_pad_template), (load_feature), (load_plugin), (load_paths),
5079         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
5080         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
5081         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
5082         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
5083         (gst_xml_registry_rebuild):
5084         * gst/registries/gstlibxmlregistry.h:
5085         * tools/gst-compprep.c: (main):
5086         * tools/gst-inspect.c: (print_pad_templates_info):
5087         * tools/gst-xmlinspect.c: (print_element_info):
5088           Use libxml2 for registry parsing, use staticpadtemplates in
5089           elementfactories. Makes gst_init() +/- 10x faster.
5090
5091 2005-04-12  Wim Taymans  <wim@fluendo.com>
5092
5093         * gst/base/Makefile.am:
5094         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5095         (gst_basesink_pad_getcaps), (gst_basesink_init),
5096         (gst_basesink_event), (gst_basesink_change_state):
5097         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5098         (gst_basesrc_init), (gst_basesrc_query),
5099         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5100         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5101         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5102         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5103         (gst_basesrc_stop), (gst_basesrc_activate),
5104         (gst_basesrc_change_state):
5105         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5106         (helper_find_suggest), (gst_type_find_helper):
5107         * gst/base/gsttypefindhelper.h:
5108         * gst/elements/Makefile.am:
5109         * gst/elements/gstelements.c:
5110         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
5111         (gst_fakesink_get_times), (gst_fakesink_event),
5112         (gst_fakesink_preroll), (gst_fakesink_render):
5113         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5114         (gst_fakesrc_init), (gst_fakesrc_event_handler),
5115         (gst_fakesrc_get_property), (gst_fakesrc_create),
5116         (gst_fakesrc_start), (gst_fakesrc_stop):
5117         * gst/elements/gstfakesrc.h:
5118         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
5119         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5120         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5121         (gst_filesrc_create_read), (gst_filesrc_create),
5122         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
5123         (gst_filesrc_start):
5124         * gst/elements/gsttypefindelement.c:
5125         (gst_type_find_element_have_type), (gst_type_find_element_init),
5126         (start_typefinding), (stop_typefinding), (push_buffer_store),
5127         (gst_type_find_element_handle_event),
5128         (gst_type_find_element_chain),
5129         (gst_type_find_element_checkgetrange),
5130         (gst_type_find_element_getrange), (do_typefind),
5131         (gst_type_find_element_activate),
5132         (gst_type_find_element_change_state):
5133         * gst/elements/gsttypefindelement.h:
5134         * gst/gstpipeline.c: (pipeline_bus_handler):
5135         Added typefind helper.
5136         Small preroll fix in the base sink.
5137         Disable typefind code in basesrc.
5138         Crude port of typefindelement.
5139         Fakesrc cleanups.
5140
5141
5142 2005-04-11  Wim Taymans  <wim@fluendo.com>
5143
5144         * check/gst/gstbus.c: (gstbus_suite):
5145         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
5146         * check/gstcheck.h:
5147           Fix up the timeout so that the test does not fail.
5148
5149 2005-04-06  Wim Taymans  <wim@fluendo.com>
5150
5151         * gst/base/README:
5152         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5153         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
5154         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5155         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5156         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5157         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5158         (gst_basesrc_stop), (gst_basesrc_activate),
5159         (gst_basesrc_change_state), (basesrc_find_peek),
5160         (basesrc_find_suggest), (gst_basesrc_type_find):
5161         * gst/base/gstbasesrc.h:
5162         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5163         (gst_filesrc_class_init), (gst_filesrc_init),
5164         (gst_filesrc_finalize), (gst_filesrc_set_location),
5165         (gst_filesrc_set_property), (gst_filesrc_get_property),
5166         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5167         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5168         (gst_filesrc_create_read), (gst_filesrc_create),
5169         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
5170         * gst/elements/gstfilesrc.h:
5171         * gst/gstelement.c: (gst_element_get_state_func),
5172         (gst_element_lost_state), (gst_element_pads_activate):
5173         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5174         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
5175         (gst_pad_pull_range):
5176         * gst/gstpad.h:
5177         More work on the generic source base class, implement seeking,
5178         query.
5179         Make filesrc extend the base source class.
5180         Added gst_pad_set_checkgetrange_function to GstPad.
5181
5182 2005-04-06  Andy Wingo  <wingo@pobox.com>
5183
5184         * pkgconfig/gstreamer-base.pc.in:
5185         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
5186
5187         * pkgconfig/Makefile.am:
5188         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
5189
5190 2005-04-04  Wim Taymans  <wim@fluendo.com>
5191
5192         * gst/base/Makefile.am:
5193         * gst/base/README:
5194         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5195         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5196         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5197         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
5198         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5199         (gst_basesrc_base_init), (gst_basesrc_class_init),
5200         (gst_basesrc_init), (gst_basesrc_get_formats),
5201         (gst_basesrc_get_query_types), (gst_basesrc_query),
5202         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
5203         (gst_basesrc_set_property), (gst_basesrc_get_property),
5204         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
5205         (gst_basesrc_loop), (gst_basesrc_activate),
5206         (gst_basesrc_change_state):
5207         * gst/base/gstbasesrc.h:
5208         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5209         (gst_fakesrc_class_init), (gst_fakesrc_init),
5210         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
5211         (gst_fakesrc_get_property), (gst_fakesrc_create):
5212         * gst/elements/gstfakesrc.h:
5213         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
5214         (gst_filesrc_open_file), (gst_filesrc_loop),
5215         (gst_filesrc_activate), (filesrc_find_peek),
5216         (gst_filesrc_type_find):
5217         Made base source class, make fakesrc extend it.
5218         Add comments to basesink class.
5219         Some filesrc cleanup.
5220
5221 2005-03-31  David Schleef  <ds@schleef.org>
5222
5223         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5224         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
5225         expected to link against libgstreamer.
5226         * gst/base/Makefile.am: link against libgstreamer
5227         * gst/elements/Makefile.am: same
5228
5229 2005-03-31  Andy Wingo  <wingo@pobox.com>
5230
5231         * tests/instantiate/Makefile.am:
5232         * tests/instantiate/caps.c: Add test to test speed of caps copy
5233         and free.
5234
5235         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
5236         GMemChunk to be fair.
5237
5238         * gst/gsttrashstack.h: Remove warning about using the fallback
5239         trash stack implementation, it's still faster than malloc.
5240
5241 2005-03-30  Andy Wingo  <wingo@pobox.com>
5242
5243         * tests/complexity.c: Add a copyright.
5244
5245 2005-03-31  Wim Taymans  <wim@fluendo.com>
5246
5247         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
5248         (gst_base_transform_class_init), (gst_base_transform_init),
5249         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5250         (gst_base_transform_get_property),
5251         (gst_base_transform_sink_activate),
5252         (gst_base_transform_src_activate),
5253         (gst_base_transform_change_state):
5254         * gst/base/gstbasetransform.h:
5255         * gst/elements/gstidentity.c: (gst_identity_class_init),
5256         (gst_identity_event), (gst_identity_check_perfect),
5257         (gst_identity_transform), (gst_identity_start),
5258         (gst_identity_stop):
5259         Added start/stop methods to transform base class so subclasses 
5260         don't need to deal with state changes even.
5261
5262 2005-03-31  Wim Taymans  <wim@fluendo.com>
5263
5264         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5265         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5266         * gst/gstevent.h:
5267         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5268         (gst_pad_pull_range):
5269         Added rate to the discont event to prepare for variable speed
5270         and reverse playback.
5271
5272 2005-03-29  David Schleef  <ds@schleef.org>
5273
5274         * configure.ac:
5275         * testsuite/trigger/Makefile.am:
5276         * testsuite/trigger/trigger.c: A little example program to show
5277         how trigger-based elements can work.
5278
5279 2005-03-29  Wim Taymans  <wim@fluendo.com>
5280
5281         * gst/base/Makefile.am:
5282         * gst/base/README:
5283         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5284         (gst_basesink_base_init), (gst_basesink_class_init),
5285         (gst_basesink_pad_getcaps), (gst_basesink_init),
5286         (gst_basesink_activate), (gst_basesink_change_state):
5287         * gst/base/gstbasesink.h:
5288         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5289         (gst_base_transform_base_init), (gst_base_transform_finalize),
5290         (gst_base_transform_class_init), (gst_base_transform_init),
5291         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5292         (gst_base_transform_event), (gst_base_transform_getrange),
5293         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5294         (gst_base_transform_set_property),
5295         (gst_base_transform_get_property),
5296         (gst_base_transform_sink_activate),
5297         (gst_base_transform_src_activate),
5298         (gst_base_transform_change_state):
5299         * gst/base/gstbasetransform.h:
5300         * gst/elements/gstidentity.c: (gst_identity_finalize),
5301         (gst_identity_class_init), (gst_identity_init),
5302         (gst_identity_event), (gst_identity_check_perfect),
5303         (gst_identity_transform), (gst_identity_set_property),
5304         (gst_identity_get_property), (gst_identity_change_state):
5305         * gst/elements/gstidentity.h:
5306         * gst/gstelement.c: (gst_element_get_state_func),
5307         (gst_element_lost_state), (gst_element_pads_activate):
5308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5309         (gst_pad_check_pull_range), (gst_pad_pull_range):
5310         * gst/gstpad.h:
5311         Simplify pad activation.
5312         Added function to check if pull_range can be performed.
5313         Error out when pulling inactive or flushing pads.
5314         Removed const from refcounted types as it does not make sense.
5315         Simplify pad templates in basesink
5316         Added base class for simple 1-to-1 transforms.
5317         Make identity subclass the base transform.
5318
5319 2005-03-29  Andy Wingo  <wingo@pobox.com>
5320
5321         * docs/libs/gstreamer-libs-overrides.txt: 
5322         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5323         really don't understand what's going on, but like whatever. I want
5324         green buildbot!
5325
5326         * docs/gst/Makefile.am:
5327         * docs/libs/Makefile.am: Dist the overrides files.
5328
5329         * check/Makefile.am (clean-local): Remove .libs directories.
5330
5331         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5332         elements to EXTRA_DIST, so po/ files are happy.
5333
5334         * po/POTFILES.in: Er, remove it here.
5335
5336         * po/POTFILES: Remove gstspider.c.
5337
5338         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5339
5340         * docs/libs/gstreamer-libs-docs.sgml: 
5341         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5342         bytestream.
5343
5344         * tests/complexity.c (main): Set the length of the preroll queue
5345         on the sinks to prevent a lockup.
5346
5347         * libs/gst/dataprotocol/Makefile.am: 
5348         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5349         the same as the one in check/gst-libs/gdp.c.
5350
5351         * po/, docs/gst/: Commit automatic changes to docs and po files.
5352
5353         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5354         the versioned libgstbase.
5355
5356         * check/Makefile.am: Depend on an unversioned gst-register, seems
5357         to make autoconf happier.
5358
5359         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5360
5361 2005-03-28  Wim Taymans  <wim@fluendo.com>
5362
5363         * configure.ac:
5364         * docs/design/part-gstelement.txt:
5365         * docs/design/part-negotiation.txt:
5366         * docs/design/part-preroll.txt:
5367         * docs/design/part-scheduling.txt:
5368         * docs/design/part-states.txt:
5369         * gst/Makefile.am:
5370         * gst/base/Makefile.am:
5371         * gst/base/README:
5372         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5373         (gst_basesink_base_init), (gst_basesink_class_init),
5374         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5375         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5376         (gst_basesink_set_pad_functions),
5377         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5378         (gst_basesink_set_property), (gst_basesink_get_property),
5379         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5380         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5381         (gst_basesink_preroll_queue_push),
5382         (gst_basesink_preroll_queue_empty),
5383         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5384         (gst_basesink_event), (gst_basesink_get_times),
5385         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5386         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5387         (gst_basesink_loop), (gst_basesink_activate),
5388         (gst_basesink_change_state):
5389         * gst/base/gstbasesink.h:
5390         * gst/elements/Makefile.am:
5391         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5392         (gst_fakesink_class_init), (gst_fakesink_init),
5393         (gst_fakesink_set_property), (gst_fakesink_get_property),
5394         (gst_fakesink_get_times), (gst_fakesink_event),
5395         (gst_fakesink_preroll), (gst_fakesink_render),
5396         (gst_fakesink_change_state):
5397         * gst/elements/gstfakesink.h:
5398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5399         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5400         * gst/gstelement.c: (gst_element_add_pad),
5401         (gst_element_get_state_func), (gst_element_abort_state),
5402         (gst_element_commit_state), (gst_element_lost_state),
5403         (gst_element_set_state), (gst_element_pads_activate):
5404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5405         * gst/gstpipeline.c: (gst_pipeline_send_event),
5406         (gst_pipeline_change_state):
5407         Added state change code.
5408         Added/updated docs.
5409         Added sink base class, make fakesink extend the base class.
5410         Small cleanups in GstPipeline.
5411
5412 2005-03-26  David Schleef  <ds@schleef.org>
5413
5414         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5415         is broken and should be implemented in a different library.
5416         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5417         * gst/gst.h: remove gstcpu.h
5418         * gst/gstcpu.c: remove
5419         * gst/gstcpu.h: remove
5420         * gst/Makefile.am.future: Remove this file.  It's ancient.
5421
5422 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5423
5424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5425         (gst_bin_send_event):
5426           Add default event/set_manager handlers. The set_manager handler
5427           takes care that the manager is distributed over kids that were
5428           already in the bin before the manager was set. The event handler
5429           is a utility virtual function that sends the event over all sinks,
5430           so that gst_element_send_event (bin, event); has the expected
5431           behaviour.
5432         * gst/gstpad.c: (gst_pad_event_default):
5433           Re-install default event handling for discontinuities, so that
5434           seeking works without requiring hacks in applications or extra
5435           code in sinks.
5436         * gst/gstpipeline.c: (gst_pipeline_class_init),
5437         (gst_pipeline_send_event):
5438           Half hack, half utility: set a pipeline to PAUSED for seek events,
5439           since that is the only way we can guarantee a/v sync. Means that
5440           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5441           and it "just works".
5442
5443 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5444
5445         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5446           Lock/unlock mismatch.
5447
5448 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5449
5450         * docs/faq/gst-uninstalled:
5451           add gst-plugins-base
5452         * docs/gst/Makefile.am:
5453           don't error out until docs are fixed
5454         * docs/gst/gstreamer.types:
5455           remove thread
5456
5457 2005-03-22  Wim Taymans  <wim@fluendo.com>
5458
5459         * check/Makefile.am:
5460         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5461         * gst/gststructure.c: (gst_structure_set_valist),
5462         (gst_structure_copy_conditional):
5463         Activated more tests.
5464         Added message test.
5465         Added G_TYPE_POINTER to GstStructure.
5466         
5467
5468 2005-03-22  Wim Taymans  <wim@fluendo.com>
5469
5470         * docs/design/part-TODO.txt:
5471         * docs/design/part-events.txt:
5472         * docs/design/part-gstbin.txt:
5473         * docs/design/part-gstbus.txt:
5474         * docs/design/part-gstpipeline.txt:
5475         * docs/design/part-messages.txt:
5476         * gst/gstbus.c:
5477         * gst/gstmessage.c:
5478         Docs updates
5479
5480 2005-03-21  Wim Taymans  <wim@fluendo.com>
5481
5482         * gst/gstbus.c: (gst_bus_post):
5483         Fix copy-and-paste error.
5484
5485 2005-03-21  Wim Taymans  <wim@fluendo.com>
5486
5487         * check/Makefile.am:
5488         * gst/Makefile.am:
5489         * gst/elements/Makefile.am:
5490         * gst/elements/gstelements.c:
5491         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5492         (gst_fakesink_event), (gst_fakesink_chain):
5493         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5494         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5495         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5496         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5497         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5498         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5499         (gst_fakesrc_loop), (gst_fakesrc_activate),
5500         (gst_fakesrc_change_state):
5501         * gst/elements/gstfakesrc.h:
5502         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5503         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5504         (gst_filesrc_open_file), (gst_filesrc_loop),
5505         (gst_filesrc_activate), (gst_filesrc_change_state),
5506         (filesrc_find_peek), (filesrc_find_suggest),
5507         (gst_filesrc_type_find):
5508         * gst/elements/gstidentity.c: (gst_identity_finalize),
5509         (gst_identity_class_init), (gst_identity_init),
5510         (gst_identity_proxy_getcaps), (identity_queue_push),
5511         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5512         (gst_identity_getrange), (gst_identity_chain),
5513         (gst_identity_sink_loop), (gst_identity_src_loop),
5514         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5515         (gst_identity_set_property), (gst_identity_get_property),
5516         (gst_identity_change_state):
5517         * gst/elements/gstidentity.h:
5518         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5519         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5520         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5521         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5522         (gst_tee_sink_activate):
5523         * gst/elements/gsttee.h:
5524         * gst/gst.c: (gst_register_core_elements), (init_post):
5525         * gst/gst.h:
5526         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5527         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5528         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5529         (gst_bin_change_state):
5530         * gst/gstbin.h:
5531         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5532         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5533         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5534         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5535         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5536         (bus_watch_callback), (bus_watch_destroy),
5537         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5538         (poll_timeout), (gst_bus_poll):
5539         * gst/gstbus.h:
5540         * gst/gstcaps.h:
5541         * gst/gstdata.h:
5542         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5543         (gst_element_post_message), (gst_element_message_full),
5544         (gst_element_get_state_func), (gst_element_get_state),
5545         (gst_element_abort_state), (gst_element_commit_state),
5546         (gst_element_lost_state), (gst_element_set_state),
5547         (gst_element_pads_activate), (gst_element_change_state),
5548         (gst_element_dispose), (gst_element_set_manager_func),
5549         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5550         (gst_element_set_manager), (gst_element_get_manager),
5551         (gst_element_set_bus), (gst_element_get_bus),
5552         (gst_element_set_scheduler), (gst_element_get_scheduler):
5553         * gst/gstelement.h:
5554         * gst/gstevent.c: (gst_event_new_segment_seek),
5555         (gst_event_new_flush):
5556         * gst/gstevent.h:
5557         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5558         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5559         (gst_message_new_eos), (gst_message_new_error),
5560         (gst_message_new_warning), (gst_message_new_tag),
5561         (gst_message_new_state_changed), (gst_message_new_application),
5562         (gst_message_get_structure), (gst_message_parse_tag),
5563         (gst_message_parse_state_changed), (gst_message_parse_error),
5564         (gst_message_parse_warning):
5565         * gst/gstmessage.h:
5566         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5567         (gst_real_pad_set_property), (gst_pad_set_active),
5568         (gst_pad_is_active), (gst_pad_set_blocked_async),
5569         (gst_pad_set_blocked), (gst_pad_is_blocked),
5570         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5571         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5572         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5573         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5574         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5575         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5576         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5577         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5578         (gst_pad_set_caps), (gst_pad_configure_sink),
5579         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5580         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5581         (gst_real_pad_dispose), (gst_real_pad_finalize),
5582         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5583         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5584         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5585         * gst/gstpad.h:
5586         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5587         (pipeline_bus_handler), (gst_pipeline_change_state),
5588         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5589         * gst/gstpipeline.h:
5590         * gst/gstprobe.h:
5591         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5592         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5593         (gst_queue_link_src), (gst_queue_bufferalloc),
5594         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5595         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5596         (gst_queue_loop), (gst_queue_handle_src_event),
5597         (gst_queue_handle_src_query), (gst_queue_src_activate),
5598         (gst_queue_change_state):
5599         * gst/gstqueue.h:
5600         * gst/gstscheduler.c: (gst_scheduler_init),
5601         (gst_scheduler_dispose), (gst_scheduler_create_task),
5602         (gst_scheduler_factory_create):
5603         * gst/gstscheduler.h:
5604         * gst/gststructure.c: (gst_structure_get_type),
5605         (gst_structure_copy_conditional):
5606         * gst/gststructure.h:
5607         * gst/gsttaginterface.h:
5608         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5609         (gst_task_init), (gst_task_dispose), (gst_task_create),
5610         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5611         (gst_task_pause):
5612         * gst/gsttask.h:
5613         * gst/gstthread.c:
5614         * gst/gstthread.h:
5615         * gst/gsttypes.h:
5616         * gst/schedulers/Makefile.am:
5617         * gst/schedulers/cothreads_compat.h:
5618         * gst/schedulers/entryscheduler.c:
5619         * gst/schedulers/faircothreads.c:
5620         * gst/schedulers/faircothreads.h:
5621         * gst/schedulers/fairscheduler.c:
5622         * gst/schedulers/gstbasicscheduler.c:
5623         * gst/schedulers/gstoptimalscheduler.c:
5624         * gst/schedulers/gthread-cothreads.h:
5625         * gst/schedulers/threadscheduler.c:
5626         (gst_thread_scheduler_task_get_type),
5627         (gst_thread_scheduler_task_class_init),
5628         (gst_thread_scheduler_task_init),
5629         (gst_thread_scheduler_task_start),
5630         (gst_thread_scheduler_task_stop),
5631         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5632         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5633         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5634         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5635         (plugin_init):
5636         * libs/gst/Makefile.am:
5637         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5638         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5639         (gst_file_pad_parent_set):
5640         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5641         (gst_dp_event_from_packet):
5642         * tests/complexity.c: (main):
5643         * tests/mass_elements.c: (main):
5644         * testsuite/states/locked.c: (message_received), (main):
5645         * testsuite/states/parent.c: (main):
5646         * tools/gst-inspect.c: (print_element_flag_info),
5647         (print_implementation_info), (print_pad_info):
5648         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5649         (main):
5650         * tools/gst-md5sum.c: (event_loop), (main):
5651         * tools/gst-typefind.c: (main):
5652         * tools/gst-xmlinspect.c: (print_element_info):
5653         Next big merge.
5654         Added GstBus for mainloop integration.
5655         Added GstMessage for sending notifications on the bus.
5656         Added GstTask as an abstraction for pipeline entry points.
5657         Removed GstThread.
5658         Removed Schedulers.
5659         Simplified GstQueue for multithreaded core.
5660         Made _link threadsafe, removed old capsnego.
5661         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5662         Added pad blocking functions.
5663         Reworked scheduling functions in GstPad to prepare for
5664         scheduling updates soon.
5665         Moved events out of data stream.
5666         Simplified GstEvent types.
5667         Added return values to push/pull.
5668         Removed clocking from GstElement.
5669         Added prototypes for state change function for next merge.
5670         Removed iterate from bins and state change management.
5671         Fixed some elements, disabled others for now.
5672         Fixed -inspect and -launch.
5673         Added check for GstBus.
5674
5675 2005-03-10  Wim Taymans  <wim@fluendo.com>
5676
5677         * docs/design/part-MT-refcounting.txt:
5678         * docs/design/part-clocks.txt:
5679         * docs/design/part-gstelement.txt:
5680         * docs/design/part-gstobject.txt:
5681         * docs/design/part-standards.txt:
5682         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5683         (gst_bin_remove_func), (gst_bin_remove):
5684         * gst/gstbin.h:
5685         * gst/gstbuffer.c:
5686         * gst/gstcaps.h:
5687         * testsuite/clock/clock1.c: (main):
5688         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5689         (main):
5690         * testsuite/dlopen/loadgst.c: (do_test):
5691         * testsuite/refcounting/bin.c: (add_remove_test1),
5692         (add_remove_test2), (main):
5693         * testsuite/refcounting/element.c: (main):
5694         * testsuite/refcounting/element_pad.c: (main):
5695         * testsuite/refcounting/pad.c: (main):
5696         * tools/gst-launch.c: (sigint_handler_sighandler):
5697         * tools/gst-typefind.c: (main):
5698         Doc updates.
5699         Added doc about clock.
5700         removed gst_bin_iterate_recurse_up(), marked methods
5701         for removal.
5702         Fix more testsuites.
5703
5704 2005-03-09  Wim Taymans  <wim@fluendo.com>
5705
5706         * gst/gstpad.c: (gst_pad_get_direction),
5707         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5708         (gst_pad_collect_valist):
5709         * testsuite/bins/interface.c: (main):
5710         * testsuite/caps/audioscale.c: (test_caps):
5711         * testsuite/caps/caps.c: (test1), (test2), (test3):
5712         * testsuite/caps/deserialize.c: (main):
5713         * testsuite/caps/enumcaps.c: (main):
5714         * testsuite/caps/filtercaps.c: (main):
5715         * testsuite/caps/intersect2.c: (main):
5716         * testsuite/caps/random.c: (main):
5717         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5718         * testsuite/caps/sets.c: (check_caps):
5719         * testsuite/caps/simplify.c: (check_caps), (main):
5720         * testsuite/caps/subtract.c: (check_caps):
5721         Fix _pad_get_direction wrt ghostpads.
5722         Fix caps testsuite.
5723
5724 2005-03-09  Wim Taymans  <wim@fluendo.com>
5725
5726         * check/Makefile.am:
5727         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5728         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5729         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5730         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5731         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5732         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5733         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5734         (bin_element_is_sink), (gst_bin_iterate_sinks),
5735         (gst_bin_iterate_all_by_interface):
5736         * gst/gstbin.h:
5737         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5738         (gst_element_change_state), (gst_element_dispose),
5739         (gst_element_finalize), (gst_element_set_loop_function):
5740         * gst/gstelement.h:
5741         * gst/gstiterator.c: (find_custom_fold_func):
5742         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5743         (gst_pad_collectv), (gst_pad_collect_valist),
5744         (gst_pad_template_new):
5745         * gst/gstpipeline.c: (gst_pipeline_class_init),
5746         (gst_pipeline_dispose), (gst_pipeline_set_property),
5747         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5748         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5749         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5750         * gst/gstutils.h:
5751         * gst/schedulers/entryscheduler.c:
5752         * gst/schedulers/gstbasicscheduler.c:
5753         (gst_basic_scheduler_cothreaded_chain),
5754         (gst_basic_scheduler_chain_add_element):
5755         * testsuite/bins/interface.c: (main):
5756         Added GstBin test.
5757         Added GstSystemClock test.
5758         Implemented clock distribution code in GstBin.
5759         Implemented iterate sinks method for future use.
5760         Rearranged gstelement.h
5761         Fix GstIterator comparison bug.
5762         Moved some code to GstPipeline, mostly clocking related.
5763
5764 2005-03-09  Wim Taymans  <wim@fluendo.com>
5765
5766         * configure.ac:
5767         * gst/gst_private.h:
5768         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5769         (gst_bin_remove_func), (gst_bin_remove),
5770         (gst_bin_get_by_name_recurse_up):
5771         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5772         (gst_clock_id_compare_func), (gst_clock_id_wait),
5773         (gst_clock_id_wait_async), (gst_clock_init),
5774         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5775         * gst/gstelement.h:
5776         * gst/gstinfo.c: (_gst_debug_init):
5777         * gst/gstobject.h:
5778         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5779         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5780         * gst/gstpad.h:
5781         Bump version number, we're now 0.9.0
5782         Add future debugging category.
5783         Fix NULL _unref() in _get_by_name_recurse_up
5784         Rearrange gstpad.h.
5785         Update some docs.
5786
5787 2005-03-08  Wim Taymans  <wim@fluendo.com>
5788
5789         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5790         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5791         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5792         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5793         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5794         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5795         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5796         * gst/elements/gstidentity.c: (gst_identity_class_init):
5797         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5798         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5799         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5800         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5801         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5802         (gst_tee_link):
5803         * gst/gstelement.c: (gst_element_class_init),
5804         (gst_element_base_class_init), (gst_element_init),
5805         (gst_element_get_random_pad), (gst_element_wait_state_change),
5806         (gst_element_change_state), (gst_element_dispose),
5807         (gst_element_finalize), (gst_element_set_loop_function):
5808         * gst/gstelement.h:
5809         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5810         * gst/gstthread.c: (gst_thread_class_init),
5811         (gst_thread_release_children_locks), (gst_thread_change_state):
5812         * gst/schedulers/gstbasicscheduler.c:
5813         (gst_basic_scheduler_loopfunc_wrapper),
5814         (gst_basic_scheduler_chain_wrapper),
5815         (gst_basic_scheduler_src_wrapper),
5816         (gst_basic_scheduler_remove_element):
5817         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5818         Remove threadsafe properties. Fix elements because GObject
5819         complains when installing a property before declaring a
5820         set/get_property handler.
5821         Rearrange gstelement.h file, use STATE macros for state locks.
5822         Free mutexes in the finalize method instead of dispose.
5823
5824 2005-03-08  Wim Taymans  <wim@fluendo.com>
5825
5826         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5827         * gst/gstthread.c: (gst_thread_release_children_locks):
5828         Added parentage check.
5829         Fix build og GstThread again.
5830
5831 2005-03-08  Wim Taymans  <wim@fluendo.com>
5832
5833         * docs/design/part-MT-refcounting.txt:
5834         * docs/design/part-conventions.txt:
5835         * docs/design/part-gstobject.txt:
5836         * docs/design/part-relations.txt:
5837         * docs/design/part-standards.txt:
5838         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5839         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5840         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5841         (gst_bin_iterate_all_by_interface):
5842         * gst/gstbuffer.h:
5843         * gst/gstclock.h:
5844         * gst/gstelement.c: (gst_element_class_init),
5845         (gst_element_change_state), (gst_element_set_loop_function):
5846         * gst/gstelement.h:
5847         * gst/gstiterator.c:
5848         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5849         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5850         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5851         (gst_object_set_parent), (gst_object_unparent),
5852         (gst_object_check_uniqueness):
5853         * gst/gstobject.h:
5854         Docs updates, clean up some headers.
5855
5856 2005-03-07  Wim Taymans  <wim@fluendo.com>
5857
5858         * check/.cvsignore:
5859         * check/Makefile.am:
5860         * check/gst-libs/.cvsignore:
5861         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5862         * check/gst/.cvsignore:
5863         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5864         (START_TEST), (gstbus_suite), (main):
5865         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5866         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5867         (gst_data_suite), (main):
5868         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5869         (add_fold_func), (gstiterator_suite), (main):
5870         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5871         (thread_name_object), (thread_name_object_default),
5872         (gst_object_name_compare), (gst_object_suite), (main):
5873         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5874         (gst_pad_suite), (main):
5875         * check/gstcheck.c: (gst_check_log_message_func),
5876         (gst_check_log_critical_func), (gst_check_init):
5877         * check/gstcheck.h:
5878         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5879         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5880         Added checks.
5881
5882 2005-03-07  Wim Taymans  <wim@fluendo.com>
5883
5884         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5885         (gst_list_iterator_next), (gst_list_iterator_resync),
5886         (gst_list_iterator_free), (gst_iterator_new_list),
5887         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5888         (gst_iterator_free), (gst_iterator_push), (filter_next),
5889         (filter_resync), (filter_uninit), (filter_free),
5890         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5891         (gst_iterator_foreach), (find_custom_fold_func),
5892         (gst_iterator_find_custom):
5893         * gst/gstiterator.h:
5894         Added missing files.
5895
5896 2005-03-07  Wim Taymans  <wim@fluendo.com>
5897
5898         * Makefile.am:
5899         * configure.ac:
5900         * docs/design/part-MT-refcounting.txt:
5901         * docs/design/part-conventions.txt:
5902         * docs/design/part-gstobject.txt:
5903         * docs/design/part-relations.txt:
5904         * examples/mixer/mixer.c: (main):
5905         * examples/thread/thread.c: (eos), (main):
5906         * gst/Makefile.am:
5907         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5908         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5909         (gst_spider_plug_from_srcpad):
5910         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5911         (gst_spider_identity_change_state),
5912         (gst_spider_identity_sink_loop_type_finding):
5913         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5914         * gst/elements/gstidentity.c: (gst_identity_init):
5915         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5916         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5917         * gst/elements/gsttypefindelement.c: (free_entry):
5918         * gst/gst.c:
5919         * gst/gst.h:
5920         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5921         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5922         (gst_bin_set_index), (gst_bin_set_element_sched),
5923         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5924         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5925         (gst_bin_iterate_elements), (iterate_child_recurse),
5926         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5927         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5928         (compare_interface), (gst_bin_get_by_interface),
5929         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5930         * gst/gstbin.h:
5931         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5932         (gst_buffer_default_free), (gst_buffer_default_copy),
5933         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5934         (gst_buffer_create_sub):
5935         * gst/gstbuffer.h:
5936         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5937         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5938         (gst_caps_unref), (gst_static_caps_get),
5939         (gst_caps_remove_and_get_structure), (gst_caps_append),
5940         (gst_caps_append_structure), (gst_caps_remove_structure),
5941         (gst_caps_copy_nth), (gst_caps_set_simple),
5942         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5943         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5944         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5945         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5946         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5947         (gst_caps_structure_figure_out_union),
5948         (gst_caps_switch_structures), (gst_caps_do_simplify),
5949         (gst_caps_replace), (gst_caps_from_string),
5950         (gst_caps_copy_conditional):
5951         * gst/gstcaps.h:
5952         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5953         (_gst_clock_id_free), (gst_clock_id_unref),
5954         (gst_clock_id_compare_func), (gst_clock_id_wait),
5955         (gst_clock_id_wait_async), (gst_clock_class_init),
5956         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5957         (gst_clock_get_time), (gst_clock_set_time_adjust),
5958         (gst_clock_set_property), (gst_clock_get_property):
5959         * gst/gstclock.h:
5960         * gst/gstcompat.h:
5961         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5962         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5963         * gst/gstdata.h:
5964         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5965         (gst_element_requires_clock), (gst_element_provides_clock),
5966         (gst_element_set_clock), (gst_element_clock_wait),
5967         (gst_element_wait), (gst_element_set_time_delay),
5968         (gst_element_is_indexable), (gst_element_add_pad),
5969         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5970         (pad_compare_name), (gst_element_get_static_pad),
5971         (gst_element_request_pad), (gst_element_get_request_pad),
5972         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5973         (gst_element_class_get_pad_template_list),
5974         (gst_element_class_get_pad_template), (gst_element_error_func),
5975         (gst_element_get_random_pad), (gst_element_get_event_masks),
5976         (gst_element_send_event), (gst_element_seek),
5977         (gst_element_get_query_types), (gst_element_query),
5978         (gst_element_get_formats), (gst_element_convert),
5979         (gst_element_is_locked_state), (gst_element_set_locked_state),
5980         (gst_element_sync_state_with_parent), (gst_element_change_state),
5981         (gst_element_finalize), (gst_element_yield),
5982         (gst_element_interrupt), (gst_element_set_scheduler),
5983         (gst_element_get_scheduler), (gst_element_set_loop_function):
5984         * gst/gstelement.h:
5985         * gst/gstevent.h:
5986         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5987         (gst_format_get_by_nick), (gst_format_get_details),
5988         (gst_format_iterate_definitions):
5989         * gst/gstformat.h:
5990         * gst/gstindex.c: (gst_index_gtype_resolver):
5991         * gst/gstinfo.c:
5992         * gst/gstinfo.h:
5993         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5994         (gst_mem_chunk_free):
5995         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5996         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5997         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5998         (gst_object_dispatch_properties_changed),
5999         (gst_object_set_name_default), (gst_object_set_name),
6000         (gst_object_get_name), (gst_object_set_name_prefix),
6001         (gst_object_get_name_prefix), (gst_object_set_parent),
6002         (gst_object_get_parent), (gst_object_unparent),
6003         (gst_object_check_uniqueness), (gst_object_save_thyself),
6004         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
6005         (gst_object_set_property), (gst_object_get_property),
6006         (gst_object_get_path_string):
6007         * gst/gstobject.h:
6008         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
6009         (gst_real_pad_init), (gst_real_pad_get_property),
6010         (gst_pad_custom_new), (gst_pad_get_direction),
6011         (gst_pad_set_active), (gst_pad_is_active),
6012         (gst_pad_set_event_function), (gst_pad_is_linked),
6013         (gst_pad_link_free), (gst_pad_link_intersect),
6014         (gst_pad_link_fixate), (gst_pad_set_caps),
6015         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
6016         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
6017         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
6018         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
6019         (gst_pad_get_caps), (gst_pad_peer_get_caps),
6020         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
6021         (gst_pad_realize), (gst_pad_get_allowed_caps),
6022         (gst_real_pad_dispose), (gst_real_pad_finalize),
6023         (gst_pad_collectv), (gst_pad_collect_valist),
6024         (gst_pad_template_dispose), (gst_pad_template_new),
6025         (gst_pad_get_internal_links):
6026         * gst/gstpad.h:
6027         * gst/gstpipeline.c: (gst_pipeline_dispose),
6028         (gst_pipeline_change_state):
6029         * gst/gstpipeline.h:
6030         * gst/gstplugin.c:
6031         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
6032         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
6033         * gst/gstpluginfeature.h:
6034         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6035         * gst/gstquery.c: (_gst_query_type_initialize),
6036         (gst_query_type_register), (gst_query_type_get_by_nick),
6037         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
6038         * gst/gstquery.h:
6039         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
6040         * gst/gstscheduler.c: (gst_scheduler_add_element),
6041         (gst_scheduler_factory_create):
6042         * gst/gststructure.c: (gst_structure_set_parent_refcount),
6043         (gst_structure_free), (gst_structure_set_name),
6044         (gst_structure_id_set_value), (gst_structure_set_value),
6045         (gst_structure_set_valist), (gst_structure_remove_field),
6046         (gst_structure_remove_fields),
6047         (gst_structure_remove_fields_valist),
6048         (gst_structure_remove_all_fields), (gst_structure_foreach),
6049         (gst_structure_map_in_place),
6050         (gst_caps_structure_fixate_field_nearest_int),
6051         (gst_caps_structure_fixate_field_nearest_double):
6052         * gst/gststructure.h:
6053         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6054         (gst_system_clock_init), (gst_system_clock_dispose),
6055         (gst_system_clock_async_thread),
6056         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
6057         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
6058         * gst/gstsystemclock.h:
6059         * gst/gsttag.c: (gst_tag_list_add_value_internal),
6060         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
6061         * gst/gsttaginterface.c:
6062         * gst/gstthread.c: (gst_thread_dispose),
6063         (gst_thread_release_children_locks), (gst_thread_change_state),
6064         (gst_thread_main_loop):
6065         * gst/gsttrashstack.h:
6066         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
6067         * gst/gsttypes.h:
6068         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6069         (gst_element_request_pad), (gst_element_get_pad_from_template),
6070         (gst_element_request_compatible_pad),
6071         (gst_element_get_compatible_pad_filtered),
6072         (gst_element_get_compatible_pad), (gst_element_state_get_name),
6073         (gst_element_link_pads_filtered), (gst_element_link_filtered),
6074         (gst_element_link_many), (gst_element_link),
6075         (gst_element_link_pads), (gst_element_unlink_pads),
6076         (gst_element_unlink_many), (gst_element_unlink),
6077         (gst_pad_can_link_filtered), (gst_pad_can_link),
6078         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
6079         (gst_object_default_error), (gst_bin_add_many),
6080         (gst_bin_remove_many), (gst_element_populate_std_props),
6081         (gst_element_class_install_std_props), (gst_buffer_merge),
6082         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
6083         (link_fold_func), (gst_pad_proxy_setcaps):
6084         * gst/gstutils.h:
6085         * gst/gstvalue.c: (gst_value_deserialize_string):
6086         * gst/parse/grammar.y:
6087         * gst/schedulers/gstbasicscheduler.c:
6088         (gst_basic_scheduler_cothreaded_chain),
6089         (gst_basic_scheduler_chain_recursive_add),
6090         (gst_basic_scheduler_pad_link):
6091         * gst/schedulers/gstoptimalscheduler.c:
6092         (get_group_schedule_function),
6093         (gst_opt_scheduler_state_transition),
6094         (gst_opt_scheduler_add_element), (element_get_reachables_func):
6095         * libs/gst/bytestream/bytestream.c:
6096         * libs/gst/dataprotocol/dataprotocol.c:
6097         (gst_dp_header_from_buffer):
6098         * po/nb.po:
6099         * po/ru.po:
6100         * tests/threadstate/threadstate2.c: (eos):
6101         * tools/gst-compprep.c: (main):
6102         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
6103         (print_pad_info), (print_children_info):
6104         * tools/gst-launch.c: (idle_func), (main):
6105         * tools/gst-md5sum.c: (idle_func), (main):
6106         * tools/gst-xmlinspect.c: (print_element_info):
6107         First THREADED backport attempt, focusing on adding locks and
6108         making sure the API is threadsafe. Needs more work. More docs
6109         follow this week.
6110
6111 2005-02-24  Andy Wingo  <wingo@pobox.com>
6112
6113         * tests/bench-complexity.scm:
6114         * tests/complexity.gnuplot: New files, good for running complexity
6115         benchmarks.
6116
6117         * tests/Makefile.am:
6118         * tests/complexity.c: New test, sets up N elements, at each level
6119         teeing into M streams per element. Eeeenteresting.
6120
6121         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
6122         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
6123         running bench-mass_elements.scm.
6124
6125         * tests/bench-mass_elements.scm: New script, runs mass_elements
6126         for various numbers of identities, outputting the results to a
6127         file. Requires guile 1.6. Just for testing.
6128
6129 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6130
6131         * gst/schedulers/fairscheduler.c:
6132           compile with debug disabled
6133
6134 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6135
6136         * configure.ac:
6137           hunting season on 0.9 is now OPEN
6138
6139 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * docs/libs/tmpl/gstcontrol.sgml:
6142         * docs/libs/tmpl/gstdparam.sgml:
6143         * docs/libs/tmpl/gstdplinint.sgml:
6144         * docs/libs/tmpl/gstdpman.sgml:
6145         * docs/libs/tmpl/gstdpsmooth.sgml:
6146         * docs/libs/tmpl/gstunitconvert.sgml:
6147           more docs for the state of dparams
6148
6149 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6150
6151         * gst/gstelementfactory.c: (gst_element_factory_create):
6152         * gst/gstobject.c: (gst_object_init),
6153         (gst_object_set_name_default), (gst_object_set_name):
6154           name objects by default, not in gst_element_factory_create. Allows
6155           using elements created with g_object_new. (fixes #167283)
6156
6157 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6158
6159         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
6160           make the time that debugging functions print relative to when
6161           gst_init was called
6162
6163 2005-02-18  Tim-Philipp M??ller  <tim at centricular dot net>
6164
6165         * gst/gsttaginterface.c:
6166           Fix inline docs: tag setter vararg functions are NULL-terminated,
6167           GST_TAG_INVALID doesn't exist any more.
6168
6169 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6170
6171         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
6172         Allocate the 1 byte more memory that was forgotten!!!!!
6173         fixes memory corruption on 64bit platforms
6174
6175 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
6176
6177         * docs/pwg/building-pads.xml:
6178         * docs/pwg/intro-basics.xml:
6179           fixed a few typos, relabeled introductionary list of types
6180         * docs/random/ensonic/dparams.txt:
6181           more notes abut dparam changes
6182         * libs/gst/control/dparam.c: (gst_dparam_attach):
6183         * libs/gst/control/dparammanager.c:
6184         * libs/gst/control/dparammanager.h:
6185           - many comments and notes on dparam implementation
6186           - new dparams are were not initialized to the default value
6187             from param spec
6188
6189 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6190
6191         submitted by: Peter Astakhov
6192
6193         * po/LINGUAS:
6194         * po/ru.po:
6195           adding Russian translation
6196
6197 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * configure.ac:
6200         * docs/gst/Makefile.am:
6201         * docs/libs/Makefile.am:
6202           make sure popt is added to gtk-doc flags.  Fixes #147782.
6203
6204 2005-02-09  Tim-Philipp M??ller  <tim at centricular dot net>
6205
6206         * docs/faq/using.xml:
6207           Fix typo in FAQ (artssink => artsdsink)
6208
6209 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6210
6211         * tools/gst-launch.1.in:
6212           Fix typo (#166699).
6213
6214 2005-02-08  Tim-Philipp M??ller  <tim at centricular dot net>
6215
6216         * docs/faq/using.xml:
6217           Add -v argument to fakesrc/fakesink gst-launch line,
6218           so that the promised output will actually show up.
6219
6220 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6221
6222         * gst/gstthread.c: (gst_thread_change_state):
6223           Implement state-change error handling (#166073).
6224
6225 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6226
6227         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6228           Release interrupt after handling (#166250).
6229
6230 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6231
6232         * configure.ac:
6233           back to HEAD
6234
6235 === release 0.8.9 ===
6236
6237 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * NEWS:
6240         * RELEASE:
6241         * configure.ac:
6242           releasing 0.8.9, "Like Eating Glass"
6243
6244 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6245
6246         submitted by: Clytie Siddall
6247
6248         * po/vi.po: Added Vietnamese translation
6249
6250 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6251
6252         patch by: Tim Philipp-M??ller
6253
6254         * configure.ac:
6255         * gst/gstpad.c:
6256           unref data when probe function returns FALSE.  Fixes #166362
6257
6258 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6259
6260         * gst/gst.c: (gst_init_get_popt_table):
6261           Fix typo (#166269).
6262
6263 2005-02-04  Andy Wingo  <wingo@pobox.com>
6264
6265         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6266         the debugging on whether the caps are compatible.
6267
6268 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6269
6270         * docs/manual/basics-elements.xml:
6271           Fix two typos.
6272
6273 2005-02-02  Wim Taymans  <wim@fluendo.com>
6274
6275         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6276         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6277         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6278         Remove some FIXMEs after analysing and commenting why they
6279         are not issues.
6280
6281 2005-02-02  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/schedulers/gstoptimalscheduler.c:
6284         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6285         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6286         (get_invalid_call), (chain_invalid_call),
6287         (get_group_schedule_function), (loop_group_schedule_function),
6288         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6289         (gst_opt_scheduler_state_transition),
6290         (gst_opt_scheduler_add_element),
6291         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6292         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6293         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6294         (gst_opt_scheduler_show):
6295         Added lock to protect scheduler data structures.
6296
6297 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6298
6299         * testsuite/threads/threadi.c: (cb_data):
6300           Fix buglet in test.
6301
6302 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6303
6304         * testsuite/threads/Makefile.am:
6305         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6306           On Wim's request, split the test in three separately-compiled
6307           tests that each test a very specific bug. Two of them still fail,
6308           will create bugs for those. threadi.c indicates why they fail.
6309
6310 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6311
6312         * gst/schedulers/gstoptimalscheduler.c:
6313         (get_group_schedule_function):
6314           Try to work with the threading mess that queue_link is.
6315
6316 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6317
6318         * gst/gstbin.c: (gst_bin_remove_func):
6319           Explicitely make an element release locks in a group when being
6320           remove from a bin.
6321         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6322           If there's no scheduler, always return immediately (similar to
6323           gst_element_interrupt).
6324
6325 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6326
6327         * gst/gstbin.c: (gst_bin_child_state_change_func):
6328           Remove a piece of code that could never be reached.
6329         * docs/gst/gstreamer-sections.txt:
6330         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6331         (gst_pad_call_get_function):
6332         * gst/gstpad.h:
6333         * testsuite/pad/Makefile.am:
6334           Fix #150546, enable tests.
6335
6336 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6337
6338         * docs/pwg/advanced-types.xml:
6339           Fix description for buffer-frames=0.
6340         * docs/gst/tmpl/gstbin.sgml:
6341         * gst/gstbin.c: (gst_bin_child_state_change_func),
6342         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6343         * gst/gstbin.h:
6344         * testsuite/threads/Makefile.am:
6345         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6346         (cb_state), (cb_play), (main):
6347           Fix non-recursive state changes to *really* change the state
6348           of the object, and not just call parent_class->state_change.
6349           Fix a lot of lockups caused by this. Fixes #132775. Add test
6350           for the problem. Also enable test to show #142588 (fixed).
6351         * gst/gstthread.c: (gst_thread_change_state),
6352         (gst_thread_child_state_change):
6353           Don't exit the thread if we go to NULL and are inside thread
6354           context. Instead, return control to the main thread context
6355           and exit from there.
6356         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6357           Don't unset virtual functions, since those may still be used.
6358           That's not necessarily correct, but suffices for now.
6359         * configure.ac:
6360         * testsuite/Makefile.am:
6361         * testsuite/pad/Makefile.am:
6362         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6363         (gst_test_sink_base_init), (gst_test_sink_chain),
6364         (gst_test_sink_init), (main):
6365         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6366         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6367         (main):
6368         * testsuite/pad/link.c: (gst_test_element_class_init),
6369         (gst_test_element_base_init), (gst_test_src_get),
6370         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6371         (gst_test_filter_loop), (gst_test_filter_init),
6372         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6373         (cb_error), (main):
6374           Add tests to show #150546. Pass, but should fail (currently
6375           disabled from the testsuite).
6376         * gst/gstscheduler.c: (gst_scheduler_dispose):
6377           Dereference child schedulers on dispose (#94464).
6378         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6379           Fix typo.
6380         * testsuite/threads/thread.c: (main):
6381           Add more debug.
6382
6383 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6384
6385         * gst/gstpad.c: (gst_pad_push):
6386           Oops, revert previous commit, broke testsuite...
6387
6388 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6389
6390         * gst/gstpad.c: (gst_pad_push):
6391           Add check that the pad on which the push is performed is not a
6392           get-based pad (#150546).
6393
6394 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6395
6396         * gst/elements/gsttypefindelement.c:
6397         (gst_type_find_element_handle_event):
6398           Fix buffer pushing if stream EOSes during typefinding.
6399
6400 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6401
6402         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6403
6404         * gst/gstvalue.c: (gst_string_wrap):
6405           Allow NULL-strings as argument (#165365).
6406
6407 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6408
6409         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6410
6411         * gst/schedulers/faircothreads.c:
6412         (gst_fair_scheduler_cothread_queue_show):
6413           Fix build without debug enabled.
6414
6415 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6416
6417         * docs/gst/gstreamer-sections.txt:
6418         * docs/libs/gstreamer-libs-docs.sgml:
6419         * docs/libs/gstreamer-libs-sections.txt:
6420         * docs/libs/tmpl/gstcontrol.sgml:
6421         * docs/libs/tmpl/gstdparam.sgml:
6422         * docs/libs/tmpl/gstdplinint.sgml:
6423         * docs/libs/tmpl/gstdpman.sgml:
6424         * docs/libs/tmpl/gstdpsmooth.sgml:
6425         * docs/libs/tmpl/gstputbits.sgml:
6426         * docs/libs/tmpl/gstunitconvert.sgml:
6427         * libs/gst/control/dparam.c:
6428         * libs/gst/control/dparam.h:
6429         * libs/gst/control/dparammanager.c:
6430         (gst_dpman_add_required_dparam_callback),
6431         (gst_dpman_add_required_dparam_direct),
6432         (gst_dpman_add_required_dparam_array),
6433         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6434         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6435         (gst_dpman_get_manager)
6436           restructured DParam docs
6437
6438 2005-01-25  Tim-Philipp M??ller  <tim at centricular dot net>
6439
6440         * gst-element-check.m4:
6441           Only check for gst-inspect if we haven't already
6442           found it in previous element check runs
6443
6444 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6445
6446         * docs/gst/Makefile.am:
6447         * docs/libs/Makefile.am:
6448           fixed install rules to treat style.css as optional
6449
6450 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6451
6452         * docs/gst/Makefile.am:
6453         * docs/libs/Makefile.am:
6454           install style.css along with docs
6455         * docs/gst/tmpl/gstbin.sgml:
6456         * docs/gst/tmpl/gstclock.sgml:
6457         * docs/gst/tmpl/gstdata.sgml:
6458         * docs/gst/tmpl/gstelement.sgml:
6459         * gst/gstbin.h:
6460         * gst/gstelement.c: (gst_element_class_init):
6461         * gst/gstelement.h:
6462           fixing incomplete docs
6463
6464 2005-01-24  Tim-Philipp M??ller  <tim at centricular dot net>
6465
6466         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6467           Don't unref seek event twice when fflush() fails
6468           
6469 2005-01-22  David Schleef  <ds@schleef.org>
6470
6471         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6472
6473 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6474
6475         * docs/gst/Makefile.am:
6476         * docs/libs/Makefile.am:
6477           added params for deprecation guards
6478         * gst/gst.c:
6479         * gst/gst.h:
6480         * gst/gsterror.c: (_gst_resource_errors_init),
6481         (_gst_stream_errors_init):
6482         * gst/gsterror.h:
6483           documented some more enums
6484
6485 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6486         * gst/autoplug/gstspideridentity.c:
6487         Cosmetic fix - spider_find_peek should be static
6488         * gst/parse/parse.l:
6489         Applying fix for #164261
6490
6491 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6492
6493         * docs/gst/gstreamer-sections.txt:
6494         * docs/gst/tmpl/gstplugin.sgml:
6495         * docs/libs/gstreamer-libs-sections.txt:
6496         * docs/libs/tmpl/gstcontrol.sgml:
6497         * gst/gstbuffer.h:
6498         * gst/gsttag.h:
6499         * gst/gstvalue.c:
6500           added docs for the TAG defines
6501
6502 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6503
6504         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6505           Only unref entry if there is an entry.
6506
6507 2005-01-17  Wim Taymans  <wim@fluendo.com>
6508
6509         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6510         (remove_from_group), (schedule_group), (normalize_group),
6511         (gst_opt_scheduler_iterate):
6512         Also ref/unref decoupled elements before iterating the
6513         group since they are not added to the list of elements.
6514
6515 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6516
6517         * docs/manual/highlevel-components.xml:
6518           Add subtitle/streamselection as new features to playbin.
6519
6520 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6521
6522         * docs/manual/manual.xml:
6523           Re-enable dataaccess docs (oops).
6524
6525 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6526
6527         * docs/pwg/advanced-types.xml:
6528         * docs/random/mimetypes:
6529           Add documentation on libsndfile types (#163309), by Steve Baker
6530           <steve@stevebaker.org>.
6531         * gst/gstelement.c: (gst_element_release_request_pad):
6532           If an element has no explicit function, just remove the pad.
6533
6534 2005-01-17  Luca Ognibene  <luogni@tin.it>
6535
6536         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6537
6538         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6539           Fix memleak (#163801).
6540
6541 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6542
6543         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6544           I think this is actually more correct...
6545
6546 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6547
6548         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6549           Another workaround for memory access while destroyed in callback.
6550           Please, someone with refcount knowledge, have a look at this.
6551
6552 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * docs/faq/faq.xml:
6555         * docs/faq/legal.xml:
6556           move the legal Q&A here
6557
6558 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6559
6560         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6561         (gst_tee_request_new_pad):
6562           Fix negotiation.
6563
6564 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6565
6566         * docs/random/omega/caps2:
6567         * testsuite/caps/caps_strings:
6568           replace framerate aproximations by their real value
6569           (24000/1001, 30000/1001, 60000/1001)
6570           Partially fixes bug #164049
6571
6572 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6573
6574         * docs/gst/Makefile.am:
6575           don't fail on the stupid GstPoptOption
6576
6577 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6578
6579         * gst/gstpad.h:
6580         * gst/gstprobe.c:
6581           allow probes to work on ghost pads by realizing the pad
6582           probe debugging
6583
6584 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6585
6586         * docs/gst/gstreamer-sections.txt:
6587         * docs/gst/tmpl/gstpad.sgml:
6588         * gst/gstpad.c: (gst_pad_set_active_recursive):
6589         * gst/gstpad.h:
6590           Add gst_pad_set_active_recursive().
6591
6592 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6593
6594         * docs/random/release:
6595           updates
6596         * gst/gst_private.h:
6597         * gst/gstinfo.c:
6598         * gst/gstobject.c:
6599           move deep_notify logging to a new category
6600         * gst/gstprobe.c:
6601         * gst/gstprobe.h:
6602           add stuff so bindings can wrap probes
6603
6604 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6605
6606         * gst/gstplugin.c: (gst_plugin_load):
6607           Fix plugin loading if plugin/lib was already loaded. Fixes
6608           #163383
6609
6610 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6611
6612         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6613
6614         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6615           Protect plugin loading by a mutex so it's threadsafe. Fixes
6616           #163234.
6617
6618 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6619
6620         * gst/gstevent.c: (_gst_event_copy):
6621           Reference source object when copying events, since it'll be
6622           dereferenced on event dereferencing as well.
6623
6624 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6625
6626         * docs/gst/gstreamer-sections.txt:
6627         * docs/gst/tmpl/gstevent.sgml:
6628         * gst/gstevent.c: (gst_event_new_filler_stamped),
6629         (gst_event_filler_get_duration):
6630         * gst/gstevent.h:
6631           Add two new functions for filler events (which are used to
6632           synchronize streams if one of them is not having any data
6633           for a while) without interrupting the actual data-stream.
6634           Basically a no-op.
6635         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6636         (gst_queue_link_sink), (gst_queue_link_src),
6637         (gst_queue_change_state):
6638           Allow for renegotiation while filled. Required for stream
6639           switching while playing.
6640
6641 2005-01-08  Benjamin Otte  <otte@gnome.org>
6642
6643         * gst/gstelement.c: (gst_element_link_many):
6644           fix up g_return_if_fail's
6645         * po/LINGUAS:
6646         * po/de.po:
6647           add German translation, that was somehow not included
6648
6649 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6650
6651         * docs/random/mimetypes:
6652           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6653           do not add them to riff-lib as they are not common
6654
6655 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6656
6657         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6658           Check for existence of probe after performing the probe before
6659           re-accessing it to prevent segfaults caused by removal of the
6660           probe in the callback.
6661
6662 2005-01-05  David Schleef  <ds@schleef.org>
6663
6664         * testsuite/registry/Makefile.am:
6665         * testsuite/registry/gst-print-formats.c:
6666         (print_pad_templates_info), (print_element_list),
6667         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6668         (g_list_uniqify), (get_pad_templates_info),
6669         (get_element_mime_list), (print_mime_list), (main): A little
6670         program that looks through the registry to find elements of
6671         a given type.  Not particularly interesting as a test, except
6672         that there's no other test covering the same area.
6673
6674 2005-01-05  David Schleef  <ds@schleef.org>
6675
6676         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6677         (fault_handler_sigaction), (fault_spin),
6678         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6679         in signal.h-type signal handlers by not calling forbidden functions,
6680         including gst_element_set_state().
6681
6682 2005-01-05  David Schleef  <ds@schleef.org>
6683
6684         * gst/gstvalue.h: Mark _gst_reserved[] as private
6685
6686 2005-01-05  David Schleef  <ds@schleef.org>
6687
6688         * gst/gstvalue.c: Fix doc build problem.
6689
6690 2005-01-05  David Schleef  <ds@schleef.org>
6691
6692         * gst/gstvalue.c: Add some documentation
6693
6694 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6695
6696         * docs/README:
6697           another shell oneliner for empty return value docs
6698         * gst/gstcaps.c:
6699         * gst/gstvalue.c:
6700         * libs/gst/control/dparam.c:
6701           more doc fixes (parameters and return values)
6702
6703 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6704
6705         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6706
6707         * gst/gstregistry.h:
6708         * gst/registries/gstxmlregistry.c:
6709           Fix macro's for Mingw (fixes #162276).
6710
6711 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6712
6713         * docs/README:
6714           quick shell oneliner to find undocumented members
6715         * docs/gst/tmpl/gstplugin.sgml:
6716         * docs/gst/tmpl/gstscheduler.sgml:
6717         * docs/gst/tmpl/gstthread.sgml:
6718           more enumtypes cleanup
6719         * gst/gsterror.h:
6720           activated documentation comments, now someone needs to document
6721           the enums :(
6722
6723 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6724
6725         * docs/manual/manual.xml:
6726           Add dataaccess part (doh!).
6727
6728 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6729
6730         * docs/manual/advanced-autoplugging.xml:
6731           Fix typo (intiate -> initiate).
6732
6733 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6734
6735         * docs/random/bbb/streamselection:
6736           Add some notes on how to handle multi-subtitle/-audio streams.
6737
6738 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6739
6740         * docs/gst/gstreamer-docs.sgml:
6741         * docs/gst/gstreamer-sections.txt:
6742         * docs/gst/tmpl/gstenumtypes.sgml:
6743         * docs/gst/tmpl/gsterror.sgml:
6744         * docs/gst/tmpl/gstevent.sgml:
6745         * docs/gst/tmpl/gstpad.sgml:
6746         * docs/gst/tmpl/gstpadtemplate.sgml:
6747         * docs/gst/tmpl/gstthread.sgml:
6748           removed gstenumtypes section from docs and put all the enums into
6749           their sections
6750
6751 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6752
6753         * gst/gstplugin.c:
6754           document gst_library_load a bit more (riff special case + return
6755           value if already loaded)
6756         * testsuite/bytestream/filepadsink.c:
6757           plugin name is 'gstbytestream', not 'bytestream'
6758
6759 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6760
6761         * docs/random/bbb/subtitles:
6762           Add some first mind rumblings on proper subtitle support.
6763
6764 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6765
6766         * po/ca.po:
6767         * po/sv.po:
6768           updated translations
6769
6770 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6771
6772         * docs/manual/advanced-dataaccess.xml:
6773           Add section on how to use fakesrc/fakesink/identity in your
6774           application, plus section on how to embed plugins. Also mention
6775           probes.
6776         * docs/manual/appendix-checklist.xml:
6777         * docs/manual/appendix-debugging.xml:
6778         * docs/manual/appendix-gnome.xml:
6779         * docs/manual/appendix-integration.xml:
6780           Debug -> checklist, GNOME -> integration, add sections on Linux,
6781           KDE integration and add other things useful for application
6782           development.
6783         * docs/manual/manual.xml:
6784           Remove some fixmes, update some file pointers.
6785         * docs/pwg/appendix-checklist.xml:
6786           Fix typo.
6787         * docs/pwg/building-boiler.xml:
6788           Remove ugly header and add commented fixme.
6789         * docs/pwg/pwg.xml:
6790           Add fixme.
6791         * examples/manual/Makefile.am:
6792           Add example for added docs.
6793
6794 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6795
6796         * configure.ac:
6797           back to HEAD
6798
6799 === release 0.8.8 ===
6800
6801 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6802
6803         * NEWS:
6804         * RELEASE:
6805         * configure.ac:
6806           Releasing 0.8.8, "I'll Take Care Of You"
6807
6808 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         * configure.ac:
6811           second prerelease
6812
6813 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6814
6815         patch by: Wim Taymans
6816
6817         * gst/gstbin.c:
6818           Fix for #159852 - make iterate emission threadsafe
6819
6820 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6821
6822         * docs/faq/cvs.xml:
6823           notes about new fdo account request
6824
6825 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6826
6827         * docs/gst/gstreamer-docs.sgml:
6828         * docs/gst/tmpl/gstenumtypes.sgml:
6829         * docs/gst/tmpl/gstplugin.sgml:
6830         * docs/libs/gstreamer-libs-docs.sgml:
6831           Added missing short docs. Added ids for navigation.
6832
6833 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6834
6835         * docs/manual/advanced-autoplugging.xml:
6836         * docs/manual/advanced-schedulers.xml:
6837         * docs/manual/advanced-threads.xml:
6838           Rewrites. Remove cothreads, go a bit into opt specifically,
6839           document threads and their gotchas, and do some technical stuff
6840           on autoplugging plus add some working examples. Fixes #157395.
6841         * examples/manual/Makefile.am:
6842           Add typefind/autoplugger example (one that actually works).
6843           Remove queue example since it's a duplicate of the thread one.
6844
6845 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6846
6847         * gst/gstvalue.c: (gst_value_deserialize_string):
6848           use deprecated g_value_set_string_take_ownership to keep compatible
6849           with glib 2.2
6850
6851 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6852
6853         * gst/gstvalue.c: (gst_value_deserialize_string):
6854           revert last patch, only dom a g_utf8_validate now before accepting
6855           the string - caps parsing strips " from strings so we can't rely on
6856           them
6857         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6858           disable a test that tested the above and comment it
6859
6860 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6861
6862         Patch reviewed by David Schleef  <ds@schleef.org>
6863
6864         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6865         bug #153882)
6866         * win32/gstenumtypes.h: same
6867
6868 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6869
6870         * gst/gstpad.c: (gst_pad_query):
6871           Do query on realized pad, similar to how convert/send_event handle
6872           this. Also makes sense, since this pad belongs to the function to
6873           which this query will be sent. Fixes #158163.
6874
6875 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6876
6877         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6878
6879 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6880
6881         * docs/faq/general.xml: fix pipeline to actually work
6882
6883 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6884
6885         * gst/gstvalue.c: (gst_value_deserialize_string):
6886           check that a simple string that gets deserialized does not contain
6887           invalid characters
6888         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6889           remove a test that tested a wring behaviour
6890
6891 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6892
6893         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6894
6895         * docs/manual/intro-motivation.xml:
6896           Fix typos.
6897
6898 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6899
6900         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6901
6902         * docs/gst/tmpl/gstprobe.sgml:
6903           Fix documentation of probe callback - it is supposed to return
6904           FALSE, not TRUE, to remove data from the stream (#159087).
6905
6906 2004-12-16  Daniel Gazard  <dany42@free.fr>
6907
6908         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6909
6910         * gst/gstelementfactory.c: (gst_element_factory_create):
6911           Fix compile failure if compiling without libxml2 support (#149936).
6912
6913 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6914
6915         * docs/manual/advanced-autoplugging.xml:
6916         * docs/manual/highlevel-components.xml:
6917           Move spider from autoplugging to components. Autoplugging is for
6918           internals, not for solutions. ;-).
6919
6920 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6921
6922         * docs/random/ds/0.9-suggested-changes:
6923           Make note on device/location/uri property names.
6924
6925 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6926
6927         * docs/manual/advanced-autoplugging.xml:
6928         * docs/manual/advanced-clocks.xml:
6929         * docs/manual/advanced-interfaces.xml:
6930         * docs/manual/advanced-metadata.xml:
6931         * docs/manual/advanced-position.xml:
6932         * docs/manual/advanced-schedulers.xml:
6933         * docs/manual/advanced-threads.xml:
6934         * docs/manual/appendix-gnome.xml:
6935         * docs/manual/appendix-programs.xml:
6936         * docs/manual/appendix-quotes.xml:
6937         * docs/manual/autoplugging.xml:
6938         * docs/manual/basics-bins.xml:
6939         * docs/manual/basics-data.xml:
6940         * docs/manual/basics-elements.xml:
6941         * docs/manual/basics-helloworld.xml:
6942         * docs/manual/basics-init.xml:
6943         * docs/manual/basics-pads.xml:
6944         * docs/manual/basics-plugins.xml:
6945         * docs/manual/bins-api.xml:
6946         * docs/manual/bins.xml:
6947         * docs/manual/buffers-api.xml:
6948         * docs/manual/buffers.xml:
6949         * docs/manual/clocks.xml:
6950         * docs/manual/components.xml:
6951         * docs/manual/cothreads.xml:
6952         * docs/manual/debugging.xml:
6953         * docs/manual/dparams-app.xml:
6954         * docs/manual/dynamic.xml:
6955         * docs/manual/elements-api.xml:
6956         * docs/manual/elements.xml:
6957         * docs/manual/factories.xml:
6958         * docs/manual/gnome.xml:
6959         * docs/manual/goals.xml:
6960         * docs/manual/helloworld.xml:
6961         * docs/manual/helloworld2.xml:
6962         * docs/manual/highlevel-components.xml:
6963         * docs/manual/highlevel-xml.xml:
6964         * docs/manual/init-api.xml:
6965         * docs/manual/intro-basics.xml:
6966         * docs/manual/intro-motivation.xml:
6967         * docs/manual/intro-preface.xml:
6968         * docs/manual/intro.xml:
6969         * docs/manual/links-api.xml:
6970         * docs/manual/links.xml:
6971         * docs/manual/manual.xml:
6972         * docs/manual/motivation.xml:
6973         * docs/manual/pads-api.xml:
6974         * docs/manual/pads.xml:
6975         * docs/manual/plugins-api.xml:
6976         * docs/manual/plugins.xml:
6977         * docs/manual/programs.xml:
6978         * docs/manual/queues.xml:
6979         * docs/manual/quotes.xml:
6980         * docs/manual/schedulers.xml:
6981         * docs/manual/states-api.xml:
6982         * docs/manual/states.xml:
6983         * docs/manual/threads.xml:
6984         * docs/manual/typedetection.xml:
6985         * docs/manual/win32.xml:
6986         * docs/manual/xml.xml:
6987           Try 2. This time, include a short preface as a "general
6988           introduction", also add code blocks around all code samples
6989           so they get compiled. We still need a way to tell readers
6990           the filename of the code sample. In some cases, don't show
6991           all code in the documentation, but do include it in the generated
6992           code. This allows for focussing on specific bits in the docs,
6993           while still having a full test application available.
6994         * examples/manual/Makefile.am:
6995           Fix up examples for new ADM. Add several of the new examples that
6996           were either added or were missing from the build system.
6997         * examples/manual/extract.pl:
6998           Allow nameless blocks.
6999
7000 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7001
7002         * docs/manual/elements-api.xml:
7003         * docs/manual/helloworld.xml:
7004         * examples/manual/extract.pl:
7005           fix last example.  Add example of adding code blocks that are not
7006           shown in docbook output.
7007
7008 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7009
7010         * docs/manual/dynamic.xml:
7011         * docs/manual/elements-api.xml:
7012         * docs/manual/gnome.xml:
7013         * docs/manual/helloworld2.xml:
7014         * docs/manual/init-api.xml:
7015         * docs/manual/queues.xml:
7016         * docs/manual/threads.xml:
7017         * docs/manual/xml.xml:
7018         * examples/manual/extract.pl:
7019           Make it possible to extract example code from separate blocks.
7020           Should make Ronald happy.
7021
7022 2004-12-15  Wim Taymans  <wim@fluendo.com>
7023
7024         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7025         (remove_from_group), (group_elements_set_visited),
7026         (normalize_group), (gst_opt_scheduler_iterate):
7027         Fix bug where a flag was not updated on a decoupled entry point 
7028         because we were just checking the group element list and decoupled
7029         elements are not in that list..
7030
7031 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7032
7033         * docs/manual/advanced-autoplugging.xml:
7034         * docs/manual/advanced-clocks.xml:
7035         * docs/manual/advanced-dparams.xml:
7036         * docs/manual/advanced-interfaces.xml:
7037         * docs/manual/advanced-metadata.xml:
7038         * docs/manual/advanced-position.xml:
7039         * docs/manual/advanced-schedulers.xml:
7040         * docs/manual/advanced-threads.xml:
7041         * docs/manual/appendix-debugging.xml:
7042         * docs/manual/appendix-gnome.xml:
7043         * docs/manual/appendix-programs.xml:
7044         * docs/manual/appendix-quotes.xml:
7045         * docs/manual/appendix-win32.xml:
7046         * docs/manual/autoplugging.xml:
7047         * docs/manual/basics-bins.xml:
7048         * docs/manual/basics-data.xml:
7049         * docs/manual/basics-elements.xml:
7050         * docs/manual/basics-helloworld.xml:
7051         * docs/manual/basics-init.xml:
7052         * docs/manual/basics-pads.xml:
7053         * docs/manual/basics-plugins.xml:
7054         * docs/manual/bins-api.xml:
7055         * docs/manual/bins.xml:
7056         * docs/manual/buffers-api.xml:
7057         * docs/manual/buffers.xml:
7058         * docs/manual/clocks.xml:
7059         * docs/manual/components.xml:
7060         * docs/manual/cothreads.xml:
7061         * docs/manual/debugging.xml:
7062         * docs/manual/dparams-app.xml:
7063         * docs/manual/dynamic.xml:
7064         * docs/manual/elements-api.xml:
7065         * docs/manual/elements.xml:
7066         * docs/manual/factories.xml:
7067         * docs/manual/gnome.xml:
7068         * docs/manual/goals.xml:
7069         * docs/manual/helloworld.xml:
7070         * docs/manual/helloworld2.xml:
7071         * docs/manual/highlevel-components.xml:
7072         * docs/manual/highlevel-xml.xml:
7073         * docs/manual/init-api.xml:
7074         * docs/manual/intro-motivation.xml:
7075         * docs/manual/intro-preface.xml:
7076         * docs/manual/intro.xml:
7077         * docs/manual/links-api.xml:
7078         * docs/manual/links.xml:
7079         * docs/manual/manual.xml:
7080         * docs/manual/motivation.xml:
7081         * docs/manual/pads-api.xml:
7082         * docs/manual/pads.xml:
7083         * docs/manual/plugins-api.xml:
7084         * docs/manual/plugins.xml:
7085         * docs/manual/programs.xml:
7086         * docs/manual/queues.xml:
7087         * docs/manual/quotes.xml:
7088         * docs/manual/schedulers.xml:
7089         * docs/manual/states-api.xml:
7090         * docs/manual/states.xml:
7091         * docs/manual/threads.xml:
7092         * docs/manual/typedetection.xml:
7093         * docs/manual/win32.xml:
7094         * docs/manual/xml.xml:
7095           First try at rewriting the ADM. Needs lotsamore work, but some
7096           parts might already be somewhat useful.
7097         * docs/pwg/advanced-interfaces.xml:
7098           Remove properties interface, it never actually existed (except for
7099           on my HD...).
7100
7101 2004-12-13  David Schleef  <ds@schleef.org>
7102
7103         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
7104         be NULL (bug #160220).
7105
7106 2004-12-13  David Schleef  <ds@schleef.org>
7107
7108         * configure.ac: remove all mmx stuff, because it's not used.
7109         * docs/random/ds/0.9-suggested-changes: additional notes
7110         * include/Makefile.am: we don't use these anymore
7111         * include/mmx.h: remove
7112         * include/sse.h: remove
7113
7114 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7115
7116         * docs/random/mimetypes:
7117           Add FOURCC code for h264 codec (VSSH)
7118           Add alternate FOURCC codes for h263 related codecs
7119
7120 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
7121
7122         * docs/manual/programs.xml:
7123           Added more gst-launch examples.
7124
7125 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7126
7127         * gst/gstqueue.c: (gst_queue_handle_src_query):
7128           Check for availability again.
7129
7130 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7131
7132         * gst/gstcaps.c: (gst_caps_compare_structures):
7133           Simple caps go first. This has the nice side-effect of fixing an
7134           obscure warning.
7135
7136 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7137
7138         * gst/gstversion.h.in:
7139           Protect header.
7140
7141 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7142
7143         * gst/schedulers/gstoptimalscheduler.c:
7144         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
7145         (gst_opt_scheduler_get_wrapper):
7146           When we're recursing into a chain run, only run the directly
7147           related group, not all queued ones. This will fix a possible
7148           deadlock in chains with more than two groups.
7149
7150 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7151
7152         * autogen.sh:
7153           remove patch if autopoint fails
7154
7155 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7156
7157         * docs/gst/gstreamer-sections.txt:
7158           Document Thomas' addition, fix build, make Luis the sheriff happy.
7159
7160 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7161
7162         * gst/gstplugin.c:
7163         * gst/gstplugin.h:
7164           add accessor for version field
7165
7166 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         submitted by: Luca Ferretti <elle.uca@infinito.it>
7169
7170         * po/LINGUAS:
7171         * po/it.po:
7172           New tranlation added: Italian
7173
7174 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7175
7176         * gst/gstpad.c: (gst_pad_is_negotiated),
7177         (gst_pad_get_negotiated_caps):
7178           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
7179           it doesn't actually check the contents), so be sure to hand it
7180           a RealPad else we'll crash.
7181
7182 2004-12-03  Wim Taymans  <wim@fluendo.com>
7183
7184         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7185         (gst_queue_link), (gst_queue_handle_src_query):
7186         Reverted to 1.110 until this makes the testsuite and various
7187         apps work.
7188
7189 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
7190
7191         * docs/upload.mak: fix included CVS conflict strings
7192
7193 2004-12-01  William Jon McCann  <mccann@jhu.edu>
7194
7195         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7196
7197         * gst/gstelement.c: (gst_element_error_full):
7198           Use g_error_new_literal because error text may have
7199           percentage signs in it. Fixes #160019.
7200
7201 2004-12-01  Benjamin Otte  <otte@gnome.org>
7202
7203         * gst/elements/gstbufferstore.c:
7204         (gst_buffer_store_add_buffer_func):
7205           don't try to make subbuffers bigger than they can be. (fixes
7206           #159970)
7207
7208 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7209
7210         * docs/gst/gstreamer-sections.txt:
7211         * docs/gst/tmpl/gstvalue.sgml:
7212           Add new function to docs to fix build.
7213
7214 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7215
7216         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7217         * gst/gstpad.c: (_gst_pad_default_fixate_value),
7218         (_gst_pad_default_fixate_foreach):
7219         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
7220         * gst/gstvalue.h:
7221           Deprecate _type_is_fixed, use _value_is_fixed instead, since
7222           in some cases (arrays), the fixedness depends on the content.
7223         * gst/gstqueue.c: (gst_queue_handle_src_query):
7224           Check for availability before doing something.
7225
7226 2004-11-29  Wim Taymans  <wim@fluendo.com>
7227
7228         * testsuite/threads/Makefile.am:
7229         * testsuite/threads/signals.c: (gst_test_get_type),
7230         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
7231         (gst_test_set_property), (gst_test_get_property),
7232         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
7233         (gst_test_do_prop), (run_thread), (main):
7234         Added a bunch of testcases that show threadsafety bugs in glib.
7235
7236 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
7237
7238         * docs/manual/programs.xml:
7239           Added a first batch of gst-launch examples, as provided by Ronald
7240           and others from the devel-mlist
7241
7242 2004-11-28  Benjamin Otte  <otte@gnome.org>
7243
7244         * gst/gstelement.c: (gst_element_negotiate_pads):
7245           simplify
7246         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
7247         (gst_value_serialize_string), (gst_value_deserialize_string):
7248           add unwrapping of previously wrapped strings. Fix bug in wrapping
7249           while at it.
7250         * testsuite/caps/value_serialize.c: (test1),
7251         (test_string_serialization), (test_string_deserialization), (main):
7252           add tests for string (de)serialization
7253
7254 2004-11-26  Wim Taymans  <wim@fluendo.com>
7255
7256         * testsuite/threads/159566.c: (object_deep_notify), (main):
7257         * testsuite/threads/Makefile.am:
7258         Added testsuite to show bug #159566
7259
7260 2004-11-25  Wim Taymans  <wim@fluendo.com>
7261
7262         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7263         (gst_thread_child_state_change), (gst_thread_main_loop):
7264         Ref the thread object in the GThread mainloop. Break out of the
7265         thread mainloop if it holds the last ref. This properly exits
7266         the threads when disposing the thread from its own context. It
7267         also avoids possible deadlocks in the dispose function.
7268
7269 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7270
7271         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7272         it is necessary to wait.
7273
7274 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7275
7276         * docs/pwg/building-boiler.xml:
7277           Make description somewhat clearer.
7278
7279 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7280
7281         * docs/upload.mak:
7282           Apparently docs changed location on FDO's server.
7283
7284 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7285
7286         * docs/pwg/appendix-checklist.xml:
7287           Add some random notes on things to check when writing an element.
7288           This list can be extended as people see fit.
7289
7290 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7291
7292         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7293         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7294         pad. The queue will now wait until it is empty and forward the new
7295         caps to the source.
7296         * gst/gstbin.c (gst_bin_set_element_sched)
7297         (gst_bin_unset_element_sched): Make sure that all elements and
7298         links are registered and unregistered with the scheduler exactly
7299         once. This elaborates on a fix by Benjamin Otte, but
7300         guarantees that decoupled elements are also registered.
7301
7302 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * docs/manual/quotes.xml:
7305           add a quote
7306         * configure.ac:
7307         * gst/gst.c:
7308         * gst/gstinfo.c:
7309           add LIBDIR and move init message higher up so it's at the start
7310
7311 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7312
7313         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7314         * gstreamer.spec.in: add fair
7315
7316 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7317
7318         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7319         * gst/elements/gstidentity.c: (gst_identity_class_init):
7320           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7321           <teuf@gnome.org> (#157263).
7322         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7323         (gst_type_find_handle_src_query):
7324           Subtract size of internally stored data from position queries.
7325
7326 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7327
7328         * gst/schedulers/fairscheduler.c:
7329         * gst/schedulers/faircothreads.c:
7330         * gst/schedulers/faircothreads.h:
7331         New cothread based scheduler: Fair scheduler.
7332         * gst/schedulers/gthread-cothreads.h: 
7333         Add the standard #if around the whole file.
7334         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7335         compilation of the functions defined in this file. This is
7336         necessary to be able to use this file as a normal header.
7337         * gst/schedulers/Makefile.am: Add compiling support for fair
7338         scheduler.
7339         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7340         scheduler cothreads layer from documentation generation.
7341
7342 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7343
7344         * gst/autoplug/gstspideridentity.c:
7345         (gst_spider_identity_sink_loop_type_finding):
7346           Don't crash if that function is not implemented.
7347
7348 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7349
7350         * docs/pwg/advanced-types.xml:
7351           Another typo.
7352
7353 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7354
7355         * docs/pwg/intro-preface.xml:
7356           Hm, ok, so the brackets weren't really useful...
7357         * docs/pwg/other-ntoone.xml:
7358           Fix embarassing typo.
7359
7360 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7361
7362         * docs/pwg/intro-preface.xml:
7363           Rewrite preface.
7364
7365 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7366
7367         * docs/pwg/advanced-scheduling.xml:
7368         * docs/pwg/advanced-tagging.xml:
7369         * docs/pwg/advanced-types.xml:
7370         * docs/pwg/building-boiler.xml:
7371         * docs/pwg/building-chainfn.xml:
7372         * docs/pwg/building-signals.xml:
7373         * docs/pwg/building-state.xml:
7374         * docs/pwg/building-testapp.xml:
7375         * docs/pwg/intro-basics.xml:
7376         * docs/pwg/other-manager.xml:
7377         * docs/pwg/other-source.xml:
7378           Typo fixes.
7379         * docs/pwg/other-manager.xml:
7380           Add some first content. No example code yet.
7381         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7382           Remove double newlines.
7383
7384 2004-11-04  Wim Taymans  <wim@fluendo.com>
7385
7386         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7387         (remove_from_group), (normalize_group), (group_migrate_connected),
7388         (gst_opt_scheduler_iterate):
7389         * testsuite/schedulers/.cvsignore:
7390         * testsuite/schedulers/Makefile.am:
7391         * testsuite/schedulers/queue_link.c: (main):
7392         Added testcase for scheduler segfault.
7393         Fix scheduler segfault when removing a decoupled
7394         entry point as the last element from a group.
7395
7396 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7397
7398         * gst/gstmarshal.list: add missing marshaller, fixes build
7399
7400 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7401
7402         * docs/random/signal: added notes about using BOXED for GstBuffer
7403         signal marshallers, not POINTER
7404
7405 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7406
7407         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7408         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7409         POINTER=>BOXED changes to marshal GstBuffers
7410
7411 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7412
7413         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7414         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7415
7416 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7417
7418         * docs/gst/gstreamer-sections.txt:
7419         * docs/gst/tmpl/gstcaps.sgml:
7420         * docs/gst/tmpl/gsterror.sgml:
7421         * docs/gst/tmpl/gstinfo.sgml:
7422         * docs/gst/tmpl/gstmacros.sgml:
7423         * docs/gst/tmpl/gstutils.sgml:
7424         * docs/random/ensonic/interfaces.txt:
7425         * gst/gstinfo.h:
7426           added some more docs, removed two obsolete defines
7427
7428 2004-11-02  Kjartan Maraas <as at gnome.org>
7429
7430         reviewed by: Wim Taymans, Ronald Bultje.
7431
7432         * gst/cothreads.c: (cothread_create):
7433         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7434         (gst_bin_child_state_change_func):
7435         * gst/gstbuffer.c: (gst_buffer_span):
7436         * gst/gstelement.c: (gst_element_get_index),
7437         (gst_element_get_event_masks), (gst_element_get_query_types),
7438         (gst_element_get_formats):
7439         * gst/gsterror.c: (_gst_core_errors_init),
7440         (_gst_library_errors_init), (_gst_resource_errors_init),
7441         (_gst_stream_errors_init):
7442         * gst/gstobject.c: (gst_object_default_deep_notify):
7443         * gst/gstpad.c: (gst_pad_get_event_masks),
7444         (gst_pad_get_internal_links_default):
7445         * gst/gstplugin.c: (gst_plugin_register_func),
7446         (gst_plugin_get_module):
7447         * gst/gststructure.c: (gst_structure_get_string),
7448         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7449         (gst_structure_to_abbr):
7450         * gst/gstutils.c: (gst_print_element_args):
7451         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7452         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7453         Aplied part of patch #157127: Cleanup of issues reported by 
7454         sparse.
7455         Also do not try to use cothreads when there is no cothread
7456         context yet.
7457
7458 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7459
7460         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7461         (gst_opt_scheduler_iterate):
7462         Applied patch #154061. Running a pipeline in which an element 
7463         calls GST_ELEMENT_ERROR in the chain function, the opt 
7464         scheduler doesn't unref the chain so it never gets freed.
7465
7466 2004-11-02  Wim Taymans  <wim@fluendo.com>
7467
7468         * gst/gststructure.c: (gst_structure_get_abbrs),
7469         (gst_structure_from_abbr), (gst_structure_to_abbr):
7470         Remove that ugly if-then thing in the code that converts
7471         between strings and types.
7472
7473 2004-11-02  Wim Taymans  <wim@fluendo.com>
7474
7475         * gst/gstscheduler.c: (gst_scheduler_add_element),
7476         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7477         Aplied clock distribution patch, this should fix bug
7478         #148787.
7479
7480 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7481
7482         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7483
7484         * po/LINGUAS:
7485         * po/nb.po:
7486           Added Norwegian Bokmaal translation
7487
7488 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7489
7490         * tools/gst-inspect.c: (print_signal_info):
7491           print signal arguments as pointers if they are
7492
7493 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7494
7495         * docs/pwg/building-boiler.xml:
7496           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7497
7498 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7499
7500         * gst/parse/parse.l:
7501         * testsuite/parse/parse1.c: (main):
7502         Since parse can do 'element name=a:b' make 'a:b.' work as
7503         well. 
7504         Added testcase to verify fix.
7505
7506 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7507
7508         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7509         Use the realpad when printing the direction.
7510         Add extra \n when printing extensions of typefind factories.
7511
7512 2004-10-13  David Schleef  <ds@schleef.org>
7513
7514         * examples/manual/Makefile.am: $< isn't portable in Makefile
7515         rules.
7516
7517 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7518
7519         * docs/gst/tmpl/gstobject.sgml:
7520         * docs/gst/tmpl/gstplugin.sgml:
7521         * docs/gst/tmpl/gstpluginfeature.sgml:
7522         * docs/gst/tmpl/gstregistry.sgml:
7523         * docs/gst/tmpl/gstversion.sgml:
7524         * gst/gstbin.c:
7525           more api documentation
7526         * gst/gstplugin.c: (gst_plugin_register_func),
7527         (gst_plugin_check_file), (gst_plugin_load_file):
7528           better error signaling and logging
7529
7530 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7531
7532         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7533           Subtract current queue contents from position queries.
7534
7535 2004-10-11  Johan Dahlin  <johan@gnome.org>
7536
7537         * gst/gsturi.c (gst_uri_get_location): unescape string
7538         (gst_uri_construct): escape string.
7539
7540 2004-10-11  Benjamin Otte  <otte@gnome.org>
7541
7542         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7543         (gst_pad_try_set_caps_nonfixed):
7544           allow renegotiation of unconnected pads (as inside spider). Simply
7545           return OK if unconnected - mimic try_set_caps there.
7546
7547 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7548
7549         * gst/gstbin.c: (gst_bin_sync_children_state):
7550           Add missing break.
7551
7552 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7553
7554         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7555         Set element to EOS before sending EOS event
7556
7557 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7558
7559         * gst/elements/gsttypefindelement.c:
7560         (gst_type_find_element_handle_event):
7561         Handle EOS events when doing the transition from
7562         typefind to data passing. This should fix the
7563         infinite loops in short files.
7564
7565 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7566
7567         * gst/gstthread.c: (gst_thread_change_state),
7568         (gst_thread_child_state_change):
7569         Make sure no iteration happens while performing
7570         the state change as it could mess up the internal
7571         consistency of the thread state.
7572
7573 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7574
7575         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7576         (gst_thread_change_state), (gst_thread_child_state_change):
7577         Do not try to grab the iterate lock in the state change method
7578         when we are in the same thread as the iterate or else we
7579         could deadlock. Some other cleanups.
7580
7581 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7582
7583         * configure.ac:
7584           bump nano to cvs
7585
7586 === release 0.8.7 ===
7587
7588 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7589
7590         * configure.ac:
7591         * NEWS:
7592         * RELEASE:
7593         * configure.ac:
7594           releasing 0.8.7, "A Cruise"
7595
7596 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7597
7598         * docs/random/mimetypes:
7599         Add an entry for Sony ATRAC3 audio format with mime-type
7600         used by rmdemux et riff-read
7601
7602 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7603
7604         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7605         Push the buffer store instead of clearing it in case that
7606         the stream is not seekable.
7607
7608 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7609
7610         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7611         (gst_thread_main_loop):
7612         Lock the iteration and the state change so that automatic
7613         negotiation and fixation does not happen at the same time
7614         as the in stream negotiation.
7615
7616 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7617
7618         * configure.ac:
7619           bump nano to cvs
7620
7621 === release 0.8.6 ===
7622
7623 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * configure.ac:
7626         * NEWS:
7627         * RELEASE:
7628         * configure.ac:
7629           releasing 0.8.6, "Narc"
7630
7631 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7632
7633         * configure.ac:
7634           prerel bump
7635
7636 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         patch by: Steve Lhomme
7639
7640         * gst/elements/gstfakesrc.c:
7641         * gst/elements/gstidentity.c:
7642         * gst/gstthread.c:
7643           Fix for #153881
7644
7645 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7646
7647         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7648         Fix threadsafety of the crc checking function.
7649
7650 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7651
7652         patch by: Ronald Bultje
7653
7654         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7655         (gst_type_find_element_handle_event),
7656         (gst_type_find_element_chain):
7657         * gst/elements/gsttypefindelement.h:
7658          #153657.
7659          Filter out discont event from seekable sources when typefind
7660          asks them to seek.  Fixes typefind with demuxers for
7661          avi, asf and matroska.
7662
7663 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * docs/gst/gstreamer-sections.txt:
7666         * gst/gstcaps.c:
7667         * gst/gstcaps.h:
7668         * gst/gstpad.c:
7669           Revert preferred caps: (#147789)
7670
7671 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7672
7673         * win32/dirent.c:
7674           fix a memory leak
7675
7676 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7677
7678         * configure.ac:
7679           bump for prerelease
7680
7681 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * docs/Makefile.am:
7684         * docs/manual/elements-api.xml:
7685           restructure so that common stuff is shown first
7686         * docs/manual/init-api.xml:
7687           convert to examples
7688         * docs/manual/manual.xml:
7689         * docs/manuals.mak:
7690         * docs/url.entities:
7691           link to API on the website, possibly override later in build
7692         * examples/manual/.cvsignore:
7693           ignore more
7694         * examples/manual/Makefile.am:
7695           add more examples
7696         * examples/manual/extract.pl:
7697           error out on failure
7698
7699 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7700
7701         * docs/gst/tmpl/gstthread.sgml:
7702         * docs/manual/init-api.xml:
7703         * examples/manual/Makefile.am:
7704           convert two code bits to examples
7705
7706 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7707
7708         * gst/gstelement.c: (gst_element_change_state):
7709           Well, actually, I was about to remove this insane assert when
7710           I noticed Wim already did that. A warning is nice so we can
7711           fix actual ugs (using --g-fatal-warnings and backtraces), so
7712           I added that instead.
7713
7714 2004-09-06  Wim Taymans  <wim@fluendo.com>
7715
7716         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7717         (gst_element_threadsafe_properties_post_run),
7718         (gst_element_set_state), (gst_element_change_state):
7719         Added extra refcounting around various places. 
7720
7721 2004-09-06  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7724         Fix debug info.
7725
7726 2004-09-06  Wim Taymans  <wim@fluendo.com>
7727
7728         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7729         (remove_from_group):
7730         Some more debug info.
7731
7732 2004-09-03  Wim Taymans  <wim@fluendo.com>
7733
7734         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7735         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7736         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7737         (gst_fakesrc_get), (gst_fakesrc_change_state):
7738         * gst/elements/gstfakesrc.h:
7739         * gst/elements/gstidentity.c: (gst_identity_class_init),
7740         (gst_identity_init), (gst_identity_chain),
7741         (gst_identity_set_property), (gst_identity_get_property),
7742         (gst_identity_change_state):
7743         * gst/elements/gstidentity.h:
7744         Added datarate properties to limit the datarate.
7745
7746 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7747
7748         * gst/autoplug/gstspider.c: (plugin_init):
7749           don't set a rank. We don't want to autoplug by inserting spiders.
7750
7751 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7752
7753         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7754         (gst_spider_identity_plug):
7755           add a template for spider's sink
7756         * gst/gst.c: (gst_register_core_elements):
7757           queue's rank should be NULL, we don't want spider to add it.
7758
7759 2004-08-18  David Schleef  <ds@schleef.org>
7760
7761         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7762         * docs/libs/Makefile.am: same
7763         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7764         * docs/random/ds/0.9-planning: random additions
7765         * docs/random/ds/0.9-suggested-changes: same
7766         * gst/gstxml.h: remove vestigal GstXMLNs definition
7767
7768         Preferred caps: (#147789)
7769         * docs/gst/gstreamer-sections.txt: Add symbols
7770         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7771         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7772         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7773         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7774         (gst_caps_get_preferred), (gst_caps_set_preferred),
7775         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7776         (gst_caps_use_preferred): Handle caps preferences
7777         * gst/gstcaps.h: Add caps preferences
7778         * gst/gstpad.c: (gst_pad_link_get_preferred),
7779         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7780         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7781         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7782         negotiation.
7783
7784 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7785
7786         * gst/autoplug/gstspideridentity.c:
7787         (gst_spider_identity_request_new_pad):
7788         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7789         (gst_aggregator_init):
7790         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7791         (gst_fakesink_init):
7792         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7793         (gst_fakesrc_init):
7794         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7795         (gst_fdsink_init):
7796         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7797         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7798         (gst_filesink_init):
7799         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7800         (gst_filesrc_init):
7801         * gst/elements/gstidentity.c: (gst_identity_base_init),
7802         (gst_identity_init):
7803         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7804         (gst_multifilesrc_init):
7805         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7806         (gst_pipefilter_init):
7807         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7808         (gst_statistics_init):
7809         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7810         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7811           s/gst_pad_new/&_from_template/
7812           register pad templates in the base_init function
7813           add static pad template definitions
7814
7815 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7816
7817         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7818         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7819         * testsuite/refcounting/pad.c: (main):
7820         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7821           s/gst_pad_new/&_from_template/
7822           prepare deprecation of gst_pad_new
7823
7824 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7825
7826         patch by: Luca Ognibene <skaboy81@virgilio.it>
7827
7828         * gst/gstcaps.c:
7829         * gst/gstelement.c:
7830         * gst/gstpad.c:
7831         * gst/gstxml.c:
7832           fix memleaks.  Fixes #150001
7833
7834 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7835
7836         * docs/random/ds/0.9-suggested-changes:
7837           add notes - mostly about pad templates
7838
7839 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7840
7841         * win32/GStreamer.vcproj:
7842           temporary locale files are .gmo not .mo
7843
7844 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7845
7846         * configure.ac: bump nano to cvs
7847
7848 === release 0.8.5 ===
7849
7850 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7851
7852         * configure.ac:
7853           releasing 0.8.5, "Stuttgart"
7854         * NEWS:
7855         * RELEASE:
7856         * configure.ac:
7857         * docs/random/release:
7858           updates for release
7859
7860 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7861
7862         patch by: Wim Taymans (wim@fluendo.com)
7863
7864         * gst/gstbuffer.c:
7865         * gst/gstindex.h:
7866         * libs/gst/dataprotocol/dataprotocol.c:
7867           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7868
7869 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7870
7871         * Makefile.am:
7872         * win32/MANIFEST:
7873           add win32 dir to the build.  Fixes #149981.
7874
7875 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7876
7877         * configure.ac:
7878           bump libtool versioning
7879         * gst/gststructure.c:
7880           mark function as static
7881         * po/af.po:
7882         * po/az.po:
7883         * po/ca.po:
7884         * po/cs.po:
7885         * po/en_GB.po:
7886         * po/fr.po:
7887         * po/nl.po:
7888         * po/sq.po:
7889         * po/sr.po:
7890         * po/sv.po:
7891         * po/tr.po:
7892         * po/uk.po:
7893           translations update
7894         * win32/README.txt:
7895           trademark protection
7896
7897 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * configure.ac:
7900           fix GST_ORIGIN
7901           set GST_PACKAGE to source, and distinguish between release and other
7902         * tools/gst-inspect.c:
7903           print out plugin an element factory is part of so we see this info
7904
7905 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7906
7907         * docs/gst/gstreamer-sections.txt:
7908         * docs/gst/tmpl/gstbuffer.sgml:
7909         * docs/gst/tmpl/gstschedulerfactory.sgml:
7910           reorder docs a little, make GstBuffer's more sensible.
7911         * gst/gstbuffer.h:
7912           API: added GST_BUFFER_FLAG_DELTA_UNIT
7913         * gst/gstscheduler.c:
7914           comment API addition
7915
7916 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7917
7918         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7919           work with non-regular files that can be mmapped (like /dev/zero)
7920         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7921           get rid of typefinds that require a seek when we can't seek instead
7922           of trying them over and over again
7923         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7924           return non-zero failure value when the pipeline was interrupted or
7925           an error occurred
7926
7927 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7928
7929         * win32/config.h:
7930         * win32/GStreamer.vcproj:
7931           compile and install the locales
7932
7933 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7934
7935         * gst/gstvalue.c:
7936           fix a possible memory leak under Windows
7937
7938 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7939
7940         * win32/GStreamer.vcproj:
7941           fix a memory leak that occured under Windows
7942         * win32/gstreamer.def:
7943           add gst_scheduler_register
7944
7945 2004-08-11  Benjamin Otte  <otte@gnome.org>
7946
7947         * docs/gst/gstreamer-sections.txt:
7948         * gst/gstscheduler.c: (gst_scheduler_register):
7949         * gst/gstscheduler.h:
7950           API:
7951           add gst_scheduler_register shortcut similar to gst_element_register
7952         * gst/schedulers/entryscheduler.c: (plugin_init):
7953         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7954         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7955           use it
7956
7957 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7958
7959         * gst/gstvalue.h:
7960           fix a memory leak that occured under Windows
7961
7962 2004-08-10  Colin Walters  <walters@redhat.com>
7963
7964         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7965         Don't use O_EXCL to open temporary registry.  It will prevent
7966         registry creation if a temporary one already exists, which
7967         is unnecessary.
7968
7969 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7970
7971         * docs/gst/gstreamer-sections.txt:
7972         * docs/gst/tmpl/gstvalue.sgml:
7973           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7974
7975 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7976
7977         * win32/gstbytestream.vcproj:
7978         * win32/gstelements.vcproj:
7979         * win32/gstgetbits.vcproj:
7980         * win32/gst-inspect.vcproj:
7981         * win32/gst-launch.vcproj:
7982         * win32/gstoptimalscheduler.vcproj:
7983         * win32/GStreamer.vcproj:
7984         * win32/gst-register.vcproj:
7985         * win32/gstspider.vcproj:
7986           update the include and lib dirs to fit standard libraries as
7987           described in the Win32 manual
7988
7989 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7990
7991         * win32/config.h:
7992         * win32/gstversion.h:
7993           enable NLS again, push the version number for the coming 0.8.5 release
7994
7995 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7996
7997         * gst/gstvalue.h:
7998           export gst_type_XXX for windows DLLs
7999
8000 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8001
8002         * docs/faq/gst-uninstalled:
8003           fix PKG_CONFIG_PATH and PYTHONPATH
8004         * gst/schedulers/Makefile.am:
8005           cleanup
8006         * libs/gst/bytestream/bytestream.c:
8007           remove newline
8008         * po/LINGUAS:
8009         * po/sq.po:
8010           adding Albanian translation (Laurent Dhima)
8011         * po/cs.po:
8012           updated
8013
8014 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8015
8016         * po/ca.po:
8017         * po/sv.po:
8018           updated translations
8019
8020 2004-08-04  Benjamin Otte  <otte@gnome.org>
8021
8022         * tests/mass_elements.c: (main):
8023           allow specifying src and sink element explicitly, so I can test
8024           videotestsrc instead of fakesrc
8025
8026 2004-08-04  Benjamin Otte  <otte@gnome.org>
8027
8028         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
8029         (gst_structure_id_empty_new), (gst_structure_empty_new),
8030         (gst_structure_copy):
8031           add gst_structure_id_empty_new_with_size to allow preallocating
8032           value array sizes. Use this in gst_structure_copy to get rid of
8033           reallocs.
8034           don't do quark=>string=>quark when copying structures
8035
8036 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
8037
8038         * docs/manual/win32.xml:
8039         * win32/README.txt:
8040           update documentation with the clean version of dependencies
8041
8042 2004-08-03  Benjamin Otte  <otte@gnome.org>
8043
8044         * gst/schedulers/entryscheduler.c:
8045         (gst_entry_scheduler_remove_element):
8046           fix for GST_DISABLE_DEBUG
8047         * tools/gst-launch.c: (print_tag):
8048           fixes for G_DISABLE_ASSERT
8049
8050 2004-08-03  Benjamin Otte  <otte@gnome.org>
8051
8052         * gst/gst.c: (gst_register_core_elements):
8053           fix for G_DISABLE_ASSERT
8054         * gst/gstinfo.c: (__gst_in_valgrind):
8055           add for GST_DISABLE_DEBUG
8056
8057 2004-08-03  Benjamin Otte  <otte@gnome.org>
8058
8059         * gst/parse/parse.l:
8060           fix for G_DISABLE_ASSERT
8061
8062 2004-08-03  Wim Taymans  <wim@fluendo.com>
8063
8064         * gst/gstbin.c: (gst_bin_get_type),
8065         (gst_bin_child_state_change_func):
8066         * gst/gstthread.c: (gst_thread_change_state):
8067         Backported some debug logging from a reverted patch
8068         Don't try to destroy the thread twice. Added some more
8069         debugging in GstThread. Unlock and signal even if we
8070         are in the thread context.
8071
8072 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8073
8074         * po/uk.po:
8075           updated translation
8076
8077 2004-07-30  David Schleef  <ds@schleef.org>
8078
8079         * gst/gstatomic_impl.h: Enable atomic code for x86_64
8080
8081 2004-07-29  David Schleef  <ds@schleef.org>
8082
8083         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
8084         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
8085
8086 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8087
8088         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8089         (gst_bin_add_func), (gst_bin_remove_func),
8090         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
8091         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
8092         (gst_bin_change_state_norecurse), (gst_bin_dispose),
8093         (gst_bin_sync_children_state):
8094         * gst/gstbin.h:
8095         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
8096         (gst_thread_change_state):
8097         * testsuite/states/Makefile.am:
8098           revert state change patches as agreed so we can rework them
8099           gradually
8100
8101 2004-07-29  Benjamin Otte  <otte@gnome.org>
8102
8103         * libs/gst/control/Makefile.am:
8104           link to libgstreamer (fixes Debian bug 262019, see
8105           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
8106
8107 2004-07-29  Wim Taymans  <wim@fluendo.com>
8108
8109         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8110         (check_from_fraction_convert), (transform_test), (main):
8111         Make the test less pedantic about float roundoff errors.
8112
8113 2004-07-29  Benjamin Otte  <otte@gnome.org>
8114
8115         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
8116         (gst_filesrc_srcpad_event):
8117           make seek events to before start/after end of file not fail, but
8118           seek to start/end instead
8119         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
8120           add more output
8121
8122 2004-07-29  Benjamin Otte  <otte@gnome.org>
8123
8124         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8125           check that caps are fixed
8126         * gst/gstpad.c: (gst_pad_template_new):
8127           don't try to simplify caps, costs too much time on gst_init
8128         * gst/gstplugin.c: (gst_plugin_add_feature):
8129           G_ERROR if features are added twice
8130         * gst/gsttypefind.c: (gst_type_find_register):
8131         * gst/gstelementfactory.c: (gst_element_register):
8132           don't add features twice
8133         * docs/random/ds/0.9-suggested-changes:
8134           add note about possible gst_init optimization
8135
8136 2004-07-28  David Schleef  <ds@schleef.org>
8137
8138         * testsuite/elements/Makefile.am:
8139         * testsuite/elements/struct_i386.h:
8140         * testsuite/elements/struct_size.c: (main):  A little test
8141         to keep distcheck from working if someone changes a structure
8142         size accidentally.
8143
8144 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * docs/libs/Makefile.am:
8147         * docs/libs/gstreamer-libs-docs.sgml:
8148         * docs/libs/gstreamer-libs-sections.txt:
8149         * docs/libs/tmpl/gstbytestream.sgml:
8150         * docs/libs/tmpl/gstcontrol.sgml:
8151         * docs/libs/tmpl/gstdataprotocol.sgml:
8152         * docs/libs/tmpl/gstgetbits.sgml:
8153         * libs/gst/bytestream/Makefile.am:
8154         * libs/gst/bytestream/bytestream.c:
8155         * libs/gst/bytestream/bytestream.h:
8156         * libs/gst/control/Makefile.am:
8157         * libs/gst/dataprotocol/Makefile.am:
8158         * libs/gst/getbits/Makefile.am:
8159         * libs/gst/getbits/getbits.h:
8160           various doc and style fixes, adding bytestream to libs docs.
8161
8162 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         * docs/gst/gstreamer-docs.sgml:
8165         * docs/libs/Makefile.am:
8166         * docs/libs/gstreamer-libs-docs.sgml:
8167         * docs/libs/gstreamer-libs-sections.txt:
8168         * libs/gst/control/dparam.c:
8169           more doc fixes.  gst-libs docs now build the same way as gst.
8170
8171 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         * configure.ac:
8174         * testsuite/Makefile.am:
8175         * testsuite/bins/Makefile.am:
8176         * testsuite/caps/Makefile.am:
8177         * testsuite/cleanup/Makefile.am:
8178         * testsuite/clock/Makefile.am:
8179         * testsuite/debug/Makefile.am:
8180         * testsuite/dlopen/Makefile.am:
8181         * testsuite/dynparams/Makefile.am:
8182         * testsuite/elements/.cvsignore:
8183         * testsuite/elements/Makefile.am:
8184         * testsuite/enumcaps/Makefile.am:
8185         * testsuite/enumcaps/enumcaps.c:
8186         * testsuite/ghostpads/Makefile.am:
8187         * testsuite/indexers/Makefile.am:
8188         * testsuite/negotiation/Makefile.am:
8189         * testsuite/parse/Makefile.am:
8190         * testsuite/plugin/Makefile.am:
8191         * testsuite/refcounting/Makefile.am:
8192         * testsuite/schedulers/.cvsignore:
8193         * testsuite/states/Makefile.am:
8194         * testsuite/tags/Makefile.am:
8195         * testsuite/threads/Makefile.am:
8196           fold enumcaps into caps dir
8197           clean up Makefile.am's for testsuite
8198
8199 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8200
8201         * docs/gst/Makefile.am:
8202         * docs/libs/Makefile.am:
8203           clean up docs build.  Fixes needless rebuilding of template files.
8204
8205 2004-07-28  Wim Taymans  <wim@fluendo.com>
8206
8207         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
8208         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
8209         Make sure that a bin state change tries to keep the children
8210         in sync. 
8211         Added debug logging to the thread.
8212
8213 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8214
8215         * win32/GStreamer.vcproj:
8216         * win32/gstreamer.def:
8217           more exports for the plugins
8218
8219 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8220
8221         * win32/gstgetbits.vcproj:
8222         * win32/gstgetbits.def:
8223         * win32/msvc71.sln:
8224           add support for the getbits plugin
8225
8226 2004-07-27  Wim Taymans  <wim@fluendo.com>
8227
8228         * gst/gstvalue.c: (gst_value_transform_double_fraction),
8229         (gst_value_transform_fraction_double), (_gst_value_initialize):
8230         * testsuite/caps/Makefile.am:
8231         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8232         (check_from_fraction_convert), (transform_test), (main):
8233         Added transform functions between double and fraction.
8234         Added testcase to verify transforms
8235
8236 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8237
8238         * win32/GStreamer.vcproj:
8239           rename GStreamer-0.8.lib to libgstreamer.lib
8240
8241 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8242
8243         * win32/gstelements.vcproj:
8244         * win32/gstoptimalscheduler.vcproj:
8245           fixes for the Release build
8246
8247 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8248
8249         * win32/config.h:
8250           update the version number
8251
8252 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8253
8254         * win32/GStreamer.vcproj:
8255           add gstinterface to the build
8256
8257 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8258
8259         * win32/gstreamer.def:
8260           add many definitions needed by plugins,
8261           GST_CAT_DEFAULT only available in the Debug build ?
8262
8263 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8264
8265         * gst/gstelement.c: (gst_element_set_eos_recursive):
8266           various whitespace fixes.
8267           doc fix, fixes #148497
8268
8269 2004-07-25  Benjamin Otte  <otte@gnome.org>
8270
8271         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8272           don't delay links on the sink elements, it causes unnegotiated
8273           links.
8274         * gst/elements/gsttypefindelement.c:
8275         (gst_type_find_element_base_init):
8276           add our padtemplates, we indeed do have some.
8277         * gst/elements/gsttypefindelement.c:
8278         (gst_type_find_element_handle_event),
8279         (gst_type_find_element_chain):
8280           don't push data when typefinding failed.
8281         * gst/gstpad.c: (gst_pad_link_fixate):
8282           check that no fixate function returns empty caps.
8283         * gst/gstpad.c: (gst_pad_push):
8284           check that the link is negotiated before data gets pushed.
8285         * tools/gst-register.c: (main):
8286           don't assert (fixes #148283)
8287
8288 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8289
8290         * docs/gst/gstreamer-sections.txt:
8291         * docs/gst/tmpl/gstconfig.sgml:
8292           add GST_PLUGIN_EXPORT definition
8293
8294 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8295
8296         * gst/gstplugin.h:
8297         * gst/gstconfig.h.in:
8298         * win32/gstconfig.h:
8299         * win32/gstelements.def:
8300         * win32/gstelements.vcproj:
8301         * win32/gstoptimalscheduler.def:
8302         * win32/gstoptimalscheduler.vcproj:
8303         * win32/gstspider.def:
8304         * win32/gstspider.vcproj:
8305           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8306
8307 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8308
8309         * docs/gst/gstreamer-sections.txt:
8310           remove GST_CAT_DEFAULT because the type has changed
8311
8312 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8313
8314         * win32/gstbytestream.vcproj:
8315         * win32/gstelements.vcproj:
8316         * win32/gst-inspect.vcproj:
8317         * win32/gst-launch.vcproj:
8318         * win32/gstoptimalscheduler.vcproj:
8319         * win32/GStreamer.vcproj:
8320         * win32/gst-register.vcproj:
8321         * win32/gstspider.vcproj:
8322         * win32/msvc71.sln:
8323           Copy the files where needed after building, The testsuite will be
8324           built separately
8325
8326 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8327
8328         * win32/config.h:
8329         * win32/README.txt:
8330         * docs/manual/win32.xml:
8331         Fixed the plugin and GStreamer location
8332
8333 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8334
8335         * win32/gstreamer.def:
8336         More exports for the plugins
8337
8338 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8339
8340         * gst/gstinfo.h:
8341         Marc was right, we need to export literally GST_CAT_DEFAULT
8342
8343 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8344
8345         * win32/config.h:
8346         NLS crashes in gettext, disabled until this is solved
8347
8348 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8349
8350         * win32/gst-inspect.vcproj:
8351         * win32/gst-launch.vcproj:
8352         Should use NLS when available
8353
8354 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8355
8356         * gst/registries/gstxmlregistry.c:
8357         removing the file doesn't seem to be a good idea on Linux
8358
8359 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8360
8361         * gst/registries/gstxmlregistry.c:
8362         Remove the registry before renaming the tempfile (needed for Windows)
8363
8364 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8365
8366         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8367         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8368         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8369         * gst/elements/gstmultifilesrc.h:
8370         Added newmedia property so it generates newmedia events between each
8371         file when property is set, as well as fixed eos handling
8372
8373 2004-07-22  David Schleef  <ds@schleef.org>
8374
8375         * gst/gststructure.c: (gst_structure_id_empty_new),
8376         (gst_structure_empty_new):  Set type field correctly.
8377         * gst/gststructure.h: Check type field correctly.
8378         * testsuite/caps/Makefile.am:
8379         * testsuite/caps/structure.c: (test1), (main): Add a very small
8380         test for structures.
8381
8382 2004-07-22  David Schleef  <ds@schleef.org>
8383
8384         * docs/random/ds/0.9-suggested-changes: more comments
8385         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8386
8387 2004-07-22  Benjamin Otte  <otte@gnome.org>
8388
8389         * gst/gstelementfactory.c: (gst_element_register):
8390           set the factory in the class struct, so gst_element_get_factory
8391           actually works
8392         * gst/parse/grammar.y:
8393           set element to playing when it gets unlocked as we can't rely on the
8394           bin state - all elements in the bin state might still be locked in
8395           NULL)
8396
8397 2004-07-22  Benjamin Otte  <otte@gnome.org>
8398
8399         * gst/gstelement.c: (gst_element_set_state_func):
8400           make this a static function
8401
8402 2004-07-22  Wim Taymans  <wim@fluendo.com>
8403
8404         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8405         (gst_opt_scheduler_pad_link):
8406         fix 147894-2 and the group_link problem.
8407
8408 2004-07-22  Wim Taymans  <wim@fluendo.com>
8409
8410         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8411         (handoff_identity), (main):
8412         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8413         (handoff_identity), (main):
8414         * testsuite/schedulers/Makefile.am:
8415         * testsuite/schedulers/group_link.c: (main):
8416         Show bug in scheduler when linking chain and loop based element 
8417         where the chain based element was not yet in a group.
8418
8419 2004-07-21  Benjamin Otte  <otte@gnome.org>
8420
8421         * gst/.cvsignore:
8422         * gst/autoplug/.cvsignore:
8423         * gst/elements/.cvsignore:
8424         * gst/indexers/.cvsignore:
8425         * libs/gst/bytestream/.cvsignore:
8426         * libs/gst/control/.cvsignore:
8427         * libs/gst/getbits/.cvsignore:
8428         * testsuite/states/.cvsignore:
8429         * testsuite/threads/.cvsignore:
8430           keep this up to date, since I seem to be the only one who cares
8431           about not missing files on commits (editor's note: no you don't,
8432           but feel free to change them at the time you add stuff instead
8433           of later on)
8434
8435 2004-07-21  Benjamin Otte  <otte@gnome.org>
8436
8437         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8438         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8439         (gst_bin_child_state_change_func), (set_kid_state_func),
8440         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8441           make state changes work correctly and reentrant (so removing
8442           elements from bins during state changes of bins doesn't cause
8443           segfaults or even wrong states)
8444           add debugging category and debugging output to print children states
8445         * gst/gstbin.c: (gst_bin_dispose): 
8446           add some assertion checks
8447         * gst/gstbin.h:
8448         * gst/gstbin.c: (gst_bin_sync_children_state):
8449           deprecate this function - it just does gst_bin_set_state (bin,
8450           GST_STATE (bin)) 
8451         * testsuite/threads/queue.c: (main):
8452           don't use gst_bin_sync_children_state anymore
8453         * testsuite/states/Makefile.am:
8454         * testsuite/states/bin.c:
8455           test that the state changes of bins work as expected
8456         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8457           some adjustments to change states correctly, too
8458         * gst/gstthread.c: (gst_thread_change_state):
8459           don't enable/disable "threadsafe" properties, they're unused and
8460           cause random segfaults
8461         * testsuite/threads/Makefile.am:
8462           the queue check randomly passes now, ignore it
8463
8464 2004-07-21  Benjamin Otte  <otte@gnome.org>
8465
8466         * gst/gstpad.c:
8467           check if data is NULL before outputting debug info. (fixes #145100)
8468
8469 2004-07-21  Benjamin Otte  <otte@gnome.org>
8470
8471         * gst/schedulers/entryscheduler.c:
8472         (gst_entry_scheduler_loop_wrapper),
8473         (gst_entry_scheduler_chain_wrapper),
8474         (gst_entry_scheduler_get_wrapper):
8475           reset the state when the cothread starts, so we don't get assertion
8476           failures on restarting of cothreads
8477
8478 2004-07-20  Benjamin Otte  <otte@gnome.org>
8479
8480         * gst/gstelement.c: (gst_element_link_pads_filtered):
8481           use correct sinkpad, if only sinkpad is specified, but not srcpad
8482           (fixes #147889)
8483         * gst/gstelement.c: (gst_element_set_state_func),
8484         (gst_element_change_state): ref/unref the element, signal handlers
8485         could get rid of the element otherwise
8486
8487 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8488
8489         * docs/random/ds/0.9-suggested-changes:
8490           Make note about renaming fixed-list to array.
8491         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8492         (_gst_value_initialize):
8493           Add array intersections.
8494         * testsuite/caps/intersect2.c: (main):
8495           Add test for array intersections.
8496
8497 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * configure.ac: back to cvs
8500
8501 === release 0.8.4 ===
8502
8503 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * configure.ac:
8506           releasing 0.8.4, "Paella"
8507           bump libtool versioning
8508
8509 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * po/LINGUAS:
8512         * po/ca.po:
8513           adding Catalan translation (Jordi Mallach)
8514
8515 2004-07-20  Wim Taymans  <wim@fluendo.com>
8516
8517         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8518         (handoff_identity), (main):
8519         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8520         (handoff_identity), (main):
8521         * testsuite/schedulers/Makefile.am:
8522         Added failing testcase for variant of #147894
8523
8524 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8525
8526         patch by: David Moore
8527
8528         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8529         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8530         (group_migrate_connected):
8531         * testsuite/schedulers/Makefile.am:
8532           fix for #142813 (Deadlock in optimal scheduler)
8533
8534 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8535
8536         patch by: Wim Taymans
8537
8538         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8539         (gst_opt_scheduler_schedule_run_queue),
8540         (gst_opt_scheduler_get_wrapper), (get_group),
8541         (group_migrate_connected):
8542         * testsuite/schedulers/Makefile.am:
8543           fix for #147819 (Add some checks in the opt scheduler)
8544
8545 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8546
8547         patch by: Benjamin Otte
8548
8549         * gst/gstelementfactory.c: (__gst_element_details_set):
8550           fix for #147929: running gst-register in non-utf8 locale can cause
8551           invalid registry
8552
8553 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         patch by: Wim Taymans
8556
8557         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8558         (group_has_element), (element_get_reachables_func),
8559         (group_migrate_connected):
8560           fix for #147894 (opt scheduler decoupled elements mismanagement)
8561         * testsuite/schedulers/Makefile.am:
8562           testsuite app now passes
8563
8564 2004-07-19  Wim Taymans  <wim@fluendo.com>
8565
8566         * testsuite/schedulers/147819.c: (handoff_identity1),
8567         (handoff_identity2), (main):
8568         * testsuite/schedulers/Makefile.am:
8569         Added testcase for bug 147819
8570
8571 2004-07-19  Wim Taymans  <wim@fluendo.com>
8572
8573         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8574         (handoff_identity), (main):
8575         * testsuite/schedulers/Makefile.am:
8576         Added testcase for bug 147894
8577
8578 2004-07-16  Wim Taymans  <wim@fluendo.com>
8579
8580         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8581         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8582         * testsuite/schedulers/Makefile.am:
8583         Added testsuite for bug 142183 in its two incarnations. Refcount
8584         is not increased for scheduled elements and threadsafe properties
8585         mutexes are not properly unlocked.
8586
8587 2004-07-16  Wim Taymans  <wim@fluendo.com>
8588
8589         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8590         (create_chain), (destroy_chain), (create_group), (destroy_group),
8591         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8592         (group_dec_link), (gst_opt_scheduler_pad_link),
8593         (group_inc_links_for_element), (group_migrate_connected):
8594         Call group_inc_link with the proper src->sink ordering -- 
8595         break this, and we break sort_chain. patch from wingo for bug
8596         147713.
8597         Partially revert patch 1.89. When adding a loop based element to 
8598         the scheduler, the links to other groups are automatically followed
8599         and incremented. This should not happen because the bin will call
8600         pad_link explicitly for those connection, resulting in them counted 
8601         twice. Results in assertion failure on pipeline cleanup.
8602
8603 2004-07-16  Wim Taymans  <wim@fluendo.com>
8604
8605         * testsuite/schedulers/143777-2.c: (main):
8606         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8607         (main):
8608         * testsuite/schedulers/Makefile.am:
8609         Added cleanup code to testcase 143777-2.
8610         Added testcase to show bug 147713, does not really show the
8611         deadlock as I can't figure out how to trigger it, but it does
8612         demonstrate bad ordering in the scheduler.
8613
8614 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8615
8616         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8617           change strndup to g_strndup.  Fixes #147707
8618
8619 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8620
8621         * po/af.po:
8622         * po/az.po:
8623         * po/cs.po:
8624         * po/en_GB.po:
8625         * po/fr.po:
8626         * po/nl.po:
8627         * po/sr.po:
8628         * po/sv.po:
8629         * po/tr.po:
8630         * po/uk.po:
8631           updated translations
8632
8633 2004-07-16  Benjamin Otte  <otte@gnome.org>
8634
8635         * gst/gstvalue.c: (gst_greatest_common_divisor):
8636           use ints and return ints, fractions only use ints, too, so this
8637           avoids accidently casting multiplications to unsigned
8638         (gst_value_lcopy_fraction): it's ints, not uint32
8639         (gst_value_set_fraction): disallow minint, multiplying and negation
8640           are broken with it
8641         (gst_value_fraction_multiply): fix to make large numbers work and get
8642         rid of the assumption that the multiplication of two ints fits an
8643         int64 - dunno if that's true for all systems
8644         * testsuite/caps/Makefile.am:
8645         * testsuite/caps/fraction-multiply-and-zero.c:
8646         (check_multiplication), (check_equal), (zero_test), (main):
8647           add tests for all the stuff above
8648         * testsuite/caps/value_compare.c: (test1):
8649           fix comment
8650         * tests/.cvsignore:
8651         * testsuite/caps/.cvsignore:
8652         * testsuite/debug/.cvsignore:
8653         * testsuite/dlopen/.cvsignore:
8654         * testsuite/states/.cvsignore:
8655           get up to date
8656
8657 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8658
8659         * docs/manual/bins-api.xml:
8660         * docs/manual/factories.xml:
8661         * docs/manual/helloworld.xml:
8662         * docs/manual/links-api.xml: 
8663           fixes for out of date info, incorrect info and grammar
8664
8665 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8666
8667         * docs/manual/pads.xml:
8668         * docs/manual/pads-api.xml: grammar fix
8669
8670 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8671
8672         * docs/manual/pads-api.xml: typo + grammar fix
8673
8674 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * docs/gst/gstreamer-sections.txt:
8677           add new symbols
8678         * docs/gst/tmpl/gstelement.sgml:
8679         * docs/gst/tmpl/gstpad.sgml:
8680         * docs/gst/tmpl/gsttypes.sgml:
8681         * docs/gst/tmpl/gstvalue.sgml:
8682           update docs
8683         * gst/gststructure.c: (gst_structure_set_valist),
8684         (gst_structure_from_abbr), (gst_structure_to_abbr):
8685         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8686         (gst_greatest_common_divisor), (gst_value_init_fraction),
8687         (gst_value_copy_fraction), (gst_value_collect_fraction),
8688         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8689         (gst_value_get_fraction_numerator),
8690         (gst_value_get_fraction_denominator),
8691         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8692         (gst_value_deserialize_fraction),
8693         (gst_value_transform_fraction_string),
8694         (gst_value_transform_string_fraction),
8695         (gst_value_compare_fraction), (_gst_value_initialize):
8696         * gst/gstvalue.h:
8697           adding GstFraction GValue type, get/set, and multiply
8698         * testsuite/caps/Makefile.am:
8699         * testsuite/caps/fraction.c: (test), (main):
8700         * testsuite/caps/string-conversions.c: (main):
8701         * testsuite/caps/value_compare.c: (test1), (main):
8702           add regression tests for GstFraction
8703
8704 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8705         
8706         * docs/manual/init-api.xml: Grammar fix
8707
8708 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8709
8710         * docs/manual/states.xml: Fix inconsistent information
8711
8712 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8713
8714         * gst/gstelement.c: (gst_element_set_state):
8715         * gst/gstpad.c: (gst_pad_try_set_caps):
8716         * gst/gststructure.c:
8717         * gst/gstthread.c: (gst_thread_child_state_change):
8718         * gst/gstvalue.c: (gst_value_compare_double):
8719         * gst/gstvalue.h:
8720         * testsuite/parse/parse1.c: (main):
8721           debugging additions and style cleanups
8722
8723 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8724
8725         * docs/manual/states.xml: Grammar fix
8726
8727 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8728
8729         * docs/manual/pads.xml: Grammar fix
8730
8731 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8732
8733         * docs/manual/elements.xml: Fixed image reference
8734
8735 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8736
8737         * docs/manual/goals.xml: Grammar fix
8738
8739 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8740
8741         * docs/manual/motivation.xml:
8742         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8743
8744 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8745
8746         * docs/manual/motivation.xml: Fix spelling
8747
8748 2004-07-15  Benjamin Otte  <otte@gnome.org>
8749
8750         * gst/gstelement.h: 
8751           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8752           strings.
8753         * gst/gstelement.c (gst_element_class_init):
8754           GError's are boxed, not objects
8755         * gst/gstmarshal.list:
8756           update list for the fixed error signal
8757
8758 2004-07-14  Andy Wingo  <wingo@pobox.com>
8759
8760         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8761         there all along, but the function wasn't. (guile-gstreamer's build
8762         system uses the address of the function -- I wasn't actually
8763         trying to use this.)
8764
8765 2004-07-14  Andy Wingo  <wingo@pobox.com>
8766
8767         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8768         as gst_pad_proxy_pad_link) just link to every other pad when they
8769         are called. In the case where the graph has cycles, this will mean
8770         that a call to try_set_caps will recurse. Allow this recursion
8771         and return OK, while we wait for the first try_set_caps to give a
8772         proper return value.
8773         (gst_pad_link_call_link_functions): Since this function is the
8774         only one to set the NEGOTIATING flag on a pad, if the flag is set
8775         it means that the link functions have indirectly recursed. If this
8776         happens, error out to avoid infinite recursion and an eventual
8777         SEGV.
8778         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8779         (gst_pad_proxy_getcaps): Intersect the result with the template
8780         caps to ensure that the return value is valid.
8781
8782 2004-07-14  Andy Wingo  <wingo@pobox.com>
8783
8784         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8785         one refcount, the calling function is the owner of the buffer.
8786
8787 2004-07-14  Wim Taymans  <wim@fluendo.com>
8788
8789         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8790         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8791         Fix stupid warning when an element is to be migrated but
8792         is already migrated.
8793
8794 2004-07-14  Wim Taymans  <wim@fluendo.com>
8795
8796         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8797         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8798         Make sure that a single non-loop-based element does not 
8799         end up in a group. This fixes the testsuite again.
8800
8801 2004-07-14  Wim Taymans  <wim@fluendo.com>
8802
8803         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8804         (add_to_group), (merge_groups), (schedule_group),
8805         (gst_opt_scheduler_get_wrapper), (group_elements),
8806         (group_dec_link), (gst_opt_scheduler_pad_link),
8807         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8808         (gst_opt_scheduler_iterate):
8809         move isolated groups to a new chain.
8810         Emit a warning instead of segfaulting in some error cases.
8811         Fix a bug where the link count between groups was not calculated 
8812         correctly. Fixes #144510.
8813
8814 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8815         * gst/elements/gstfilesrc.c:
8816           Binary files support under Windows now OK
8817       
8818 2004-07-13  Benjamin Otte  <otte@gnome.org>
8819
8820           compatibility fixes for Solaris 8/gcc 2.95
8821         * configure.ac:
8822           include libintl libs in LDFLAGS
8823         * gstvalue.c (gst_value_deserialize_buffer):
8824           cast isxdigit stuff to int to silence compiler warning
8825
8826 2004-07-12  Benjamin Otte  <otte@gnome.org>
8827
8828         * gst/gsttypes.h:
8829           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8830           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8831           just causes support madness
8832         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8833           make it work without this
8834         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8835         (gst_file_index_commit):
8836           glib IO channels don't want binary mode
8837         * testsuite/bytestream/filepadsink.c: (main):
8838         * testsuite/bytestream/test1.c: (read_param_file):
8839           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8840
8841 2004-07-12  Benjamin Otte  <otte@gnome.org>
8842
8843         * gst/gstelement.c: (gst_element_class_init),
8844         (gst_element_set_state), (gst_element_set_state_func):
8845           virutalize gst_element_set_state, use set_state member in class
8846           struct that was already added in 0.7 for this.
8847         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8848         (gst_bin_change_state):
8849           make gst_bin_foreach works similar to other foreach functions, plug
8850           memleaks in it. Make functions using it work with the new approach.
8851           Document gst_bin_foreach, so it can be exported if we want to
8852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8853           use virtualized set_state to make set_state on bins set the state of
8854           all its children.
8855
8856 2004-07-12  Benjamin Otte  <otte@gnome.org>
8857
8858         * configure.ac:
8859           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8860           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8861         * gst/gstpad.c: (gst_pad_alloc_buffer):
8862           allow buffer_alloc functions to return NULL and allocate a normal
8863           buffer in that case
8864
8865 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8866         * gst/elements/gstfilesink.c:
8867         * gst/elements/gstfilesrc.c:
8868         * gst/indexers/gstfileindex.c:
8869         * gst/gsttypes.h:
8870         * testsuite/bytestream/filepadsink.c:
8871         * testsuite/bytestream/test1.c:
8872           Handle binary files under Windows
8873
8874 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8875         * docs/manual/win32.xml:
8876         * win32/config.h:
8877         * win32/gst-register.vcproj:
8878         * win32/gstreamer.def:
8879           Update to another gettext public build
8880
8881 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8882         * gst/gstplugin.c:
8883           Fix an impossible C syntax
8884         * win32/config.h:
8885           Disable i18n under Windows for the moment
8886         * win32/gst-register.vcproj:
8887           Use this configuration
8888
8889 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8890         * docs/manual/quotes.xml:
8891           Keep the quotes file alive
8892         * docs/random/ds/0.9-suggested-changes:
8893           Add the suggestion of including a 'rowstride' as part of video
8894           format caps
8895
8896 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8897
8898         * gst/gstelement.c: (gst_element_set_state),
8899         (gst_element_change_state):
8900           d'oh.  Set PENDING state correctly before forcing bin to change.
8901         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8902         (gst_structure_parse_fixed_list):
8903         * gst/schedulers/gstoptimalscheduler.c:
8904         (gst_opt_scheduler_state_transition):
8905         * testsuite/states/parent.c: (main):
8906           remove comment now that it's fixed.
8907
8908 2004-07-11  Benjamin Otte  <otte@gnome.org>
8909
8910         * gst/gstclock.h:
8911           GST_SECOND shouldn't cause a conversion to unsigned.
8912         * testsuite/clock/.cvsignore:
8913         * testsuite/clock/Makefile.am:
8914         * testsuite/clock/signedness.c: (main):
8915           make sure it never will again
8916
8917 2004-07-11  Andy Wingo  <wingo@pobox.com>
8918
8919         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8920         whose state is higher than the bin state, raise the bin state to
8921         ensure that bin state := highest child state.
8922         
8923 2004-07-11  Andy Wingo  <wingo@pobox.com>
8924
8925         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8926         procedure on the children of a bin. Assumes that the procedure can
8927         change the set of children.
8928         (set_kid_state_func): New static function.
8929         (gst_bin_change_state): Use gst_bin_foreach to call
8930         set_kid_state_func. Fixes a bug: if a child had a state-change
8931         handler that removes it from the bin, there would be a segfault.
8932         Hopefully it should also work in the case where the state-change
8933         handler on one child adds or removes other children. In any case,
8934         fixes should go to gst_bin_foreach.
8935
8936 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8937
8938         * gst/gstelement.c: (gst_element_set_state):
8939           compatibility fix for latest plugins release.  Change loop back
8940           to while {}
8941
8942 2004-07-09  Wim Taymans  <wim@fluendo.com>
8943
8944         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8945         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8946         (gst_thread_main_loop):
8947         Since remove is virtual in GstBin we must not assume the 
8948         elements GList to have anothing useful.
8949         Add some more logging to GstThread and be a bit more paranoid
8950         when resetting the scheduler.
8951         Set the state of the bin to NULL before removing the children.
8952
8953 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8954
8955         * testsuite/threads/Makefile.am:
8956         * testsuite/threads/threadg.c:
8957           added test to check if problem when removing all elements from a
8958           GstThread before setting GstThread state to NULL
8959
8960 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8961
8962         * docs/gst/tmpl/gstelement.sgml:
8963         * docs/gst/tmpl/gsttypes.sgml:
8964         * gst/gstbin.c: (gst_bin_change_state):
8965         * gst/gstelement.c: (gst_element_set_state),
8966         (gst_element_change_state):
8967           rework so that for bins we try to set the state on all children
8968           as well even if the bin is in the correct state already.
8969           change while to do so at least one iteration is done.
8970           For regular elements, we fall back to the previous behaviour for
8971           now since we first need a new plugins release.
8972         * testsuite/states/parent.c: (main):
8973           test for this case
8974           Fixes #123774
8975
8976 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8977
8978         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8979         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8980         (gst_queue_release_locks), (gst_queue_change_state),
8981         (gst_queue_set_property):
8982           add proper lock debugging.  Change dispose to finalize, since
8983           we're freeing mutexes and other stuff which should happen only once.
8984
8985 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8986
8987         * docs/gst/tmpl/gstelement.sgml:
8988         * docs/gst/tmpl/gstplugin.sgml:
8989         * docs/gst/tmpl/gsttypes.sgml:
8990         * docs/pwg/building-state.xml:
8991         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8992         * gst/gstelement.c: (gst_element_change_state):
8993         * gst/gstthread.c: (gst_thread_change_state):
8994           catch wrong state changes in element base class.
8995
8996 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8997
8998         * gst/gstinfo.h:
8999           clean up layout a little.
9000
9001 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9002
9003         * configure.ac:
9004         * testsuite/Makefile.am:
9005         * testsuite/states/Makefile.am:
9006         * testsuite/states/parent.c: (main):
9007           re-enable states testsuite dir.  Add test for state changes and
9008           parent behaviour
9009
9010 2004-07-09  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/schedulers/gstoptimalscheduler.c:
9013         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
9014         (element_get_reachables_func), (element_get_reachables),
9015         (debug_element), (rechain_group), (group_migrate_connected),
9016         (gst_opt_scheduler_pad_unlink):
9017         Do not try to migrate decoupled elements to a new group since
9018         they are not added to groups.
9019
9020 2004-07-08  Benjamin Otte  <otte@gnome.org>
9021
9022         * gst/gstelement.c: (gst_element_error_func):
9023           make reentrant (= allow removing elements in error handler)
9024
9025 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9026
9027         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9028         (gst_pad_send_event), (gst_pad_call_chain_function):
9029           events sent to elements below PAUSED cannot be handled, so
9030           don't try to
9031
9032 2004-07-08  Wim Taymans  <wim@fluendo.com>
9033
9034         * gst/schedulers/gstoptimalscheduler.c:
9035         (chain_recursively_migrate_group), (create_group),
9036         (schedule_group), (gst_opt_scheduler_pad_link),
9037         (group_elements_set_visited), (element_get_reachables_func),
9038         (element_get_reachables), (group_can_reach_group), (debug_element),
9039         (rechain_group), (group_migrate_connected),
9040         (gst_opt_scheduler_pad_unlink):
9041         * testsuite/schedulers/Makefile.am:
9042         Implemented group splitting and rechaining.
9043         Fixes 143777 and 143777-2 in the testsuite.
9044
9045 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9046
9047         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
9048           extra debugging
9049         * gst/gstevent.h:
9050         * gst/gstinfo.c: (gst_debug_log_default):
9051           print time nicely.  add thread pointer until someone figures out
9052           a completely portable way of getting at thread id's.
9053         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
9054         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
9055         (gst_pad_call_chain_function):
9056           extra debugging
9057         * gst/schedulers/gstoptimalscheduler.c:
9058         (get_group_schedule_function), (loop_group_schedule_function),
9059         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
9060         (pad_clear_queued), (gst_opt_scheduler_iterate):
9061           rename BUFPEN and friends to DATAPEN since that's what they are.
9062
9063 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9064
9065         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
9066         * gst/gstbuffer.h:
9067         * gst/gstpad.c:
9068           cleanups and debugging
9069
9070 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9071
9072         * configure.ac:
9073         * gst/gstvalue.c: (gst_value_compare_enum),
9074         (gst_value_serialize_enum), (gst_value_deserialize_enum),
9075         (gst_value_can_compare), (gst_value_compare):
9076         * testsuite/Makefile.am:
9077         * testsuite/enumcaps/Makefile.am:
9078         * testsuite/enumcaps/enumcaps.c:
9079           Fix enum serialization, deserialization, comparison in caps, add
9080           a test to ensure that this continues working in the future.
9081
9082 2004-07-06  David Schleef  <ds@schleef.org>
9083
9084         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9085         Fix memleak.
9086
9087 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
9090         * gst/gstplugin.h:
9091         * gst/registries/gstxmlregistry.c:
9092         (plugin_times_older_than_recurse), (plugin_times_older_than),
9093         (gst_xml_registry_parse_padtemplate):
9094           only rebuild registry when actual plugins have a newer time than
9095           the registry.  Fixes #145520
9096
9097 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9098
9099         * docs/manual/manual.xml:
9100         * docs/manual/win32.xml:
9101           add chapter on win32 building.  fixes #142422
9102
9103 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9104
9105         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
9106
9107         * gst/autoplug/gstspider.c: (gst_spider_init),
9108         (gst_spider_dispose):
9109           fix spider memleaks.  fixes #137863
9110
9111 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9112
9113         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
9114
9115         * gst/schedulers/gstoptimalscheduler.c:
9116         (gst_opt_scheduler_pad_unlink):
9117           fix SIGBUS error, fixes #145338
9118
9119 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9120
9121         * gst/gstobject.c: (gst_object_replace):
9122         * gst/gstscheduler.c: (gst_scheduler_get_clock):
9123         * gst/gstsystemclock.c: (gst_system_clock_obtain):
9124           clean up clock lifecycle.  Fixes #109831
9125
9126 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9127
9128         * po/LINGUAS:
9129         * po/cs.po:
9130           added Czech translation (Miloslav Trmac)
9131
9132 2004-07-04  David Schleef  <ds@schleef.org>
9133
9134         * tools/Makefile.am:
9135         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
9136
9137 2004-07-04  David Schleef  <ds@schleef.org>
9138
9139         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
9140
9141 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9142
9143         * gst/gstbin.c: (gst_bin_restore_thyself):
9144           chain to parent restore so the bins get restored correctly
9145           in the editor
9146
9147 2004-07-03  David Schleef  <ds@schleef.org>
9148
9149         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9150         Actually do something in these functions, like before the big
9151         caps change.  (bug #145137)
9152
9153 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9154
9155         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
9156         (gst_element_get_compatible_pad_filtered):
9157         * gst/gstthread.c: (gst_thread_main_loop):
9158           more debugging
9159
9160 2004-07-02  David Schleef  <ds@schleef.org>
9161
9162         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
9163         * gst/gstobject.h:
9164         * gst/gstparse.h:
9165         * gst/gsttrace.h:
9166         * gst/gstxml.h:
9167
9168 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * gst/gstpad.c: (gst_pad_check_schedulers),
9171         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9172         (gst_pad_link_prepare):
9173           revert until testsuite is fixed
9174
9175 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9176
9177         * testsuite/Makefile.am:
9178         * testsuite/caps/filtercaps.c: (main):
9179         * testsuite/clock/clock1.c: (main):
9180         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
9181           fix some more tests
9182
9183 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9184
9185         * testsuite/cleanup/cleanup1.c: (create_pipeline):
9186         * testsuite/cleanup/cleanup2.c: (create_pipeline):
9187         * testsuite/cleanup/cleanup4.c: (main):
9188           fix testsuite
9189
9190 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * libs/gst/control/control.c:
9193         * libs/gst/control/dparam.c:
9194         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
9195         * libs/gst/control/dparammanager.c:
9196         * libs/gst/control/dparammanager.h:
9197         * testsuite/dynparams/Makefile.am:
9198         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
9199         (gst_dptest_change_state), (gst_dptest_chain), (main):
9200           fix testcase for dparams
9201           add debugging category
9202
9203 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * testsuite/Rules:
9206           change path
9207
9208 2004-07-02  Benjamin Otte  <otte@gnome.org>
9209
9210         * tests/.cvsignore:
9211         * tests/Makefile.am:
9212         * tests/mass_elements.c: (gst_get_current_time), (main):
9213           add simple benchmark to test various speeds of fakesrc ! identity !
9214           identity ! ... ! fakesink.
9215           Usage: mass_elements [num_identities] [num_buffers]
9216           If not specified they default to 1000.
9217
9218 2004-07-02  Benjamin Otte  <otte@gnome.org>
9219
9220         * gst/gstpad.c: (gst_pad_check_schedulers),
9221         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9222         (gst_pad_link_prepare):
9223           check that pads that get linked belong to the same manager. The old
9224           code allowed linking elements before putting them into bins, so it
9225           worked to link them and then put them in different threads, which
9226           lead to weird behaviour.
9227           Since this effectively disallows linking elements before putting
9228           them in a bin, some applications might not work after this and error
9229           out. If these applications are too critical, we might need to revert
9230           that patch. Please test this before the next release...
9231
9232 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9233
9234         * gst/gstpad.c: (gst_pad_get_caps):
9235           throw an error if the getcaps function does not return a subset of
9236           the template caps.
9237         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
9238           make disconts without position info an error in debugging
9239         * tests/spidey_bench.c: (handoff), (main):
9240           don't count first try when averaging
9241
9242 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9243
9244         * gst/gstplugin.c: (gst_plugin_load_file):
9245           figure out problem with dynamic test
9246
9247 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9248
9249         * docs/gst/Makefile.am:
9250           fix docs build
9251
9252 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * po/POTFILES.in:
9255         * po/af.po:
9256         * po/az.po:
9257         * po/en_GB.po:
9258         * po/fr.po:
9259         * po/nl.po:
9260         * po/sr.po:
9261         * po/sv.po:
9262         * po/tr.po:
9263         * po/uk.po:
9264         * tools/gst-register.c: (plugin_added_func), (main):
9265           i18n-ize -register, fix plural
9266
9267 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9268
9269         * gst/elements/gstidentity.c: (gst_identity_class_init),
9270         (gst_identity_init), (gst_identity_chain),
9271         (gst_identity_set_property), (gst_identity_get_property):
9272         * gst/elements/gstidentity.h:
9273           check for perfect stream
9274
9275 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9276
9277         * gst/elements/gstidentity.c: (gst_identity_chain):
9278           print offset_end
9279
9280 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * docs/gst/Makefile.am:
9283         * docs/gst/gstreamer-docs.sgml:
9284           doc fixes
9285
9286 2004-06-24  David Schleef  <ds@schleef.org>
9287
9288         * autogen.sh:  Remove call to env, since the buildbot isn't
9289         broken anymore.
9290
9291 2004-06-24  Wim Taymans  <wim@fluendo.com>
9292
9293         * gst/elements/Makefile.am:
9294         * gst/elements/gstelements.c:
9295         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9296         (gst_multifdsink_class_init), (gst_multifdsink_init),
9297         (gst_multifdsink_add), (gst_multifdsink_remove),
9298         (gst_multifdsink_clear), (gst_multifdsink_chain),
9299         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9300         * gst/elements/gstmultifdsink.h:
9301         Added an element that writes to multiple filedescriptors at once.
9302
9303 2004-06-24  Benjamin Otte  <otte@gnome.org>
9304
9305         * gst/parse/grammar.y:
9306           don't try to link elements before they have been added to bins
9307
9308 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9309
9310         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9311         (gst_file_pad_get_length):
9312         * libs/gst/bytestream/filepad.h:
9313           add 2 new functions
9314
9315 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9316
9317         * docs/gst/gstreamer-sections.txt:
9318         remove from docs, the define that Benjamin removed from gstelement.h
9319
9320 2004-06-22  Benjamin Otte  <otte@gnome.org>
9321
9322         * gst/gstelement.h:
9323           remove define that referenced a nonexisting GstElement struct member
9324
9325 2004-06-20  Benjamin Otte  <otte@gnome.org>
9326
9327         * gst/gstdata.c: (gst_data_is_writable):
9328           whoops, return values were wrong, so writable data was marked as
9329           non-writable and vice versa. (fixes #143953, spotted by Francis
9330           Labonte)
9331           Shows how rarely we need to copy data ;)
9332
9333 2004-06-20  Benjamin Otte  <otte@gnome.org>
9334
9335         * testsuite/schedulers/.cvsignore:
9336         * testsuite/schedulers/Makefile.am:
9337         * testsuite/schedulers/143777-2.c: (main):
9338           add test for opt breakage in bug #143777
9339
9340 2004-06-20  Benjamin Otte  <otte@gnome.org>
9341
9342         * gst/gstpad.c: (gst_pad_call_chain_function):
9343           check for if we were unlinked while inside the chainfunction (fixes
9344           entrygthread having issues with #143777)
9345         * testsuite/schedulers/143777.c: (main):
9346         * testsuite/schedulers/Makefile.am:
9347           add a test for that fix
9348
9349 2004-06-20  Benjamin Otte  <otte@gnome.org>
9350
9351         * gst/gstvalue.c: (gst_value_set_int_range):
9352           test that start is smaller then end
9353         * libs/gst/bytestream/Makefile.am:
9354         * libs/gst/bytestream/filepad.c: 
9355         * libs/gst/bytestream/filepad.h:
9356           add GstFilePad - a pad that behaves like a FILE*
9357         * testsuite/bytestream/.cvsignore:
9358         * testsuite/bytestream/Makefile.am:
9359         * testsuite/bytestream/filepadsink.c: 
9360           test for the GstFilePad
9361
9362 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9363
9364         * gst/elements/gstidentity.c: (gst_identity_class_init),
9365         (gst_identity_init), (gst_identity_set_clock),
9366         (gst_identity_chain), (gst_identity_set_property),
9367         (gst_identity_get_property):
9368         * gst/elements/gstidentity.h:
9369         * gst/gstclock.c: (gst_clock_id_wait):
9370           add a "sync" property to sync to the clock
9371
9372 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9373
9374         * gst/gstelementfactory.c: (gst_element_factory_create):
9375           make the freakin "elementfactory bla has no type" message more
9376           useful. So we actually can do something when someone shows up
9377           complaining about it.
9378
9379 2004-06-15  Johan Dahlin  <johan@gnome.org>
9380
9381         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9382         found. This matches the old behavior better. Thanks to Thomas for
9383         pointing out.
9384
9385 2004-06-14  David Schleef  <ds@schleef.org>
9386
9387         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9388         -fomit-frame-pointer.  Appears to generate correct code in
9389         other cases as well.
9390
9391 2004-06-14  Johan Dahlin  <johan@gnome.org>
9392
9393         * tools/gst-inspect.c (main): Add two new command line options: -a
9394         to print all elements and -n to print the name on each line. Also
9395         fix some error reporting.
9396         (main): Simplify, remove -n and always print names if -a is specified
9397
9398 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9399
9400         * win32/gstconfig.h:
9401         * win32/GSTreamer.vcproj:
9402         * win32/Makefile:
9403         * gst/gstconfig.h.in:
9404         * gst/gst.h:
9405         * gst/gstbin.h:
9406         * gst/gstelement.h:
9407         * gst/gstevent.h:
9408         * gst/gstobject.h:
9409         * gst/gstpad.h:
9410         * docs/gst/gstreamer-sections.txt:
9411         * docs/gst/tmpl/gstconfig.sgml:
9412           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9413
9414 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9415         * docs/gst/gstreamer-sections.txt:
9416         * docs/gst/tmpl/gstconfig.sgml:
9417         Add the GSTREAMER_EXPORT macro to the docs
9418
9419 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9420
9421         * tools/gst-compprep.c: (handle_xmlerror), (main):
9422         Add a check for the version that introduced SetStructuredError to fix
9423         the build on FC1
9424
9425 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9426
9427         * win32/msvc71.sln:
9428         * win32/testsuite/:
9429           prepare to compile the testsuite with MSVC
9430
9431 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9432
9433         * docs/manual/win32.xml:
9434           attempt to transform the Win32 README into an XML doc
9435
9436 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9437
9438         * gst/gst.c:
9439         * gst/gstbin.*:
9440         * gst/config.h.in:
9441         * gst/gstelement.*:
9442         * gst/gstevent.h:
9443         * gst/gstobject.*:
9444         * gst/gstpad.h:
9445         * tools/gst-register.c:
9446         * win32/gstreamer.def:
9447           extern symbols are now exported for the Windows DLL
9448
9449 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9450
9451         * gst/gstinfo.h:
9452           fix a problem to enable/disable DEBUG under MSVC
9453
9454 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9455
9456         * win32/:
9457           enable more debug code in DEBUG build
9458
9459 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9460
9461         * win32/config.h:
9462         * gst/gst-i18n-app.h:
9463           enable NLS under Windows
9464
9465 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9466         * tools/gst-compprep.c: (handle_xmlerror), (main):
9467           Make an error that baffled me a bit clearer
9468
9469 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * gst/gstqueue.c:
9472           don't use g_queue_get_length () because it's 2.4, use ->length
9473
9474 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9475
9476         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9477
9478         * tools/gst-inspect.c: (print_signal_info):
9479           don't free random data twice. (fixes #144185)
9480
9481 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * gst/gstqueue.c:
9484         * gst/gstqueue.h:
9485           fix removing from the wrong queue on event timeout
9486           fix disposing of the event queue by casting correctly
9487           add mutexes for handling the event queue
9488           someone was sleeping when fixing queue last time around :)
9489
9490 2004-06-10  Johan Dahlin  <johan@gnome.org>
9491
9492         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9493         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9494
9495 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9496
9497         * docs/random/gdp:
9498         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9499         * libs/gst/dataprotocol/dataprotocol.c:
9500         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9501         (gst_dp_buffer_from_header):
9502         * libs/gst/dataprotocol/dataprotocol.h:
9503         * libs/gst/dataprotocol/dp-private.h:
9504           rev version to 0.1, add buffer flags and copy them
9505
9506 2004-06-09  Johan Dahlin  <johan@gnome.org>
9507
9508         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9509         the flags from the buffer we're copying.
9510
9511 2004-06-09  Wim Taymans  <wim@fluendo.com>
9512
9513         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9514         * gst/elements/gstidentity.c: (gst_identity_init),
9515         (gst_identity_chain):
9516         Print more buffer info in fakesink.
9517         Make identity output similar to fakesink.
9518
9519 2004-06-07  Daniel Gazard  <dany42@free.fr>
9520
9521         reviewed by Benjamin Otte  <otte@gnome.org>
9522
9523         * configure.ac:
9524           fix cross compiling not working. (fixes #143741)
9525
9526 2004-06-07  Benjamin Otte  <otte@gnome.org>
9527
9528         * gst/gstelement.c: (gst_element_set_time_delay):
9529           add failure check
9530         * gst/gstinfo.h:
9531           put brackets around macro arguments of GST_TIME_ARGS, add note to
9532           move it to correct header in 0.9
9533
9534 2004-06-07  Benjamin Otte  <otte@gnome.org>
9535
9536         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9537         (gst_file_index_load), (_file_index_id_save_entries),
9538         (gst_file_index_commit), (gst_file_index_add_association),
9539         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9540         (gst_file_index_plugin_init):
9541           make debugging use a default category
9542
9543 2004-06-06  David Moore  <dcm@acm.org>
9544
9545         reviewed by Benjamin Otte  <otte@gnome.org>
9546
9547         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9548         (gst_fdsrc_change_state):
9549           reset offset counter when going READY => PAUSED. (fixes #142903)
9550
9551 2004-06-06  ed@catmur.co.uk
9552
9553         reviewed by Benjamin Otte  <otte@gnome.org>
9554
9555         * gst/registries/gstxmlregistry.c:
9556         (gst_xml_registry_rebuild_recurse):
9557           don't rely on g_dir_open to figure out if a file is a directory, use
9558           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9559           directories. (fixes #142850)
9560
9561 2004-06-06  Benjamin Otte  <otte@gnome.org>
9562
9563         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9564           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9565         * libs/gst/bytestream/adapter.c:
9566         * libs/gst/bytestream/adapter.h:
9567           fix copyright in header and typo in debugging category name
9568
9569 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9570
9571         * configure.ac:
9572           bump nano to cvs
9573
9574 === release 0.8.3 ===
9575
9576 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * configure.ac:
9579           update libtool versioning
9580           do a new release
9581         * docs/gst/tmpl/gstelement.sgml:
9582         * docs/gst/tmpl/gsttypes.sgml:
9583         * gst/gstinfo.c: (_gst_debug_init):
9584           put back GST_CAT_DATAFLOW to fix API breakage
9585
9586 2004-06-04  David Schleef  <ds@schleef.org>
9587
9588         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9589
9590 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9591
9592         * configure.ac:
9593           bump nano to cvs
9594
9595 === release 0.8.2 ===
9596
9597 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9598
9599         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9600           check GST_DEBUG environment variable which is parsed the same way
9601           as --gst-debug=
9602
9603 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9604
9605         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9606                             gstmd5sink.c gstshaper.c gsttee.c
9607                             gsttypefindelement.c
9608         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9609
9610           - removing trailing commas at end of enums
9611             it is correct C99 code but C90 compilers would complain
9612             (AIX, Forte, ...)
9613             ('should' fix #143290, at least partially)
9614
9615 2004-05-27  Wim Taymans  <wim@fluendo.com>
9616
9617         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9618         (chain_group_set_enabled), (create_group), (add_to_group),
9619         (merge_groups), (setup_group_scheduler), (group_elements),
9620         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9621         Don't try to follow the pad connections with other groups
9622         when a loop based element is added to the scheduler because
9623         the bin will inform the scheduler about the pad links a little
9624         later.
9625
9626 2004-05-27  Wim Taymans  <wim@fluendo.com>
9627
9628         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9629         (remove_from_chain), (chain_group_set_enabled),
9630         (setup_group_scheduler), (group_element_set_enabled),
9631         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9632         (gst_opt_scheduler_show):
9633         Elements without a group can do a state change as well, just wait
9634         with the setup of the scheduling function when it is added to a
9635         chain.
9636
9637 2004-05-27  Wim Taymans  <wim@fluendo.com>
9638
9639         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9640         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9641         (merge_groups), (setup_group_scheduler),
9642         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9643         (gst_opt_scheduler_show):
9644         Fixes to maintain internal consistency of the scheduler data
9645         structures. 
9646          - adding an enabled group to a chain should increment the
9647            number of enabled elements in that chain.
9648          - removing an enabled group from a chain could disable the
9649            chain.
9650          - removing a disabled group from a chain could enable the
9651            chain.
9652          - add g_assert when internal inconsistency is detected.
9653          - adding an element to a group could increase the number of
9654            links this group has with other groups.
9655          - merging two groups also merges the chains.
9656          - also show group links in the _show method.
9657            
9658
9659 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9660
9661         * gst/gstcaps.c: (gst_caps_structure_simplify):
9662           don't print error messages when there is no error
9663         * gst/gstvalue.c: (gst_value_compare_int_range):
9664           compare the second value, too
9665         * testsuite/caps/Makefile.am:
9666         * testsuite/caps/random.c: (assert_on_error), (main):
9667           add tests to make sure the two things above are checked for
9668
9669 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9670
9671         * configure.ac:
9672         * libs/gst/dataprotocol/Makefile.am:
9673         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9674         * libs/gst/dataprotocol/dataprotocol.h:
9675           wrap header in GST_ENABLE_NEW.  make code use it
9676
9677 2004-05-23  Johan Dahlin  <johan@gnome.org>
9678
9679         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9680         so verbose and print GstElement signal names all the time.
9681
9682 2004-05-22  David Schleef  <ds@schleef.org>
9683
9684         * gst/registries/gstxmlregistry.c:
9685         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9686         (bug #142957)
9687
9688 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9689
9690         * configure.ac:
9691           scrub cflags for glib2 so gcc doesn't complain when glib is in
9692           /usr/local
9693
9694 2004-05-21  Johan Dahlin  <johan@gnome.org>
9695
9696         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9697         __GNUC__, patch from Brian Cameron, fixes bug #142804
9698
9699 2004-05-20  David Schleef  <ds@schleef.org>
9700
9701         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9702         comparison code.  (bug #142819)
9703
9704 2004-05-20  Wim Taymans  <wim@fluendo.com>
9705
9706         * gst/gstbuffer.c: (gst_buffer_default_copy):
9707         * gst/gstbuffer.h:
9708         Added Comment to a flag.
9709         copy relevant flags in _buffer_copy.
9710
9711 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9712
9713         reviewed by: Wim Taymans <wim at fluendo dot com>
9714
9715         * gst/gstbuffer.h:
9716           add GST_BUFFER_IN_CAPS buffer flag
9717         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9718         (gst_structure_parse_any_list), (gst_structure_parse_list),
9719         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9720         * gst/gstvalue.c: (gst_value_serialize_any_list),
9721         (gst_value_transform_any_list_string),
9722         (gst_value_list_prepend_value), (gst_value_list_append_value),
9723         (gst_value_list_get_size), (gst_value_list_get_value),
9724         (gst_value_transform_list_string),
9725         (gst_value_transform_fixed_list_string),
9726         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9727         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9728         (_gst_value_initialize):
9729         * gst/gstvalue.h:
9730           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9731           < , > as a format.
9732         * testsuite/caps/string-conversions.c: (main):
9733           add regression tests for < >
9734
9735 2004-05-20  Johan Dahlin  <johan@gnome.org>
9736
9737         * docs/gst/Makefile.am (all-local): Re-add
9738
9739 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9740
9741         * docs/gst/Makefile.am:
9742         * docs/gst/gstreamer-docs.sgml:
9743         * docs/libs/Makefile.am:
9744         * docs/libs/gstreamer-libs-docs.sgml:
9745           fix distcheck issues
9746
9747 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9748
9749         * libs/gst/dataprotocol/Makefile.am:
9750           add to autotest
9751
9752 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * libs/gst/dataprotocol/Makefile.am:
9755         * libs/gst/dataprotocol/dataprotocol.c:
9756         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9757         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9758         * libs/gst/dataprotocol/dp-private.h:
9759           use GST macros to read/write fixed length ints
9760           add some more asserts
9761
9762 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * docs/libs/gstreamer-libs-docs.sgml:
9765         * docs/libs/gstreamer-libs-sections.txt:
9766           remove idct and putbits
9767         * configure.ac:
9768         * docs/libs/tmpl/gstdataprotocol.sgml:
9769         * libs/gst/Makefile.am:
9770         * libs/gst/dataprotocol/Makefile.am:
9771         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9772         (buffer_test), (caps_test), (event_test), (main):
9773         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9774         (gst_dp_dump_byte_array), (gst_dp_init),
9775         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9776         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9777         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9778         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9779         (gst_dp_validate_header), (gst_dp_validate_payload),
9780         (gst_dp_validate_packet), (plugin_init):
9781         * libs/gst/dataprotocol/dataprotocol.h:
9782         * libs/gst/dataprotocol/dp-private.h:
9783           add dataprotocol
9784
9785 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9786
9787         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9788           fix int variable deserialization and add a helper so we can actually
9789           debug this.
9790
9791 2004-05-18  David Schleef  <ds@schleef.org>
9792
9793         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9794           argv[0].  Calling yourself is probably not the best way to
9795           construct a test like this, btw.
9796
9797 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9798
9799         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9800           don't claim to be more intelligent than a scheduler when the
9801           scheduler claims the pipeline is stopped
9802         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9803         (safe_cothread_destroy),
9804         (gst_entry_scheduler_remove_all_cothreads),
9805         (gst_entry_scheduler_reset), (_remove_cothread),
9806         (gst_entry_scheduler_state_transition):
9807           hold off cothread destruction if we're not in main cothread
9808         * configure.ac:
9809         * testsuite/Makefile.am:
9810           add new test dir
9811         * testsuite/schedulers/.cvsignore:
9812         * testsuite/schedulers/Makefile.am:
9813           add tests
9814         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9815           check relinking and adding/removing elements from a running pipeline
9816         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9817           check unlinking in a running pipeline
9818         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9819           check unreffing a running pipeline
9820         * testsuite/schedulers/useless_iteration.c: (main):
9821           check iterating a pipeline that contains running threads works
9822
9823 2004-05-18  David Schleef  <ds@schleef.org>
9824
9825         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9826           is false.
9827
9828 2004-05-18  Wim Taymans  <wim@fluendo.com>
9829
9830         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9831         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9832         Fixed an error introduced with patch for 1.63. When setting
9833         a get based element as the entry point in a group, make sure
9834         to mark the group as GET based.
9835
9836 2004-05-18  Wim Taymans  <wim@fluendo.com>
9837
9838         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9839         (setup_group_scheduler), (loop_group_schedule_function),
9840         (gst_opt_scheduler_pad_link):
9841         Added some more debug info and fixed a bug where the group
9842         type was set to LOOP but it was in fact unknown.
9843
9844 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9845
9846         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9847           make resetting scheduler work twice in a row
9848
9849 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9850
9851         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9852         (CREATE_USERIALIZATION), (_gst_value_initialize),
9853         (gst_value_compare_float), (gst_value_serialize_float),
9854         (gst_value_deserialize_float), (gst_value_compare_enum),
9855         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9856           add serialization and comparison functions for long, int64, enum and
9857           float values
9858         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9859           use best serialization function in type hierarchy instead of only a
9860           matching one. This is required for enums to work.
9861         * gst/parse/grammar.y:
9862           use gst_caps_deserialize
9863         * testsuite/parse/Makefile.am:
9864           parse1 now works
9865         * testsuite/parse/parse1.c: (main):
9866           remove aggregator check, aggregator is broken, this test works now
9867           but fails because of bug #138012
9868         * testsuite/parse/parse2.c: (main):
9869           s/xvideosink/xvimagesink - this test looks a lot like we should
9870           disable it
9871
9872 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9873
9874         * gst/gstelement.c: (gst_element_class_init):
9875           whoops, store the signal id correctly
9876         * gst/schedulers/gstbasicscheduler.c:
9877         (gst_basic_scheduler_chain_wrapper):
9878           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9879           chain function isn't linked
9880
9881 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9882         * configure.ac:
9883         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9884         support until we decide where the flags should be used
9885         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9886         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9887         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9888         Output refused caps in the debug info
9889
9890 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * gst/elements/gstidentity.c: (gst_identity_chain):
9893           add duration debug
9894         * gst/gstinfo.c: (gst_debug_log_default):
9895           add timestamp
9896
9897 2004-05-13  Benjamin Otte  <otte@gnome.org>
9898
9899         * gst/gstpipeline.c: (gst_pipeline_dispose),
9900         (gst_pipeline_change_state):
9901           call gst_scheduler_reset on dispose (fixes #141416)
9902
9903 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9904
9905         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9906           compute mapsize correctly
9907         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9908           use correct datatypes when calling a varargs function
9909         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9910           push a DISCONT event as first thing
9911         * gst/gst_private.h:
9912         * gst/gstinfo.c: (_gst_debug_init):
9913           remove GST_DATAFLOW debugging category
9914         * gst/gstbin.c: (gst_bin_iterate):
9915           use GST_SCHEDULING category
9916         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9917         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9918         (gst_pad_call_get_function):
9919           add GST_DATAFLOW to easily track flow of buffers or events.
9920         * gst/gstqueue.c: (gst_queue_get_type),
9921         (gst_queue_handle_pending_events), (gst_queue_chain),
9922         (gst_queue_get), (gst_queue_handle_src_event):
9923           use own static debugging category GST_DATAFLOW for dataflow,
9924           use DEBUG category for showing which path events go, use LOG
9925           category for buffers.
9926
9927 2004-05-10  David Schleef  <ds@schleef.org>
9928
9929         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9930
9931 2004-05-10  David Schleef  <ds@schleef.org>
9932
9933         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9934         symbols, because otherwise we don't know what they are.  Thanks,
9935         the GStreamer team.
9936         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9937
9938 2004-05-10  David Schleef  <ds@schleef.org>
9939
9940         (from Steve Lhomme)
9941         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9942         are deleted.  Fix.
9943         * win32/Makefile.inspect:
9944         * win32/Makefile.launch:
9945         * win32/Makefile.register:
9946
9947 2004-05-10  David Schleef  <ds@schleef.org>
9948
9949         * gst/gstinfo.h: Add missing inline function.
9950         * gst/gsttrace.c: add include
9951         * gst/parse/grammar.y: remove unused code
9952         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9953         more portable.
9954         * tools/gst-register.c: wrap unistd.h
9955         
9956         More additions/fixes from Steve for the MSVC build.
9957         * win32/GStreamer.vcproj:
9958         * win32/Makefile:
9959         * win32/Makefile.inspect:
9960         * win32/Makefile.launch:
9961         * win32/Makefile.register:
9962         * win32/README.txt:
9963         * win32/gst-inspect.vcproj:
9964         * win32/gst-launch.vcproj:
9965         * win32/gst-register.vcproj:
9966         * win32/gstbytestream.def:
9967         * win32/gstbytestream.vcproj:
9968         * win32/gstconfig.h:
9969         * win32/gstelements.def:
9970         * win32/gstelements.vcproj:
9971         * win32/gstenumtypes.c:
9972         * win32/gstenumtypes.h:
9973         * win32/gstoptimalscheduler.def:
9974         * win32/gstoptimalscheduler.vcproj:
9975         * win32/gstreamer.def:
9976         * win32/gstspider.def:
9977         * win32/gstspider.vcproj:
9978         * win32/gstversion.h:
9979         * win32/msvc71.sln:
9980
9981 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9982
9983         * gst/gstelement.c: (gst_element_class_init),
9984         (gst_element_no_more_pads):
9985         * gst/gstelement.h:
9986           add gst_element_no_more_pads and the "no-more-pads" signal
9987
9988 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9989
9990         * gst/gstregistry.c: (gst_registry_add_plugin):
9991           refuse to add plugins when a plugin with same name is already
9992           registered. Fixes a bunch of "How to remove plugins?" issues.
9993           May lead to other problems though, let's test
9994
9995 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9996
9997         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9998         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9999         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
10000
10001 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10002
10003         * tests/Makefile.am: fix am16 issue
10004
10005 2004-05-09  Benjamin Otte  <otte@gnome.org>
10006
10007         * libs/gst/bytestream/Makefile.am:
10008           we should indeed add .c files to makefiles or they won't be built
10009           (d'oh)
10010
10011 2004-05-08  Benjamin Otte  <otte@gnome.org>
10012
10013         * gst/gstpad.c: (gst_pad_proxy_fixate):
10014           really reduce the set of caps
10015
10016 2004-05-08  Benjamin Otte  <otte@gnome.org>
10017
10018         * tests/Makefile.am:
10019         * tests/spidey_bench.c: (handoff), (main):
10020           add benchmark to test how long spider needs to create a pipeline
10021
10022 2004-05-08  Benjamin Otte  <otte@gnome.org>
10023
10024         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
10025           mark links as unengaged when unnegotiating instead of deactivating.
10026           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
10027
10028 2004-05-08  Benjamin Otte  <otte@gnome.org>
10029
10030         * docs/manual/helloworld.xml:
10031           s/audiosink/osssink (patch by Patrick Guimond)
10032
10033 2004-05-07  David Schleef  <ds@schleef.org>
10034
10035         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
10036         since it contains important stuff.
10037
10038 2004-05-07  David Schleef  <ds@schleef.org>
10039
10040         * testsuite/caps/caps.c: (test3), (main): A check for appending
10041         ANY caps.
10042
10043 2004-05-07  David Schleef  <ds@schleef.org>
10044
10045         * common/m4/as-compiler-flag.m4: Properly quote arguments,
10046         which may contain commas.  Fixes detection of -Wa,-mregnames
10047
10048 2004-05-06  David Schleef  <ds@schleef.org>
10049
10050         Changes to handle compilers that don't have variadic macro
10051         support.  In particular, glib headers define some inlines
10052         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
10053         builds.
10054         * gst/Makefile.am:
10055         * gst/cothreads.c:
10056         * gst/elements/gstfdsink.c:
10057         * gst/elements/gstfdsrc.c:
10058         * gst/elements/gstfilesink.c:
10059         * gst/elements/gstfilesrc.c:
10060         * gst/gst_private.h:
10061         * gst/gstatomic.c:
10062         * gst/gstcaps.c: (gst_caps_append):
10063         * gst/gstcpu.c: (gst_cpuid_i386):
10064         * gst/gstelement.c:
10065         * gst/gsterror.c:
10066         * gst/gstfilter.c:
10067         * gst/gstinfo.h:
10068         * gst/gstprobe.c:
10069         * gst/gstquery.c:
10070         * gst/gstregistry.c:
10071         * gst/gststructure.c:
10072         * gst/gsttaginterface.c:
10073         * gst/gsttrace.c: (gst_trace_new):
10074         * gst/gsttrashstack.c:
10075         * gst/gsturi.c:
10076         * gst/gstvalue.c:
10077         * gst/parse/grammar.y:
10078         * gst/parse/parse.l:
10079         * tools/gst-inspect.c: (main):
10080         * tools/gst-launch.c: (main):
10081         * tools/gst-xmlinspect.c: (PUT_STRING):
10082
10083 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10084
10085         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10086         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10087         * gst/elements/gstfilesrc.h:
10088           send NEW_MEDIA events correctly
10089         * gst/elements/gsttypefindelement.c: (start_typefinding),
10090         (gst_type_find_element_handle_event):
10091           restart typefinding when we get a NEW_MEDIA event
10092         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
10093         (gst_bin_dispose):
10094           don't die when someone removes elements in callbacks
10095         * gst/gstelement.c: (gst_element_change_state):
10096           improve debugging
10097         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
10098           we need a NEW_MEDIA event to engage a link
10099         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
10100           don't g_print debugging stuff
10101         * testsuite/caps/simplify.c: (check_caps):
10102
10103 2004-05-04  Benjamin Otte  <otte@gnome.org>
10104
10105         * gst/parse/grammar.y:
10106           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
10107
10108 2004-05-04  Benjamin Otte  <otte@gnome.org>
10109
10110         * testsuite/caps/renegotiate.c: (main):
10111           improve output in error case
10112
10113 2004-05-04  Benjamin Otte  <otte@gnome.org>
10114
10115         * gst/parse/grammar.y:
10116           fix assert to not trigger when there's no error argument
10117         * gst/parse/parse.l:
10118           fix definition of caps to allow more than two structures
10119         * testsuite/caps/Makefile.am:
10120         * testsuite/caps/renegotiate.c: (main):
10121           it's sinesrc and works in that case
10122
10123 2004-05-04  Wim Taymans  <wim@fluendo.com>
10124
10125         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
10126         (group_dec_link), (gst_opt_scheduler_pad_unlink):
10127         when removing an element from a group, we always need to
10128         decrement the link count that this group had with other 
10129         groups through the element.
10130         added an extra assert to catch inconsistencies when decrementing
10131         the link count.
10132
10133 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * configure.ac:
10136         * docs/gst/Makefile.am:
10137         * docs/gst/gstreamer-sections.txt:
10138         * docs/gst/tmpl/gstcompat.sgml:
10139         * examples/appreader/Makefile.am:
10140         * examples/cutter/Makefile.am:
10141         * examples/events/Makefile.am:
10142         * examples/helloworld/Makefile.am:
10143         * examples/helloworld2/Makefile.am:
10144         * examples/launch/Makefile.am:
10145         * examples/manual/Makefile.am:
10146         * examples/mixer/Makefile.am:
10147         * examples/pingpong/Makefile.am:
10148         * examples/plugins/Makefile.am:
10149         * examples/queue/Makefile.am:
10150         * examples/queue2/Makefile.am:
10151         * examples/queue3/Makefile.am:
10152         * examples/queue4/Makefile.am:
10153         * examples/retag/Makefile.am:
10154         * examples/thread/Makefile.am:
10155         * examples/typefind/Makefile.am:
10156         * examples/xml/Makefile.am:
10157         * gst/Makefile.am:
10158         * gst/autoplug/Makefile.am:
10159         * gst/elements/Makefile.am:
10160         * gst/gstcompat.h:
10161         * gst/indexers/Makefile.am:
10162         * gst/parse/Makefile.am:
10163         * gst/registries/Makefile.am:
10164         * gst/schedulers/Makefile.am:
10165         * libs/gst/bytestream/Makefile.am:
10166         * libs/gst/control/Makefile.am:
10167         * libs/gst/getbits/Makefile.am:
10168         * po/af.po:
10169         * po/az.po:
10170         * po/en_GB.po:
10171         * po/fr.po:
10172         * po/nl.po:
10173         * po/sr.po:
10174         * po/sv.po:
10175         * po/tr.po:
10176         * po/uk.po:
10177         * tests/Makefile.am:
10178         * tests/bufspeed/Makefile.am:
10179         * tests/instantiate/Makefile.am:
10180         * tests/memchunk/Makefile.am:
10181         * tests/muxing/Makefile.am:
10182         * tests/negotiation/Makefile.am:
10183         * tests/probes/Makefile.am:
10184         * tests/sched/Makefile.am:
10185         * tests/seeking/Makefile.am:
10186         * tests/threadstate/Makefile.am:
10187         * testsuite/caps/Makefile.am:
10188         * testsuite/cleanup/Makefile.am:
10189         * testsuite/dlopen/Makefile.am:
10190         * testsuite/dynparams/Makefile.am:
10191         * testsuite/plugin/Makefile.am:
10192         * testsuite/states/Makefile.am:
10193         * tools/Makefile.am:
10194           reorganize compile/link flags to be consistent
10195           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
10196
10197 2004-05-04  David Schleef  <ds@schleef.org>
10198
10199         The "once more, with feeling" check-in.
10200         * testsuite/caps/Makefile.am: dist caps_strings
10201         * testsuite/caps/renegotiate.c: (main): This test triggers a
10202           segfault in the core.  Marking as failing.
10203
10204 2004-05-03  David Schleef  <ds@schleef.org>
10205
10206         * testsuite/caps/deserialize.c: (main): Fix problems noticed
10207           by the build bots.
10208         * testsuite/caps/renegotiate.c: (main): Same.
10209
10210 2004-05-03  David Schleef  <ds@schleef.org>
10211
10212         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
10213
10214 2004-05-03  David Schleef  <ds@schleef.org>
10215
10216         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
10217           variable to find our source file.
10218
10219 2004-05-03  David Schleef  <ds@schleef.org>
10220
10221         * configure.ac:  Link plugins with libgstreamer and dependent
10222           libraries
10223         * testsuite/caps/Makefile.am:
10224         * testsuite/caps/caps_strings:
10225         * testsuite/caps/deserialize.c: (main): Add a little test to slog
10226           through a file of caps strings and test each one
10227
10228 2004-05-04  Benjamin Otte  <otte@gnome.org>
10229
10230         * libs/gst/bytestream/Makefile.am:
10231         * libs/gst/bytestream/adapter.c: 
10232         * libs/gst/bytestream/adapter.h:
10233           add GstAdapter, similar to bytestream, but doesn't require ugly event
10234           handling or uglier loopbased elements
10235
10236 2004-05-03  David Schleef  <ds@schleef.org>
10237
10238         * testsuite/caps/Makefile.am: Fix spelling of ??????????????????????
10239         * testsuite/caps/erathostenes.c:
10240         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
10241
10242 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10243
10244         * docs/pwg/pwg.xml:
10245           remove hardcoded stylesheet path (duh)
10246         * docs/random/release:
10247         * docs/gst/gstreamer-sections.txt:
10248         * gst/Makefile.am:
10249         * gst/gst.h:
10250         * gst/gst_private.h:
10251         * gst/gstcaps.c:
10252         * gst/gstevent.c:
10253         * gst/gstformat.c:
10254         * gst/gstinfo.c:
10255         * gst/gstinfo.h:
10256         * gst/gstinterface.c:
10257         * gst/gstmemchunk.c:
10258         * gst/gstprobe.c:
10259         * gst/gstquery.c:
10260         * gst/gstregistry.c:
10261         * gst/gstregistrypool.c:
10262         * gst/gststructure.c:
10263         * gst/gsttaginterface.c:
10264         * gst/gstthread.c:
10265         * gst/gsttrace.c:
10266         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10267         * gst/gsturi.c:
10268         * gst/gstvalue.c:
10269           deprecate gst_info; remove gstlog.h
10270    
10271
10272 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10273
10274         * Makefile.am:
10275         * po/en_GB.po:
10276         * po/sv.po:
10277         * po/uk.po:
10278           updated translations
10279
10280 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10281
10282         * gst/gstbin.c: (gst_bin_dispose):
10283           better debugging
10284
10285 2004-05-03  Johan Dahlin  <johan@gnome.org>
10286
10287         * gst/schedulers/gstoptimalscheduler.c
10288         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10289         really is a GstElement. Avoids critical when running gst-launch -v
10290         and a oggdemux/decoding pipeline.
10291
10292 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10293
10294         * docs/gst/tmpl/gstpipeline.sgml :
10295         * docs/manual/elements-api.xml :
10296                 doc fix by Patrick Guimond (Protector) from devel ML
10297                 reviewed by ronald
10298
10299 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10300
10301         * docs/gst/Makefile.am :
10302         * docs/libs/Makefile.am :
10303                 apply a patch from Arwed v. Merkatz so that gtk-doc
10304                 generated docs install (same for .devhelp file)
10305                 (fixes part 1 of #138836)
10306
10307 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10308
10309         * docs/faq/dependencies.xml: typo
10310         * docs/faq/getting.xml :
10311             - fix download URL for new gstreamer site
10312             - hide sf.net download page as latest version aren't there
10313             - fix apt URLs
10314             - fill "get via CVS" paragraph (link to dev page on the site)
10315         * docs/faq/general.xml:
10316             hide status tables as they no more exists
10317             change case on plugins license file to reflect reality
10318         * docs/faq/troubleshooting.xml:
10319             remove the wiki question/answer as there is no more wiki
10320
10321 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10322
10323         * gst/gsterror.h:
10324           include the headers needed for declarations used in this header
10325
10326 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10327
10328         * docs/random/uraeus/gstreamer_and_midi.txt :
10329           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10330           (fixes #132288)
10331
10332 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10333
10334         reviewed by Benjamin Otte  <otte@gnome.org>
10335
10336         * gst/schedulers/gthread-cothreads.h:
10337           free allocated data for main cothread, too when destroying context
10338           (fixes #141417)
10339
10340 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10341
10342         * docs/manual/goals.xml : remove duplicated paragraph at end 
10343         of doc page (fixes #141448)
10344
10345 2004-04-29  David Schleef  <ds@schleef.org>
10346
10347         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10348         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10349
10350 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10351
10352         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10353           fix property
10354         * gst/gstcaps.c:
10355           fix doc string
10356         * po/POTFILES.in:
10357           rename typefind source file
10358
10359 2004-04-28  David Schleef  <ds@schleef.org>
10360
10361         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10362         * win32/GStreamer.vcproj:
10363         * win32/Makefile:
10364         * win32/config.h:
10365         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10366         (_trewinddir), (_ttelldir), (_tseekdir):
10367         * win32/dirent.h:
10368         * win32/gst-inspect.vcproj:
10369         * win32/gst-launch.vcproj:
10370         * win32/gst-register.vcproj:
10371         * win32/gstbytestream.vcproj:
10372         * win32/gstelements.vcproj:
10373         * win32/gstoptimalscheduler.vcproj:
10374         * win32/gstspider.vcproj:
10375         * win32/gtchar.h:
10376         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10377         * win32/mman.h:
10378         * win32/mman.inl:
10379         * win32/msvc71.sln:
10380
10381 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10382
10383         * gst/gst.c: (init_post):
10384         * gst/gstinfo.c:
10385           remove useless _gst_progname stuff
10386         * tools/gst-inspect.c: (print_field), (print_caps):
10387           improve caps output
10388
10389 2004-04-28  David Schleef  <ds@schleef.org>
10390
10391         Disable parsing of a lot of files that aren't part of the
10392         exported API.  Move corresponding template files to old/,
10393         waiting for removal when they don't contain anything
10394         interesting.
10395         * docs/gst/Makefile.am:
10396         * docs/gst/gstreamer-sections.txt:
10397         * docs/gst/tmpl/cothreads.sgml:
10398         * docs/gst/tmpl/cothreads_compat.sgml:
10399         * docs/gst/tmpl/gettext.sgml:
10400         * docs/gst/tmpl/gobject2gtk.sgml:
10401         * docs/gst/tmpl/grammar.tab.sgml:
10402         * docs/gst/tmpl/gst-i18n-app.sgml:
10403         * docs/gst/tmpl/gst-i18n-lib.sgml:
10404         * docs/gst/tmpl/gst_private.sgml:
10405         * docs/gst/tmpl/gstaggregator.sgml:
10406         * docs/gst/tmpl/gstarch.sgml:
10407         * docs/gst/tmpl/gstatomic_impl.sgml:
10408         * docs/gst/tmpl/gstbufferstore.sgml:
10409         * docs/gst/tmpl/gstdata_private.sgml:
10410         * docs/gst/tmpl/gstdisksink.sgml:
10411         * docs/gst/tmpl/gstdisksrc.sgml:
10412         * docs/gst/tmpl/gstelementfactory.sgml:
10413         * docs/gst/tmpl/gstextratypes.sgml:
10414         * docs/gst/tmpl/gstfakesink.sgml:
10415         * docs/gst/tmpl/gstfakesrc.sgml:
10416         * docs/gst/tmpl/gstfdsink.sgml:
10417         * docs/gst/tmpl/gstfdsrc.sgml:
10418         * docs/gst/tmpl/gstfilesink.sgml:
10419         * docs/gst/tmpl/gstfilesrc.sgml:
10420         * docs/gst/tmpl/gsthttpsrc.sgml:
10421         * docs/gst/tmpl/gstidentity.sgml:
10422         * docs/gst/tmpl/gstindexfactory.sgml:
10423         * docs/gst/tmpl/gstmarshal.sgml:
10424         * docs/gst/tmpl/gstmd5sink.sgml:
10425         * docs/gst/tmpl/gstmultidisksrc.sgml:
10426         * docs/gst/tmpl/gstmultifilesrc.sgml:
10427         * docs/gst/tmpl/gstpadtemplate.sgml:
10428         * docs/gst/tmpl/gstpipefilter.sgml:
10429         * docs/gst/tmpl/gstschedulerfactory.sgml:
10430         * docs/gst/tmpl/gstsearchfuncs.sgml:
10431         * docs/gst/tmpl/gstshaper.sgml:
10432         * docs/gst/tmpl/gstspider.sgml:
10433         * docs/gst/tmpl/gstspideridentity.sgml:
10434         * docs/gst/tmpl/gststatistics.sgml:
10435         * docs/gst/tmpl/gsttee.sgml:
10436         * docs/gst/tmpl/gsttimecache.sgml:
10437         * docs/gst/tmpl/gsttypefind.sgml:
10438         * docs/gst/tmpl/gsttypefindfactory.sgml:
10439         * docs/gst/tmpl/gstxmlregistry.sgml:
10440         * docs/gst/tmpl/gthread-cothreads.sgml:
10441         * docs/gst/tmpl/old/cothreads.sgml:
10442         * docs/gst/tmpl/old/cothreads_compat.sgml:
10443         * docs/gst/tmpl/old/gettext.sgml:
10444         * docs/gst/tmpl/old/gobject2gtk.sgml:
10445         * docs/gst/tmpl/old/grammar.tab.sgml:
10446         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10447         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10448         * docs/gst/tmpl/old/gst_private.sgml:
10449         * docs/gst/tmpl/old/gstaggregator.sgml:
10450         * docs/gst/tmpl/old/gstarch.sgml:
10451         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10452         * docs/gst/tmpl/old/gstbufferstore.sgml:
10453         * docs/gst/tmpl/old/gstdata_private.sgml:
10454         * docs/gst/tmpl/old/gstdisksink.sgml:
10455         * docs/gst/tmpl/old/gstdisksrc.sgml:
10456         * docs/gst/tmpl/old/gstelementfactory.sgml:
10457         * docs/gst/tmpl/old/gstextratypes.sgml:
10458         * docs/gst/tmpl/old/gstfakesink.sgml:
10459         * docs/gst/tmpl/old/gstfakesrc.sgml:
10460         * docs/gst/tmpl/old/gstfdsink.sgml:
10461         * docs/gst/tmpl/old/gstfdsrc.sgml:
10462         * docs/gst/tmpl/old/gstfilesink.sgml:
10463         * docs/gst/tmpl/old/gstfilesrc.sgml:
10464         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10465         * docs/gst/tmpl/old/gstidentity.sgml:
10466         * docs/gst/tmpl/old/gstindexfactory.sgml:
10467         * docs/gst/tmpl/old/gstmarshal.sgml:
10468         * docs/gst/tmpl/old/gstmd5sink.sgml:
10469         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10470         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10471         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10472         * docs/gst/tmpl/old/gstpipefilter.sgml:
10473         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10474         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10475         * docs/gst/tmpl/old/gstshaper.sgml:
10476         * docs/gst/tmpl/old/gstspider.sgml:
10477         * docs/gst/tmpl/old/gstspideridentity.sgml:
10478         * docs/gst/tmpl/old/gststatistics.sgml:
10479         * docs/gst/tmpl/old/gsttee.sgml:
10480         * docs/gst/tmpl/old/gsttimecache.sgml:
10481         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10482         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10483         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10484         * docs/gst/tmpl/old/types.sgml:
10485         * docs/gst/tmpl/types.sgml:
10486
10487         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10488         gtkdoc-scan doesn't like files with the same name in different
10489         directories.
10490         * gst/elements/Makefile.am:
10491         * gst/elements/gstelements.c:
10492         * gst/elements/gsttypefind.c: 
10493         * gst/elements/gsttypefind.h:
10494         * gst/elements/gsttypefindelement.c:
10495         * gst/elements/gsttypefindelement.h:
10496
10497 2004-04-28  David Schleef  <ds@schleef.org>
10498
10499         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10500         patch (bug #141317):
10501         * gst/gst-i18n-lib.h: Allow disabling gettext.
10502         * gst/gstatomic_impl.h: disable warning when it's dumb.
10503         * gst/gstclock.c: fix include
10504         * gst/gstcompat.h: fix variadic macro
10505         * gst/gstinfo.c: fix include
10506         * gst/gstmacros.h: add defines for inlines on MSVC
10507         * gst/gstplugin.c: fix includes
10508         * gst/gstregistry.c: fix includes
10509         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10510         * gst/gstsystemclock.c: fix include
10511         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10512         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10513         * gst/registries/gstxmlregistry.c:
10514         (gst_xml_registry_parse_element_factory): fix use of non-portable
10515         functions
10516         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10517         * libs/gst/control/dparammanager.h: same
10518
10519 2004-04-28  David Schleef  <ds@schleef.org>
10520
10521         Move a bunch of unused files to old/ with names that are
10522         not case-insensitive-unique.  These files still contain some
10523         useful information that needs to be merged into gstbin.sgml,
10524         etc., so they shouldn't be deleted yet.
10525         * docs/gst/tmpl/GstBin.sgml:
10526         * docs/gst/tmpl/GstBuffer.sgml:
10527         * docs/gst/tmpl/GstCaps.sgml:
10528         * docs/gst/tmpl/GstClock.sgml:
10529         * docs/gst/tmpl/GstCompat.sgml:
10530         * docs/gst/tmpl/GstData.sgml:
10531         * docs/gst/tmpl/GstElement.sgml:
10532         * docs/gst/tmpl/GstEvent.sgml:
10533         * docs/gst/tmpl/GstIndex.sgml:
10534         * docs/gst/tmpl/GstStructure.sgml:
10535         * docs/gst/tmpl/GstTag.sgml:
10536         * docs/gst/tmpl/old/GstBin.sgml:
10537         * docs/gst/tmpl/old/GstBuffer.sgml:
10538         * docs/gst/tmpl/old/GstCaps.sgml:
10539         * docs/gst/tmpl/old/GstClock.sgml:
10540         * docs/gst/tmpl/old/GstCompat.sgml:
10541         * docs/gst/tmpl/old/GstData.sgml:
10542         * docs/gst/tmpl/old/GstElement.sgml:
10543         * docs/gst/tmpl/old/GstEvent.sgml:
10544         * docs/gst/tmpl/old/GstIndex.sgml:
10545         * docs/gst/tmpl/old/GstStructure.sgml:
10546         * docs/gst/tmpl/old/GstTag.sgml:
10547
10548 2004-04-28  David Schleef  <ds@schleef.org>
10549
10550         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10551         (gst_caps_append), (gst_caps_append_structure),
10552         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10553         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10554         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10555         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10556         (gst_caps_intersect), (gst_caps_normalize),
10557         (gst_caps_transform_to_string):  Patch from Tim-Philipp M??ller
10558         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10559         * gst/gstcaps.h: use GST_IS_CAPS().
10560
10561 2004-04-26  David Schleef  <ds@schleef.org>
10562
10563         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10564         assembly.  gcc doesn't handle it correctly. (bug #141083)
10565         * gst/gsttrashstack.h: same
10566
10567 2004-04-25  Benjamin Otte  <otte@gnome.org>
10568
10569         * gst/gstelement.c: (gst_element_change_state):
10570           fix assertion to do an int comparison
10571
10572 2004-04-25  Benjamin Otte  <otte@gnome.org>
10573
10574         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10575           better debugging output on error
10576
10577 2004-04-25  Benjamin Otte  <otte@gnome.org>
10578
10579         * gst/gstcaps.c: (gst_caps_subtract):
10580           fix memleak
10581
10582 2004-04-23  Benjamin Otte  <otte@gnome.org>
10583
10584         * gst/gstvalue.c: (gst_value_compare_buffer),
10585         (_gst_value_initialize):
10586           add comparison function for buffers
10587
10588 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10589
10590         * docs/pwg/pwg.xml:
10591           Just found out that this so-called "ima-wav" format is really
10592           just "dvi adpcm" (according to the MS WAV documentation). So
10593           renaming it. We didn't use it yet anyway.
10594
10595 2004-04-23  Benjamin Otte  <otte@gnome.org>
10596
10597         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10598           call gst_caps_is_subset
10599
10600 2004-04-23  Benjamin Otte  <otte@gnome.org>
10601
10602         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10603         (gst_caps_is_subset):
10604           add documentation
10605
10606 2004-04-23  Benjamin Otte  <otte@gnome.org>
10607           
10608         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10609         (gst_caps_structure_subtract), (gst_caps_subtract),
10610         (gst_caps_structure_figure_out_union),
10611         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10612           fix simplifying and subtracting not working correctly with optional
10613           properties
10614           solve assorted problems that make it now simplify ebven more
10615         * docs/gst/tmpl/gstcaps.sgml:
10616         * gst/gstcaps.h:
10617           make gst_caps_do_simplify return a bool to indicate if it simplified
10618         * testsuite/caps/simplify.c: (main):
10619           add more checks. The tests is quite a bit useless right now because
10620           the core is heavily simplifying itself.
10621         * testsuite/caps/caps.h:
10622           fix caps to contain all optional properties
10623
10624 2004-04-22  Benjamin Otte  <otte@gnome.org>
10625
10626         * docs/gst/tmpl/gstcaps.sgml:
10627         * docs/gst/tmpl/gstfilesrc.sgml:
10628         * docs/gst/tmpl/gststructure.sgml:
10629         * docs/gst/tmpl/gstvalue.sgml:
10630           update for recent API changes
10631         * gst/gstcaps.c: (gst_caps_do_simplify):
10632           fix to stop trying with a freed structure
10633         * gst/gstpad.c: (gst_pad_link_fixate):
10634           simplify caps
10635         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10636           remove C++ comment
10637         * gst/gstpad.h:
10638           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10639         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10640         (gst_structure_to_string):
10641           keep the correct type when using lists of ranges
10642         * gst/gstvalue.c: (gst_value_list_prepend_value),
10643         (gst_value_list_append_value):
10644           copy the value before adding to the list (d'oh)
10645         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10646         (gst_value_subtract_int_range_int_range):
10647           handle overflows correctly
10648         * gst/gstvalue.c: (gst_value_subtract_from_list):
10649           fix memleak
10650         * testsuite/caps/caps.h:
10651           add a caps that caused segfaults
10652
10653 2004-04-22  Benjamin Otte  <otte@gnome.org>
10654
10655         * testsuite/refcounting/pad.c: (main):
10656           fix test
10657
10658 2004-04-22  Benjamin Otte  <otte@gnome.org>
10659
10660         * gst/gstcaps.c: (gst_caps_subtract):
10661           allow subtracting ANY and EMPTY from ANY caps
10662
10663 2004-04-22  Benjamin Otte  <otte@gnome.org>
10664
10665         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10666         (gst_caps_union):
10667           only simplify in functions that create new caps. Simplifying in
10668           gst_caps_append breaks tests.
10669
10670 2004-04-22  Benjamin Otte  <otte@gnome.org>
10671
10672         * gst/gstcaps.c: (gst_caps_structure_simplify):
10673           unset GValue after use
10674         * gst/gstcaps.c: (gst_caps_append), 
10675         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10676           use gst_caps_simplify (reduces registry size by 30%)
10677         * gst/gstpad.c: (gst_pad_template_new):
10678           don't allow NULL caps
10679
10680 2004-04-22  Benjamin Otte  <otte@gnome.org>
10681
10682         * docs/gst/gstreamer-sections.txt:
10683           add gst_caps_do_simplify
10684         * gst/gstcaps.c:
10685           add documentation for gst_caps_do_simplify
10686         * gst/gstvalue.h:
10687           fix typo in gst_value_register_subtract_func declaration for gst-doc
10688
10689 2004-04-22  Benjamin Otte  <otte@gnome.org>
10690
10691         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10692           fix bug when converting from empty string.
10693         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10694         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10695           use gst_caps_new_empty to allocate a new caps. Only that function
10696           allocates memory for caps now.
10697         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10698         (gst_caps_remove_structure):
10699           add ability to remove one structure (but not to header yet)
10700         * gst/gstcaps.c: (gst_caps_compare_structures),
10701         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10702         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10703         * gst/gstcaps.h:
10704           add gst_caps_do_simplify that tries to simplify a caps in place.
10705           Deprecate old gst_caps_simplify function.
10706         * testsuite/caps/caps.h:
10707           add caps.h containing a common set of caps to test against.
10708         * testsuite/caps/sets.c: (check_caps), (main):
10709           use it.
10710         * testsuite/caps/.cvsignore:
10711         * testsuite/caps/Makefile.am:
10712         * testsuite/caps/simplify.c: (check_caps), (main):
10713           add test to check correctness and efficency of caps simplification.
10714
10715 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10716
10717         reviewed by Benjamin Otte  <otte@gnome.org>
10718
10719         * gst/gstparse.c: (_gst_parse_escape):
10720           Free the GString used in _gst_parse_escape()
10721
10722 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10723
10724         * gst/gstpad.c: (gst_pad_link_negotiate):
10725           refuse to link if the link is not possible
10726         * configure.ac:
10727         * testsuite/Makefile.am:
10728         * testsuite/negotiation/.cvsignore:
10729         * testsuite/negotiation/Makefile.am:
10730         * testsuite/negotiation/pad_link.c: (main):
10731           add test that checks the above behaviour
10732
10733 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * docs/gst/gstreamer-sections.txt:
10736           add newly added API
10737
10738 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10741         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10742         (gst_filesrc_open_file), (gst_filesrc_close_file),
10743         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10744         * gst/elements/gstfilesrc.h:
10745           add support for non-regular files (#140734)
10746
10747 2004-04-21  Benjamin Otte  <otte@gnome.org>
10748
10749         * gst/gstpad.c: (gst_pad_link_fixate):
10750           add sophisticated error checking code to see if fixation functions
10751           did their fixation right
10752
10753 2004-04-21  Benjamin Otte  <otte@gnome.org>
10754
10755         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10756           check for ANY caps before appending/unioning
10757         * gst/gstcaps.c: (gst_caps_is_subset),
10758         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10759         (gst_caps_structure_subtract), (gst_caps_subtract):
10760         * gst/gstcaps.h:
10761           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10762           the API. deprecate gst_caps_is_equal_fixed
10763         * gst/gstpad.c: (gst_pad_try_set_caps):
10764         * gst/gstqueue.c: (gst_queue_link):
10765           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10766         * gst/gststructure.c: (gst_structure_get_name_id):
10767         * gst/gststructure.h:
10768           add function gst_structure_get_name_id
10769         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10770         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10771         (gst_value_subtract_int_range_int_range),
10772         (gst_value_subtract_double_double_range),
10773         (gst_value_subtract_double_range_double),
10774         (gst_value_subtract_double_range_double_range),
10775         (gst_value_subtract_from_list), (gst_value_subtract_list),
10776         (gst_value_can_intersect), (gst_value_subtract),
10777         (gst_value_can_subtract), (gst_value_register_subtract_func),
10778         (_gst_value_initialize):
10779         * gst/gstvalue.h:
10780           add support for subtracting values from each other. Note that
10781           subtracting means subtracting as in set theory. Required for caps
10782           stuff above.
10783         * testsuite/caps/.cvsignore:
10784         * testsuite/caps/Makefile.am:
10785         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10786         * testsuite/caps/sets.c: (check_caps), (main):
10787         * testsuite/caps/subtract.c: (check_caps), (main):
10788           add tests for subtraction and equality code.
10789
10790 2004-04-20  David Schleef  <ds@schleef.org>
10791
10792         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10793         * gst/indexers/Makefile.am:
10794         * gst/schedulers/Makefile.am:
10795         * libs/gst/bytestream/Makefile.am:
10796         * libs/gst/control/Makefile.am:
10797         * libs/gst/getbits/Makefile.am:
10798
10799 2004-04-20  David Schleef  <ds@schleef.org>
10800
10801         * common/as-libtool.mak: Fine-tune DLL building.
10802         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10803         (like gst-plugins)
10804         * examples/plugins/Makefile.am: remove plugindir
10805         * gst/autoplug/Makefile.am: DLL building fixes
10806         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10807         Windows.
10808         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10809         * gst/indexers/Makefile.am: DLL building fixes
10810         * gst/schedulers/Makefile.am: DLL building fixes.
10811         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10812         * libs/gst/control/Makefile.am: same
10813         * libs/gst/getbits/Makefile.am: same
10814         * testsuite/Makefile.am: New dlopen directory
10815         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10816         when dlopened.
10817         * testsuite/dlopen/dlopen_gst.c: (main): same
10818         * testsuite/dlopen/loadgst.c: (do_test): same
10819
10820 2004-04-20  David Schleef  <ds@schleef.org>
10821
10822         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10823         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10824
10825 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10826
10827         * gst/gstelement.c: (gst_element_wait),
10828         (gst_element_set_time_delay), (gst_element_change_state):
10829           Use GST_TIME_*
10830
10831 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10832
10833         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10834         (gst_spider_identity_plug):
10835           improve debugging messages
10836         * gst/gstbin.c: (gst_bin_remove_func):
10837           make sure the state_change function is only called with simple state
10838           transitions
10839
10840 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10843         (gst_fakesink_set_property), (gst_fakesink_chain):
10844         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10845         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10846         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10847         * gst/elements/gstidentity.c: (gst_identity_chain),
10848         (gst_identity_set_property):
10849         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10850         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10851           add warnings to _set_property for unknown arguments
10852           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10853
10854 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10855
10856         * Makefile.am:
10857         * docs/manuals.mak:
10858           add .po file download snippet
10859           fix a bug in the doc makefile
10860
10861 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10862
10863         * Makefile.am:
10864         * po/LINGUAS:
10865         * po/en_GB.po:
10866           Added en_GB translation (Gareth Owen)
10867
10868 2004-04-20  Johan Dahlin  <johan@gnome.org>
10869
10870         * gst/gstpad.c (_invent_event): Clean up
10871
10872 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10873
10874         * testsuite/caps/filtercaps.c: (main):
10875           fix test to test things correctly (caps are complicated)
10876
10877 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10878
10879         * testsuite/caps/Makefile.am:
10880         * testsuite/caps/filtercaps.c: (main):
10881           add test (that doesn't work right now, but should)
10882
10883 2004-04-19  David Schleef  <ds@schleef.org>
10884
10885         * configure.ac: Add test for allowing unaligned access.  Add define
10886         to put in gstconfig.h.
10887         * docs/gst/gstreamer-sections.txt: New symbols
10888         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10889         * docs/gst/tmpl/gstfilesrc.sgml:
10890         * docs/gst/tmpl/gstparse.sgml:
10891         * docs/gst/tmpl/gsttypes.sgml:
10892         * docs/gst/tmpl/gstutils.sgml:
10893         * docs/gst/tmpl/gstvalue.sgml:
10894         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10895         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10896         on most !i386/!powerpc architectures.  From Daniel Gazard
10897         <daniel.gazard@free.fr>.  (bug #140156)
10898         * po/af.po: Check in changes made by gettext.
10899         * po/az.po:
10900         * po/fr.po:
10901         * po/nl.po:
10902         * po/sr.po:
10903         * po/sv.po:
10904
10905 2004-04-20  Benjamin Otte  <otte@gnome.org>
10906
10907         * gst/schedulers/entryscheduler.c: 
10908         (gst_entry_scheduler_yield):
10909           refuse to yield when decoupled elements insist on doing that.
10910           At least it's better than crashing
10911
10912 2004-04-19  David Schleef  <ds@schleef.org>
10913
10914         * docs/libs/Makefile.am: Change sinclude to include
10915         * docs/gst/Makefile.am: same
10916         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10917
10918 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10919
10920         * po/LINGUAS:
10921         * po/uk.po:
10922           Added Ukrainian translation (Maxim V. Dziumanenko)
10923
10924 2004-04-19  Johan Dahlin  <johan@gnome.org>
10925
10926         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10927         checking here, do it before calling the function.
10928         Clean up, use for loops instead of while loops while iterating
10929         over lists.
10930
10931         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10932         in debug message.
10933         (gst_spider_create_and_plug): Improve debug message.
10934         General: Replace while loops which iterates over GLists with for
10935         loops. Which are much cleaner, improves readability, especially
10936         for gst_spider_identity_plug
10937
10938         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10939         fixes bug 140477
10940
10941 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10942
10943         * po/LINGUAS:
10944         * po/tr.po:
10945           Added Turkish translation (Baris Cicek)
10946
10947 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10948
10949         * docs/faq/troubleshooting.xml:
10950           Mention gst-register in the FAQ (fixes 139045).
10951
10952 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10953
10954         * docs/gst/gstreamer-sections.txt:
10955
10956 2004-04-17  Benjamin Otte  <otte@gnome.org>
10957
10958         * gst/gstelement.c: (gst_element_dispose):
10959           simplify
10960         * gst/gstpad.c: (gst_pad_call_chain_function):
10961           don't create loads of events due to bad macro usage
10962
10963 2004-04-16  David Schleef  <ds@schleef.org>
10964
10965         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10966         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10967         * gst/gstvalue.c: (gst_value_serialize_buffer),
10968         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10969         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10970         to indicate types that are fixed wrt caps or not.  Switching to
10971         this function fixes (bug #140298).
10972         * gst/gstvalue.h:
10973
10974 2004-04-16  David Schleef  <ds@schleef.org>
10975
10976         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10977         for GST_UNALIGNED_ACESS, since we essentially know which archs
10978         are ok.
10979
10980 2004-04-17  Benjamin Otte  <otte@gnome.org>
10981
10982         * docs/gst/Makefile.am:
10983           ignore gst/parse directory when building docs (fixes #140205)
10984
10985 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * testsuite/refcounting/mem.c: (vmsize):
10988           do error checking
10989
10990 2004-04-16  Johan Dahlin  <johan@gnome.org>
10991
10992         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10993         and gst_pad_call_get_function.
10994
10995 2004-04-15  David Schleef  <ds@schleef.org>
10996
10997         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10998         checks if we can access unaligned memory.
10999         * configure.ac: Use it.
11000
11001 2004-04-16  Benjamin Otte  <otte@gnome.org>
11002
11003         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
11004         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
11005         * gst/elements/gstfilesrc.h:
11006           s/seek_happened/need_discont/ and require discont before sending any
11007           data
11008
11009 2004-04-15  David Schleef  <ds@schleef.org>
11010
11011         * gst/gstvalue.c: (gst_value_serialize_buffer),
11012         (gst_value_deserialize_buffer), (_gst_value_initialize):
11013         Register these types as fundamental types. (bug #140015)
11014
11015 2004-04-16  Benjamin Otte  <otte@gnome.org>
11016
11017         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
11018         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
11019         (gst_pad_pull):
11020           implement enforcing discont events before buffers are passed. This
11021           allows state changes of only some elements and later correctly going
11022           on where they left off (or in short: you can now set audio sinks to
11023           NULL to release the device when the pipeline is paused)
11024         * gst/gstpad.c: (gst_pad_call_chain_function),
11025         (gst_pad_call_get_function):
11026         * gst/gstpad.h:
11027           add gst_pad_call_chain_function and gst_pad_call_get_function for
11028           scheduler interaction. They are required because of the changes
11029           above.
11030         * gst/schedulers/entryscheduler.c: (get_buffer),
11031         (gst_entry_scheduler_chain_wrapper),
11032         (gst_entry_scheduler_get_wrapper),
11033         (gst_entry_scheduler_state_transition),
11034         (gst_entry_scheduler_pad_link):
11035         * gst/schedulers/gstbasicscheduler.c:
11036         (gst_basic_scheduler_chain_wrapper),
11037         (gst_basic_scheduler_src_wrapper),
11038         (gst_basic_scheduler_chainhandler_proxy),
11039         (gst_basic_scheduler_gethandler_proxy),
11040         (gst_basic_scheduler_cothreaded_chain),
11041         (gst_basic_scheduler_chain_elements):
11042         * gst/schedulers/gstoptimalscheduler.c:
11043         (get_group_schedule_function), (pad_clear_queued),
11044         (gst_opt_scheduler_pad_link):
11045           use the new functions instead of calling get/chain-functions
11046           directly.
11047
11048 2004-04-15  David Schleef  <ds@schleef.org>
11049
11050         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
11051         * docs/gst/tmpl/gstinfo.sgml: same
11052         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
11053         gtk-doc put here.
11054         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
11055         * examples/queue/queue.c: (main):  We iterate pipelines, not
11056         bins.  (bug #139996)
11057
11058 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11059
11060         * docs/pwg/advanced-types.xml:
11061           Add MS RLE support. Also document Qt RLE although I have no sample
11062           files for that yet. And document an extra property for ADPCM.
11063
11064 2004-04-15  David Schleef  <ds@schleef.org>
11065
11066         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
11067         (_gst_plugin_fault_handler_setup):  Disable more stuff on
11068         Windows.
11069
11070 2004-04-15  David Schleef  <ds@schleef.org>
11071
11072         * gst/gstinfo.c: (_gst_debug_init): Change some internal
11073         symbol names to not conflict with new gstinfo.h symbols.
11074         * gst/gstinfo.h: Add inline functions for all those crazy
11075         compilers that don't know how to handle variadic macros (MSVC).
11076
11077 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11078
11079         * configure.ac: bump nano to 1
11080
11081 === release 0.8.1 ===
11082
11083 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * NEWS:
11086         * RELEASE:
11087         * configure.ac:
11088           releasing 0.8.1, "Snow Brigade"
11089
11090 2004-04-14  David Schleef  <ds@schleef.org>
11091
11092         * testsuite/Makefile.am: define tests_ignore
11093         * testsuite/Rules: Added new tests_ignore, which get compiled,
11094         but not run (generally because they're inconsistent or have
11095         heisenbugs).  Now we can ensure all the .c files compile in
11096         testsuite/.
11097         * testsuite/bins/Makefile.am: define tests_ignore
11098         * testsuite/bytestream/Makefile.am:
11099         * testsuite/caps/Makefile.am:
11100         * testsuite/clock/Makefile.am:
11101         * testsuite/debug/Makefile.am:
11102         * testsuite/debug/global.c: (gst_debug_log_one),
11103         (gst_debug_log_two): Fix compilation problem.
11104         * testsuite/dynparams/Makefile.am:
11105         * testsuite/elements/Makefile.am:
11106         * testsuite/ghostpads/Makefile.am:
11107         * testsuite/indexers/Makefile.am:
11108         * testsuite/parse/Makefile.am:
11109         * testsuite/plugin/Makefile.am:
11110         * testsuite/refcounting/Makefile.am:
11111         * testsuite/refcounting/element_pad.c: (main): Don't return leak
11112         results, because it's not calculated correctly.
11113         * testsuite/refcounting/pad.c: (main): same
11114         * testsuite/states/Makefile.am:
11115         * testsuite/tags/Makefile.am:
11116         * testsuite/threads/Makefile.am:
11117
11118 2004-04-14  David Schleef  <ds@schleef.org>
11119
11120         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
11121         generating bad code around the cpu detection asm code.
11122
11123 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11124
11125         * tools/gst-inspect.c: (print_element_info):
11126           print numeric version of rank as well, since we added some - 1
11127           rank values to elements
11128
11129 2004-04-13  David Schleef  <ds@schleef.org>
11130
11131         * configure.ac:  Disable various code when compiling for MinGW.
11132         * gst/elements/Makefile.am:
11133         * gst/elements/gstelements.c:
11134         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11135         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
11136         * gst/registries/gstxmlregistry.c: (make_dir):
11137
11138 2004-04-13  David Schleef  <ds@schleef.org>
11139
11140         * gst/Makefile.am:
11141         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
11142         assembly.
11143         * gst/gstcpuid_i386.s: remove
11144
11145 2004-04-13  David Schleef  <ds@schleef.org>
11146
11147         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
11148         seems to think it needs to be done.
11149         * docs/gst/tmpl/gstfakesink.sgml:
11150         * docs/gst/tmpl/gstfakesrc.sgml:
11151         * docs/gst/tmpl/gstfdsink.sgml:
11152         * docs/gst/tmpl/gstfdsrc.sgml:
11153         * docs/gst/tmpl/gstfilesink.sgml:
11154         * docs/gst/tmpl/gstfilesrc.sgml:
11155         * docs/gst/tmpl/gstidentity.sgml:
11156         * docs/gst/tmpl/gstmd5sink.sgml:
11157         * docs/gst/tmpl/gstmultifilesrc.sgml:
11158         * docs/gst/tmpl/gstpipefilter.sgml:
11159         * docs/gst/tmpl/gstshaper.sgml:
11160         * docs/gst/tmpl/gstspider.sgml:
11161         * docs/gst/tmpl/gstspideridentity.sgml:
11162         * docs/gst/tmpl/gststatistics.sgml:
11163         * docs/gst/tmpl/gsttee.sgml:
11164         * docs/gst/tmpl/gsttypefind.sgml:
11165         * docs/gst/tmpl/gstutils.sgml:
11166
11167 2004-04-13  David Schleef  <ds@schleef.org>
11168
11169         * configure.ac: Changes to remove POSIXisms (mmap in this case)
11170         and to build DLLs on Windows.
11171         * gst/Makefile.am:
11172         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11173         (gst_filesrc_open_file):
11174         * gst/schedulers/Makefile.am:
11175
11176 2004-04-13  David Schleef  <ds@schleef.org>
11177
11178         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
11179         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
11180         fixating lists.
11181
11182 2004-04-12  David Schleef  <ds@schleef.org>
11183
11184         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11185         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
11186         to using it.
11187         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
11188         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
11189         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
11190         * gst/gststructure.c: (gst_structure_set_valist),
11191         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
11192         support for buffers.
11193         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
11194         intended to be const.
11195         * gst/gsttag.h: same
11196         * gst/gstvalue.c: (gst_value_serialize_buffer),
11197         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
11198         to (de)serialize buffers.
11199         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
11200         * testsuite/caps/string-conversions.c: (main):
11201         * testsuite/caps/value_serialize.c: add new test
11202
11203 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11204
11205         * docs/pwg/advanced-types.xml:
11206           Document MS video 1 (video/x-msvideocodec) mimetype/format.
11207
11208 2004-04-11  Benjamin Otte  <otte@gnome.org>
11209
11210         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
11211           rename categories to basic_*
11212         * gst/schedulers/gstbasicscheduler.c: 
11213         (gst_basic_scheduler_chain_wrapper),
11214         (gst_basic_scheduler_chainhandler_proxy),
11215         (gst_basic_scheduler_gethandler_proxy),
11216         (gst_basic_scheduler_eventhandler_proxy):
11217           debugging category fixes - put common stuff in log category
11218         * gst/schedulers/gstbasicscheduler.c: 
11219         (gst_basic_scheduler_chain_elements):
11220           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
11221           active and linking two active chains
11222
11223 2004-04-10  Benjamin Otte  <otte@gnome.org>
11224
11225         * docs/pwg/intro-preface.xml:
11226           fix dead links and remove reference to Wiki
11227
11228 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11229
11230         * gst/schedulers/gstbasicscheduler.c:
11231           make sure we can switch back to the main function if we're still in
11232           the main function (supposed to fix #139617)
11233         * gst/schedulers/gthread-cothreads.h:
11234           don't throw an error when switching to the same cothread
11235
11236 2004-04-09  Benjamin Otte  <otte@gnome.org>
11237
11238         * gst/gstbin.c: (gst_bin_get_type):
11239         * gst/gstclock.c: (gst_clock_get_type):
11240         * gst/gstindex.c: (gst_index_get_type):
11241         * gst/gstobject.c: (gst_object_get_type),
11242         (gst_signal_object_get_type):
11243         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
11244         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
11245         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
11246         * gst/gstqueue.c: (gst_queue_get_type):
11247         * gst/gstregistry.c: (gst_registry_get_type):
11248         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11249         * gst/gstthread.c: (gst_thread_get_type):
11250           don't use memchunks for these objects, use malloc instead
11251
11252 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11253
11254         * docs/gst/.cvsignore:
11255         * docs/gst/Makefile.am:
11256         * docs/gst/gstreamer-sections.txt:
11257         * docs/gst/tmpl/gstaggregator.sgml:
11258         * docs/gst/tmpl/gstbuffer.sgml:
11259         * docs/gst/tmpl/gstclock.sgml:
11260         * docs/gst/tmpl/gstelement.sgml:
11261         * docs/gst/tmpl/gstfakesink.sgml:
11262         * docs/gst/tmpl/gstfakesrc.sgml:
11263         * docs/gst/tmpl/gstfdsink.sgml:
11264         * docs/gst/tmpl/gstfdsrc.sgml:
11265         * docs/gst/tmpl/gstfilesink.sgml:
11266         * docs/gst/tmpl/gstfilesrc.sgml:
11267         * docs/gst/tmpl/gstidentity.sgml:
11268         * docs/gst/tmpl/gstindex.sgml:
11269         * docs/gst/tmpl/gstinfo.sgml:
11270         * docs/gst/tmpl/gstmd5sink.sgml:
11271         * docs/gst/tmpl/gstmultifilesrc.sgml:
11272         * docs/gst/tmpl/gstpad.sgml:
11273         * docs/gst/tmpl/gstpipefilter.sgml:
11274         * docs/gst/tmpl/gstpipeline.sgml:
11275         * docs/gst/tmpl/gstpluginfeature.sgml:
11276         * docs/gst/tmpl/gstqueue.sgml:
11277         * docs/gst/tmpl/gstregistry.sgml:
11278         * docs/gst/tmpl/gstscheduler.sgml:
11279         * docs/gst/tmpl/gstshaper.sgml:
11280         * docs/gst/tmpl/gstspider.sgml:
11281         * docs/gst/tmpl/gstspideridentity.sgml:
11282         * docs/gst/tmpl/gststatistics.sgml:
11283         * docs/gst/tmpl/gstsystemclock.sgml:
11284         * docs/gst/tmpl/gsttee.sgml:
11285         * docs/gst/tmpl/gstthread.sgml:
11286         * docs/gst/tmpl/gsttypefind.sgml:
11287         * docs/gst/tmpl/gstutils.sgml:
11288           further doc build fixes
11289
11290 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11291
11292         * docs/gst/Makefile.am:
11293           make docs exit on scanning problems
11294           fix nonsrcdir build issues
11295         * docs/gst/gstreamer-sections.txt:
11296           adding stuff from -unused
11297         * gst/gstqueue.h:
11298           create GstQueueSize
11299         * gst/schedulers/cothreads_compat.h:
11300           fix cothread warnings
11301
11302 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11303
11304         * docs/gst/gstreamer-sections.txt:
11305           remove defines deprecated by Benjamin
11306
11307 2004-04-07  Benjamin Otte  <otte@gnome.org>
11308
11309         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11310           when the buffer is complete, don't check if other buffers are needed
11311         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11312           check that the offset is >0 so we don't try to read before the
11313           beginning of the file
11314         * gst/gstpad.c: (gst_pad_set_pad_template):
11315           sink the template, so we don't end up with 130k pad templates
11316
11317 2004-04-06  Benjamin Otte  <otte@gnome.org>
11318
11319         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11320           don't ref the element, adding already reffed it. And we didn't unref
11321           it later anyway... (huge memleak when you used many spider elements)
11322         * gst/gstelement.c: (gst_element_base_class_finalize):
11323         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11324         (gst_element_register):
11325         * gst/gsturi.c: (gst_element_make_from_uri):
11326           use gst_object_(un)ref instead of g_object(un)ref
11327
11328 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11329
11330         * gst/gstbuffer.h:
11331           remove macro that wouldn't work anymore because struct member has
11332           been removed.
11333         * gst/schedulers/entryscheduler.c: (schedule_forward):
11334           fix segfault for unconnected pads
11335         
11336 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11337
11338         reviewed by David Schleef <ds@schleef.org>
11339
11340         * gst/gstinfo.h:
11341           *_FORMAT modifiers should require putting a % in front of them for
11342           consistency reasons.
11343
11344 2004-04-05  Colin Walters  <walters@redhat.com>
11345
11346         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11347         space.
11348
11349 2004-04-05  Benjamin Otte  <otte@gnome.org>
11350
11351         * configure.ac:
11352         * gst/Makefile.am:
11353         * gst/gst_private.h:
11354         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11355           add support for detecting if GStreamer runs inside valgrind.
11356           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11357           print a big message in valgrind that GStreamer has detected it's
11358           running inside and might now use different code.
11359         * gst/gstmemchunk.c: (populate), (free_area),
11360         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11361         (gst_mem_chunk_free):
11362           flag memchunks for valgrind, so it can detect leaking of chunks.
11363           This allows detecting leaks of GstBuffer and GstEvent correctly
11364           inside valgrind.
11365
11366 2004-04-05  David Schleef  <ds@schleef.org>
11367
11368         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11369           jensgr@gmx.net (Jens Granseuer)
11370
11371 2004-04-05  David Schleef  <ds@schleef.org>
11372
11373         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11374         (gst_buffer_default_free), (gst_buffer_default_copy),
11375         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11376         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11377         structures in one place.
11378
11379 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11380
11381         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11382           (GST_TIME_FORMAT, GST_TIME_ARGS)
11383
11384 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11385
11386         * testsuite/elements/Makefile.am:
11387           disable test until it stops breaking make distcheck
11388
11389 2004-04-05  Johan Dahlin  <johan@gnome.org>
11390
11391         * po/sv.po: Updated translation
11392
11393 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11394
11395         * gst/gstplugin.c: (gst_plugin_load_file):
11396           fix segfault for when original plugin was loaded statically
11397
11398 2004-04-05  Benjamin Otte  <otte@gnome.org>
11399
11400         * testsuite/debug/category.c: (main):
11401         * testsuite/debug/commandline.c: (main):
11402         * testsuite/debug/output.c: (main):
11403           fix tests to work again with debugging enabled
11404
11405 2004-04-05  Benjamin Otte  <otte@gnome.org>
11406
11407         * gst/schedulers/gstbasicscheduler.c:
11408         (gst_basic_scheduler_pad_link):
11409           fix to work with recent scheduling changes
11410
11411 2004-04-05  Benjamin Otte  <otte@gnome.org>
11412
11413         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11414         prepareChangeLog doesn't work when cvs indents):
11415           don't throw an error when no element can be scheduled, there's too
11416           many weird reasons why it doesn't work. Return STOPPED instead.
11417           decoupled elemts' schedulability doesn't depend on bufpens.
11418
11419 2004-04-04  Benjamin Otte  <otte@gnome.org>
11420
11421         * gst/schedulers/gstbasicscheduler.c:
11422         (gst_basic_scheduler_pad_select):
11423           fix uninitialized variable warnings
11424
11425 2004-04-04  Benjamin Otte  <otte@gnome.org>
11426
11427         * gst/gstpad.c: (gst_pad_collect_valist):
11428           fix uninitialized variable warning
11429         * gst/schedulers/entryscheduler.c: (schedule_forward):
11430           fix shadowed variable
11431
11432 2004-04-04  Benjamin Otte  <otte@gnome.org>
11433
11434         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11435         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11436         (gst_pad_select):
11437         * gst/gstpad.h:
11438         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11439         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11440         * gst/gstscheduler.h:
11441           implement gst_pad_collect as replacement for gst_pad_select.
11442           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11443           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11444           new pad_select, lock and unlock calls.
11445         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11446         * gst/cothreads.h:
11447         * gst/schedulers/cothreads_compat.h:
11448         * gst/schedulers/gthread-cothreads.h:
11449           remove unused cothread_lock and cothread_unlock calls
11450         * gst/schedulers/entryscheduler.c:
11451         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11452         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11453         (gst_entry_scheduler_pad_select):
11454           update to new API
11455         * gst/schedulers/gstbasicscheduler.c:
11456         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11457         (gst_basic_scheduler_pad_select):
11458           remove useless lock and unlock calls, update pad_select to new API
11459           (untested)
11460         * gst/schedulers/gstoptimalscheduler.c:
11461         (gst_opt_scheduler_class_init):
11462           remove useless select, lock and unlock function calls
11463         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11464           use gst_pad_collect instead of gst_pad_select
11465
11466 2004-04-04  Benjamin Otte  <otte@gnome.org>
11467
11468         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11469         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11470         (schedule_next_element), (print_entry):
11471           add can_schedule_pad to handle element states.
11472           add schedule_forward to select the correct entry to schedule next
11473
11474 2004-04-03  Benjamin Otte  <otte@gnome.org>
11475
11476         * gst/schedulers/entryscheduler.c: 
11477           remove unused variable, fix error inside Rb, fix compile warning in
11478           unreachable code
11479
11480 2004-04-03  Benjamin Otte  <otte@gnome.org>
11481
11482         * gst/schedulers/entryscheduler.c:
11483           completely revamp the inner workings, so it's a lot easier to
11484           understand and extend
11485
11486 2004-04-03  Andy Wingo  <wingo@pobox.com>
11487
11488         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11489         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11490         This allows better introspection of pipeline topology.
11491         (add_to_chain): Don't do trickery to put loop elements first;
11492         rather, queue a chain sort by marking the chain as dirty.
11493         (remove_from_chain): Mark the chain dirty.
11494         (sort_chain): New function. Sorts the group list so that terminal
11495         sinks are first. This means elements on the sink side will be
11496         preferentially sscheduled before elements on the src side of the
11497         pipeline.
11498         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11499         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11500         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11501         (group_inc_link): Change argument and variable names to match the
11502         new link structure member names (src and sink).
11503         (group_dec_link): Add some description
11504
11505 2004-04-03  Benjamin Otte  <otte@gnome.org>
11506
11507         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11508         * gst/gstinfo.h:
11509         * testsuite/debug/category.c: (main):
11510         * testsuite/debug/commandline.c: (main):
11511         * testsuite/debug/output.c: (main):
11512         * testsuite/debug/printf_extension.c: (main):
11513           fix to successfully build and test with --disable-gst-debug
11514           configure switch (fixes #138705)
11515
11516 2004-04-03  Benjamin Otte  <otte@gnome.org>
11517
11518         * docs/pwg/building-boiler.xml:
11519           add cvs login line and s/anonymous/anoncvs/
11520
11521 2004-04-03  Tim-Phillip M??ller  <t.i.m@zen.co.uk>
11522
11523         reviewed by Benjamin Otte  <otte@gnome.org>
11524
11525         * gst/gststructure.c: (gst_structure_free):
11526           memleak fix: free fields array (partial fix for #134839)
11527
11528 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * docs/random/ds/0.9-suggested-changes:
11531           Add a note to change handoff use in fakesrc to be usable in
11532           a more generic way (fakesrc should be renamed to appsrc or so).
11533         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11534           Change signal type to scope, so we can fill the buffer in the
11535           handoff handler (that's the whole use of this signal...).
11536
11537 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11538
11539         * docs/pwg/other-ntoone.xml:
11540           Document muxers and n-to-1 elements.
11541
11542 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11543
11544         * gst/registries/gstxmlregistry.c
11545         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11546         determine if a file is a G_MODULE. The old one discards paths
11547         containing "so" somewhere in the middle. My home directory is
11548         called "soto". Go figure...
11549
11550 2004-03-31  David Schleef  <ds@schleef.org>
11551
11552         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11553         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11554         * gst/gstbuffer.h:
11555
11556 2004-03-31  David Schleef  <ds@schleef.org>
11557
11558         * gst/gstvalue.c: (gst_value_union_int_int_range),
11559         (gst_value_union_int_range_int_range), (gst_value_can_union),
11560         (gst_value_union), (_gst_value_initialize):  Add some union
11561         implementations.  We didn't have any previously.
11562         * testsuite/caps/Makefile.am:
11563         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11564         (gst_audioscale_getcaps), (test_caps), (main): A little test
11565         that is the same as the caps manipulation in audioscale.
11566
11567 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11568
11569         * docs/faq/general.xml:
11570           add entry about "does gst support format X?"
11571
11572 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11573
11574         * gst/gstthread.c:
11575           fix docs
11576         * gst/gstutils.h:
11577           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11578
11579 2004-03-30  Benjamin Otte  <otte@gnome.org>
11580
11581         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11582           set the offset of the buffer to the requested offset
11583         * gst/elements/gsttypefind.c: (stop_typefinding):
11584           revert patch 1.18 (which I unfortunately don't know the reason for).
11585           This is needed to allow downstream elements to seek. Otherwise
11586           typefind might overwrite a previous seek by downstream elements.
11587           This lead to errors with id3tag and typefind on some mp3s.
11588         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11589         (gst_entry_scheduler_iterate):
11590           be more verbose when debugging
11591
11592 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11593
11594         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11595           make sure we don't get NULL strings
11596
11597 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11598
11599         * gst/gstcaps.c:
11600         * gst/gstelement.c:
11601         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11602         * gst/gstindex.c: (gst_index_resolver_get_type),
11603         (gst_index_get_type), (gst_index_factory_get_type):
11604         * gst/gstinfo.c:
11605         * gst/gstpad.c:
11606         * gst/gstplugin.c:
11607         * gst/gsturi.c: (gst_uri_handler_get_type):
11608         * gst/gstvalue.c:
11609           first batch of documentation fixes
11610
11611 2004-03-29  David Schleef  <ds@schleef.org>
11612
11613         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11614         * docs/gst/gstreamer-docs.sgml:  More hacking
11615         * docs/gst/gstreamer-sections.txt:
11616         * docs/gst/tmpl/cothreads_compat.sgml:
11617         * docs/gst/tmpl/gstcaps.sgml:
11618         * docs/gst/tmpl/gstclock.sgml:
11619         * docs/gst/tmpl/gstelement.sgml:
11620         * docs/gst/tmpl/gstevent.sgml:
11621         * docs/gst/tmpl/gstpad.sgml:
11622         * docs/gst/tmpl/gstutils.sgml:
11623         * docs/gst/tmpl/gstxml.sgml:
11624         * docs/gst/tmpl/gthread-cothreads.sgml:
11625         * docs/random/ds/0.9-suggested-changes:
11626         * gst/elements/gstfakesink.h: doc fixes
11627         * gst/elements/gstfakesrc.h: doc fixes
11628         * gst/gstcaps.c: doc fixes
11629         * gst/gstcaps.h: doc fixes
11630         * gst/gstelement.c: doc fixes
11631         * gst/gstelement.h: doc fixes
11632         * gst/gstindex.c: doc fixes
11633         * gst/gstinfo.c: doc fixes
11634         * gst/gstpad.c: doc fixes
11635         * gst/gstpad.h: doc fixes
11636         * gst/gstplugin.c: doc fixes
11637         * gst/gsttypefind.h: doc fixes
11638         * gst/gsturi.c: doc fixes
11639         * gst/gstvalue.c: doc fixes
11640
11641 2004-03-29  Colin Walters  <walters@redhat.com>
11642
11643         * gst/registries/gstxmlregistry.c (get_time)
11644         (plugin_times_older_than_recurse):
11645         Use the result of stat to determine whether a path is a file,
11646         so we don't attempt to opendir() files.
11647
11648 2004-03-29  Benjamin Otte  <otte@gnome.org>
11649
11650         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11651           print caps in debugging output when setting caps failed
11652         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11653         (schedule_next_element), (get_buffer), (run_chainhandler),
11654         (element_may_start), (gst_entry_scheduler_chain_handler),
11655         (gst_entry_scheduler_get_handler),
11656         (gst_entry_scheduler_state_transition),
11657         (gst_entry_scheduler_pad_link):
11658           make this scheduler a testcase for mandatory
11659           discont-before-first-buffer which is needed if we want to allow apps
11660           to release the sound device.
11661           add SCHED_ASSERT macro to print scheduler state before an assertion
11662           triggers.
11663
11664 2004-03-29  Benjamin Otte  <otte@gnome.org>
11665
11666         * COPYING:
11667           replace by LGPL (former COPYING.LIB). The core is completely
11668           licensed LGPL.
11669         * COPYING.LIB:
11670           remove
11671
11672 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11673
11674         * po/af.po:
11675         * po/sv.po:
11676           updated Afrikaans and Swedish
11677
11678 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11679
11680         * po/LINGUAS:
11681         * po/az.po:
11682           adding Azerbaijani (M??tin ??mirov)
11683
11684 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11685
11686         * gst/gstelement.h: 
11687         * gst/gstelement.c (gst_element_set_time_delay): New function for
11688         setting element time taking into account a hardware buffering
11689         delay.
11690         (gst_element_set_time): Now just an invocation of
11691         gst_element_set_time_delay.
11692         * gst/gstclock.h: 
11693         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11694         allowing to set event times in the future.
11695         (gst_clock_get_event_time): Now just an invocation of
11696         gst_clock_get_event_time_delay.
11697
11698 2004-03-28  Benjamin Otte  <otte@gnome.org>
11699
11700         * gst/gstbin.c: (gst_bin_set_element_sched),
11701         (gst_bin_unset_element_sched):
11702           don't add decoupled elements to schedulers - otherwise it's
11703           impossible to control if a link to a decoupled element was already
11704           removed from a scheduler or not.
11705         * gst/schedulers/cothreads_compat.h:
11706         * gst/schedulers/gthread-cothreads.h:
11707           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11708           is no "unused" warning.
11709         * gst/schedulers/Makefile.am:
11710         * gst/schedulers/entryscheduler.c:
11711           add new scheduler, based on ideas from talking to David and Martin.
11712           It's supposed to be small and correct. Currently it's also slow (but
11713           it's not noticable)
11714         * examples/retag/retag.c: (main):
11715         * testsuite/bytestream/test1.c: (main):
11716           fix missing NULLs at end of variadic functions
11717         * testsuite/elements/.cvsignore:
11718           update
11719
11720 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11721
11722         * gst/gstevent.h:
11723         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11724
11725 2004-03-25  David Schleef  <ds@schleef.org>
11726
11727         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11728         * docs/gst/tmpl/gstaggregator.sgml:
11729         * docs/gst/tmpl/gstautoplugfactory.sgml:
11730         * docs/gst/tmpl/gstbin.sgml:
11731         * docs/gst/tmpl/gstbuffer.sgml:
11732         * docs/gst/tmpl/gstbufferstore.sgml:
11733         * docs/gst/tmpl/gstfakesink.sgml:
11734         * docs/gst/tmpl/gstfakesrc.sgml:
11735         * docs/gst/tmpl/gstmd5sink.sgml:
11736         * docs/gst/tmpl/gstreamer-unused.sgml:
11737         * docs/gst/tmpl/gstsearchfuncs.sgml:
11738         * docs/gst/tmpl/gstshaper.sgml:
11739         * docs/gst/tmpl/gstspider.sgml:
11740         * docs/gst/tmpl/gsttee.sgml:
11741         * docs/gst/tmpl/gstutils.sgml:
11742         * docs/gst/tmpl/gstvalue.sgml:
11743         * docs/gst/tmpl/gstxml.sgml:
11744         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11745         and we don't support it.
11746         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11747         (gst_use_threads), (gst_has_threads): same
11748         * gst/gstthreaddummy.c: same
11749         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11750         * gst/autoplug/gstspider.h: same
11751         * gst/elements/gstaggregator.h: Remove bogus function from header
11752         * gst/elements/gstfakesink.h: same
11753         * gst/elements/gstfakesrc.h: same
11754         * gst/elements/gstmd5sink.h: same
11755         * gst/elements/gstshaper.h: same
11756         * gst/elements/gsttee.h: same
11757         * gst/gstbin.c: doc fixes
11758         * gst/gstbin.h: Remove unused definition.
11759         * gst/gstbuffer.c: doc fixes
11760         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11761         * gst/gstfilter.c: doc fixes
11762         * gst/gsttag.c: doc fixes
11763         * gst/gstvalue.c: doc fixes
11764
11765 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11766
11767         * docs/pwg/advanced-types.xml:
11768           Document typefinding.
11769         * docs/pwg/other-oneton.xml:
11770           Document one-to-n elements, demuxers and parsers.
11771
11772 2004-03-25  Tim-Philipp M??ller <t.i.m@zen.co.uk>
11773
11774         reviewed by: David Schleef  <ds@schleef.org>
11775
11776         * configure.ac: Check bison version (bug #127838)
11777
11778 2004-03-25  David Schleef  <ds@schleef.org>
11779
11780         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11781         * docs/gst/gstreamer-sections.txt:
11782         * docs/gst/tmpl/gstautoplug.sgml:
11783         * docs/gst/tmpl/gststaticautoplug.sgml:
11784         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11785         * docs/gst/tmpl/gstutils.sgml:
11786         * docs/gst/tmpl/gstxml.sgml:
11787
11788 2004-03-24  David Schleef  <ds@schleef.org>
11789
11790         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11791         manual being such complete crap, that I decided to do major
11792         hacking of it.  This checkin replaces any fine tuning that
11793         may have been done previously, with the benefit of actually
11794         being complete for much of the API that was changed since
11795         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11796         * docs/gst/gstreamer-sections.txt:
11797         * docs/gst/tmpl/GstBin.sgml:
11798         * docs/gst/tmpl/GstBuffer.sgml:
11799         * docs/gst/tmpl/GstCaps.sgml:
11800         * docs/gst/tmpl/GstClock.sgml:
11801         * docs/gst/tmpl/GstCompat.sgml:
11802         * docs/gst/tmpl/GstData.sgml:
11803         * docs/gst/tmpl/GstElement.sgml:
11804         * docs/gst/tmpl/GstEvent.sgml:
11805         * docs/gst/tmpl/GstIndex.sgml:
11806         * docs/gst/tmpl/GstStructure.sgml:
11807         * docs/gst/tmpl/GstTag.sgml:
11808         * docs/gst/tmpl/cothreads.sgml:
11809         * docs/gst/tmpl/cothreads_compat.sgml:
11810         * docs/gst/tmpl/gettext.sgml:
11811         * docs/gst/tmpl/grammar.tab.sgml:
11812         * docs/gst/tmpl/gst-i18n-app.sgml:
11813         * docs/gst/tmpl/gst-i18n-lib.sgml:
11814         * docs/gst/tmpl/gst.sgml:
11815         * docs/gst/tmpl/gst_private.sgml:
11816         * docs/gst/tmpl/gstaggregator.sgml:
11817         * docs/gst/tmpl/gstarch.sgml:
11818         * docs/gst/tmpl/gstatomic.sgml:
11819         * docs/gst/tmpl/gstatomic_impl.sgml:
11820         * docs/gst/tmpl/gstbin.sgml:
11821         * docs/gst/tmpl/gstbuffer.sgml:
11822         * docs/gst/tmpl/gstbufferstore.sgml:
11823         * docs/gst/tmpl/gstcaps.sgml:
11824         * docs/gst/tmpl/gstclock.sgml:
11825         * docs/gst/tmpl/gstcompat.sgml:
11826         * docs/gst/tmpl/gstconfig.sgml:
11827         * docs/gst/tmpl/gstcpu.sgml:
11828         * docs/gst/tmpl/gstdata.sgml:
11829         * docs/gst/tmpl/gstdata_private.sgml:
11830         * docs/gst/tmpl/gstelement.sgml:
11831         * docs/gst/tmpl/gstenumtypes.sgml:
11832         * docs/gst/tmpl/gsterror.sgml:
11833         * docs/gst/tmpl/gstevent.sgml:
11834         * docs/gst/tmpl/gstfakesink.sgml:
11835         * docs/gst/tmpl/gstfakesrc.sgml:
11836         * docs/gst/tmpl/gstfilesink.sgml:
11837         * docs/gst/tmpl/gstfilter.sgml:
11838         * docs/gst/tmpl/gstindex.sgml:
11839         * docs/gst/tmpl/gstinfo.sgml:
11840         * docs/gst/tmpl/gstinterface.sgml:
11841         * docs/gst/tmpl/gstlog.sgml:
11842         * docs/gst/tmpl/gstmacros.sgml:
11843         * docs/gst/tmpl/gstmarshal.sgml:
11844         * docs/gst/tmpl/gstmd5sink.sgml:
11845         * docs/gst/tmpl/gstmultifilesrc.sgml:
11846         * docs/gst/tmpl/gstobject.sgml:
11847         * docs/gst/tmpl/gstpad.sgml:
11848         * docs/gst/tmpl/gstparse.sgml:
11849         * docs/gst/tmpl/gstpipeline.sgml:
11850         * docs/gst/tmpl/gstplugin.sgml:
11851         * docs/gst/tmpl/gstpluginfeature.sgml:
11852         * docs/gst/tmpl/gstqueue.sgml:
11853         * docs/gst/tmpl/gstreamer-unused.sgml:
11854         * docs/gst/tmpl/gstregistry.sgml:
11855         * docs/gst/tmpl/gstregistrypool.sgml:
11856         * docs/gst/tmpl/gstscheduler.sgml:
11857         * docs/gst/tmpl/gstsearchfuncs.sgml:
11858         * docs/gst/tmpl/gstshaper.sgml:
11859         * docs/gst/tmpl/gstspider.sgml:
11860         * docs/gst/tmpl/gstspideridentity.sgml:
11861         * docs/gst/tmpl/gststructure.sgml:
11862         * docs/gst/tmpl/gstsystemclock.sgml:
11863         * docs/gst/tmpl/gsttag.sgml:
11864         * docs/gst/tmpl/gsttaginterface.sgml:
11865         * docs/gst/tmpl/gsttee.sgml:
11866         * docs/gst/tmpl/gstthread.sgml:
11867         * docs/gst/tmpl/gsttrace.sgml:
11868         * docs/gst/tmpl/gsttrashstack.sgml:
11869         * docs/gst/tmpl/gsttypefind.sgml:
11870         * docs/gst/tmpl/gsttypes.sgml:
11871         * docs/gst/tmpl/gsturi.sgml:
11872         * docs/gst/tmpl/gsturitype.sgml:
11873         * docs/gst/tmpl/gstutils.sgml:
11874         * docs/gst/tmpl/gstvalue.sgml:
11875         * docs/gst/tmpl/gstversion.sgml:
11876         * docs/gst/tmpl/gstxml.sgml:
11877         * docs/gst/tmpl/gstxmlregistry.sgml:
11878         * docs/gst/tmpl/gthread-cothreads.sgml:
11879         * docs/gst/tmpl/types.sgml:
11880
11881 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11882
11883         * docs/pwg/other-sink.xml:
11884         * docs/pwg/other-source.xml:
11885           Documentation on how to write source and sink elements. Other
11886           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11887           manager, autoplugger) are all still pending.
11888
11889 2004-03-25  Benjamin Otte  <otte@gnome.org>
11890
11891         * testsuite/elements/Makefile.am:
11892         * testsuite/elements/gst-compprep-check:
11893           add check to make sure gst-compprep works
11894         * testsuite/elements/gst-inspect-check.in:
11895           improve initialization output
11896         * testsuite/Makefile.am:
11897         * testsuite/gst-inspect-check:
11898           remove old file
11899
11900 2004-03-24  David Schleef  <ds@schleef.org>
11901
11902         * testsuite/elements/Makefile.am:
11903         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11904         to the testsuite.
11905
11906 2004-03-24  Benjamin Otte  <otte@gnome.org>
11907
11908         * libs/gst/control/dparam.c: (gst_dparam_attach),
11909         (gst_dparam_detach):
11910         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11911           fix lvalue casts for real
11912
11913 2004-03-24  Benjamin Otte  <otte@gnome.org>
11914
11915         * gst/schedulers/gstbasicscheduler.c:
11916         (gst_basic_scheduler_src_wrapper):
11917         * gst/schedulers/gstoptimalscheduler.c:
11918         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11919         (pad_clear_queued), (gst_opt_scheduler_add_element),
11920         (gst_opt_scheduler_remove_element):
11921           fix GStreamer to not have issues with lvalue casts anymore (fixes
11922           #136841)
11923
11924 2004-03-24  Benjamin Otte  <otte@gnome.org>
11925
11926         * gst/gstelement.c:
11927           add documentation about a gobject quirk where the object hasn't the
11928           correct class pointer set on initialization
11929         * gst/schedulers/gstbasicscheduler.c:
11930         (gst_basic_scheduler_src_wrapper):
11931           make sure to not run into an infinite loop
11932
11933 2004-03-22  Benjamin Otte  <otte@gnome.org>
11934
11935         * gst/gstutils.c: (gst_util_dump_mem):
11936         * gst/gstutils.h:
11937           first argument of gst_util_dump_mem should be const
11938
11939 2004-03-22  Johan Dahlin  <johan@gnome.org>
11940
11941         * gst/gstvalue.h: Clean up a little bit.
11942
11943 2004-03-21  Tim-Philipp M??ller <t.i.m@zen.co.uk>
11944
11945         reviewed by Benjamin Otte  <otte@gnome.org>
11946
11947         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11948         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11949         (gst_aggregator_class_init), (gst_aggregator_init):
11950         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11951         (gst_filesrc_dispose), (gst_filesrc_set_location):
11952         * gst/elements/gstidentity.c: (gst_identity_finalize),
11953         (gst_identity_class_init), (gst_identity_chain):
11954         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11955         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11956         (gst_statistics_class_init):
11957         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11958         (gst_tee_get_property):
11959           clean up used memory in this elements correctly on teardown (closes
11960           #137279)
11961
11962 2004-03-20  Colin Walters  <walters@redhat.com>
11963
11964         * gst/registries/gstxmlregistry.c:
11965         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11966         registry saving atomic.
11967
11968 2004-03-20  Colin Walters  <walters@redhat.com>
11969
11970         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11971         Just use
11972         access() instead of actually creating and deleting files.
11973
11974 2004-03-18  David Schleef  <ds@schleef.org>
11975
11976         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11977         (bug #137625)
11978
11979 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * po/sv.po: updated translation (Christian Rose)
11982
11983 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11984
11985         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11986         (gst_filesink_get_query_types), (_do_init),
11987         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11988           return FALSE silently
11989         * po/af.po: updated translation (Petri Jooste)
11990
11991 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11992
11993         * Makefile.am:
11994         * configure.ac:
11995           dist common properly
11996         * po/af.po:
11997         * po/fr.po:
11998         * po/nl.po:
11999         * po/sr.po:
12000         * po/sv.po:
12001           refreshing translations
12002
12003 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12004
12005         * po/LINGUAS:
12006         * po/sv.po:
12007         * po/af.po:
12008           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
12009
12010 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * Makefile.am: use common/release.mak
12013
12014 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12015
12016         * docs/faq/gst-uninstalled:
12017           adding gst-monkeysaudio to the list of possible plugin dirs
12018
12019 2004-03-16  David Schleef  <ds@schleef.org>
12020
12021         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
12022         (gst_init_check_with_popt_table):  Fix some gettext strings to
12023         make them easier to translate.  Required making the strings
12024         non-const.
12025
12026 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12027
12028         * configure.ac: bump nano to 1
12029
12030 === release 0.8.0 ===
12031
12032 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12033
12034         * configure.ac: release 0.8.0, "Executive Slacks"
12035
12036 2004-03-16  Johan Dahlin  <johan@gnome.org>
12037
12038         * gst/schedulers/gstoptimalscheduler.c
12039         (gst_opt_scheduler_pad_unlink): Remove double ;,
12040         spotted by Scott Wheeler
12041
12042 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12043
12044         * configure.ac: bump libtool version
12045
12046 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12047
12048         * gst/gstcaps.h:
12049         * gst/gststructure.h:
12050           add reserved padding
12051
12052 2004-03-15  Benjamin Otte  <otte@gnome.org>
12053
12054         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
12055           set the first parameter for select call correctly.
12056           (fixes #137230)
12057
12058 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12059
12060         * *.c,*.h: don't mix tabs and spaces
12061
12062 2004-03-15  Johan Dahlin  <johan@gnome.org>
12063
12064         * gst/schedulers/gstoptimalscheduler.c
12065         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
12066         crash on MPEG playback. My boolean arithmetic is a bit rusty.
12067
12068         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
12069         
12070 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * testsuite/Rules:
12073           fix gst-register rules
12074
12075 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * testsuite/Rules:
12078           use versioned gst-register
12079
12080 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12081
12082         * docs/libs/gstreamer-libs-sections.txt:
12083           remove </SUBSECTION>
12084         * gst/gstplugin.c:
12085         * gst/gstregistry.c: (gst_registry_add_plugin):
12086         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
12087         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
12088           add debugging and fix some comment blocks
12089
12090 2004-03-15  Johan Dahlin  <johan@gnome.org>
12091
12092         * *.h: Revert indent changes.
12093         
12094 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12095
12096         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
12097           g_error_free the g_error
12098         * tools/gst-feedback-m.m:
12099           check for other versions of gstreamer
12100         * tools/gst-indent:
12101           use sh, not bash
12102
12103 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12104
12105         * tools/gst-register.c: do not spill paths when registries are not
12106           writable, until we fix the "user running gst-register" case.
12107
12108 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12109
12110         * *.c, *.h: commit of gst-indent run on core
12111
12112 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12113
12114         * tools/gst-indent:
12115         * tools/Makefile.am:
12116           add our indentation style as a script
12117
12118 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12119
12120         * po/sr.po:
12121         * po/LINGUAS:
12122           added Serbian translation
12123
12124 2004-03-13  Benjamin Otte  <otte@gnome.org>
12125
12126         * gst/gstelement.c:
12127           add documentation note about gst_element_found_tags_for_pad not
12128           being usable in getfunctions. (see #137042)
12129
12130 2004-03-12  David Schleef  <ds@schleef.org>
12131
12132         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
12133         change API right now!  Readd gst_caps_is_simple() macro.
12134         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
12135         uninitialized variable.  I'd bet this caused crashes.
12136         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
12137
12138 2004-03-12  Johan Dahlin  <johan@gnome.org>
12139
12140         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
12141         * gst/gstcaps.h: Clean up
12142
12143         * gst/gst.c (init_post): call gst_caps_get_type() instead of
12144         _gst_caps_initalize()
12145
12146         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
12147         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
12148
12149         * gst/gststructure.c (gst_structure_get_type): Ditto
12150
12151         * gst/gststructure.h: Ditto
12152         
12153 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12154
12155         * gst/gstqueue.c: (gst_queue_init):
12156           Reset default max. values in queues. Reason is simply to avoid
12157           braindead use. If you want wider values, use the properties. The
12158           default is supposed to always work. Wider values would make this
12159           beast a memory hog by default (250 full-PAL RGB32 video frames?
12160           That's 440 MB! No thank you).
12161
12162 2004-03-10  David Schleef  <ds@schleef.org>
12163
12164         * tools/gst-run.c: (main):  Fix crash when no relevant tools
12165         were found.  (bug #136793)
12166
12167 2004-03-10  Johan Dahlin  <johan@gnome.org>
12168
12169         * gst/schedulers/gstoptimalscheduler.c
12170         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
12171         links to elements within the same group, so we can finally remove
12172         that annoying warning. Refactor the code a little bit
12173         (group_dec_links_for_element): Split out
12174
12175 2004-03-09  David Schleef  <ds@schleef.org>
12176
12177         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
12178         (bug #134863)
12179
12180 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12181
12182         * configure.ac: first bug fix due to major/minor bump
12183
12184 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12185
12186         * configure.ac: bump nano to 1
12187
12188 === release 0.7.6 ===
12189
12190 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * NEWS:
12193         * RELEASE:
12194         * configure.ac:
12195           releasing 0.7.6, "Almost"
12196         * po/fr.po:
12197         * po/nl.po:
12198         * tools/Makefile.am:
12199         * tools/gst-feedback-m.m:
12200           unversioned source
12201
12202 2004-03-09  Johan Dahlin  <johan@gnome.org>
12203
12204         Reviewed by: Thomas Vander Stichele
12205
12206         * gst/gstelement.c (gst_element_class_init): register second
12207         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
12208         language bindings can (de)marshall correctly.
12209
12210         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
12211
12212         * gst/gsterror.c (gst_g_error_get_type): New function
12213
12214         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
12215         with VOID:OBJECT,OBJECT,STRING 
12216
12217 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
12218
12219         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
12220         Free a leaked g_timer on early returns.
12221
12222 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12223
12224         * docs/pwg/advanced-types.xml:
12225           Add cinepak description.
12226
12227 2004-03-07  David Schleef  <ds@schleef.org>
12228
12229         * docs/random/mimetypes:  Added cinepak description
12230
12231 2004-03-07  Andy Wingo  <wingo@pobox.com>
12232
12233         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
12234
12235         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
12236         there are no links to other groups when a group is destroyed.
12237         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
12238         removed from a group, make sure the link count to elements linked
12239         to other pads is appropriately decremented. This really fixes
12240         #135672.
12241
12242         The 1.60->1.61 patch has been reapplied in light of this fix.
12243
12244         * gst/gstelement.c (gst_element_dispose): Really protect against
12245         multiple invocations this time.
12246
12247 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12248
12249         * docs/gst/gstreamer-sections.txt:
12250         * docs/gst/tmpl/gsttag.sgml:
12251           remove some deprecated functions, document some existing ones
12252         * gst/gsttag.c: (gst_tag_get_flag):
12253         * gst/gsttag.h:
12254           add accessor function
12255
12256 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         * docs/gst/gstreamer-sections.txt:
12259         * docs/gst/tmpl/gsttag.sgml:
12260         * docs/gst/tmpl/gstxml.sgml:
12261         * gst/gsttag.c: (gst_tag_get_flag):
12262         * gst/gsttag.h:
12263
12264 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12265
12266         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12267         leak
12268
12269 2004-03-05  David Schleef  <ds@schleef.org>
12270
12271         * REQUIREMENTS: Add bison and flex.
12272         * configure.ac: Fix comment about bison.
12273         * docs/random/ds/0.9-suggested-changes: yer ma
12274         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12275
12276 2004-03-05  Benjamin Otte  <otte@gnome.org>
12277
12278         * gst/gstelement.c: (gst_element_error_full):
12279           revert recent recursive state changing commit - messing with other
12280           elements' states is evil and should be done by apps only.
12281
12282 2004-03-05  Benjamin Otte  <otte@gnome.org>
12283
12284         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12285           check for empty intersection instead of NULL caps
12286         (gst_element_get_compatible_pad_filtered):
12287           remove old workaround that is only a bug nowadays
12288
12289 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12290
12291         * gst/gstelement.c: (gst_element_error_full):
12292           make elements try to recursively change state to PAUSED on all
12293           parents after an error to suppress ensuing warnings
12294         * gst/parse/grammar.y:
12295           make it check if it was able to sync the state, and throw an error
12296           if not, so stuff like
12297           oggdemux ! vorbisdec ! osssink gets caught
12298
12299 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12300
12301         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12302           it contains lib64; use AS_AC_EXPAND to handle it properly
12303
12304 2004-03-05  David Schleef  <ds@schleef.org>
12305
12306         * gst/gstcpuid_i386.s:  Remove unused code
12307         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12308         (gst_getbits_newbuf): Remove MMX code
12309         * libs/gst/getbits/getbits.h: Remove MMX code
12310
12311 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12312
12313         * debian/.cvsignore:
12314         * debian/README.Debian:
12315         * debian/changelog:
12316         * debian/control:
12317         * debian/control.in:
12318         * debian/copyright:
12319         * debian/gstreamer-core-libs-dev.files:
12320         * debian/gstreamer-core-libs.files:
12321         * debian/gstreamer-core.files:
12322         * debian/gstreamer-core.postinst:
12323         * debian/gstreamer-core.postrm:
12324         * debian/gstreamer-doc.files:
12325         * debian/gstreamer-doc.links:
12326         * debian/gstreamer-doc.lintian:
12327         * debian/gstreamer-runtime.files:
12328         * debian/gstreamer-runtime.manpages:
12329         * debian/gstreamer-runtime.postinst:
12330         * debian/gstreamer-runtime.postrm:
12331         * debian/gstreamer-tools.files:
12332         * debian/gstreamer-tools.manpages:
12333         * debian/libgstreamer-dev.files:
12334         * debian/libgstreamer0.4.1.files:
12335         * debian/libgstreamerVERSION.files:
12336         * debian/rules:
12337         Debian package info not maintained here.
12338
12339 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12340
12341         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12342         * gst/gstbin.c: (gst_bin_class_init):
12343         * gst/gstelement.c: (gst_element_class_init):
12344         * gst/gstindex.c: (gst_index_class_init):
12345         * gst/gstobject.c: (gst_object_class_init),
12346         (gst_signal_object_class_init):
12347         * gst/gstpad.c: (gst_pad_template_class_init):
12348         * gst/gstregistry.c: (gst_registry_class_init):
12349         * gst/gsturi.c: (gst_uri_handler_base_init):
12350         * gst/gstxml.c: (gst_xml_class_init):
12351         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12352         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12353           make all signal names use dashes instead of underscore
12354
12355 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12356
12357         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12358
12359 2004-03-03  Benjamin Otte  <otte@gnome.org>
12360
12361         * gst/schedulers/gstoptimalscheduler.c:
12362           revert last commit by Andy Wingo. It causes segfaults on unreffing
12363           in Rhythmbox. (see bug #135672)
12364
12365 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12366
12367         * po/fr.po: fix typo
12368
12369 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12370
12371         * tools/gst-inspect.c: (main): 
12372         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12373
12374 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12375
12376         * configure.ac:
12377           get GLIB_ONLY and POPT flags for the nonversioned binaries
12378         * tools/Makefile.am:
12379           use them
12380
12381 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12382
12383         * gst/gst.c: (init_post):
12384           change so that GST_REGISTRY now is where the global registry gets
12385           saved, since that is where plugins now get attached to first, and
12386           spilled over to the user registry.  Note that in the case of using
12387           GST_REGISTRY env var, we don't want to affect any real registries
12388           beyond the one given by this var, and thus we don't set a user
12389           registry to spill to.  So make sure GST_REGISTRY is writable.
12390
12391 2004-03-01  David Schleef  <ds@schleef.org>
12392
12393         * AUTHORS:  Added some names.  Add yourself if you're missing.
12394
12395 2004-03-01  David Schleef  <ds@schleef.org>
12396
12397         * MAINTAINERS: Add
12398
12399 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12400
12401         * configure.ac:
12402           remove whitespace
12403         * docs/gst/tmpl/gstbuffer.sgml:
12404         * docs/gst/tmpl/gstdata.sgml:
12405         * docs/gst/tmpl/gstreamer-unused.sgml:
12406         * docs/gst/tmpl/gstxml.sgml:
12407           doc update
12408         * docs/manuals.mak:
12409           add a FIXME
12410         * docs/pwg/intro-preface.xml:
12411         * docs/pwg/pwg.xml:
12412           remove GNOME
12413         * gst/gst.c: (init_post):
12414           try GST_PLUGIN_PATH paths for the _global_registry first
12415         * gst/gstelement.h:
12416           add the error message as well, otherwise (null) debug info doesn't
12417           make much sense
12418         * tools/gst-register.c: (main):
12419           spill paths to next registry if this registry is not writable
12420         * po/fr.po:
12421         * po/nl.po:
12422           translation updates
12423
12424 2004-03-01  Johan Dahlin  <johan@gnome.org>
12425
12426         * gst/gstbuffer.c (_gst_buffer_initialize): 
12427         * gst/gstdata.c (gst_data_get_type): 
12428         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12429         instead of ref, since some applications that uses GBoxed
12430         routines depends on a function that actually returns a copy.
12431
12432 2004-02-27  Benjamin Otte  <otte@gnome.org>
12433
12434         * gst/gstbuffer.h:
12435           remove gst_buffer_free, use gst_data_unref
12436         * gst/gstdata.c: (gst_data_get_type):
12437           use refcounting in GstData GBoxed registration
12438         * gst/gstdata.h:
12439           remove gst_data_free, use gst_data_unref
12440
12441 2004-02-27  Johan Dahlin  <johan@gnome.org>
12442
12443         * gst/gstdata.c (gst_data_get_type): New function, register
12444         GstData as a GBoxed type.
12445
12446         * gst/gstdata.h (GST_TYPE_DATA): New macro
12447
12448 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12449
12450         * Makefile.am:
12451         * gstreamer.spec.in:
12452           put back RELEASE
12453         * gst/Makefile.am:
12454           clean up non-disting of built files
12455         * testsuite/debug/commandline.c:
12456           test fix for option rename
12457
12458 2004-02-26  David Schleef  <ds@schleef.org>
12459
12460         * configure.ac:  We don't really need glib-2.3.  Also remove
12461         some unneeded checks for library functions.
12462         * gst/Makefile.am:  Instead, we need to not dist files created
12463         by glib-genmarshal.
12464
12465 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12466
12467         * configure.ac:
12468           bump glib required version to 2.3.0 for g_value_takes_boxed
12469
12470  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12471
12472         * common/m4/gst-docs.m4
12473         change flavour text from enable to disable as enable is our default
12474         closes bug Bug 135304
12475
12476 === release 0.7.5 ===
12477  
12478  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12479  
12480         * NEWS:
12481           instate NEWS file
12482         * Makefile.am:
12483         * gstreamer.spec.in:
12484         * RELEASE:
12485           put back release
12486         * configure.ac:
12487         * docs/random/release:
12488           more updates
12489
12490 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12491
12492         * gst/gsttag.c: (_gst_tag_initialize):
12493         * po/fr.po:
12494         * po/nl.po:
12495           remove hyphen from codec tags
12496
12497 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * gst/parse/Makefile.am:
12500           fix dependency so that a make from a clean build works the first
12501           time
12502
12503 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12504
12505         * docs/random/release:
12506           update release strategy
12507         * po/fr.po:
12508           auto-update po file
12509         * po/nl.po:
12510           update dutch translation
12511
12512 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12513
12514         * docs/manual/debugging.xml:
12515         fix manual for new debugging system
12516
12517 2004-02-25  Andy Wingo  <wingo@pobox.com>
12518
12519         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12520         gst_pad_link_prepare. Please email the list with specific reasons
12521         for reverting.
12522
12523 2004-02-24  Andy Wingo  <wingo@pobox.com>
12524
12525         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12526         invocations.
12527
12528         * gst/schedulers/gstoptimalscheduler.c:
12529         I added a mess of prototypes at the top of the file by way of
12530         documentation. Some of the operations on chains and groups were
12531         re-organized.
12532
12533         (create_group): Added a type argument so if the group is enabled,
12534         the setup_group_scheduler knows what to do.
12535         (group_elements): Added a type argument here, too, to be passed on
12536         to create_group.
12537         (group_element_set_enabled): If an unlinked PLAYING element is
12538         added to a bin, we have to create a new group to hold the element,
12539         and this function will be called before the group is added to the
12540         chain. Thus we have a valid case for group->chain==NULL. Instead
12541         of calling chain_group_set_enabled, just set the flag on the group
12542         (the chain's status will be set when the group is added to it).
12543         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12544         Setup the group scheduler when the group is enabled, not
12545         specifically when an element goes PAUSED->PLAYING. This means
12546         PLAYING elements can be added, linked, and scheduled into a
12547         PLAYING pipeline, as was intended.
12548         (add_to_group): Don't ref the group twice. I don't know when this
12549         double-ref got in here. Removing it has the potential to cause
12550         segfaults if other parts of the scheduler are buggy. If you find
12551         that the scheduler is segfaulting for you, put in an extra ref
12552         here and see if that hacks over the underlying issue. Of course,
12553         then find out what code is unreffing a group it doesn't own...
12554         (create_group): Make the extra refcount floating, and remove it
12555         after adding the element. This means that...
12556         (unref_group): Destroy when the refcount reaches 0, not 1, like
12557         every other refcounted object in the known universe.
12558         (remove_from_group): When a group becomes empty, set it to be not
12559         active, and remove it from its chain. Don't unref it again,
12560         there's no floating reference any more.
12561         (destroy_group): We have to remove the group from the chain in
12562         remove_from_group (rather than here) to break refcounting cycles
12563         (the chain always has a ref on the group). So assert that
12564         group->chain==NULL.
12565         (ref_group_by_count): Removed, it was commented out anyway.
12566         (merge_chains): Use the remove_from_chain and add_to_chain
12567         primitives to do the reparenting, instead of rolling our own
12568         implementation.
12569         (add_to_chain): The first non-disabled group in the chain's group
12570         list will be the entry point for the chain. Because buffers can
12571         accumulate in loop elements' peer bufpens, we preferentially
12572         schedule loop groups before get groups to avoid unnecessary
12573         execution of get-based groups when the bufpens are already full.
12574         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12575         (get_group_schedule_function): Ditto.
12576         (loop_group_schedule_function): Ditto.
12577         (gst_opt_scheduler_loop_wrapper): Ditto.
12578         (gst_opt_scheduler_iterate): Ditto.
12579
12580         I understand the opt scheduler now, yippee!
12581
12582         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12583         (gst_pad_get_name, gst_pad_set_chain_function) 
12584         (gst_pad_set_get_function, gst_pad_set_event_function) 
12585         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12586         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12587         (gst_pad_set_query_function, gst_pad_get_query_types) 
12588         (gst_pad_get_query_types_default) 
12589         (gst_pad_set_internal_link_function) 
12590         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12591         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12592         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12593         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12594         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12595         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12596         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12597         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12598         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12599         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12600         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12601         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12602         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12603         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12604         argument checks, and some doc fixes.
12605
12606         (gst_pad_custom_new_from_template): Um, does anyone
12607         use these functions? Actually make a custom pad instead of a
12608         normal one.
12609         (gst_pad_try_set_caps): Transpose some checks.
12610         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12611         the pad is in negotiation.
12612         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12613         
12614         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12615
12616         * gst/gstelement.h: 
12617         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12618         on the list.
12619
12620 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12621
12622         * gst/gstbin.c: (gst_bin_add):
12623           add error for not being able to add elements
12624
12625 2004-02-22  Julien MOUTTE <julien@moutte.net>
12626
12627         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12628         audio-codec and video-codec.
12629
12630 2004-02-22  Benjamin Otte  <otte@gnome.org>
12631
12632         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12633
12634         * autogen.sh:
12635           replace test -e with test -x for mkinstalldirs to be more portable.
12636           (fixes #134816)
12637
12638 2004-02-22  Benjamin Otte  <otte@gnome.org>
12639
12640         * gst/gstpad.c:
12641           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12642           too noisy
12643         * gst/gsttag.c: (_gst_tag_initialize):
12644         * gst/gsttag.h:
12645           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12646         * libs/gst/control/dparam.c: (gst_dparam_attach):
12647         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12648           check that types for attached dparams match
12649
12650 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12651
12652         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12653         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12654         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12655           fix errors
12656
12657 2004-02-20  Andy Wingo  <wingo@pobox.com>
12658
12659         * gst/gstbin.c:
12660         * gst/gstbuffer.c:
12661         * gst/gstplugin.c:
12662         * gst/registries/gstxmlregistry.c: 
12663         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12664
12665         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12666         (gst_element_add_pad): DEBUG->INFO, some fixes.
12667         (gst_element_get_compatible_pad_template): Just see if the
12668         templates' caps intersect, not if one is a strict subset of the
12669         other. This conforms more to what gst_pad_link_intersect() does.
12670         (gst_element_class_add_pad_template): Don't memcpy the pad
12671         template, just ref it.
12672         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12673
12674         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12675         (gst_pad_link_filtered): Debug changes.
12676         (gst_pad_link_prepare): New function, consolidated from
12677         can_link_filtered and link_filtered.
12678
12679         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12680         look more like that of the functions in gstelement.c
12681
12682         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12683         object, and return the empty string if object is NULL.
12684
12685         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12686         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12687         LOG, not DEBUG. We still get flex info on debug.
12688
12689         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12690         debug string more verbose.
12691         (plugin_times_older_than): DEBUG->LOG.
12692
12693 2004-02-20  Julien MOUTTE <julien@moutte.net>
12694
12695         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12696         will emit found_tag for each stream they demux with the codec.
12697
12698 2004-02-20  Benjamin Otte  <otte@gnome.org>
12699
12700         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12701           copy navigation event correctly. Check freeing tag lists. 
12702         * gst/gstthread.c: (gst_thread_change_state):
12703           don't abort() on state changing mess - it might happen because of
12704           bugs.
12705         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12706           use boxed functions
12707         * gst/gstvalue.h:
12708           fix GST_VALUE_HOLDS_CAPS
12709
12710 2004-02-19  David Schleef  <ds@schleef.org>
12711
12712         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12713         and use it for GST_FUNCTION.  (bug #134750)
12714
12715 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12716
12717         * po/fr.po:
12718         * po/nl.po:
12719           updating translations
12720
12721 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12722
12723         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12724
12725 2004-02-18  kost@imn.htwk-leipzig.de
12726
12727         reviewed by: David Schleef  <ds@schleef.org>
12728
12729         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12730         for libgstcontrol.
12731
12732 2004-02-18  David Schleef  <ds@schleef.org>
12733
12734         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12735         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12736         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12737         * tools/gst-inspect.c: (print_element_info): Support dumping of
12738         double dparam information.
12739
12740 2004-02-17  David Schleef  <ds@schleef.org>
12741
12742         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12743         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12744         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12745         Use GST_TYPE_CAPS in signal prototype.
12746         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12747         Convert GST_TYPE_CAPS to boxed.
12748         * gst/gstelement.c: (gst_element_class_init):
12749         Use GST_TYPE_TAG_LIST in signal prototype.
12750         * gst/gstindex.c: (gst_index_class_init):
12751         * gst/gstindex.h:
12752         Add GST_TYPE_INDEX_ENTRY type.
12753         * gst/gstmarshal.list:
12754         Add necessary marshal types.
12755         * gst/gstpad.c: (gst_real_pad_class_init),
12756         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12757         (gst_pad_recover_caps_error):
12758         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12759         * gst/gststructure.c: (_gst_structure_initialize),
12760         (gst_structure_copy), (_gst_structure_copy_conditional):
12761         * gst/gststructure.h:
12762         Convert GST_TYPE_STRUCTURE to boxed.
12763         * gst/gsttag.c: (gst_tag_list_get_type):
12764         * gst/gsttag.h:
12765         Add GST_TYPE_TAG_LIST type.
12766
12767 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12768
12769         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12770         to what we agreed with david.
12771         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12772
12773 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12774
12775         * po/nl.po: update translation
12776
12777 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12778
12779         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12780           throw an error if spider is trying to play a mime type there is
12781           no decoder for
12782         * po/POTFILES.in:
12783           add gst/autoplug/gstspider.c for translation
12784
12785 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12786
12787         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12788         silently when the pad is negotiating.
12789
12790 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12791
12792         * docs/faq/Makefile.am:
12793           add script to run gstreamer uninstalled 
12794         * docs/faq/faq.xml:
12795         * docs/faq/developing.xml:
12796         * docs/faq/gst-uninstalled:
12797           extract script to run gstreamer uninstalled
12798         * docs/manuals.mak:
12799           add EXTRA_SOURCES variable for Makefile.am's to set to
12800           use additional SOURCE files for the doc build
12801
12802 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12803
12804         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12805
12806 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12807
12808         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12809         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12810         an error was thrown by osssink. Basically a state change failure for
12811         an element in a different scheduling group was considered as
12812         successful, which means that caps nego was going on and weird stuff
12813         happened. Like I wrote in the comment there, if someone wants to
12814         revert that please drop me a mail explaining why because I really see
12815         no point in keeping that broken behaviour there.
12816         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12817         be empty, we then return NULL which will trigger a nice error when 
12818         pulling from the pad.
12819
12820 2004-02-13  David Schleef  <ds@schleef.org>
12821
12822         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12823         (gst_dparam_get_property), (gst_dparam_set_property),
12824         (gst_dparam_do_update_default):
12825         * libs/gst/control/dparam.h:
12826         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12827         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12828         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12829         (gst_dpsmooth_do_update_double):
12830         * libs/gst/control/dparam_smooth.h:
12831         * libs/gst/control/dparammanager.c:
12832         (gst_dpman_inline_direct_update):
12833         Add support for double dparams.
12834
12835 2004-02-13  David Schleef  <ds@schleef.org>
12836
12837         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12838         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12839
12840 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12841
12842         reviewed by: David Schleef  <ds@schleef.org>
12843
12844         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12845         (gst_fdsrc_init), (gst_fdsrc_set_property),
12846         (gst_fdsrc_get_property), (gst_fdsrc_get):
12847         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12848         and sends an EOS event if file descriptor reading times out.
12849
12850 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12851
12852         * configure.ac:
12853           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12854
12855 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12856
12857         * configure.ac: pass required libxml version as argument
12858         (bug reported by Christophe Fergeau)
12859
12860 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12861   
12862         * docs/gst/gstreamer-docs.sgml:
12863         * docs/gst/tmpl/gstxml.sgml:
12864         * docs/libs/gstreamer-libs-docs.sgml:
12865           version API docs
12866
12867 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12868
12869         * gst/gstinfo.c:
12870         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12871         (gst_registry_pool_feature_filter):
12872         * gst/gstthread.c: (gst_thread_class_init):
12873         * gst/gstvalue.c:
12874           add includes exposed by building without libxml
12875         * gst/indexers/Makefile.am:
12876           do not build fileindex when LOADSAVE disabled; we should have
12877           a better libxml check later since fileindex depends on xml, not
12878           LOADSAVE or REGISTRY
12879         * libs/gst/control/Makefile.am:
12880           link with m
12881         * tools/Makefile.am:
12882           fix wrong source code for gst-xmlinspect
12883
12884 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12885
12886         * configure.ac:
12887           fix gcov help output
12888           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12889         * docs/random/release:
12890           some updated releasing notes
12891         * gstreamer.spec.in:
12892           more updates
12893
12894 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12895
12896         * docs/faq/faq.xml:
12897         * docs/manual/manual.xml:
12898         * docs/pwg/pwg.xml:
12899         * docs/pwg/titlepage.xml:
12900           put version in documentation
12901
12902 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12903
12904         * tools/Makefile.am: fix man page installation
12905
12906 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12907
12908         * configure.ac:
12909           don't check for libxml when load/save and registry disabled (#105844)
12910         * gstreamer.spec.in:
12911           sync with fedora candidate spec
12912
12913 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12914
12915         * po/fr.po:
12916         * po/nl.po:
12917           replace multidisksrc with multifilesrc
12918
12919 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12920
12921         * po/POTFILES.in:
12922           update to multidisksrc => multifilesrc file renaming (#134145)
12923
12924 2004-02-11  David Schleef  <ds@schleef.org>
12925
12926         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12927         * docs/gst/tmpl/gstpadtemplate.sgml: same
12928         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12929         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12930         fixing dance.
12931         * gst/gstutils.c: Remove disabled code that uses GstProps.
12932         * gst/registries/gstxmlregistry.h: same
12933         * docs/random/ds/0.9-suggested-changes: random notes
12934
12935 2004-02-11  kost@imn.htwk-leipzig.de
12936
12937         reviewed by: David Schleef  <ds@schleef.org>
12938
12939         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12940         initialisation of clock (bug #134128)
12941
12942 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12943
12944         * configure.ac:
12945         * gst/elements/Makefile.am:
12946         * gst/elements/gstelements.c:
12947         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12948         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12949         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12950         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12951         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12952         * gst/elements/gstmultifilesrc.h:
12953           rename multidisksrc to multifilesrc (part of #122200)
12954
12955 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12956
12957         * docs/manuals.mak:
12958           fix automake complaints
12959         * gst-element-check.m4:
12960           fix unquotedness
12961
12962 2004-02-11  David Schleef  <ds@schleef.org>
12963
12964         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12965         * gst/gstatomic_impl.h: Disable sparc implementation.
12966
12967 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12968
12969         * gst-element-check.m4:
12970           fix underquoted macros as reported by automake 1.8.x (#133800)
12971         * configure.ac:
12972           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12973           by autopoint (fixes #132996)
12974
12975 2004-02-10  Andy Wingo  <wingo@pobox.com>
12976
12977         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12978         way to do inheritance.
12979         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12980         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12981         Routine docs.
12982         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12983         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12984         doc.
12985         (gst_pad_unlink, gst_pad_is_linked): Docs.
12986         (gst_pad_renegotiate): A brief description of capsnego.
12987         (gst_pad_try_set_caps): Document.
12988         (gst_pad_try_set_caps_nonfixed): Document.
12989         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12990         (gst_pad_set_parent): Deprecated (although not out of the API).
12991         (gst_pad_get_parent): Deprecated, although many plugins use this.
12992         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12993         are private and will go away in 0.9.
12994         (gst_pad_perform_negotiate): Doc.
12995         (gst_pad_link_unnegotiate): I think this is meant to be static.
12996         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12997         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12998         (gst_pad_get_peer): Doc updates.
12999         (gst_pad_caps_change_notify): Doc.
13000         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
13001         (gst_ghost_pad_new): Doc fixes.
13002
13003         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
13004         (gst_object_check_uniqueness): 
13005
13006         * gst/gstelement.c (gst_element_add_pad) 
13007         (gst_element_add_ghost_pad, gst_element_remove_pad) 
13008         (gst_element_remove_ghost_pad, gst_element_get_pad) 
13009         (gst_element_get_static_pad, gst_element_get_pad_list) 
13010         (gst_element_class_get_pad_template_list) 
13011         (gst_element_class_get_pad_template): Work on the docs.
13012         (gst_element_get_pad_template_list): Uses the class method.
13013         (gst_element_get_compatible_pad_template): Docs, and consolidate
13014         some test conditions. 
13015         (gst_element_get_pad_from_template): New static function.
13016         (gst_element_request_compatible_pad): Docs, and work with
13017         non-request compatible templates. 
13018         (gst_element_get_compatible_pad_filtered): Docs and remove
13019         redundant checks.
13020         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
13021         (gst_element_link_filtered, gst_element_link_many) 
13022         (gst_element_link, gst_element_link_pads) 
13023         (gst_element_unlink_many): Docs.
13024
13025 2004-02-05  Andy Wingo  <wingo@pobox.com>
13026
13027         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
13028         s/pointer/boxed/.
13029
13030         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
13031
13032         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
13033         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
13034         with the type=GST_TYPE_CAPS. This allows language bindings to know
13035         what kind of data they're dealing with.
13036
13037         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
13038         to NULL when g_value_init is called. GstCaps, which rolls its own
13039         type implementation, now does the same instead of allocating empty
13040         caps.
13041         (_gst_caps_initialize, _gst_caps_collect_value,
13042         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
13043         table methods. This allows G_VALUE_COLLECT to work.
13044
13045 2004-02-05  Andy Wingo  <wingo@pobox.com>
13046
13047         * configure.ac:
13048         * testsuite/Makefile.am (SUBDIRS): 
13049         * testsuite/ghostpads/Makefile.am: 
13050         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
13051
13052         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
13053         These two routines are the only ones that set
13054         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
13055         pad template. They should be made static, depending on ABI needs.
13056         (gst_real_pad_dispose): Handle the case of ghost pads without a
13057         parent. Assert after dealing with ghost pads that the ghost pad
13058         list is empty.
13059         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
13060         set after creation.
13061         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
13062         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
13063         functions. set_property will call add_ghost_pad/remove_ghost_pad
13064         as appropriate.
13065         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
13066
13067         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
13068         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
13069         (gst_element_remove_pad): Handle ghost pads as well.
13070         (gst_element_remove_ghost_pad): Deprecated (could be removed,
13071         depending on API-stability needs).
13072
13073 2004-02-05  Andy Wingo  <wingo@pobox.com>
13074
13075         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
13076         of course they're const
13077
13078 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13079
13080         * tools/Makefile.am:
13081         * tools/gst-feedback:
13082         * tools/gst-feedback-0.7:
13083           make gst-feedback versioned too for consistency
13084
13085 2004-02-11  David Schleef  <ds@schleef.org>
13086
13087         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13088         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
13089
13090 2004-02-10  Julien MOUTTE <julien@moutte.net>
13091
13092         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
13093         the structure does not contain a valid tag list. Adding a safety check
13094         to remove a noisy warning in that case.
13095
13096 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13097
13098         * gst/gst.c: fix name to be in line with others
13099
13100 2004-02-09  Julien MOUTTE <julien@moutte.net>
13101
13102         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
13103         not shout that loud when len is 0. Just return 0 silently.
13104
13105 2004-02-09  Julien MOUTTE  <julien@moutte.net>
13106
13107         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
13108         because data_unref has one and I prefer the debug to be symetric.
13109         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
13110         were refed when added to the queue and unrefed only once when the queue
13111         was flushed. Now the flush handler unref the buffers two times : first
13112         unref for the ref added when pushing in the queue's tail and second
13113         unref to destroy the flushed buffer.
13114
13115 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13116
13117         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
13118
13119 2004-02-06  David Schleef  <ds@schleef.org>
13120
13121         * docs/random/ds/0.9-suggested-changes: Random ramblings
13122         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
13123         to int before printing.
13124         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
13125         * gst/parse/parse.l: same.  See bug #129600
13126
13127 2004-02-06  David Schleef  <ds@schleef.org>
13128
13129         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
13130         (gst_index_add_entry), (gst_index_add_associationv),
13131         (gst_index_add_association): Add gst_index_add_associationv()
13132         and clean up gst_index_add_association(). #127133
13133
13134 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13135
13136         * autogen.sh: check out common with right tag if CVS/Tag exists
13137
13138 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13139
13140         * testsuite/ghostpads/ghostpads.c: (main):
13141           fix testsuite from segfaulting
13142
13143 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13144
13145         * Makefile.am: add release target
13146         * configure.ac: bump nano to 1
13147         * docs/random/release:
13148
13149 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13150
13151         * gst/gstcaps.h:
13152         * gst/gstelement.c: (gst_element_base_class_init),
13153         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13154         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13155         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13156         (gst_real_pad_dispose):
13157         * gst/gststructure.c: (gst_structure_free),
13158         (gst_structure_from_string):
13159           put reverted patch back in
13160         * gst/gstelement.c: (gst_element_remove_pad):
13161           free explicit caps if they're set
13162         * gst/gstpad.c: (_gst_pad_default_fixate_func):
13163           copy the structure when fixating
13164
13165 2004-02-05  David Schleef  <ds@schleef.org>
13166
13167         * gst/gstmarshal.list:
13168         * gst/gstpad.c: (gst_real_pad_class_init),
13169         (_gst_real_pad_fixate_accumulator):
13170         Revert POINTER->BOXED change in signal marshaller.
13171
13172 === release 0.7.4 ===
13173                                                                                 
13174 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13175                                                                                 
13176         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
13177         * configure.ac: changed for release
13178
13179 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13180
13181         * gstreamer.spec.in:
13182           bump required version of gtk-doc
13183
13184 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * gst/gstcaps.h:
13187         * gst/gstelement.c: (gst_element_base_class_init),
13188         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13189         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13190         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13191         (gst_real_pad_dispose):
13192         * gst/gststructure.c: (gst_structure_free),
13193         (gst_structure_from_string):
13194           revert patch that breaks applications, reapply after release
13195           to get this fixed properly
13196
13197 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13198
13199         * gst/gsttag.c: (_gst_tag_initialize):
13200         * gst/gsttag.h:
13201           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
13202
13203 2004-02-04  David Schleef  <ds@schleef.org>
13204
13205         Fix some memleaks:
13206         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
13207         (gst_spider_plug_from_srcpad):
13208         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
13209
13210 2004-02-04  David Schleef  <ds@schleef.org>
13211
13212         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
13213         a GstRealPad before accessing its structure members.
13214
13215 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13216
13217         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
13218         (gst_clock_get_speed):
13219         * gst/gstclock.h:
13220           reset padding, remove unused fields
13221
13222 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13223
13224         * gst/autoplug/gstspideridentity.c:
13225         (gst_spider_identity_sink_loop_type_finding):
13226           use get_allowed_caps, not get_caps (fixes #132519)
13227         * gst/elements/gsttypefind.c: (stop_typefinding):
13228           use correct order when sending buffers and seeking
13229
13230 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13231
13232         * configure.ac:
13233         * gst/gstelement.h:
13234         * gst/gstpad.h:
13235         * gst/gstqueue.h:
13236           upgrade libtool CURRENT, reset padding
13237
13238 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13239
13240         * configure.ac:
13241           bump to prerelease
13242           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
13243
13244 2004-02-04  David Schleef  <ds@schleef.org>
13245
13246         * docs/random/ds/0.9-suggested-changes: random notes
13247         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
13248         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
13249         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
13250         expansion.
13251         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
13252         (gst_filesink_get_query_types): same
13253         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
13254         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
13255         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
13256         to use new GST_PTR_FORMAT.
13257         * gst/gstelement.h: deprecate function factory macros
13258         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
13259         These are our last variadic macros that can't be replaced with
13260         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13261         attempting to deprecate gst_element_clock_wait().
13262         * gst/gstevent.h: same
13263         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13264         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13265         * gst/gstpad.h: deprecate function factory macros similar to above.
13266
13267 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13268
13269         * configure.ac:
13270         * tools/Makefile.am:
13271         * tools/gst-run.c: (popt_callback), (hash_print_key),
13272         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13273         (get_candidates), (main):
13274           add new source file to generate non-versioned wrapper binaries
13275           for our tools.
13276
13277 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13278
13279         * gst/gstevent.c: (_gst_event_free):
13280           actually break; inside the switch statement
13281         * gst/parse/grammar.y:
13282           fix memleak where GValues weren't unset
13283
13284 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13285
13286         * gst/gststructure.c: (gst_structure_from_string):
13287           fix huge memleak
13288         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13289         (new_entry), (gst_type_find_element_chain):
13290         * gst/gstelement.c: (gst_element_base_class_init),
13291         (gst_element_class_set_details):
13292         * gst/gstpad.c: (gst_pad_can_link_filtered):
13293           fix smaller memleaks
13294         * gst/gstpad.c: (gst_real_pad_dispose):
13295           check that explicit caps are gone
13296         * gst/gststructure.c: (gst_structure_free):
13297           actually free the structure
13298         * gst/gstelement.c: (gst_element_clear_pad_caps):
13299           unset explicit caps
13300
13301 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13302
13303         * tools/Makefile.am:
13304           use AM_CFLAGS since all the CFLAGS are the same
13305           use AM_LDFAGS
13306
13307 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13308
13309         * docs/manual/gnome.xml:
13310           expand example a little
13311         * gst/gst.c: (gst_init_with_popt_table),
13312         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13313           make sure popt option displays are done with right textdomain
13314           use GstPoptOption type
13315         * gst/gst.h:
13316           create GstPoptOption type
13317
13318 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13319
13320         * gst/gsterror.c: (_gst_stream_errors_init):
13321         * gst/gsterror.h:
13322           adding error type for no codec
13323         * po/POTFILES.in:
13324           add gst-inspect
13325         * po/nl.po:
13326           update dutch translation
13327         * tools/gst-inspect.c: (print_element_list), (main):
13328           do proper internationalization
13329         * tools/gst-launch.c: (idle_func):
13330           remove commented out function call
13331
13332 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13333
13334         * docs/README:
13335           add some error fixing notes
13336         * docs/gst/gstreamer-sections.txt:
13337           remove double entries
13338         * docs/gst/tmpl/gstbin.sgml:
13339         * docs/gst/tmpl/gstclock.sgml:
13340           remove override
13341         * docs/gst/tmpl/gstelement.sgml:
13342         * docs/gst/tmpl/gstindex.sgml:
13343         * docs/gst/tmpl/gstobject.sgml:
13344         * docs/gst/tmpl/gstpadtemplate.sgml:
13345         * docs/gst/tmpl/gstreamer-unused.sgml:
13346         * docs/gst/tmpl/gsttag.sgml:
13347         * docs/gst/tmpl/gstthread.sgml:
13348         * docs/gst/tmpl/gstxml.sgml:
13349         * gst/gsttag.h:
13350           sync header prototypes with c decls
13351         * gst/gsttaginterface.c:
13352           fix doc headers
13353
13354 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13355
13356         * gst/parse/Makefile.am:
13357         * gst/gstobject.h:
13358           get rid of gstmarshal.h dependency. It's not needed.
13359         * gst/gst.h:
13360         * gst/elements/gstfakesink.c:
13361         * gst/elements/gstfakesrc.c:
13362         * gst/elements/gstidentity.c:
13363         * gst/gstbin.c:
13364         * gst/gstelement.c:
13365         * gst/gstindex.c:
13366         * gst/gstobject.c:
13367         * gst/gstpad.c:
13368         * gst/gstthread.c:
13369         * gst/gstxml.c:
13370         * libs/gst/control/dparam.c:
13371         * libs/gst/control/dparammanager.c:
13372           include gstmarshal.h.
13373         Fixes #132045
13374
13375 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13376
13377         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13378         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13379         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13380         * gst/elements/gstfilesrc.h:
13381           don't ref the filesrc when creating mmaped buffers. Don't keep a
13382           list of not-yet-destroyed buffers.
13383         * gst/gstbuffer.h:
13384           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13385
13386 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13387
13388         * gst/gst.c: (init_pre):
13389           remove textdomain
13390
13391 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13392
13393         * docs/pwg/advanced-events.xml:
13394         * docs/pwg/advanced-scheduling.xml:
13395         * docs/pwg/intro-basics.xml:
13396         * docs/pwg/other-manager.xml:
13397         * docs/pwg/other-nton.xml:
13398         * docs/pwg/other-ntoone.xml:
13399         * docs/pwg/other-oneton.xml:
13400         * docs/pwg/pwg.xml:
13401           All sort of documentation... Forgot what. Point is that I want this
13402           in before I leave. The 'other-*' will be the last section and will
13403           explain issues specific to these type of elements.
13404
13405 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13406
13407         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13408         (gst_filesrc_get_read):
13409           set all the values on buffers that we can
13410
13411 2004-02-02  David Schleef  <ds@schleef.org>
13412
13413         Change usage of isblah() to g_ascii_isblah() to be more locale
13414         independent.  (#133076)
13415         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13416         * gst/gstutils.c:
13417         * gst/parse/parse.l:
13418
13419 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13420
13421         reviewed by: David Schleef  <ds@schleef.org>
13422
13423         Fix memory leaks:
13424         * gst/gstcaps.c: (gst_caps_to_string):
13425         * gst/registries/gstxmlregistry.c:
13426         (gst_xml_registry_add_path_list_func),
13427         (gst_xml_registry_parse_padtemplate):
13428
13429 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13430
13431         * gst/gstelement.c: (gst_element_default_error):
13432           suffix error messages with period
13433
13434 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13435
13436         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13437         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13438         * gst/gsterror.c: (gst_error_get_message):
13439           Suffix with dots
13440         * po/fr.po:
13441         * po/nl.po:
13442           Update translation files
13443
13444 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13445
13446         * gst/autoplug/gstspideridentity.c:
13447         (gst_spider_identity_sink_loop_type_finding):
13448         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13449         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13450         (gst_filesink_close_file), (gst_filesink_handle_event),
13451         (gst_filesink_chain):
13452         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13453         (gst_filesrc_get_read), (gst_filesrc_open_file):
13454         * gst/elements/gstidentity.c: (gst_identity_chain):
13455         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13456         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13457         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13458         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13459         * gst/gsterror.c: (_gst_core_errors_init),
13460         (_gst_library_errors_init), (_gst_resource_errors_init),
13461         (_gst_stream_errors_init), (gst_error_get_message):
13462         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13463         (gst_pad_recover_caps_error), (gst_pad_pull):
13464         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13465         * gst/schedulers/gstbasicscheduler.c:
13466         (gst_basic_scheduler_chainhandler_proxy),
13467         (gst_basic_scheduler_gethandler_proxy),
13468         (gst_basic_scheduler_cothreaded_chain):
13469           Suffix error messages with period.
13470           Use (NULL) instead of NULL
13471
13472 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13473
13474         * docs/gst/tmpl/gstelement.sgml:
13475         * docs/gst/tmpl/gstxml.sgml:
13476         * gst/gstelement.c: (gst_element_error_full):
13477           add element path to error
13478
13479 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13480
13481         * docs/random/mimetypes:
13482           update raw int/float info
13483         * gst/gsttag.c: (_gst_tag_initialize):
13484         * gst/gsttag.h:
13485           add GST_TAG_ENCODER
13486
13487 2004-01-30  David Schleef  <ds@schleef.org>
13488
13489         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13490           missing (#132991)
13491
13492 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13493
13494         reviewed by Benjamin Otte 
13495           parts of the patch submitted in bug #113913
13496
13497         * configure.ac:
13498           use AC_C_INLINE. Use = instead of == with test
13499         * examples/plugins/example.c:
13500         * gst/autoplug/gstspideridentity.c:
13501         * gst/elements/gstfdsrc.c:
13502         * gst/elements/gstfilesrc.c:
13503         * gst/elements/gstidentity.c:
13504         * gst/elements/gstmultidisksrc.c:
13505         * gst/elements/gststatistics.c:
13506         * gst/gstelement.c:
13507         * gst/gstobject.c:
13508         * gst/gstpad.c:
13509         * gst/gstpipeline.c:
13510         * gst/gstthread.c:
13511           don't end enums with a comma
13512         * gst/gstindex.c: (gst_index_compare_func):
13513           do explicit casting to gint
13514         * gst/gsttrace.c: (gst_trace_text_flush):
13515           #define strsize as a macro
13516
13517 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13518
13519         * docs/README:
13520         * docs/gst/gstreamer-docs.sgml:
13521         * docs/gst/gstreamer-sections.txt:
13522         * docs/gst/tmpl/gstelement.sgml:
13523         * docs/gst/tmpl/gsterror.sgml:
13524         * docs/gst/tmpl/gstinterface.sgml:
13525         * docs/gst/tmpl/gstreamer-unused.sgml:
13526         * docs/gst/tmpl/gststructure.sgml:
13527         * docs/gst/tmpl/gsttag.sgml:
13528         * docs/gst/tmpl/gsttaginterface.sgml:
13529         * docs/gst/tmpl/gstvalue.sgml:
13530         make sure all API ends up in the built docs
13531         * gst/gstinterface.c:
13532         * gst/gststructure.c: (gst_structure_id_set_value),
13533         (gst_structure_set_value), (gst_structure_id_get_value):
13534         * gst/gststructure.h:
13535         * gst/gstvalue.h:
13536         sync .h with .c declarations
13537
13538 2004-01-30  Julien Moutte  <julien@moutte.net>
13539
13540         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13541         Ronald will fix riffread.
13542
13543 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13544
13545         * docs/pwg/advanced-interfaces.xml:
13546           Added tuner interface docs.
13547
13548 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13549
13550         * docs/random/mimetypes:
13551           correct Theora information
13552         * gst/gstelement.h:
13553           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13554
13555 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13556
13557         * gst/gstelement.c: (gst_element_error_full):
13558         * gst/gstelement.h:
13559           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13560
13561 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13562
13563         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13564         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13565         again and even before DISCONT.
13566         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13567         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13568         bytestream so that it's not stopping to fill the bytestream if events
13569         different than EOS or DISCONT are received. Instead it process them so
13570         that they go downstream.
13571
13572 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13573
13574         * docs/gst/tmpl/gstelement.sgml:
13575         * docs/gst/tmpl/gstreamer-unused.sgml:
13576         * docs/gst/tmpl/gstxml.sgml:
13577         * gst/autoplug/gstspideridentity.c:
13578         (gst_spider_identity_sink_loop_type_finding):
13579         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13580         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13581         (gst_filesink_close_file), (gst_filesink_handle_event),
13582         (gst_filesink_chain):
13583         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13584         (gst_filesrc_get_read), (gst_filesrc_open_file):
13585         * gst/elements/gstidentity.c: (gst_identity_chain):
13586         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13587         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13588         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13589         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13590         * gst/gstelement.h:
13591         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13592         (gst_pad_recover_caps_error), (gst_pad_pull):
13593         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13594         * gst/schedulers/gstbasicscheduler.c:
13595         (gst_basic_scheduler_chainhandler_proxy),
13596         (gst_basic_scheduler_gethandler_proxy),
13597         (gst_basic_scheduler_cothreaded_chain):
13598           gst_element_error -> GST_ELEMENT_ERROR
13599
13600 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13601
13602         * docs/Makefile.am:
13603         * docs/gst/tmpl/gstelement.sgml:
13604         * docs/gst/tmpl/gstxml.sgml:
13605         * docs/manuals.mak:
13606         * docs/pwg/advanced-request.xml:
13607         * docs/pwg/advanced-scheduling.xml:
13608         * docs/pwg/advanced-tagging.xml:
13609           fix non-validating docbook using CDATA
13610           make sure make check-local gets run first to check if it validates
13611
13612 2004-01-29  Julien MOUTTE <julien@moutte.net>
13613
13614         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13615         handling (up and downstream).
13616         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13617         my_filter thing.
13618
13619 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13620
13621         * docs/pwg/advanced-tagging.xml:
13622           Add docs about tag writing.
13623
13624 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13625
13626         * docs/pwg/advanced-tagging.xml:
13627           Add a part about tag reading and application signalling... Tag
13628           writing still needs to be documented.
13629         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13630           We can set file locations in READY, too.
13631
13632 2004-01-29  Julien MOUTTE <julien@moutte.net>
13633
13634         * docs/random/ds/element-checklist: Adding some notes about src
13635         events.
13636
13637 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13638
13639         * docs/random/mimetypes:
13640           Update docs to point to correct elements for various mimetypes, and
13641           some more errors pointed out by St??phane LOEUILLET (aka LeRoutier)
13642           <stephane.loeuillet@tiscali.fr>.
13643
13644 2004-01-28  David Schleef  <ds@schleef.org>
13645
13646         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13647
13648 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13649
13650         * docs/random/mimetypes:
13651           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13652           undefined"
13653         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13654           make it only work in NULL.
13655         * gst/gstcaps.c:
13656           don't posion NULL caps
13657         * gst/gstelement.c: (gst_element_set_time):
13658           add debugging statement
13659         * gst/gstelement.c: (gst_element_emit_found_tag),
13660         (gst_element_found_tag_func), (gst_element_found_tags):
13661         * gst/gstelement.h:
13662           These functions take const taglists
13663         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13664           fix memleak
13665         * gst/gstpad.c: (gst_pad_event_default):
13666           make more effort on handling discont and clocks, g_warn if everything
13667           fails
13668         * gst/gststructure.c: (gst_structure_remove_fields),
13669         (gst_structure_remove_fields_valist):
13670         * gst/gststructure.h:
13671           add gst_structure_remove_fields(_valist)
13672         * gst/gsttag.c:
13673           fix doc glitch
13674
13675 2004-01-28  David Schleef  <ds@schleef.org>
13676
13677         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13678         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13679         Fix memory leakage of gst_caps_to_string().
13680
13681         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13682         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13683         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13684         (gst_spider_identity_sink_loop_type_finding):
13685         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13686         (find_suggest):
13687         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13688         (gst_pad_set_explicit_caps):
13689         * gst/parse/grammar.y:
13690
13691 2004-01-28  David Schleef  <ds@schleef.org>
13692
13693         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13694         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13695         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13696         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13697         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13698         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13699         (gst_debug_log_default), (_gst_info_printf_extension),
13700         (_gst_info_printf_extension_arginfo):  Add printf extension.
13701         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13702         * gst/gststructure.c: (gst_structure_to_string),
13703         (_gst_structure_parse_value): Use gst_value_deserialize() and
13704         remove old code.
13705         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13706         (gst_value_deserialize_boolean), (gst_strtoi),
13707         (gst_value_deserialize_int), (gst_value_deserialize_double),
13708         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13709         a bunch of deserialize functions and gst_value_deserialize.
13710         * gst/gstvalue.h: er, _de_serialize, not unserialize
13711         * testsuite/caps/string-conversions.c: (main): We don't currently
13712         handle (float) in caps, so convert these to (double).
13713         * testsuite/debug/Makefile.am: Add new test for the printf extension
13714         * testsuite/debug/printf_extension.c: (main): same
13715
13716 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13717
13718         * docs/random/company/time:
13719           Add some docs about clocking and time
13720
13721 2004-01-28  Julien MOUTTE <julien@moutte.net>
13722
13723         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13724
13725 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13726
13727         * docs/pwg/advanced-clock.xml:
13728         * docs/pwg/advanced-dparams.xml:
13729         * docs/pwg/advanced-events.xml:
13730         * docs/pwg/advanced-interfaces.xml:
13731         * docs/pwg/advanced-midi.xml:
13732         * docs/pwg/advanced-request.xml:
13733         * docs/pwg/advanced-scheduling.xml:
13734         * docs/pwg/advanced-tagging.xml:
13735         * docs/pwg/advanced-types.xml:
13736         * docs/pwg/appendix-checklist.xml:
13737         * docs/pwg/building-boiler.xml:
13738         * docs/pwg/building-chainfn.xml:
13739         * docs/pwg/building-filterfactory.xml:
13740         * docs/pwg/building-pads.xml:
13741         * docs/pwg/building-props.xml:
13742         * docs/pwg/building-signals.xml:
13743         * docs/pwg/building-state.xml:
13744         * docs/pwg/building-testapp.xml:
13745         * docs/pwg/intro-basics.xml:
13746         * docs/pwg/intro-preface.xml:
13747         * docs/pwg/other-autoplugger.xml:
13748         * docs/pwg/other-sink.xml:
13749         * docs/pwg/other-source.xml:
13750         * docs/pwg/titlepage.xml:
13751           fix up id's
13752
13753 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13754
13755         * docs/95NonPath:
13756         * docs/HACKING:
13757         * docs/README:
13758         * docs/building-the-docs-on-debian:
13759           collect relevant bits of doc info
13760
13761 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13762
13763         * docs/pwg/advanced_tagging.xml:
13764           Half-assed commit so Thomas can re-arrange document IDs here to be
13765           consistent, too.
13766
13767 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13768
13769         * docs/manual/autoplugging.xml:
13770         * docs/manual/bins-api.xml:
13771         * docs/manual/bins.xml:
13772         * docs/manual/buffers-api.xml:
13773         * docs/manual/buffers.xml:
13774         * docs/manual/clocks.xml:
13775         * docs/manual/components.xml:
13776         * docs/manual/cothreads.xml:
13777         * docs/manual/debugging.xml:
13778         * docs/manual/dparams-app.xml:
13779         * docs/manual/dynamic.xml:
13780         * docs/manual/elements-api.xml:
13781         * docs/manual/elements.xml:
13782         * docs/manual/factories.xml:
13783         * docs/manual/gnome.xml:
13784         * docs/manual/goals.xml:
13785         * docs/manual/helloworld.xml:
13786         * docs/manual/helloworld2.xml:
13787         * docs/manual/init-api.xml:
13788         * docs/manual/intro.xml:
13789         * docs/manual/links-api.xml:
13790         * docs/manual/links.xml:
13791         * docs/manual/manual.xml:
13792         * docs/manual/motivation.xml:
13793         * docs/manual/pads-api.xml:
13794         * docs/manual/pads.xml:
13795         * docs/manual/plugins-api.xml:
13796         * docs/manual/plugins.xml:
13797         * docs/manual/programs.xml:
13798         * docs/manual/queues.xml:
13799         * docs/manual/quotes.xml:
13800         * docs/manual/schedulers.xml:
13801         * docs/manual/states-api.xml:
13802         * docs/manual/states.xml:
13803         * docs/manual/threads.xml:
13804         * docs/manual/typedetection.xml:
13805         * docs/manual/xml.xml:
13806           use chapter, part, section or misc as id starts for all bits
13807
13808 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13809
13810         * docs/gst/gstreamer-sections.txt:
13811           Fix up TITLE of the sections
13812
13813 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13814
13815         * docs/pwg/advanced_interfaces.xml:
13816           Add documentation on propertyprobing.
13817         * docs/pwg/advanced_events.xml:
13818         * docs/pwg/advanced_tagging.xml:
13819         * docs/pwg/building_boiler.xml:
13820         * docs/pwg/building_filterfactory.xml:
13821         * docs/pwg/pwg.xml:
13822           Move filterfactory and tagging into their own chapter, add a chapter
13823           on events. all these are empty placeholders that will be filled in
13824           some day.
13825
13826 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13827
13828         * docs/pwg/advanced_interfaces.xml:
13829           Docs for mixer interface. Also a check for website uploading.
13830
13831 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13832
13833         * docs/HACKING:
13834         * docs/Makefile.am:
13835         * docs/faq/Makefile.am:
13836         * docs/gst/Makefile.am:
13837         * docs/gst/tmpl/gstelement.sgml:
13838         * docs/gst/tmpl/gstplugin.sgml:
13839         * docs/gst/tmpl/gstreamer-unused.sgml:
13840         * docs/libs/Makefile.am:
13841         * docs/manual/Makefile.am:
13842         * docs/manuals.mak:
13843         * docs/pwg/Makefile.am:
13844         * docs/upload.mak:
13845           Separate out upload target and make it similar for
13846           both docbook and gtk-doc docs
13847
13848 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13849
13850         * docs/manuals.mak:
13851           Fix upload target to work with freedesktop
13852
13853 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13854
13855         * docs/pwg/advanced_types.xml:
13856           Add notes on creating your own types.
13857         * docs/pwg/building_boiler.xml:
13858         * docs/pwg/building_pads.xml:
13859         * docs/pwg/building_state.xml:
13860           Add some stuff about how to retrieve values from structures, how
13861           that relates to types and change layout slightly again to be almost
13862           perfect.
13863
13864 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13865
13866         * docs/pwg/advanced_dparams.xml:
13867         * docs/pwg/advanced_scheduling.xml:
13868           Change index layout slightly.
13869
13870 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13871
13872         * docs/pwg/advanced_clock.xml:
13873         * docs/pwg/advanced_interfaces.xml:
13874         * docs/pwg/advanced_midi.xml:
13875           General placeholders for now.
13876         * docs/pwg/advanced_request.xml:
13877           Explanation about sometimes and request pads.
13878         * docs/pwg/advanced_scheduling.xml:
13879           Concept of bytestream, loopfunctions and schedulers.
13880         * docs/pwg/building_boiler.xml:
13881           Add something about plugin-init.
13882
13883 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * docs/pwg/building_pads.xml:
13886           Fix broken docbook
13887
13888 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13889
13890         * docs/pwg/advanced_interfaces.xml:
13891         * docs/pwg/pwg.xml:
13892           Add as a placeholder for future filling-in.
13893         * docs/pwg/basics_autoplugging.xml:
13894         * docs/pwg/basics_buffers.xml:
13895         * docs/pwg/basics_elements.xml:
13896         * docs/pwg/basics_events.xml:
13897         * docs/pwg/basics_plugins.xml:
13898         * docs/pwg/basics_types.xml:
13899           Remove, because unused (this is all in intro_basics.xml).
13900         * docs/pwg/building_signals.xml:
13901           Short intro to signals + reference to GObject docs - we really
13902           shouldn't go into these sort of things to deply because we don't
13903           use them that extensively anyway.
13904         * docs/pwg/building_state.xml:
13905           Explanation of states. Benjamin, please check.
13906         * docs/pwg/building_testapp.xml:
13907           Put everything in one page - putting only a few lines of content
13908           per page doesn't really make sense.
13909
13910           Time to get into the advanced topics. ;).
13911
13912 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13913
13914         * docs/pwg/advanced_types.xml:
13915           Finish documenting the current state of mimetypes.
13916         * docs/pwg/building_boiler.xml:
13917         * docs/pwg/building_chainfn.xml:
13918         * docs/pwg/building_pads.xml:
13919         * docs/pwg/building_props.xml:
13920         * docs/pwg/building_testapp.xml:
13921           Start documenting the "how to build a simple audio filter" part
13922           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13923           states and (maybe?) a short introduction to capsnego in the chapter
13924           on pads (building_pads.xml). Capsnego should probably be explained
13925           fully in advanced_capsnego.xml or so.
13926
13927 2004-01-26  David Schleef  <ds@schleef.org>
13928
13929         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13930         * gst/gstpad.h: Add new function to allow element to (somewhat)
13931         specify non-fixed caps on a pad.
13932         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13933         that I added a few weeks ago.
13934
13935 2004-01-26  David Schleef  <ds@schleef.org>
13936
13937         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13938           making try_set_caps() work with non-fixed caps.
13939
13940 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13941
13942         * docs/pwg/advanced_types.xml:
13943         * docs/pwg/intro_basics.xml:
13944         * docs/pwg/intro_preface.xml:
13945         * docs/pwg/pwg.xml:
13946         * docs/pwg/titlepage.xml:
13947           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13948           in here (docs/random/mimetypes), and will from there on work on both
13949           updating outdated parts and adding missing parts.
13950           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13951
13952 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13953
13954         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13955           policy is set
13956
13957 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13958
13959         * gst/gstelement.h:
13960           remove gst_element_factory_get_version. It doesn't exist anymore.
13961         * gst/gstplugin.c:
13962         * gst/gstplugin.h:
13963           remove gst_plugin_set_name and change gst_plugin_get_longname to
13964           gst_plugin_get_description to match code.
13965         * gst/gsterror.h:
13966           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13967         * gst/gstpad.c: (gst_pad_try_set_caps):
13968           make it work with nonfixed caps.
13969           Note that even in the nonfixed case the link function of the pad
13970           that tries to set caps isn't called.
13971
13972 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13973
13974         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13975           fix bug where buffer was not assembled correctly
13976         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13977           silence by default
13978         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13979           only seek if there's no more buffers that could work without seeking
13980
13981 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13982
13983         * gst/gsttag.c: (_gst_tag_initialize):
13984         * gst/gsttag.h:
13985           Add application tag (for encoding/muxing app).
13986
13987 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13988
13989         * autogen.sh:
13990           make autopoint force, and libtoolize not copy
13991         * common/m4/as-docbook.m4:
13992           added docbook xml catalog setup check
13993         * common/m4/gst-doc.m4:
13994           use docbook check
13995
13996 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13997
13998         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13999         * gst/gsttag.h:
14000           add GstTagFlag
14001
14002 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14003
14004         * docs/gst/gstreamer-sections.txt:
14005         * docs/gst/tmpl/gst.sgml:
14006         * docs/gst/tmpl/gstbuffer.sgml:
14007         * docs/gst/tmpl/gstclock.sgml:
14008         * docs/gst/tmpl/gstelement.sgml:
14009         * docs/gst/tmpl/gstreamer-unused.sgml:
14010         * docs/gst/tmpl/gstxml.sgml:
14011           sync latest API changes to docs
14012
14013 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14014
14015         * gst/gstpluginfeature.c:
14016           fix doc snippet
14017         * tools/gst-inspect.c: (print_element_list):
14018           fix output of typefind
14019           add GPL header
14020         * tools/gst-launch.c:
14021           add GPL header
14022
14023 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14024
14025         * gst/elements/Makefile.am:
14026         * gst/elements/gstelements.c:
14027         * gst/elements/gsttypefindelement.c:
14028         * gst/elements/gsttypefindelement.h:
14029         * po/POTFILES.in:
14030         * po/fr.po:
14031         * po/nl.po:
14032           renamed gsttypefindelement to gsttypefind, conserving CVS history
14033
14034 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14035
14036         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
14037         * gst/gsttag.h:
14038           add some tags used in ogg as well
14039           fix _ in replaygain tags
14040
14041 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14042
14043         * gst/gsterror.h:
14044           fix wrong GST_LIBRARY_ERROR_ENCODE addition
14045
14046 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * gst/gstelement.c: (gst_element_error_full):
14049         * gst/gstelement.h:
14050           change _extended to _full
14051
14052 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14053
14054         reviewed by: <delete if not using a buddy>
14055
14056         * docs/gst/tmpl/gst.sgml:
14057         * docs/gst/tmpl/gstbuffer.sgml:
14058         * docs/gst/tmpl/gstclock.sgml:
14059         * docs/gst/tmpl/gstelement.sgml:
14060         * docs/gst/tmpl/gstreamer-unused.sgml:
14061         * docs/gst/tmpl/gstxml.sgml:
14062         * gst/gstelement.c: (gst_element_error_full):
14063         * gst/gstelement.h:
14064
14065 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14066
14067         * gst/gstelement.h: fix _gst_element_error_printf prototype
14068
14069 2004-01-20  David Schleef  <ds@schleef.org>
14070
14071         * gst/gststructure.c: (gst_structure_to_string):
14072         Convert function to use gst_value_serialize().
14073         * gst/gstvalue.c: (gst_value_serialize_list),
14074         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
14075         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
14076         (gst_value_serialize_int), (gst_value_serialize_double),
14077         (gst_string_wrap), (gst_value_serialize_string),
14078         (gst_value_serialize), (gst_value_deserialize):
14079         * gst/gstvalue.h:
14080         Add implementations for serialize.
14081
14082 2004-01-20  Julien MOUTTE  <julien@moutte.net>
14083
14084         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
14085         we want to keep that one in the future or change xvidenc.c to use 
14086         another error.
14087
14088 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14089
14090         * gst/gstelement.c: (_gst_element_error_printf):
14091         * gst/gstelement.h:
14092           privatise function
14093
14094 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14095
14096         * docs/random/error:
14097           doc explaining error system
14098         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
14099           cleanup
14100
14101 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14102
14103         * gst/gst-i18n-app.h:
14104         * gst/gst-i18n-lib.h:
14105           remove inclusion of config.h
14106         * po/POTFILES.in:
14107         * po/nl.po:
14108           add gst/gstelement.c
14109
14110 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14111
14112         * po/nl.po: updated Dutch translation
14113
14114 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14115
14116         * gst/gsterror.c: (_gst_core_errors_init),
14117         (_gst_library_errors_init), (_gst_resource_errors_init),
14118         (_gst_stream_errors_init):
14119         remove ending punctuation dots
14120
14121 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14122
14123         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
14124         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
14125         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14126         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14127         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14128         use GST_ERROR_SYSTEM
14129
14130 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14131
14132         * gst/gstelement.c: (gst_element_error_printf),
14133         (gst_element_error_extended):
14134         * gst/gstelement.h:
14135           add a helper printf function so we can have NULL values passed.
14136
14137 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14138
14139         * gst/gstelement.h:
14140           add G_STMT macros to gst_element_error, which isn't strictly
14141           necessary but people tell me to anyway.
14142
14143 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14144
14145         * gst/Makefile.am:
14146         * gst/autoplug/gstspideridentity.c:
14147         (gst_spider_identity_sink_loop_type_finding):
14148         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
14149         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
14150         (gst_filesink_close_file), (gst_filesink_handle_event),
14151         (gst_filesink_chain):
14152         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
14153         (gst_filesrc_map_region), (gst_filesrc_get_read),
14154         (gst_filesrc_open_file):
14155         * gst/elements/gstidentity.c: (gst_identity_chain):
14156         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14157         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14158         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14159         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
14160         * gst/gst.h:
14161         * gst/gst_private.h:
14162         * gst/gstelement.c: (gst_element_class_init),
14163         (gst_element_default_error), (gst_element_error_func),
14164         (gst_element_error_extended):
14165         * gst/gstelement.h:
14166         * gst/gsterror.c: (_gst_core_errors_init),
14167         (_gst_library_errors_init), (_gst_resource_errors_init),
14168         (_gst_stream_errors_init), (gst_error_get_message):
14169         * gst/gsterror.h:
14170         * gst/gstinfo.c: (_gst_debug_init):
14171         * gst/gstmarshal.list:
14172         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14173         (gst_pad_recover_caps_error), (gst_pad_pull):
14174         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
14175         * gst/schedulers/gstbasicscheduler.c:
14176         (gst_basic_scheduler_chainhandler_proxy),
14177         (gst_basic_scheduler_gethandler_proxy),
14178         (gst_basic_scheduler_cothreaded_chain):
14179         * po/POTFILES.in:
14180         * po/fr.po:
14181         * po/nl.po:
14182           change error signal
14183           add error categories
14184
14185 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
14186
14187         * gst/gsttag.c: (_gst_tag_initialize):
14188         * gst/gsttag.h:
14189         Add replaygain tag
14190
14191 2004-01-18  Colin Walters  <walters@verbum.org>
14192
14193         * examples/retag/retag.c: Call gst_init before processing
14194         program args.  Add g_assert to _link_many call.
14195
14196 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14197
14198         * gst/gstpad.c: (gst_pad_alloc_buffer):
14199           Return a newly allocated buffer when the pad has no peer.
14200
14201 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14202
14203         * gst/gstclock.c: (gst_clock_get_time):
14204           make it compile with gcc 2.95 again.
14205           Patch by Scott Wheeler
14206
14207 2004-01-15  David Schleef  <ds@schleef.org>
14208
14209         * gst/gstcaps.h:
14210         Added gst_caps_is_simple() macro.
14211         * testsuite/caps/caps.c: (test1):
14212         * testsuite/caps/intersect2.c: (main):
14213         * testsuite/caps/intersection.c: (main):
14214         Fixes to make 'make check' work again after removing
14215         gst_caps_is_chained().
14216
14217 2004-01-15  Leif Johnson <leif@ambient.2y.net>
14218
14219         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
14220         and additions to the MIDI document.
14221
14222 2004-01-15  David Schleef  <ds@schleef.org>
14223
14224         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
14225         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
14226         of GST_RPAD_, since we don't know if it's a real or ghost pad.
14227
14228 2004-01-15  David Schleef  <ds@schleef.org>
14229
14230         * gst/gstqueue.c:
14231         * gst/gstqueue.h:
14232         Fix the spelling of "treshold" and make min_threshold actually
14233         affect the queue.
14234
14235 2004-01-15  David Schleef  <ds@schleef.org>
14236
14237         * gst/gstcaps.c:
14238         Add lots of documentation.
14239         * gst/gstcaps.h:
14240         Deprecate a few functions.
14241         * gst/gstpad.c:
14242         Removed use of deprecated functions.
14243
14244 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14245
14246         * gst/gstpad.c: (gst_pad_is_linked):
14247         * gst/gstpad.h:
14248           implement gst_pad_is_linked
14249         * gst/gstelement.h:
14250           reserve space for initiate_state_change
14251
14252 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14253
14254         * gst/autoplug/gstspideridentity.c:
14255         (gst_spider_identity_sink_loop_type_finding):
14256           break infinite loop by just returning instead of looping
14257         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
14258           set event time difference correctly. Set it to 1 second instead
14259           of 100ms to be more tolerant
14260         * gst/gstelement.c: (gst_element_set_time):
14261           add debugging output
14262
14263 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14264
14265         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14266           query if buffers are inside the pool, ignore events
14267
14268 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14269
14270         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14271         (gst_clock_set_speed), (gst_clock_set_active),
14272         (gst_clock_is_active), (gst_clock_reset),
14273         (gst_clock_handle_discont):
14274         * gst/gstclock.h:
14275           deprecate old interface and disable functions that aren't in use
14276           anymore.
14277         * gst/gstelement.h:
14278         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14279         (gst_element_set_time), (gst_element_adjust_time):
14280           add concept of "element time" and functions to get/set this time.
14281         * gst/gstelement.c: (gst_element_change_state):
14282           update element time correctly.
14283         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14284           This is a debug message, not a g_critical.
14285         * gst/gstpad.c: (gst_pad_event_default):
14286           handle discontinuous events right with element time.
14287         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14288           update to clocking fixes.
14289           set clocks on elements in READY=>PAUSED. The old behaviour caused
14290           a wrong element time on the first element that started playing.
14291         * gst/schedulers/gstbasicscheduler.c:
14292         (gst_basic_scheduler_class_init):
14293         * gst/schedulers/gstoptimalscheduler.c:
14294         (gst_opt_scheduler_class_init):
14295           remove code that just implements the default behaviour.
14296         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14297           update to use new clocking functions
14298         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14299         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14300           update to test new element time.
14301         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14302           use _get_allowed_caps instead of _get_caps. This catches filtered
14303           caps correctly.
14304         * testsuite/debug/commandline.c:
14305           update for new GST_DEBUG syntax.
14306         * testsuite/threads/Makefile.am:
14307           disable a test that only works sometimes.
14308
14309 2004-01-13  Julien MOUTTE <julien@moutte.net>
14310
14311         * po/LINGUAS: Adding fr.
14312         * po/fr.po: Adding french translation.
14313
14314 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14315
14316         * gst/parse/grammar.y:
14317         * po/POTFILES.in:
14318         * po/nl.po:
14319         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14320           translate parsing error messages
14321
14322 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14323
14324         * po/POTFILES.in: adding gst-launch
14325         * po/nl.po: updated translation, all 99 strings translated
14326         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14327         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14328           fix strings for translation
14329
14330 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14331
14332         * gst/gst.c:
14333           - capitalize beginnings of popt options
14334           - fix strings for translation
14335           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14336
14337 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14338
14339         * po/README: add some notes on how to update translations
14340
14341 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14342
14343         * ABOUT-NLS: removed, is autogenerated from autopoint
14344         * autogen.sh: add autopoint stuff
14345         * configure.ac: fix up gettext stuff
14346         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14347         * gst/elements/gsttypefindelement.c: add header include
14348         * gst/gettext.h: add header, copy from system-installed header
14349         * gst/gst-i18n-app.h: to be included by each app having translations
14350         * gst/gst-i18n-lib.h: to be included by each lib having translations
14351         * gst/gst.c: (init_pre): fix up gettext calls
14352         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14353         * po/LINGUAS: the new way to specify translations present
14354         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14355         * po/Makevars: the variables filled in for GStreamer
14356         * po/POTFILES.in: added new files with translations
14357         * po/de.po: has new strings
14358         * po/nl.po: readded, has new strings
14359
14360 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14361
14362         * gst/gsttag.c: fix some strings marked for translation
14363
14364 2004-01-13  Iain <iain@prettypeople.org>
14365
14366         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14367         group when we add an element to it, cos we unref it when we remove one
14368
14369 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14370
14371         * testsuite/debug/commandline.c: (debug_not_reached):
14372         * testsuite/debug/output.c: (check_message):
14373           fix testsuite
14374
14375 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14376
14377         * examples/cutter/.cvsignore:
14378         * examples/helloworld/.cvsignore:
14379         * examples/launch/.cvsignore:
14380         * examples/manual/.cvsignore:
14381         * examples/mixer/.cvsignore:
14382         * examples/pingpong/.cvsignore:
14383         * examples/plugins/.cvsignore:
14384         * examples/queue/.cvsignore:
14385         * examples/queue2/.cvsignore:
14386         * examples/queue3/.cvsignore:
14387         * examples/queue4/.cvsignore:
14388         * examples/retag/.cvsignore:
14389         * examples/thread/.cvsignore:
14390         * examples/typefind/.cvsignore:
14391         * examples/xml/.cvsignore:
14392         * gst/.cvsignore:
14393         * gst/autoplug/.cvsignore:
14394         * gst/elements/.cvsignore:
14395         * gst/indexers/.cvsignore:
14396         * gst/parse/.cvsignore:
14397         * gst/registries/.cvsignore:
14398         * gst/schedulers/.cvsignore:
14399         * libs/gst/bytestream/.cvsignore:
14400         * libs/gst/control/.cvsignore:
14401         * libs/gst/getbits/.cvsignore:
14402         * tests/.cvsignore:
14403         * tests/bufspeed/.cvsignore:
14404         * tests/instantiate/.cvsignore:
14405         * tests/memchunk/.cvsignore:
14406         * tests/muxing/.cvsignore:
14407         * tests/sched/.cvsignore:
14408         * tests/seeking/.cvsignore:
14409         * tests/threadstate/.cvsignore:
14410         * testsuite/.cvsignore:
14411         * testsuite/caps/.cvsignore:
14412         * testsuite/cleanup/.cvsignore:
14413         * testsuite/dynparams/.cvsignore:
14414         * testsuite/plugin/.cvsignore:
14415         * tools/.cvsignore:
14416           update - this is huge, because it includes *.bb, *.bbg and *.da files
14417           which are generated for gcov.
14418
14419 2004-01-11  David Schleef  <ds@schleef.org>
14420
14421         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14422         a function to parse integers in ways that strto[u]l() does not.
14423
14424 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14425
14426         * tools/gst-inspect.c: (print_caps):
14427           improve output of caps a bit
14428
14429 2004-01-11  David Schleef  <ds@schleef.org>
14430
14431         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14432         inherit correct flags (READONLY and DONTKEEP).
14433
14434 2004-01-11  David Schleef  <ds@schleef.org>
14435
14436         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14437         (gst_filesrc_map_region):
14438         * gst/gstbuffer.c: (_gst_buffer_initialize),
14439         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14440         (gst_buffer_new), (gst_buffer_create_sub),
14441         (gst_buffer_is_span_fast), (gst_buffer_span):
14442         * gst/gstbuffer.h:
14443         Change GstBuffer private structure element names. (all files)
14444         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14445         (gst_queue_link):
14446         * gst/gstqueue.h:
14447         Implement getcaps/pad_link functions that handle the case where
14448         there are data in the queue.
14449
14450 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14451
14452         * gst/elements/gstbufferstore.c:
14453           initialize debugging structure correctly
14454         * gst/elements/gsttee.c: (gst_tee_set_property):
14455           g_object_notify when property was changed
14456         * gst/elements/gsttypefindelement.c:
14457         (gst_type_find_element_change_state):
14458           clear caps correctly
14459
14460 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14461
14462         * gst/gstqueue.c: (gst_queue_init):
14463           Use better defaults for when a queue should block. This
14464           gets rid of jerky playback for quite a few files.
14465           It takes more memory.
14466
14467 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14468
14469         (gst_xml_registry_parse_padtemplate):
14470           make critical message slightly more useful
14471
14472 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14473
14474         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14475         (gst_debug_message_get), (gst_debug_log_default):
14476         * gst/gstinfo.h:
14477           Change gst_debug_log(_valist) to take a const format string.
14478           Change prototype of log function and functions using those to 
14479           take a GstDebugMessage instead of a string that requires using
14480           gst_debug_message_get.
14481
14482 2004-01-08  David Schleef  <ds@schleef.org>
14483
14484         * Makefile.am:
14485         * configure.ac:
14486         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14487         and -ftest-coverage, which allows gcov to show information about
14488         testsuite coverage.
14489
14490 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14491
14492         * gst/gstutils.h:
14493           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14494           GST_PARENT_CALL_WITH_DEFAULT
14495         * gst/elements/gstaggregator.c: 
14496         * gst/elements/gstbufferstore.c: 
14497         * gst/elements/gstfakesink.c: 
14498         * gst/elements/gstfakesrc.c: 
14499         * gst/elements/gstfdsink.c: 
14500         * gst/elements/gstfdsrc.c: 
14501         * gst/elements/gstfilesink.c: 
14502         * gst/elements/gstfilesrc.c: 
14503         * gst/elements/gstidentity.c: 
14504         * gst/elements/gstmd5sink.c: 
14505         * gst/elements/gstmultidisksrc.c:
14506         * gst/elements/gstpipefilter.c: 
14507         * gst/elements/gstshaper.c:
14508         * gst/elements/gststatistics.c:
14509         * gst/elements/gsttee.c:
14510         * gst/elements/gsttypefindelement.c:
14511           use them.
14512
14513 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14514
14515         * docs/gst/gstreamer-docs.sgml: remove props
14516         * docs/gst/gstreamer-sections.txt: remove props
14517         * docs/gst/tmpl/gst.sgml:
14518         * docs/gst/tmpl/gstbin.sgml:
14519         * docs/gst/tmpl/gstbuffer.sgml:
14520         * docs/gst/tmpl/gstcaps.sgml:
14521         * docs/gst/tmpl/gstclock.sgml:
14522         * docs/gst/tmpl/gstelement.sgml:
14523         * docs/gst/tmpl/gstindex.sgml:
14524         * docs/gst/tmpl/gstobject.sgml:
14525         * docs/gst/tmpl/gstpad.sgml:
14526         * docs/gst/tmpl/gstpadtemplate.sgml:
14527         * docs/gst/tmpl/gstreamer-unused.sgml:
14528         * docs/gst/tmpl/gstthread.sgml:
14529         * docs/gst/tmpl/gstxml.sgml:
14530           sync with code reorganization
14531
14532 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14533
14534         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14535         Make the 'Could not find compatible pad' message more informative.
14536
14537 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14538                                                                                 
14539         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14540           Fix for if we pass NULL as property to location.
14541         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14542         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14543           Fix for instantiate-test (see below).
14544         * gst/gststructure.c: (_gst_structure_parse_value):
14545           Fix compile error on gcc-2.96.
14546         * configure.ac:
14547         * tests/Makefile.am:
14548         * tests/instantiate/Makefile.am:
14549         * tests/instantiate/create.c: (create_all_elements), (main):
14550           Add a test that instantiates all elements. This makes it easy to
14551           track dead code for old API/design (like setting event functions
14552           on sink pads and so on).
14553
14554 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14555
14556         * gst/gstcaps.c: (gst_caps_append_structure):
14557           Move the poisoning to allow a NULL structure
14558         * gst/gstevent.c: (_gst_event_free):
14559           When freeing a navigation event, free the structure
14560           also
14561
14562 2004-01-04  David Schleef  <ds@schleef.org>
14563
14564         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14565         Remove usage of gst_pad_proxy_fixate.
14566         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14567         (gst_caps_split_one), (gst_caps_replace):
14568         Add poisoning code.
14569         * gst/gstmarshal.list:
14570         Add pointer__pointer for fixate signal
14571         * gst/gstpad.c: (gst_real_pad_class_init),
14572         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14573         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14574         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14575         Add poisoning code. Add fixate signal on RealPad. Change
14576         set_explicit_caps() to take const GstCaps, like try_set_caps().
14577         * gst/gstpad.h:
14578         * testsuite/caps/Makefile.am:
14579         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14580
14581 2004-01-03  David Schleef  <ds@schleef.org>
14582
14583         * gst/elements/gsttypefindelement.c:
14584         (gst_type_find_element_have_type), (gst_type_find_element_init):
14585         Use gst_pad_use_explicit_caps for src pad.
14586         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14587         before using it.
14588
14589 2004-01-03  David Schleef  <ds@schleef.org>
14590
14591         * gst/gstelement.c: (gst_element_link_pads_filtered),
14592         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14593         that linking was successful.
14594         * gst/gstpad.c: (gst_pad_link_free),
14595         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14596         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14597         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14598         GstPadLinkReturn correctly between functions, and don't fail
14599         when DELAYED is used (DELAYED is very important).  Better
14600         cleanup on unlinking and unnegotiation.  Should fix some spider
14601         bugs.
14602
14603 2004-01-02  David Schleef  <ds@schleef.org>
14604
14605         * gst/gstelement.c: (gst_element_class_init),
14606         (gst_element_base_class_init): ->padtemplates should be cleared
14607         in base_init, since we need to have a fresh list for every
14608         class.  (Alternately, we chould copy the list and share the
14609         actual pad templates (not the list), but that would require
14610         changing every plugin to move pad template registration from
14611         base_init to class_init.)
14612
14613 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14614
14615         * gst/gstelement.c: (gst_element_class_add_pad_template):
14616           Refuse registering a pad template if another pad template
14617           with the same name already exists (#114715).
14618
14619 2004-01-02  David Schleef  <ds@schleef.org>
14620
14621         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14622         (gst_caps_is_equal_fixed): Add new function.
14623         * gst/gstcaps.h: ditto.
14624         * gst/gstpad.c: (gst_real_pad_class_init),
14625         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14626         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14627         check new caps against existing caps -- if they're the same, return
14628         OK without renegotiating.  caps-nego-failed signal fixed so that
14629         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14630         to save an extra caps copy.  Don't complete negotiation if a pad
14631         link function returns DELAYED.
14632
14633 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14634
14635         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14636           Fix wrong g_return_if_fail
14637
14638 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14639
14640         * gst/gstbin.c: (gst_bin_class_init):
14641         Change the marshalling of element_added/element_removed
14642         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14643         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14644
14645 2004-01-01  David Schleef  <ds@schleef.org>
14646
14647         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14648         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14649         (gst_pad_use_explicit_caps):
14650         * gst/gstpad.h:
14651         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14652         to use an internal getcaps and link fuction so that negotiation
14653         always results in the explicitly set caps.
14654         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14655         are particularly useful for decoders.
14656
14657 2003-12-31  David Schleef  <ds@schleef.org>
14658
14659         * gst/elements/gstidentity.c: (gst_identity_class_init),
14660         (gst_identity_init), (gst_identity_chain),
14661         (gst_identity_set_property), (gst_identity_get_property):
14662         * gst/elements/gstidentity.h:
14663         * gst/gstqueue.c: (gst_queue_init):
14664           Negotiation fixes.
14665
14666 2003-12-31  David Schleef  <ds@schleef.org>
14667
14668         * gst/gstcaps.c: (gst_caps_intersect),
14669         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14670           Implement gst_caps_normalize().
14671         * testsuite/caps/normalisation.c: (main):
14672           Add an additional test
14673
14674 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14675
14676         * gst/gstqueue.c: (gst_queue_init):
14677           use gst_pad_proxy_getcaps()
14678
14679 2003-12-31  David Schleef  <ds@schleef.org>
14680
14681         * gst/elements/gstshaper.c: (gst_shaper_link):
14682         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14683         * gst/gstqueue.c: (gst_queue_link):
14684           Negotiation fixes.
14685
14686 2003-12-31  David Schleef  <ds@schleef.org>
14687
14688         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14689         * gst/gstpad.h: Add functions that are useful as default pad
14690         link and fixate functions for elements.
14691
14692 2003-12-30  David Schleef  <ds@schleef.org>
14693
14694         * gst/gstpad.c: (gst_pad_link_try):
14695           Fix segfault when attempting to return to old caps
14696
14697 2003-12-29  David Schleef  <ds@schleef.org>
14698
14699         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14700         (gst_caps_structure_simplify), (gst_caps_simplify):
14701         * gst/gstcaps.h:
14702           Add simplify function
14703         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14704         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14705         * gst/gstpad.h:
14706           Copy over srcnotify, sinknotify when calling old pad_link
14707           functions.  Add new is_negotiated() function.
14708         * gst/gststructure.c: (gst_structure_copy):
14709           Fix an incredibly stupid bug that should have been noticed
14710           weeks ago.  _copy() returned the argument, not the new copy.
14711
14712 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14713
14714         * gst/gstcaps.c: (gst_caps_append):
14715           add sanity checks
14716         * gst/gstcaps.h: (gst_caps_debug):
14717           remove, it doesn't exist anymore.
14718         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14719         (gst_element_threadsafe_properties_post_run):
14720           make debugging messages not clutter up THREAD debug category
14721         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14722         (gst_element_change_state):
14723           update to new caps API
14724         * gst/gstinterface.c: (gst_implements_interface_cast):
14725           don't put vital code in g_return_if_fail
14726         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14727         (gst_pad_link_filtered):
14728           add pst_pad_try_link and use it.
14729         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14730           implement correctly, deprecate first one.
14731         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14732           add and implement.
14733         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14734           implement.
14735         (gst_pad_get_negotiated_caps):
14736           add and implement. Make GST_PAD_CAPS call this function.
14737         (gst_pad_get_caps):
14738           remove unneeded check..
14739         (gst_pad_recover_caps_error):
14740           disable, always return FALSE.
14741         (gst_real_pad_dispose):
14742           don't free caps and appfilter anymore, they're unused.
14743         * gst/gstpad.h:
14744           Reflect changes mentioned above.
14745         * gst/gstsystemclock.c: (gst_system_clock_wait):
14746           Make 'clock is way behind' a debugging message.
14747         * gst/gstthread.c: (gst_thread_change_state):
14748           Fix debugging message
14749
14750 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14751
14752         * gst/gstinfo.h:
14753           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14754         * docs/gst/tmpl/gstreamer-unused.sgml:
14755           removed all traces of cvs conflicts
14756
14757 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14758
14759         * configure.ac:
14760         * gst/schedulers/cothreads_compat.h:
14761         * libs/Makefile.am:
14762           remove last instances of wingo cothread usage
14763
14764 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14765
14766         * gst/gstplugin.c:
14767         * gst/gstversion.h.in:
14768         * gst/parse/grammar.y:
14769           change comment block from /** to /* when not gtk-doc comments
14770
14771 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14772
14773         * gst/gst.c: whitespace and doc style fixes
14774
14775 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14776
14777         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14778
14779 2003-12-24  Colin Walters  <walters@verbum.org>
14780
14781         * gst/elements/gsttypefindelement.c:
14782           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14783           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14784           Don't double-free caps.
14785
14786 2003-12-23  David Schleef  <ds@schleef.org>
14787
14788         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14789           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14790           Many little fixes and additions of debug statements to
14791           get rhythmbox working.
14792
14793 2003-12-23  Colin Walters  <walters@verbum.org>
14794
14795         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14796         Use GST_PAD_LINK_SUCCESSFUL.
14797
14798 2003-12-23  David Schleef  <ds@schleef.org>
14799
14800         * gst/elements/gstaggregator.c:
14801         * gst/elements/gsttee.c:
14802           Use gst_pad_proxy_getcaps().
14803         * gst/gstpad.c:
14804         * gst/gstpad.h:
14805           Add gst_pad_proxy_getcaps(), which filter elements can use
14806           as a generic getcaps implementation.
14807           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14808           was advertised.
14809
14810 2003-12-23  David Schleef  <ds@schleef.org>
14811
14812         * gst/gstpad.c:
14813           Rearrange/rewrite much of the pad negotiation code, since it
14814           resembled pasta.  This actually changes the way some
14815           negotiation works, since the previous code was inconsistent
14816           depending on how it was invoked.  Add (internal) structure
14817           GstPadLink, which is used to hold some information (more in
14818           the future) about the link between two pads.  Fixes a number
14819           of bugs, including random lossage of filter caps when the
14820           initial negotiation is delayed.  A few functions are still
14821           unimplemented.
14822         * gst/gstpad.h:
14823           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14824           these when testing GstPadLinkReturn values instead of comparing
14825           directly.
14826
14827 2003-12-23  David Schleef  <ds@schleef.org>
14828
14829         * gst/gstvalue.c: 
14830         * gst/gstvalue.h:
14831           Rearrange lots of code.  Change registration of compare function
14832           into registration of compare/serialize/deserialize functions.
14833           Doesn't include implementation of gst_value_[de]serialize(),
14834           but that should be easy.
14835
14836 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14837
14838         * docs/gst/gstreamer-sections.txt:
14839         * docs/gst/tmpl/gstprops.sgml: removed
14840         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14841           David removed props and caps code, so let's remove their docs as well.
14842           Removed all no longer existing symbols from gstreamer-sections.txt
14843           
14844 2003-12-22  Colin Walters  <walters@verbum.org>
14845
14846         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14847           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14848           of tags directly.
14849
14850 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14851
14852         * gst/elements/gstelements.c:
14853           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14854         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14855           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14856           gst_caps (peer).
14857
14858 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14859
14860         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14861         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14862         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14863         (gst_spider_identity_sink_loop_type_finding):
14864         * gst/autoplug/gstspideridentity.h:
14865           Fix autoplugging in spider element, so it works with new caps.
14866           This was mainly caused by identifying empty caps incorrectly.
14867
14868 2003-12-22  David Schleef  <ds@schleef.org>
14869
14870         * gststructure.c, gstvalue.c, gstvalue.h: Add
14871           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14872           using g_value_copy()
14873
14874 2003-12-21  David Schleef  <ds@schleef.org>
14875
14876         * many, many files: Merge CAPS branch.  This includes:
14877           - implemention of GstValue and several GstValue types
14878           - implemention of GstStructure
14879           - entire rewrite of GstCaps
14880           - removal of GstProps
14881           - many changes to GstPad to compensate for new caps paradigm
14882           - removal of GstBufferpool
14883         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14884         gstvalue.h, gst/gstcaps[2]*.[ch]:
14885           - rename gstcaps2.[ch] to gstcaps.[ch]
14886
14887 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14888
14889         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14890         (gst_queue_chain), (gst_queue_handle_src_event):
14891           implement timeout for sending events. Workaround for if the
14892           pipeline on this queue is not passing any data.
14893
14894 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14895                                                                                 
14896         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14897         * moved CVS to freedesktop.org