check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's retur...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-26  Andy Wingo  <wingo@pobox.com>
2
3         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
4         element_set_state's return val.
5         (test_2_elements): Add test that's been disabled for months.
6
7         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8         can-activate-pull properties.
9
10         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11         can-activate-pull properties. Implement is_seekable so fakesrc can
12         operate in pull mode.
13
14         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
15         properties.
16         (gst_base_sink_activate, gst_base_sink_activate_pull)
17         (gst_base_sink_activate_push): Make activation mode choosing work.
18         Cleanups.
19         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20         is right. Make pull mode work. Post an eos before pausing in pull
21         mode.
22         (gst_base_sink_change_state): Pay attention to the core's
23         change_state() return val.
24         
25         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26         has-getrange properties. Cleanups.
27         
28         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
29         has_getrange and replace with can_activate_pull and
30         can_activate_push.
31
32         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
33         locking comments. Remove has_loop, has_chain and replace with
34         can_activate_pull and can_activate_push.
35
36 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
37
38         * configure.ac:
39         * examples/Makefile.am:
40         * examples/metadata/Makefile.am:
41         * examples/metadata/read-metadata.c: (message_loop),
42         (have_pad_handler), (make_pipeline), (print_tag), (main):
43           Add metadata reading example that loops over a list of filenames,
44           dumping any tags found.
45
46         * gst/gstbus.c: (gst_bus_dispose):
47         * gst/gstelement.c: (gst_element_dispose):
48           Release a few potentially-held references in dispose.
49
50 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
51
52         * docs/gst/tmpl/gstminiobject.sgml:
53           do *not* add tmpl/*.sgml files to CVS!
54
55 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
56
57         * libs/gst/bytestream/.cvsignore:
58         * libs/gst/bytestream/Makefile.am:
59         * libs/gst/bytestream/adapter.c:
60         * libs/gst/bytestream/adapter.h:
61         * libs/gst/bytestream/bytestream.c:
62         * libs/gst/bytestream/bytestream.h:
63         * libs/gst/bytestream/filepad.c:
64         * libs/gst/bytestream/filepad.h:
65           removing obsolete files
66
67 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
68
69         * docs/gst/gstreamer-docs.sgml:
70         * docs/libs/gstreamer-libs-docs.sgml:
71           disabed additional index entries again, as this makes docs-gen just
72           slow and they aren't useful yet
73         * docs/libs/gstreamer-libs-sections.txt:
74           little -section.txt cleanup for libs
75
76 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
77
78         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
79         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
80           fix up some debugging
81         (gst_base_transform_get_unit_size),
82         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
83         (gst_base_transform_handle_buffer):
84         * gst/base/gstbasetransform.h:
85           handle and store timed NEWSEGMENT events so that subclasses that
86           calculate time by counting samples have a segment_start time they
87           need to add to their timestamps - see audioresample
88
89 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
90
91         * gst/gstbin.h:
92           removed ';' from the end of macro defs
93         * docs/gst/gstreamer-docs.sgml:
94         * docs/gst/gstreamer-sections.txt:
95         * docs/gst/tmpl/.cvsignore:
96         * gst/gstbus.h:
97         * gst/gstelement.c: (gst_element_class_init),
98         (gst_element_set_state), (activate_pads),
99         (gst_element_save_thyself):
100         * gst/gstevent.c: (gst_event_new_newsegment):
101         * gst/gstevent.h:
102         * gst/gstiterator.c:
103         * gst/gstiterator.h:
104         * gst/gstpad.c:
105         * gst/gstprobe.h:
106         * gst/gstutils.c: (gst_pad_query_convert):
107         * gst/gstutils.h:
108           fixed parameter name mismatches between source, header and docs
109           added some more docs, resolved the last batch of unused elements in
110           docs (now someone needs to doc them)
111
112 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
113
114         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
115         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
116           don't walk through the plugins backwards.  Where is all this
117           reversed logic coming from ?
118
119 2005-08-25  Wim Taymans  <wim@fluendo.com>
120
121         * gst/base/gstbasetransform.c: (gst_base_transform_init),
122         (gst_base_transform_transform_size),
123         (gst_base_transform_configure_caps),
124         (gst_base_transform_get_unit_size),
125         (gst_base_transform_buffer_alloc),
126         (gst_base_transform_change_state):
127         * gst/base/gstbasetransform.h:
128         Cache caps unit_size.
129         Make sure we cannot negotiate up and downstream at the
130         same time.
131
132 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
133
134         * gst/gst.c: (init_pre), (init_post):
135           register the installed plugin path after the env var
136         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
137         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
138           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
139           directories, so the tests can prefer uninstalled over installed
140
141 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
142
143         * gst/base/gstbasetransform.h:
144           comment
145         * gst/gstpad.c:
146           add to docs
147
148 2005-08-25  Wim Taymans  <wim@fluendo.com>
149
150         * gst/gstbin.c: (bin_bus_handler):
151         Be a bit more conservative about the posted message.
152         
153         * gst/gstbus.c: (gst_bus_post):
154         Some cleanups, warn wrong return values.
155
156 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
157
158         * check/gst/gstbin.c: (GST_START_TEST):
159         * gst/gstbin.c: (bin_bus_handler):
160         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
161         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
162         (gst_message_new_warning), (gst_message_new_tag),
163         (gst_message_new_state_changed), (gst_message_new_segment_start),
164         (gst_message_new_segment_done), (gst_message_new_custom):
165         * gst/gstmessage.h:
166         * tools/gst-launch.c: (event_loop):
167         * tools/gst-md5sum.c: (event_loop):
168           Revert unpopular change for GST_MESSAGE_SRC to GObject.
169
170 2005-08-25  Wim Taymans  <wim@fluendo.com>
171
172         * check/generic/states.c: (GST_START_TEST):
173         Cleanup can be done at the end.
174
175         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
176         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
177         (gst_task_get_state), (gst_task_start), (gst_task_pause):
178         Oh boy.. Thanks for finding this, Thomas. 
179
180 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
181
182         * docs/gst/gstreamer.types:
183           added missing types
184
185 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
186
187         * docs/gst/gstreamer-docs.sgml:
188         * docs/gst/gstreamer-sections.txt:
189         * docs/gst/tmpl/.cvsignore:
190         * gst/gstbin.c:
191         * gst/gstiterator.c:
192         * gst/gstutils.c:
193         * gst/registries/gstxmlregistry.h:
194           added miissing classes and symbols (123 more to go)
195           removed removed symbols from section file
196           fixed many doc-comments
197
198 2005-08-24  Wim Taymans  <wim@fluendo.com>
199
200         * check/generic/states.c: (GST_START_TEST):
201         Make sure all tasks are stopped.
202
203         * check/gst/gstbin.c: (GST_START_TEST):
204         Unref after usage for proper valgrinding.
205
206         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
207         Really wait for the task to stop before destroying the
208         mutex.
209
210         * gst/gstqueue.c: (gst_queue_sink_activate_push),
211         (gst_queue_src_activate_push):
212         Small cleanups. Don't stop the task when we did not start
213         it.
214
215         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
216         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
217         (gst_task_get_state), (gst_task_start), (gst_task_pause),
218         (gst_task_join):
219         * gst/gsttask.h:
220         Protect the stream lock with the object lock.
221         Disallow setting the stream lock when running.
222         Add cleanup_all to wait for the threadpool to finish.
223         Remove code to autoallocate a mutex if none was provided.
224         Add _join() to wait for a task to stop.
225         Protect the thread pool with a global lock.
226
227 2005-08-24  Wim Taymans  <wim@fluendo.com>
228
229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
230         (gst_base_sink_get_times), (gst_base_sink_do_sync),
231         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
232         * gst/base/gstbasesink.h:
233         Handle newsegment events correctly.
234         Drop buffers out of the segment range.
235
236 2005-08-22  Andy Wingo  <wingo@pobox.com>
237
238         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
239         macro, implements an interface and gstimplementsinterface for a
240         new type.
241
242 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
243
244         * check/Makefile.am:
245         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
246           add a test that does a bunch of state changes on elements
247           needs some fixing for valgrind
248         * check/states/sinks.c: (gst_object_suite):
249           whitespace
250         * gst/gstcaps.h:
251           add prototype for gst_caps_is_equal_fixed
252         * gst/gstplugin.c:
253         * gst/gstregistrypool.c:
254           doc fixes
255
256 2005-08-24  Andy Wingo  <wingo@pobox.com>
257
258         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
259         convert a negative value. Doesn't make much sense. Mostly this is
260         here to force callers to ensure -1 maps to -1.
261
262 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
263
264         * docs/pwg/advanced-types.xml:
265           Well done to Michael for catching my deliberate introduction
266           of this spelling mistake. 
267         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
268         * gst/gstelement.h:
269           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
270           unlink pads before removing the element from the bin.
271
272 2005-08-24  Andy Wingo  <wingo@pobox.com>
273
274         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
275         the same thing as GST_DEBUG=*:4.
276         (parse_debug_level, parse_debug_category): New helper parsers.
277
278 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
279
280         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
281         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
282         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
283         (gst_base_transform_buffer_alloc),
284         (gst_base_transform_handle_buffer):
285           use gboolean return values and pointers to size so we can use the
286           full GST_BUFFER_SIZE range (guint) for buffer sizes
287           use GstPadDirection for transform_caps
288         * gst/base/gstbasetransform.h:
289           rename get_size to get_unit_size since that's what it is
290         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
291           use GstPadDirection for transform_caps
292         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
293         * gst/gstutils.h:
294           cleanup and debugging
295
296 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
297
298         * gst/gstelement.c: (gst_element_class_init),
299         (gst_element_set_state), (activate_pads),
300         (gst_element_save_thyself):
301         * tools/gst-compprep.c: (main):
302         * tools/gst-inspect.c: (print_element_properties_info):
303         * tools/gst-xmlinspect.c: (print_element_properties):
304           Fixed long standing mem-leak
305
306 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
307
308         * check/gst/gstbin.c: (GST_START_TEST):
309         * gst/gstbin.c: (bin_bus_handler):
310         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
311         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
312         (gst_message_new_warning), (gst_message_new_tag),
313         (gst_message_new_state_changed), (gst_message_new_segment_start),
314         (gst_message_new_segment_done), (gst_message_new_custom):
315         * gst/gstmessage.h:
316         * tools/gst-launch.c: (event_loop):
317         * tools/gst-md5sum.c: (event_loop):
318           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
319           that applications can sensibly post custom messages with references
320           to their own objects.
321
322 2005-08-24  Andy Wingo  <wingo@pobox.com>
323
324         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
325         already.
326
327 2005-08-24  Wim Taymans  <wim@fluendo.com>
328
329         * gst/base/gstbasetransform.c: (gst_base_transform_init),
330         (gst_base_transform_transform_caps),
331         (gst_base_transform_transform_size),
332         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
333         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
334         (gst_base_transform_handle_buffer):
335         * gst/base/gstbasetransform.h:
336         Many fixes and new features added by Thomas. Can now also do
337         transforms with variable sizes and a custom fixate_caps function.
338
339 2005-08-24  Wim Taymans  <wim@fluendo.com>
340
341         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
342         Some debugging.
343
344         * gst/gstclock.h:
345         Cast to ClockTime before formatting to time.
346
347         * gst/gstutils.h:
348         Cleanups.
349
350 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
351
352         * check/gst-libs/controller.c: (GST_START_TEST),
353         (gst_controller_suite):
354         * docs/gst/tmpl/gstcaps.sgml:
355         * docs/gst/tmpl/gstghostpad.sgml:
356         * docs/gst/tmpl/gstquery.sgml:
357         * docs/gst/tmpl/gstutils.sgml:
358         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
359         (gst_object_sink_values), (gst_object_get_value_arrays),
360         (gst_object_get_value_array):
361           gracefully handle helper method calls to objects that are not beeing
362           controlled, added test case for that          
363
364 2005-08-23  Wim Taymans  <wim@fluendo.com>
365
366         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
367         (gst_event_new_newsegment), (gst_event_parse_newsegment),
368         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
369         (gst_event_parse_qos), (gst_event_new_seek),
370         (gst_event_parse_seek):
371         * gst/gstevent.h:
372         Some more debugging output and doc cleanups.
373
374         * gst/gstqueue.c: (gst_queue_handle_sink_event):
375         Fix possible deadlock.
376
377 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
378
379         * docs/gst/gstreamer-docs.sgml:
380         * docs/gst/gstreamer-sections.txt:
381         * docs/gst/gstreamer.types:
382         * docs/gst/tmpl/.cvsignore:
383         * gst/gstbin.h:
384         * gst/gstbus.c:
385         * gst/gstelement.c:
386         * gst/gstevent.h:
387           added about 100 symbols from gstreamer-unused.txt to the right sections
388           fixed more broken comments
389           added GstBus to docs
390
391 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
392
393         * docs/gst/gstreamer-sections.txt:
394         * docs/gst/tmpl/.cvsignore:
395         * docs/gst/tmpl/gstbin.sgml:
396         * docs/gst/tmpl/gstbuffer.sgml:
397         * gst/base/gstbasesrc.c:
398         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
399         * gst/gstbuffer.c:
400         * gst/gstbuffer.h:
401         * tools/gst-launch.1.in:
402           inlined more doc comments, added missing comments and fixed comments
403           fixed typos
404
405 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
406
407         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
408           some debugging
409         * gst/gstcaps.h:
410           whitespace fixes
411         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
412           more debugging
413         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
414         * gst/gststructure.h:
415           add a fixate function for booleans; add a FIXME that these func
416           names should probably be gst_structure_fixate_*
417
418 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
419
420         * docs/gst/gstreamer-docs.sgml:
421         * docs/gst/gstreamer-sections.txt:
422         * gst/Makefile.am:
423         * gst/gstbin.c: (gst_bin_get_type),
424         (gst_bin_child_proxy_get_child_by_index),
425         (gst_bin_child_proxy_get_children_count),
426         (gst_bin_child_proxy_init):
427         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
428         (gst_child_proxy_get_child_by_index),
429         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
430         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
431         (gst_child_proxy_get), (gst_child_proxy_set_property),
432         (gst_child_proxy_set_valist), (gst_child_proxy_set),
433         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
434         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
435         * gst/gstchildproxy.h:
436         * gst/parse/grammar.y:
437         * tools/gst-inspect.c: (print_interfaces),
438         (print_element_properties_info), (print_element_info):
439          ported gstchildproxy over from 0.8
440          ported gst-inspect fixes and enhancements over from 0.8
441
442 2005-08-22  Wim Taymans  <wim@fluendo.com>
443
444         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
445         (gst_base_transform_handle_buffer):
446         Also call the transform function if we have ANY caps.
447
448         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
449         Fix debug info.
450
451 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
452
453         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
454           Don't pretend to handle seek events if the source is not seekable
455
456 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
457
458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
459           Remove extra parameter to debug output
460
461         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
462         (gst_base_src_do_seek), (gst_base_src_activate_push):
463           Fix seek event handling.
464
465         * gst/gstpipeline.c: (gst_pipeline_change_state):
466         * gst/gstqueue.c: (gst_queue_handle_sink_event),
467         (gst_queue_src_activate_push):
468           Don't start the src pad task on FLUSH_STOP if the pad
469           isn't linked.
470           Debug changes.
471
472 2005-08-22  Wim Taymans  <wim@fluendo.com>
473
474         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
475         Added check for gst_static_caps_get() refcounting.
476
477 2005-08-22  Wim Taymans  <wim@fluendo.com>
478
479         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
480         Make _static_caps_get() refcounting sane.
481         
482         * gst/gstelement.c: (gst_element_set_state):
483         Add g_return_val_if_fail() to protect against segfaults.
484
485 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
486
487         * docs/gst/tmpl/gstevent.sgml:
488         * gst/gstevent.c:
489         * gst/gstevent.h:
490           inlined remaining docs, added missing doc comments
491
492 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
493
494         * check/gst/gstbin.c: (GST_START_TEST):
495           since we don't know when preroll is done, use refcount range
496           check for the sink
497         * gst/check/gstcheck.h:
498           add macro for checking refcount range
499
500 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
501
502         * check/Makefile.am:
503           clean up environment for when registry gets built versus
504           when actual tests are run; valgrind seems to not report
505           leaks if GST_PLUGIN_PATH is set to some specific values
506         * check/gst/gstbin.c: (GST_START_TEST):
507           add more refcounting checks; maybe this exposes a
508           preroll lock bug ?
509         * common/check.mak:
510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
511         * gst/check/gstcheck.h:
512         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
513         (gst_bin_change_state):
514         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
515           add/fix debugging/whitespace
516
517 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
518
519         * check/gst/gstevent.c: (event_probe), (test_event),
520         (GST_START_TEST):
521          Er, don't call gst_bin_watch_for_state_change you idiot.
522
523 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
524
525         * check/Makefile.am:
526           Use CHECK_CFLAGS and CHECK_LIBS
527         * check/gst/gstevent.c: (event_probe), (test_event),
528         (GST_START_TEST):
529           Don't leak events.
530         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
531         (gst_base_src_start), (gst_base_src_stop),
532         (gst_base_src_activate_push), (gst_base_src_activate_pull),
533         (gst_base_src_change_state):
534           Sprinkle gst_base_src_stop liberally around error paths to fix
535           problems reusing a source after failed state changes.
536         * gst/base/gsttypefindhelper.c: (helper_find_peek),
537         (helper_find_suggest), (gst_type_find_helper):
538           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
539         * gst/gstevent.h:
540         * docs/gst/tmpl/gstevent.sgml:
541           Migrate part of the docs from the SGML file. Wait for ensonic to
542           tell me how I did it wrong ;)
543         * tools/gst-typefind.c: (main):
544           Extra robustness to state changes between files.
545
546 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
547
548         * check/Makefile.am:
549           don't valgrind the controller test - it's leaking - Stefan, HELP
550         * gst/check/gstcheck.c: (gst_check_message_error),
551         (gst_check_chain_func), (gst_check_setup_element),
552         (gst_check_teardown_element), (gst_check_setup_src_pad),
553         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
554         (gst_check_teardown_sink_pad):
555         * gst/check/gstcheck.h:
556           add a bunch of methods to set up elements, and src and sink pads
557         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
558         * check/elements/identity.c: (setup_identity), (cleanup_identity),
559         (GST_START_TEST):
560           use them
561         * gst/gstmessage.c:
562         * gst/gsttag.h:
563           whitespace/doc fixes
564
565 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
566
567         * gst/gstelement.h:
568           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
569           be handled by the application and not always printed as well
570
571 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
572
573         * check/Makefile.am:
574           set GST_TOOLS_DIR
575         * gst/check/gstcheck.c: (gst_check_message_error):
576         * gst/check/gstcheck.h:
577           add a fail_unless_equals_int
578           add fail_unless for error messages
579
580 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
581
582         * check/Makefile.am:
583         * check/gst.supp:
584         * common/Makefile.am:
585         * common/check.mak:
586         * common/gst.supp:
587           factor out some of the common stuff so we can use it
588
589 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         * check/Makefile.am:
592         * check/gst/gstiterator.c: (GST_START_TEST):
593         * check/gst/gstsystemclock.c: (GST_START_TEST),
594         (gst_systemclock_suite):
595         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
596         * gst/gstclock.c:
597           valgrind more tests
598
599 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
600
601         * check/elements/.cvsignore:
602         * check/elements/gstfakesrc.c:
603           rename to name of element
604         * check/elements/identity.c: (chain_func), (event_func),
605         (setup_identity), (cleanup_identity), (GST_START_TEST),
606         (identity_suite), (main):
607           add a test for identity
608         * check/Makefile.am:
609         * pkgconfig/Makefile.am:
610         * pkgconfig/gstreamer-check.pc.in:
611         * pkgconfig/gstreamer-check-uninstalled.pc.in:
612         * gst/check:
613         * gst/Makefile.am:
614         * configure.ac:
615           move the check stuff to a library that gets installed
616         * check/gst-libs/controller.c: (GST_START_TEST):
617         * check/gst-libs/gdp.c:
618         * check/gst/gst.c: (GST_START_TEST):
619         * check/gst/gstbin.c:
620         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
621         * check/gst/gstbus.c:
622         * check/gst/gstcaps.c: (GST_START_TEST):
623         * check/gst/gstelement.c:
624         * check/gst/gstghostpad.c:
625         * check/gst/gstiterator.c:
626         * check/gst/gstmessage.c:
627         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
628         * check/gst/gstobject.c:
629         * check/gst/gstpad.c: (GST_START_TEST):
630         * check/gst/gststructure.c: (GST_START_TEST):
631         * check/gst/gstsystemclock.c: (GST_START_TEST),
632         (gst_systemclock_suite):
633         * check/gst/gsttag.c: (gst_tag_suite):
634         * check/gst/gstvalue.c:
635         * check/pipelines/cleanup.c:
636         * check/pipelines/simple_launch_lines.c:
637         * check/states/sinks.c:
638           change include statement
639
640         * docs/gst/gstreamer-sections.txt:
641         * docs/gst/tmpl/gstpad.sgml:
642           document more pad stuff
643         * gst/gstminiobject.c: (gst_mini_object_ref),
644         (gst_mini_object_unref):
645           debug refcounting
646
647 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
648
649         * docs/gst/tmpl/gst.sgml:
650         * gst/gst.c:
651           eliminate another tmpl file, fix spelling in the long-description
652
653 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
654
655         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
656         (test_event), (timediff), (gstevents_suite):
657           Should fix build on 64-bit arch's
658
659 2005-08-18  Andy Wingo  <wingo@pobox.com>
660
661         Make sure that when a pipeline goes to PLAYING, that data has
662         actually hit the sink.
663
664         * check/states/sinks.c (test_sink): A sink that doesn't get any
665         data shouldn't return SUCCESS for going to either PLAYING or
666         PAUSED. Test also the return values on the way back down.
667
668         * gst/gstelement.c (gst_element_set_state): When changing the
669         state of an element currently changing state asynchronously, go to
670         lost-state after commiting the pending state. Makes future calls
671         to get_state continue to return ASYNC.
672
673         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
674         ASYNC when going to PLAYING if we still don't have preroll, as can
675         happen with live sources.
676
677 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
678
679         * docs/pwg/advanced-types.xml:
680           Hack long paragraph into 2 chunks as a workaround for buggy
681           jadetex version in sid and breezy that loops infinitely and
682           eats all RAM.
683
684 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
685
686         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
687         (test_event), (timediff), (gstevents_suite):
688           Provide more error margin in clock measurements to allow for 
689           g_get_current_time inaccuracies.
690
691 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
692
693         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
694         (test_event), (timediff), (gstevents_suite):
695            Fix error message output so I might be able to tell why the
696            test works here but fails on the build farm.
697
698 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
699
700         * check/Makefile.am:
701         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
702         (test_event), (timediff), (gstevents_suite), (main):
703           I wrote a test!
704
705         * docs/design/part-seeking.txt:
706           Spelling correction
707
708         * docs/gst/tmpl/gstevent.sgml:
709         * docs/gst/tmpl/gstfakesrc.sgml:
710           Docs updates.
711
712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
713           Treat a buffer-without-newsegment the same as a receiving 
714           a newsegment not in time format, and disable syncing to the clock
715           with a warning.
716
717         * gst/gstbus.c: (gst_bus_set_sync_handler):
718           Assert if anyone tries to replace the existing sync_handler for bus, 
719           as only the owner should be setting it.
720
721         * gst/gstevent.h:
722           Have a fixed set of custom event enums with events identified by
723           their structure name (as in 0.8), rather than a free-for-all
724           allowing collisions between enum values from different plugins.
725
726         * gst/gstpad.c: (gst_pad_class_init):
727           Docs change.
728           
729         * gst/gstqueue.c: (gst_queue_handle_sink_event):
730           Handle out-of-band downstream events from the sending thread.
731
732 2005-08-17  Andy Wingo  <wingo@pobox.com>
733
734         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
735         play-timeout==0 to mean no timeout at all. In that case, don't
736         bother with a get_state or a warning, just return directly, even
737         if it's ASYNC.
738
739         * gst/base/gstbasetransform.c: Debug changes.
740
741         * gst/gstutils.h:
742         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
743         ensure bins post state change messages. A bit of a hack but I can't
744         think of a way to avoid it.
745
746         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
747
748 2005-08-16  Andy Wingo  <wingo@pobox.com>
749
750         * gst/base/gstadapter.h:
751         * gst/base/gstadapter.c (gst_adapter_take): New function, like
752         peek() but you own the data. Not terribly efficient atm.
753
754 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
755
756         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
757         (gst_element_found_tags):
758         * gst/gstutils.h:
759           Add two utility functions for tag handling.
760
761 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
762
763         * docs/manual/advanced-dataaccess.xml:
764         * docs/manual/basics-helloworld.xml:
765           Fix docs to use _bin_add() before _link(), which fixes the examples
766           with recent core versions (reported by Madhan Raj M
767           <raj_madan@rediffmail.com>, #313199).
768
769 2005-08-16  Wim Taymans  <wim@fluendo.com>
770
771         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
772         Added subtract checks.
773
774         * docs/design/part-events.txt:
775         Some more docs about newsegment
776
777         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
778         Fix FIXME
779
780         * gst/gstcaps.c: (gst_caps_to_string):
781         Add comments, cleanups.
782         
783         * gst/gstelement.c: (gst_element_save_thyself):
784         cleanups
785         
786         * gst/gstvalue.c: (gst_value_collect_int_range),
787         (gst_string_unwrap), (gst_value_union_int_int_range),
788         (gst_value_union_int_range_int_range),
789         (gst_value_intersect_int_int_range),
790         (gst_value_intersect_int_range_int_range),
791         (gst_value_intersect_double_double_range),
792         (gst_value_intersect_double_range_double_range),
793         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
794         (gst_value_subtract_int_range_int),
795         (gst_value_subtract_double_range_double),
796         (gst_value_subtract_double_range_double_range),
797         (gst_value_subtract_from_list), (gst_value_subtract_list),
798         (gst_value_can_compare), (gst_value_compare_fraction):
799         Cleanups, add comments, remove unneeded asserts.
800
801 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
802
803         * tools/gst-launch.c: (event_loop):
804           don't convert NULL structures to strings
805
806 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
807
808         * docs/gst/gstreamer-sections.txt:
809           made some defines private
810         * docs/gst/tmpl/gstconfig.sgml:
811         * docs/gst/tmpl/gstqueue.sgml:
812         * docs/gst/tmpl/gsttaglist.sgml:
813         * docs/gst/tmpl/gsttypes.sgml:
814         * docs/gst/tmpl/gstutils.sgml:
815         * docs/pwg/appendix-porting.xml:
816         * gst/base/gstbasesink.h:
817         * gst/base/gstbasesrc.c:
818         * gst/base/gstbasesrc.h:
819         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
820         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
821         * gst/gstelement.c: (gst_element_class_init):
822         * gst/gstpad.c: (gst_pad_class_init):
823         * gst/gstqueue.c: (gst_queue_class_init):
824         * gst/gstxml.c: (gst_xml_class_init):
825           documented all undocumented signal inline
826         * libs/gst/controller/gst-controller.h:
827           added padding
828
829 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
830
831         * docs/pwg/appendix-porting.xml:
832           Document _set_link_function -> _set_setcaps_function.
833
834 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
835
836         * check/Makefile.am:
837           add a .check target for running the check
838         * check/gst-libs/controller.c: (GST_START_TEST):
839           cosmetic fixups
840         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
841           complete checks for gstbuffer; would be nice if I could get the
842           gcov stuff to work so I can see if I actually completed gstbuffer.c
843         * check/gstcheck.h:
844           add ASSERT_BUFFER_REFCOUNT
845
846 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
847
848         * docs/gst/gstreamer-sections.txt:
849         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
850         * gst/gsttag.h:
851           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
852           spew out a warning if a tag that is already registered
853           is re-registered, unless it is re-registered with a 
854           different type (#308438).
855
856 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
857
858         * docs/pwg/appendix-porting.xml:
859         * docs/pwg/building-state.xml:
860           Add some paragraphs about state changes in 0.9 to the PWG
861           and the porting guide, in particular about the new meaning
862           of GST_STATE_PAUSED and how to write state change functions
863           with concurrent access by multiple threads in mind.
864
865 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
866
867         * docs/gst/gstreamer-docs.sgml:
868         * docs/libs/gstreamer-libs-docs.sgml:
869           added deprecation and since indexes
870         * libs/gst/controller/gst-controller.c:
871         * libs/gst/controller/gst-helper.c:
872           added since tags
873
874
875 2005-08-11  Wim Taymans  <wim@fluendo.com>
876
877         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
878         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
879         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
880         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
881         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
882         (gst_ghost_pad_set_target):
883         Actually implement (re)setting the target on a ghostpad
884         as described in the docs.
885
886 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
887
888         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
889           Check whether GST_DEBUG_NO_COLOR environment variable is
890           set and disable coloured debug output if that is the case.
891
892 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * gst/base/gsttypefindhelper.c: (helper_find_peek),
895         (gst_type_find_helper):
896           The memory returned by gst_type_find_peek() needs to
897           stay valid until the end of a typefind function, and
898           typefind functions may keep results from different 
899           offsets around, so we can't just unref the buffer from
900           the previous _peek(), but have to save all buffers 
901           returned by _peek() until typefinding is done and only
902           free them then.
903
904 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
905
906         * docs/gst/gstreamer-sections.txt:
907         * gst/gstutils.h:
908           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
909
910 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
911
912         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
913           Fix a pretty good memleak.
914
915 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
916
917         * gst/gstiterator.h:
918           Fix wrong include and 'make distcheck'.
919
920 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
921
922         * gst/gstbin.c: (bin_bus_handler):
923           Use gst_element_post_message() instead.
924
925 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
926
927         * gst/base/gstadapter.h:
928         * gst/base/gstbasesink.h:
929         * gst/base/gstbasesrc.h:
930         * gst/base/gstbasetransform.h:
931         * gst/base/gstcollectpads.h:
932         * gst/base/gstpushsrc.h:
933         * gst/gstiterator.h:
934           Add padding to our base elements' class and instance structs and
935           to GstIterator (you will need to rebuild all plugins and apps!)
936
937 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
938
939         * gst/gstbin.c: (bin_bus_handler):
940           Make default message forwarding from child->bus to bin->bus
941           threadsafe and make it not emit warnings if the parent has no bus.
942
943 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
944
945         * gst/gstelement.c: (activate_pads):
946           On paused->ready, set pad->caps to NULL, as is the documented
947           behaviour in this state change. Fixes playback of series of
948           media files when visualization is enabled in Totem.
949
950 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
951
952         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
953           Allow NULL as filter-caps (which means "any").
954
955 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
956
957         * docs/libs/gstreamer-libs-sections.txt:
958         * libs/gst/controller/gst-controller.c:
959         * libs/gst/controller/gst-controller.h:
960         * libs/gst/controller/gst-helper.c:
961           adding more entries to the docs and fix small doc-bugs
962
963 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
964
965         * docs/gst/gstreamer-docs.sgml:
966         * docs/gst/gstreamer-sections.txt:
967         * docs/gst/gstreamer.types:
968         * docs/gst/tmpl/gstbasesink.sgml:
969         * docs/gst/tmpl/gstbasesrc.sgml:
970         * docs/gst/tmpl/gstbasetransform.sgml:
971         * docs/gst/tmpl/gstfakesrc.sgml:
972         * gst/base/gstcollectpads.c:
973         * gst/base/gstcollectpads.h:
974         * libs/gst/controller/gst-controller.c:
975         * libs/gst/controller/gst-controller.h:
976         * libs/gst/controller/gst-helper.c:
977         * libs/gst/controller/gst-interpolation.c:
978         * libs/gst/controller/lib.c:
979           added long/short desc for controller docs
980           added collectpads base class docs
981           added correct includes to base-class docs
982
983 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
984
985         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
986         (gst_test_mono_source_set_property),
987         (gst_test_mono_source_class_init), (GST_START_TEST),
988         (gst_controller_suite):
989         * docs/gst/gstreamer-docs.sgml:
990         * docs/gst/gstreamer-sections.txt:
991         * docs/gst/gstreamer.types:
992         * docs/libs/gstreamer-libs-docs.sgml:
993         * docs/libs/gstreamer-libs-sections.txt:
994         * gst/base/gstadapter.c:
995         * libs/gst/controller/gst-controller.c:
996         (gst_controlled_property_new), (gst_controlled_property_free),
997         (gst_controller_new_valist),
998         (gst_controller_remove_properties_valist),
999         (gst_controller_sink_values), (_gst_controller_finalize):
1000         * libs/gst/controller/gst-controller.h:
1001         * libs/gst/controller/gst-helper.c:
1002         (gst_object_control_properties), (gst_object_uncontrol_properties),
1003         (gst_object_get_controller), (gst_object_set_controller),
1004         (gst_object_sink_values), (gst_object_get_value_arrays),
1005         (gst_object_get_value_array):
1006           more tests (and fixes) for the controller
1007           more docs for the controller
1008           integrated companies docs for the adapter 
1009
1010 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1011
1012         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
1013         (GST_START_TEST), (fakesrc_suite):
1014           add tests for sizetype
1015
1016 2005-08-04  Andy Wingo  <wingo@pobox.com>
1017
1018         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
1019         fixes buffer_alloc proxying among other things.
1020
1021         * gst/base/gstbasetransform.c:
1022         * gst/base/gstbasetransform.h:
1023         Revert patch to gstbasetransform from 7-28 removing
1024         delay_configure.
1025
1026         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
1027         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
1028         Semantics changed, should return not the size of the output buffer
1029         but the byte size of a buffer with a given caps.
1030
1031         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
1032         debug object.
1033         (gst_base_transform_configure_caps): Don't set out_size here: (in,
1034         out) are not the pad caps until setcaps finishes.
1035         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
1036         not-in-place case as well. Deal with changing from in-place to
1037         not-in-place within calling pad_alloc_buffer. Still a bit
1038         concerned about the overhead here...
1039
1040 2005-08-03  Andy Wingo  <wingo@pobox.com>
1041
1042         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
1043         fixating is an error.
1044
1045 2005-08-04  Edward Hervey  <edward@fluendo.com>
1046
1047         * gst/base/gstadapter.h: 
1048         Added gst_adapter_get_type() to the header
1049
1050 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1051
1052         * check/Makefile.am:
1053         * check/gst-libs/controller.c:
1054         * libs/gst/controller/gst-controller.c:
1055         (gst_controller_new_valist):
1056           added check test suite for the controller
1057         * gst/base/gstpushsrc.c:
1058           fixed a doc typo
1059
1060 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1061
1062         * docs/gst/Makefile.am:
1063         * docs/gst/gstreamer-docs.sgml:
1064         * docs/gst/gstreamer-sections.txt:
1065         * docs/gst/gstreamer.types:
1066         * docs/gst/tmpl/gstfakesrc.sgml:
1067         * gst/base/README:
1068         * gst/base/gstbasesink.c:
1069         * gst/base/gstbasesink.h:
1070         * gst/base/gstbasesrc.c:
1071         * gst/base/gstbasesrc.h:
1072         * gst/base/gstbasetransform.c:
1073         * gst/base/gstpushsrc.c:
1074         * gst/base/gstpushsrc.h:
1075           add short/long description docs to base classes
1076           add pushsrc to the docs
1077           remove consolidated doc fragments
1078
1079 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1080
1081         * configure.ac:
1082         * docs/libs/Makefile.am:
1083         * docs/libs/gstreamer-libs-docs.sgml:
1084         * docs/libs/gstreamer-libs-sections.txt:
1085         * docs/libs/gstreamer-libs.types:
1086         * examples/Makefile.am:
1087         * examples/controller/.cvsignore:
1088         * examples/controller/Makefile.am:
1089         * examples/controller/audio-example.c: (main):
1090         * libs/gst/Makefile.am:
1091         * libs/gst/controller/.cvsignore:
1092         * libs/gst/controller/Makefile.am:
1093         * libs/gst/controller/gst-controller.c:
1094         (on_object_controlled_property_changed), (gst_timed_value_compare),
1095         (gst_timed_value_find),
1096         (gst_controlled_property_set_interpolation_mode),
1097         (gst_controlled_property_new), (gst_controlled_property_free),
1098         (gst_controller_find_controlled_property),
1099         (gst_controller_new_valist), (gst_controller_new),
1100         (gst_controller_remove_properties_valist),
1101         (gst_controller_remove_properties), (gst_controller_set),
1102         (gst_controller_set_from_list), (gst_controller_unset),
1103         (gst_controller_get), (gst_controller_get_all),
1104         (gst_controller_sink_values), (gst_controller_get_value_arrays),
1105         (gst_controller_get_value_array),
1106         (gst_controller_set_interpolation_mode),
1107         (_gst_controller_finalize), (_gst_controller_init),
1108         (_gst_controller_class_init), (gst_controller_get_type):
1109         * libs/gst/controller/gst-controller.h:
1110         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1111         (g_object_uncontrol_properties), (g_object_get_controller),
1112         (g_object_set_controller), (g_object_sink_values),
1113         (g_object_get_value_arrays), (g_object_get_value_array):
1114         * libs/gst/controller/gst-interpolation.c:
1115         (gst_controlled_property_find_timed_value_node),
1116         (interpolate_none_get), (interpolate_trigger_get),
1117         (interpolate_trigger_get_value_array):
1118         * libs/gst/controller/lib.c: (gst_controller_init):
1119         * pkgconfig/Makefile.am:
1120         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1121         * pkgconfig/gstreamer-control.pc.in:
1122         * testsuite/Makefile.am:
1123         * testsuite/controller/.cvsignore:
1124         * testsuite/controller/Makefile.am:
1125         * testsuite/controller/interpolator.c: (main):
1126           added controller code
1127           removed dparam pc files
1128
1129 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1130         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1131         (gst_collectpads_stop):
1132           Broadcast the condition when shutting down, to make sure we wake all
1133           threads up. Shut down pads on finalize, for safety.
1134
1135 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1136         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1137         (gst_base_transform_handle_buffer),
1138         (gst_base_transform_change_state):
1139           Handle PAUSED->READY->PAUSED transition after negotiation
1140           occurred already.
1141         * gst/gstmessage.c: (gst_message_init):
1142           Extra piece of debug for new messages.
1143
1144 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1145
1146         * configure.ac:
1147         * docs/gst/tmpl/gstbasesrc.sgml:
1148         * docs/gst/tmpl/gstelement.sgml:
1149         * docs/gst/tmpl/gstevent.sgml:
1150         * docs/gst/tmpl/gstfakesrc.sgml:
1151         * docs/gst/tmpl/gstformat.sgml:
1152         * docs/gst/tmpl/gstghostpad.sgml:
1153         * docs/gst/tmpl/gstpad.sgml:
1154         * docs/gst/tmpl/gstquery.sgml:
1155         * docs/gst/tmpl/gststructure.sgml:
1156         * docs/gst/tmpl/gsttaglist.sgml:
1157         * docs/gst/tmpl/gstvalue.sgml:
1158         * docs/libs/gstreamer-libs-docs.sgml:
1159         * docs/libs/gstreamer-libs-sections.txt:
1160         * docs/libs/gstreamer-libs.types:
1161         * libs/gst/Makefile.am:
1162         * libs/gst/control/.cvsignore:
1163         * libs/gst/control/Makefile.am:
1164         * libs/gst/control/control.c:
1165         * libs/gst/control/control.h:
1166         * libs/gst/control/dparam.c:
1167         * libs/gst/control/dparam.h:
1168         * libs/gst/control/dparam_smooth.c:
1169         * libs/gst/control/dparam_smooth.h:
1170         * libs/gst/control/dparamcommon.h:
1171         * libs/gst/control/dparammanager.c:
1172         * libs/gst/control/dparammanager.h:
1173         * libs/gst/control/dplinearinterp.c:
1174         * libs/gst/control/dplinearinterp.h:
1175         * libs/gst/control/unitconvert.c:
1176         * libs/gst/control/unitconvert.h:
1177         * testsuite/Makefile.am:
1178         * testsuite/dynparams/.cvsignore:
1179         * testsuite/dynparams/Makefile.am:
1180         * testsuite/dynparams/dparamstest.c:
1181         * tools/Makefile.am:
1182         * tools/gst-inspect.c: (print_element_info), (main):
1183         * tools/gst-xmlinspect.c: (print_element_info), (main):
1184           deactivate and remove dparams (libgstcontrol)
1185
1186 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1187
1188         * gst/elements/gsttypefindelement.c:
1189         (gst_type_find_element_have_type), (gst_type_find_element_init),
1190         (stop_typefinding), (gst_type_find_element_handle_event),
1191         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1192         * gst/elements/gsttypefindelement.h:
1193           Set caps on all outgoing buffers, not just the first one.
1194
1195 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1196
1197         * gst/elements/gsttypefindelement.c:
1198         (gst_type_find_element_have_type),
1199         (gst_type_find_element_check_set_buffer_caps),
1200         (gst_type_find_element_init), (stop_typefinding),
1201         (gst_type_find_element_handle_event),
1202         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1203         * gst/elements/gsttypefindelement.h:
1204           Set caps on first outgoing buffer when we've found the type.
1205
1206 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
1207
1208         * docs/gst/gstreamer-docs.sgml:
1209         * docs/gst/gstreamer-sections.txt:
1210         * docs/gst/tmpl/gstscheduler.sgml:
1211         * docs/gst/tmpl/gstschedulerfactory.sgml:
1212           Remove some old cruft from docs.
1213
1214 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * gst/gstpad.h:
1217           Fix inline docs for GstPadLinkReturn.
1218           
1219         * gst/gststructure.c: (gst_structure_has_name):
1220         * gst/gststructure.h:
1221         * docs/gst/gstreamer-sections.txt:
1222           New API: gst_structure_has_name().
1223
1224 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
1225
1226         * configure.ac:
1227           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1228           and _LARGEFILE_SOURCE in config.h as required. Do not 
1229           export those flags in our .pc files any longer (#142209).
1230
1231           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1232
1233         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1234         (gst_file_sink_do_seek), (gst_file_sink_event),
1235         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1236           Redo seek/tell calls with large file support in mind; add some
1237           debugging messages; add log message that tells us when large
1238           file support is unavailable or not enabled for some reason.
1239
1240         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1241           Add log message that tells us when large file support 
1242           is unavailable or not enabled for some reason.
1243
1244 2005-07-29  Wim Taymans  <wim@fluendo.com>
1245
1246         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1247         Added test for removing an element with ghostpad from a bin.
1248         Fixed test as current implementation does the right thing.
1249
1250         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1251         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1252         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1253         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1254         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1255         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1256         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1257         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1258         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1259         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1260         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1261         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1262         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1263         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1264         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1265         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1266         * gst/gstghostpad.h:
1267         Clean up ghostpads, remove properties for internal stuff.
1268         Make threadsafe.
1269         Fix refcounting.
1270         Prepare for switching targets, not all use cases work yet.
1271
1272 2005-07-29  Wim Taymans  <wim@fluendo.com>
1273
1274         * docs/design/part-gstghostpad.txt:
1275         Small update.
1276
1277         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1278         (gst_bin_remove_func):
1279         Unlinking pads while holding the bin LOCK is not a good
1280         idea.
1281
1282         * gst/gstpad.c: (gst_pad_class_init),
1283         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1284         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1285         No prob setting template after creating the pad.
1286
1287 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1288
1289         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1290         (gst_bus_peek), (gst_bus_source_dispatch),
1291         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1292         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1293           gst_bus_poll may be called from other threads. Handle
1294           this nicely by not making poll_data disappear off the
1295           stack once gst_bus_poll returns.
1296           gst_bus_peek now increments the refcount on the returned
1297           message.
1298
1299 2005-07-29  Wim Taymans  <wim@fluendo.com>
1300
1301         * docs/design/part-gstghostpad.txt:
1302         Overview of current GhostPad datastructures and use
1303         cases for changing the target.
1304
1305 2005-07-28  Wim Taymans  <wim@fluendo.com>
1306
1307         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1308         Added checks for hierarchy consistency whan adding linked
1309         elements to bins.
1310
1311         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1312         Added check to test element scheduling without bin/pipeline.
1313
1314         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1315         First add elements to bin, then link.
1316         
1317         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1318         (gst_bin_remove_func):
1319         Unlink pads from elements added/removed from bin to maintain
1320         hierarchy consistency.
1321
1322 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1323
1324         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1325         (gst_base_transform_handle_buffer):
1326         * gst/base/gstbasetransform.h:
1327           Remove broken delay_configure (fixes renegotiation of software
1328           scaling pipelines); remove some leftover printf()s.
1329
1330 2005-07-28  Wim Taymans  <wim@fluendo.com>
1331
1332         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1333         Added some more tests for wrong hierarchy
1334
1335         * docs/design/part-overview.txt:
1336         Some updates.
1337
1338         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1339         Cleanups.
1340
1341         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1342         (gst_element_dispose):
1343         Some more cleanups.
1344
1345         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1346         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1347         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1348         (gst_pad_set_caps), (gst_pad_send_event):
1349         Check for correct hierarchy when linking pads. Moving to
1350         strict requirement for ghostpads when linking elements in
1351         different bins.
1352
1353         * gst/gstpad.h:
1354         Clean ups. Added WRONG_HIERARCHY return value.
1355
1356 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1357
1358         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1359           Better debug if no transform is possible.
1360
1361 2005-07-27  Wim Taymans  <wim@fluendo.com>
1362
1363         * docs/random/wtay/network-transp:
1364         Some old doc I had.
1365
1366 2005-07-27  Wim Taymans  <wim@fluendo.com>
1367
1368         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1369         (gst_dp_event_from_packet):
1370         Fix serialization of seek events.
1371
1372 2005-07-27  Wim Taymans  <wim@fluendo.com>
1373
1374         * check/gst-libs/gdp.c: (GST_START_TEST):
1375         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1376         Fix compilation and fix event serialization.
1377
1378 2005-07-27  Wim Taymans  <wim@fluendo.com>
1379
1380         * CHANGES-0.9:
1381         * docs/design/part-TODO.txt:
1382         * docs/design/part-events.txt:
1383         Some docs updates
1384
1385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1386         (gst_base_sink_event), (gst_base_sink_do_sync),
1387         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1388         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1389         (gst_base_src_do_seek), (gst_base_src_event_handler),
1390         (gst_base_src_loop):
1391         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1392         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1393         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1394         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1395         (gst_base_transform_set_passthrough),
1396         (gst_base_transform_is_passthrough):
1397         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1398         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1399         Event updates.
1400
1401         * gst/gstbuffer.h:
1402         Use faster casts.
1403
1404         * gst/gstelement.c: (gst_element_seek):
1405         * gst/gstelement.h:
1406         Update gst_element_seek.
1407
1408         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1409         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1410         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1411         (gst_event_new_eos), (gst_event_new_newsegment),
1412         (gst_event_parse_newsegment), (gst_event_new_tag),
1413         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1414         (gst_event_parse_qos), (gst_event_new_seek),
1415         (gst_event_parse_seek), (gst_event_new_navigation):
1416         * gst/gstevent.h:
1417         Make GstEvent use GstStructure. Add parsing code, make sure the
1418         API is sufficiently generic.
1419         Mark possible directions of events and serialization.
1420
1421         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1422         (_gst_message_copy), (gst_message_new_segment_start),
1423         (gst_message_new_segment_done), (gst_message_new_custom),
1424         (gst_message_parse_segment_start),
1425         (gst_message_parse_segment_done):
1426         Small cleanups.
1427
1428         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1429         (gst_pad_set_caps), (gst_pad_send_event):
1430         Update for new events. 
1431         Catch events sent in wrong directions.
1432
1433         * gst/gstqueue.c: (gst_queue_link_src),
1434         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1435         (gst_queue_handle_src_query):
1436         Event updates.
1437
1438         * gst/gsttag.c:
1439         * gst/gsttag.h:
1440         Remove event code from this file.
1441
1442         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1443         (gst_dp_event_from_packet):
1444         Event updates.
1445
1446 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1447
1448         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1449         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1450         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1451           Make debugging actually useful.
1452
1453 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1454
1455         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1456         (gst_pad_fixate_caps):
1457           Implement default fixation once again, so that gst_pad_fixate()
1458           actually does anything at all. This probably needs to be some
1459           sort of a last resort, and use profile-based fixation first, but
1460           since that doesn't exist yet, this is the best we have. Fixes
1461           visualization in Totem.
1462
1463 2005-07-22  Wim Taymans  <wim@fluendo.com>
1464
1465         * docs/design/part-events.txt:
1466         Small update.
1467
1468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1469         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1470         (gst_base_sink_activate_pull):
1471         Some more comments.
1472
1473         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1474         (gst_fake_src_create):
1475         Fix handoff marshall.
1476
1477         * gst/elements/gstidentity.c: (gst_identity_class_init),
1478         (gst_identity_transform_ip):
1479         We're a real inplace element.
1480
1481         * gst/gstbus.c: (gst_bus_post):
1482         Added some comments.
1483
1484         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1485         * tests/muxing/case1.c: (main):
1486         * tests/sched/dynamic-pipeline.c: (main):
1487         * tests/sched/interrupt1.c: (main):
1488         * tests/sched/interrupt2.c: (main):
1489         * tests/sched/interrupt3.c: (main):
1490         * tests/sched/runxml.c: (main):
1491         * tests/sched/sched-stress.c: (main):
1492         * tests/seeking/seeking1.c: (event_received), (main):
1493         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1494         (main):
1495         * tests/threadstate/threadstate3.c: (main):
1496         * tests/threadstate/threadstate4.c: (main):
1497         * tests/threadstate/threadstate5.c: (main):
1498         Fix the tests.
1499
1500 2005-07-21  Wim Taymans  <wim@fluendo.com>
1501
1502         * docs/design/part-seeking.txt:
1503         Some small additions.
1504
1505         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1506         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1507         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1508         * gst/base/gstbasesink.h:
1509         discont values are gint64, handle the math correctly.
1510
1511         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1512         Make the basesrc report error if the source pad is not linked.
1513
1514         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1515         (gst_queue_loop), (gst_queue_handle_src_query),
1516         (gst_queue_src_activate_push):
1517         Make queue collect data even if the srcpad is not linked.
1518         Start pushing out data as soon as it is linked.
1519
1520         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1521         * gst/gstutils.h:
1522         Added gst_flow_get_name() to ease error reporting.
1523
1524 2005-07-20  Wim Taymans  <wim@fluendo.com>
1525
1526         * gst/gstmessage.c: (gst_message_new_segment_start),
1527         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1528         (gst_message_parse_segment_done):
1529         * gst/gstmessage.h:
1530         Added a bunch of messages for advanced seeking.
1531
1532         * gst/parse/grammar.y:
1533         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1534         (gst_dpman_state_changed):
1535         Fix some new-pad -> pad-added signals
1536
1537 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1538
1539         * docs/manual/appendix-porting.xml:
1540         * docs/pwg/appendix-porting.xml:
1541           Document new-pad/state-change signal renames and the FixedList
1542           type rename.
1543
1544 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1545
1546         * docs/manual/advanced-autoplugging.xml:
1547         * docs/manual/basics-helloworld.xml:
1548         * docs/manual/basics-pads.xml:
1549         * docs/random/ds/0.9-suggested-changes:
1550         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1551         * gst/gstelement.h:
1552         * gst/gstevent.h:
1553         * gst/gstformat.h:
1554         * gst/gstquery.h:
1555         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1556         (gst_structure_parse_array), (gst_structure_parse_value):
1557         * gst/gstvalue.c: (gst_type_is_fixed),
1558         (gst_value_list_prepend_value), (gst_value_list_append_value),
1559         (gst_value_list_get_size), (gst_value_list_get_value),
1560         (gst_value_transform_array_string), (gst_value_serialize_array),
1561         (gst_value_deserialize_array), (gst_value_intersect_array),
1562         (gst_value_is_fixed), (_gst_value_initialize):
1563         * gst/gstvalue.h:
1564           GstElement::new-pad -> pad-added, GstElement::state-change ->
1565           state-changed, GstValueFixedList -> GstValueArray, add format and
1566           flags as their own arguments in gst_element_seek() (should improve
1567           "bindeability"), remove function generators since they don't work
1568           under a whole bunch of compilers (they were deprecated already
1569           anyway).
1570
1571 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1572
1573         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1574         (_gst_debug_register_funcptr):
1575         * gst/gstinfo.h:
1576           Fix illegal cast on some platforms (#309253).
1577
1578 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1579
1580         * gst/gstmessage.c: (gst_message_new_custom):
1581         * gst/gstmessage.h:
1582           Add _new_custom, make _new_application a macro to _new_custom.
1583
1584 2005-07-20  Wim Taymans  <wim@fluendo.com>
1585
1586         * gst/base/gstbasesrc.c: (gst_base_src_init),
1587         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1588         * gst/base/gstbasesrc.h:
1589         Add a gboolean to decide when to push out a discont.
1590
1591         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1592         (gst_queue_loop), (gst_queue_handle_src_query),
1593         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1594         (gst_queue_set_property), (gst_queue_get_property):
1595         Some cleanups.
1596
1597         * tests/threadstate/threadstate1.c: (main):
1598         Make a thread test compile and run... very silly..
1599
1600
1601 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1602
1603         * docs/manual/appendix-porting.xml:
1604           Mention removal of libgstgconf-0.9.la and existence of gconf
1605           elements.
1606
1607 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1608
1609         * docs/pwg/advanced-clock.xml:
1610         * docs/pwg/appendix-porting.xml:
1611         * docs/pwg/intro-preface.xml:
1612         * docs/pwg/other-base.xml:
1613         * docs/pwg/other-manager.xml:
1614         * docs/pwg/other-nton.xml:
1615         * docs/pwg/other-ntoone.xml:
1616         * docs/pwg/other-oneton.xml:
1617         * docs/pwg/pwg.xml:
1618           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1619           demuxer), remove n-to-n (was never written), fix some code examples
1620           and links and update the porting section to include all this.
1621
1622 2005-07-19  Wim Taymans  <wim@fluendo.com>
1623
1624         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1625         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1626         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1627         (gst_queue_src_activate_push), (gst_queue_change_state),
1628         (gst_queue_get_property):
1629         * gst/gstqueue.h:
1630         Propagate GstFlowReturn more intelligently upstream and output
1631         an ERROR/EOS when streaming stopped due to fatal error.
1632
1633 2005-07-19  Wim Taymans  <wim@fluendo.com>
1634
1635         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1636         Don't block forever for the state change to complete, the
1637         pipeline already did with a sensible timeout.
1638
1639 2005-07-19  Wim Taymans  <wim@fluendo.com>
1640
1641         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1642         Make sure we never call the create function is we
1643         got deactivated.
1644
1645 2005-07-19  Andy Wingo  <wingo@pobox.com>
1646
1647         * gst/parse/parse.l: Attempt to solve bug #172815.
1648
1649 2005-07-19  Wim Taymans  <wim@fluendo.com>
1650
1651         * docs/design/part-clocks.txt:
1652         * docs/design/part-events.txt:
1653         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1654         Small docs updates.
1655         Only update the seeking values when we are not
1656         busy streaming.
1657
1658 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1659
1660         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1661           Oops, ignore the result of gst_pad_push_event here.
1662
1663 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1664
1665         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1666         (gst_base_src_activate_push):
1667           Send discont event from the loop function, as pads
1668           aren't activated yet in the activate_push handler.
1669
1670         * gst/gstbin.c: (bin_bus_handler):
1671           Don't leak element name.
1672
1673 2005-07-18  Andy Wingo  <wingo@pobox.com>
1674
1675         * configure.ac: Use AS_LIBTOOL_TAGS.
1676
1677 2005-07-18  Wim Taymans  <wim@fluendo.com>
1678
1679         * docs/gst/gstreamer.types:
1680         Remove deleted types.
1681
1682 2005-07-18  Wim Taymans  <wim@fluendo.com>
1683
1684         * check/elements/gstfakesrc.c: (GST_START_TEST):
1685         * configure.ac:
1686         * gst/Makefile.am:
1687         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1688         (init_popt_callback):
1689         * gst/gst.h:
1690         * gst/gst_private.h:
1691         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1692         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1693         * gst/gstbin.h:
1694         * gst/gstbus.h:
1695         * gst/gstconfig.h.in:
1696         * gst/gstelement.c: (gst_element_class_init),
1697         (gst_element_set_base_time), (gst_element_get_base_time),
1698         (iterator_fold_with_resync), (gst_element_change_state),
1699         (gst_element_dispose), (gst_element_get_bus):
1700         * gst/gstelement.h:
1701         * gst/gstelementfactory.h:
1702         * gst/gsterror.c: (_gst_core_errors_init):
1703         * gst/gsterror.h:
1704         * gst/gstevent.h:
1705         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1706         * gst/gstindex.c:
1707         * gst/gstinfo.c: (_gst_debug_init):
1708         * gst/gstmessage.c: (_gst_message_copy):
1709         * gst/gstmessage.h:
1710         * gst/gstminiobject.h:
1711         * gst/gstobject.c:
1712         * gst/gstobject.h:
1713         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1714         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1715         * gst/gstpad.h:
1716         * gst/gstparse.h:
1717         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1718         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1719         (gst_pipeline_get_last_stream_time):
1720         * gst/gstpipeline.h:
1721         * gst/gstpluginfeature.h:
1722         * gst/gstquery.h:
1723         * gst/gstscheduler.c:
1724         * gst/gstscheduler.h:
1725         * gst/gststructure.h:
1726         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1727         (gst_task_finalize), (gst_task_func), (gst_task_create),
1728         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1729         (gst_task_stop), (gst_task_pause):
1730         * gst/gsttask.h:
1731         * gst/gsttypefind.h:
1732         * gst/gsttypes.h:
1733         * gst/registries/gstlibxmlregistry.c: (load_feature),
1734         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1735         * gst/registries/gstxmlregistry.c:
1736         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1737         * gst/schedulers/threadscheduler.c:
1738         * libs/gst/control/dparammanager.h:
1739         * tools/gst-inspect.c: (print_element_list),
1740         (print_plugin_features), (print_element_features):
1741         * tools/gst-xmlinspect.c: (print_element_list),
1742         (print_plugin_info), (main):
1743         Removed plugable schedulers.
1744         Removed Scheduler/Manager from elements.
1745         Removed gsttypes.h, rearranged includes.
1746         Removed dependency pad<->element, element<>pipeline, and
1747         various others,  fix includes.
1748         implement gst_pad_get_parent() with gst_object_get_parent()
1749         Make GstTask sefcontained.
1750         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1751         timeout.
1752         Fix endless loop in iterator_fold_with_resync.
1753
1754
1755 2005-07-18  Wim Taymans  <wim@fluendo.com>
1756
1757         * gst/Makefile.am:
1758         * gst/gstarch.h:
1759         Remove old file.
1760
1761 2005-07-18  Wim Taymans  <wim@fluendo.com>
1762
1763         * gst/Makefile.am:
1764         No more cothreads.h
1765
1766 2005-07-18  Wim Taymans  <wim@fluendo.com>
1767
1768         * gst/cothreads.c:
1769         * gst/cothreads.h:
1770         Let's remove these.
1771
1772 2005-07-18  Wim Taymans  <wim@fluendo.com>
1773
1774         * docs/design/part-dynamic.txt:
1775         * docs/design/part-events.txt:
1776         * docs/design/part-seeking.txt:
1777         Some more docs in the works.
1778
1779         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1780         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1781         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1782         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1783         (gst_base_transform_handle_buffer),
1784         (gst_base_transform_sink_activate_push),
1785         (gst_base_transform_src_activate_pull),
1786         (gst_base_transform_set_passthrough),
1787         (gst_base_transform_is_passthrough):
1788         Refcounting fixes.
1789
1790         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1791         Cleanups.
1792
1793         * gst/gstevent.c: (gst_event_finalize):
1794         Set SRC to NULL.
1795
1796         * gst/gstutils.c: (gst_element_unlink),
1797         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1798         (gst_pad_proxy_setcaps):
1799         * gst/gstutils.h:
1800         Add _get_parent_element() to get a pads parent as an element.
1801
1802 2005-07-18  Wim Taymans  <wim@fluendo.com>
1803
1804         * check/gst/gstbin.c: (GST_START_TEST):
1805         Remove bogus test.
1806
1807 2005-07-18  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1810         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1811         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1812         (gst_base_sink_event), (gst_base_sink_do_sync),
1813         (gst_base_sink_chain), (gst_base_sink_loop),
1814         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1815         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1816         Refcounting fixes.
1817         Fix logic for returning ASYNC when not prerolled.
1818
1819 2005-07-18  Wim Taymans  <wim@fluendo.com>
1820
1821         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1822         Fix nasty refcount bug.
1823
1824 2005-07-16 Philippe Khalaf <burger@speedy.org>
1825         * gst/elements/gstfdsrc.c:
1826         * gst/elements/gstfdsrc.h:
1827         * gst/elements/gstelements.c:
1828         * gst/elements/Makefile.am:
1829         Ported fdsrc to 0.9.
1830
1831 2005-07-16  Wim Taymans  <wim@fluendo.com>
1832
1833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1834         (gst_base_sink_do_sync):
1835         Fix compile error.
1836
1837 2005-07-16  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1840         (gst_base_sink_event), (gst_base_sink_get_times),
1841         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1842         * gst/base/gstbasesink.h:
1843         Store and use discont values when syncing buffers as described
1844         in design docs.
1845         
1846         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1847         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1848         (gst_base_src_activate_push):
1849         Push discont event when starting.
1850
1851         * gst/elements/gstidentity.c: (gst_identity_transform):
1852         Small cleanups.
1853
1854         * gst/gstbin.c: (gst_bin_change_state):
1855         Small cleanups in base_time  distribution.
1856
1857         * gst/gstelement.c: (gst_element_set_base_time),
1858         (gst_element_get_base_time), (gst_element_change_state):
1859         * gst/gstelement.h:
1860         Added methods for the base_time of the element.
1861         Some MT fixes.
1862
1863         * gst/gstpipeline.c: (gst_pipeline_send_event),
1864         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1865         (gst_pipeline_get_last_stream_time):
1866         * gst/gstpipeline.h:
1867         MT fixes.
1868         Handle seeking as described in design doc, remove stream_time
1869         hack.
1870         Cleanups clock and stream_time selection code. Added accessors
1871         for the stream_time.
1872         
1873
1874 2005-07-16  Andy Wingo  <wingo@pobox.com>
1875
1876         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1877         (#305291).
1878
1879 2005-07-16  Wim Taymans  <wim@fluendo.com>
1880
1881         * check/gst/gstbin.c: (GST_START_TEST):
1882         Make elements silent as the deep_notify refs the
1883         parent, which might make the test fail.
1884
1885         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1886         Don't hold the lock for too long.
1887
1888 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1889
1890         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1891           Don't unref the caps we passed to gst_caps_make_writable() after
1892           passing them. gst_caps_make_writable() will do that for us.
1893
1894 2005-07-15  Andy Wingo  <wingo@pobox.com>
1895
1896         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1897         (#157311).
1898
1899         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1900         own marshalling function for the handoff signal. Properly type the
1901         buffer as a buffer. Fixes some warnings. Should do a more general
1902         solution.
1903         (gst_identity_class_init): Plug into the right marshaller.
1904
1905 2005-07-15  Wim Taymans  <wim@fluendo.com>
1906
1907         * docs/design/part-TODO.txt:
1908         * docs/design/part-clocks.txt:
1909         * docs/design/part-element-sink.txt:
1910         * docs/design/part-events.txt:
1911         * docs/design/part-gstpipeline.txt:
1912         Updated docs, mostly DISCONT related.
1913
1914 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1915
1916         * docs/pwg/building-pads.xml:
1917           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1918
1919 2005-07-15  Andy Wingo  <wingo@pobox.com>
1920
1921         * tools/gst-typefind.c: Update, add copyright block.
1922
1923         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1924         Normalize and truncate caps before fixation.
1925
1926         * gst/gstcaps.h:
1927         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1928         discards all but the first structure from its argument.
1929
1930 2005-07-15  Wim Taymans  <wim@fluendo.com>
1931
1932         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1933         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1934         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1935         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1936         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1937         (gst_base_transform_chain), (gst_base_transform_change_state),
1938         (gst_base_transform_set_passthrough),
1939         (gst_base_transform_is_passthrough):
1940         * gst/base/gstbasetransform.h:
1941         Make passthrough work using the bufferpools.
1942         Changed API a bit, subclasses have to write into a buffer
1943         provided by the base class.
1944         More debug info in nego functions.
1945         
1946         * gst/elements/gstidentity.c: (gst_identity_init),
1947         (gst_identity_transform):
1948         Port to new base class.
1949
1950 2005-07-15  Wim Taymans  <wim@fluendo.com>
1951
1952         * gst/gstmessage.c: (gst_message_new_state_changed):
1953         * tools/gst-launch.c: (event_loop), (main):
1954         Totally dump messages in -launch with the -m option.
1955         Fix message name for State messages,
1956
1957 2005-07-14  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1960         Post error messages on errors.
1961
1962 2005-07-14  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/gstcaps.c: (gst_caps_do_simplify):
1965         Remove debug info.
1966
1967         * gst/gsterror.h:
1968         Define error for stream stopped.
1969
1970         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1971         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1972         Do proper return values.
1973
1974         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1975         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1976         (gst_pad_get_range):
1977         Better return values.
1978
1979         * gst/gstpad.h:
1980         Reorganise return values, add macro to check for fatal errors.
1981
1982         * gst/gstqueue.c: (gst_queue_chain):
1983         Return proper GstFlowReturn values,
1984
1985 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1986
1987         * docs/gst/gstreamer-sections.txt:
1988         * docs/gst/gstreamer.types:
1989         * docs/gst/tmpl/gst.sgml:
1990         * docs/gst/tmpl/gstbasesink.sgml:
1991         * docs/gst/tmpl/gstbasesrc.sgml:
1992         * docs/gst/tmpl/gstbasetransform.sgml:
1993         * docs/gst/tmpl/gstbin.sgml:
1994         * docs/gst/tmpl/gstbuffer.sgml:
1995         * docs/gst/tmpl/gstcaps.sgml:
1996         * docs/gst/tmpl/gstclock.sgml:
1997         * docs/gst/tmpl/gstcompat.sgml:
1998         * docs/gst/tmpl/gstconfig.sgml:
1999         * docs/gst/tmpl/gstelement.sgml:
2000         * docs/gst/tmpl/gstelementdetails.sgml:
2001         * docs/gst/tmpl/gstelementfactory.sgml:
2002         * docs/gst/tmpl/gstenumtypes.sgml:
2003         * docs/gst/tmpl/gsterror.sgml:
2004         * docs/gst/tmpl/gstevent.sgml:
2005         * docs/gst/tmpl/gstfakesink.sgml:
2006         * docs/gst/tmpl/gstfakesrc.sgml:
2007         * docs/gst/tmpl/gstfilesink.sgml:
2008         * docs/gst/tmpl/gstfilesrc.sgml:
2009         * docs/gst/tmpl/gstfilter.sgml:
2010         * docs/gst/tmpl/gstformat.sgml:
2011         * docs/gst/tmpl/gstghostpad.sgml:
2012         * docs/gst/tmpl/gstimplementsinterface.sgml:
2013         * docs/gst/tmpl/gstindex.sgml:
2014         * docs/gst/tmpl/gstindexfactory.sgml:
2015         * docs/gst/tmpl/gstinfo.sgml:
2016         * docs/gst/tmpl/gstiterator.sgml:
2017         * docs/gst/tmpl/gstmacros.sgml:
2018         * docs/gst/tmpl/gstmemchunk.sgml:
2019         * docs/gst/tmpl/gstminiobject.sgml:
2020         * docs/gst/tmpl/gstobject.sgml:
2021         * docs/gst/tmpl/gstpad.sgml:
2022         * docs/gst/tmpl/gstpadtemplate.sgml:
2023         * docs/gst/tmpl/gstparse.sgml:
2024         * docs/gst/tmpl/gstpipeline.sgml:
2025         * docs/gst/tmpl/gstplugin.sgml:
2026         * docs/gst/tmpl/gstpluginfeature.sgml:
2027         * docs/gst/tmpl/gstquery.sgml:
2028         * docs/gst/tmpl/gstqueue.sgml:
2029         * docs/gst/tmpl/gstregistry.sgml:
2030         * docs/gst/tmpl/gstregistrypool.sgml:
2031         * docs/gst/tmpl/gstscheduler.sgml:
2032         * docs/gst/tmpl/gstschedulerfactory.sgml:
2033         * docs/gst/tmpl/gststructure.sgml:
2034         * docs/gst/tmpl/gstsystemclock.sgml:
2035         * docs/gst/tmpl/gsttaglist.sgml:
2036         * docs/gst/tmpl/gsttagsetter.sgml:
2037         * docs/gst/tmpl/gsttrace.sgml:
2038         * docs/gst/tmpl/gsttrashstack.sgml:
2039         * docs/gst/tmpl/gsttypefind.sgml:
2040         * docs/gst/tmpl/gsttypefindfactory.sgml:
2041         * docs/gst/tmpl/gsttypes.sgml:
2042         * docs/gst/tmpl/gsturihandler.sgml:
2043         * docs/gst/tmpl/gsturitype.sgml:
2044         * docs/gst/tmpl/gstutils.sgml:
2045         * docs/gst/tmpl/gstvalue.sgml:
2046         * docs/gst/tmpl/gstversion.sgml:
2047         * docs/gst/tmpl/gstxml.sgml:
2048         * docs/libs/tmpl/gstcontrol.sgml:
2049         * docs/libs/tmpl/gstdataprotocol.sgml:
2050         * docs/libs/tmpl/gstdparam.sgml:
2051         * docs/libs/tmpl/gstdplinint.sgml:
2052         * docs/libs/tmpl/gstdpman.sgml:
2053         * docs/libs/tmpl/gstdpsmooth.sgml:
2054         * docs/libs/tmpl/gstgetbits.sgml:
2055         * docs/libs/tmpl/gstunitconvert.sgml:
2056         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
2057         (gst_push_src_base_init), (gst_push_src_class_init),
2058         (gst_push_src_init), (gst_push_src_create):
2059         * gst/base/gstpushsrc.h:
2060         * gst/elements/gstelements.c:
2061         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
2062         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
2063         (gst_fake_sink_init), (gst_fake_sink_set_property),
2064         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
2065         (gst_fake_sink_event), (gst_fake_sink_preroll),
2066         (gst_fake_sink_render), (gst_fake_sink_change_state):
2067         * gst/elements/gstfakesink.h:
2068         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2069         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2070         (gst_fake_src_base_init), (gst_fake_src_class_init),
2071         (gst_fake_src_init), (gst_fake_src_event_handler),
2072         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
2073         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
2074         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
2075         (gst_fake_src_create_buffer), (gst_fake_src_create),
2076         (gst_fake_src_start), (gst_fake_src_stop):
2077         * gst/elements/gstfakesrc.h:
2078         * gst/elements/gstfilesink.c: (_do_init),
2079         (gst_file_sink_base_init), (gst_file_sink_class_init),
2080         (gst_file_sink_init), (gst_file_sink_dispose),
2081         (gst_file_sink_set_location), (gst_file_sink_set_property),
2082         (gst_file_sink_get_property), (gst_file_sink_open_file),
2083         (gst_file_sink_close_file), (gst_file_sink_query),
2084         (gst_file_sink_event), (gst_file_sink_render),
2085         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
2086         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
2087         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
2088         * gst/elements/gstfilesink.h:
2089         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
2090         (gst_file_src_class_init), (gst_file_src_init),
2091         (gst_file_src_finalize), (gst_file_src_set_location),
2092         (gst_file_src_set_property), (gst_file_src_get_property),
2093         (gst_file_src_map_region), (gst_file_src_map_small_region),
2094         (gst_file_src_create_mmap), (gst_file_src_create_read),
2095         (gst_file_src_create), (gst_file_src_is_seekable),
2096         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
2097         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
2098         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
2099         (gst_file_src_uri_handler_init):
2100         * gst/elements/gstfilesrc.h:
2101           more autistic cleanliness in functions/names/defines
2102
2103 2005-07-13  Andy Wingo  <wingo@pobox.com>
2104
2105         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
2106         source couldn't negotiate.
2107
2108         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
2109         connections again.
2110
2111         * gst/gstutils.h:
2112         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2113         function. I am channeling Hades. Put your boots on suckers!!!
2114
2115 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2116
2117         * testsuite/caps/Makefile.am:
2118         * testsuite/caps/value_compare.c:
2119         * testsuite/caps/value_intersect.c:
2120         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2121           move two testsuite apps over to the check dir
2122
2123 2005-07-12  Wim Taymans  <wim@fluendo.com>
2124
2125         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2126         Added more debug info in the negotiate process.
2127
2128         * gst/gstmessage.h:
2129         Prepare for segment playback.
2130
2131         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2132         Better debugging.
2133
2134         * gst/gstutils.c:
2135         Some more docs.
2136
2137         * tools/gst-launch.c: (main):
2138         NULL pipeline on errors.
2139
2140 2005-07-12  Andy Wingo  <wingo@pobox.com>
2141
2142         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2143         not it comes from a malloc region. Make sure our copy gets freed.
2144
2145 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2146
2147         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2148         * check/gst/gstmessage.c: (GST_START_TEST):
2149         * check/gst/gststructure.c: (GST_START_TEST),
2150         (gst_structure_suite), (main):
2151           more testing
2152         * gst/gstelement.c: (gst_element_message_full):
2153           clean up GError and debug string now that they get copied
2154         * gst/gstmessage.c: (gst_message_new_error),
2155         (gst_message_new_warning), (gst_message_parse_error),
2156         (gst_message_parse_warning):
2157           use GST_TYPE_G_ERROR for structure_new, and take copies of
2158           arguments, so that we don't mess up refcounting
2159
2160 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2161
2162         * check/Makefile.am:
2163           add per-test valgrind targets
2164         * check/gst-libs/gdp.c: (GST_START_TEST),
2165         (gst_data_protocol_suite), (main):
2166           clean up
2167
2168 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2169
2170         * check/Makefile.am:
2171           instate more valgrindable tests
2172         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2173         (GST_START_TEST), (fakesrc_suite):
2174         * check/gst/gstpad.c: (GST_START_TEST):
2175         * check/gst/gststructure.c: (GST_START_TEST):
2176           fix test leaks
2177         * docs/gst/tmpl/gstminiobject.sgml:
2178         * gst/gstpad.c: (gst_pad_finalize):
2179           fix the static mutex leak
2180
2181 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2182
2183         * check/Makefile.am:
2184           add two more tests for valgrinding
2185         * check/gst/gstvalue.c: (GST_START_TEST):
2186           test refcount of deserialized buffer, found a leak
2187         * docs/gst/gstreamer-docs.sgml:
2188         * docs/gst/gstreamer-sections.txt:
2189         * docs/gst/gstreamer.types:
2190         * docs/gst/tmpl/gstminiobject.sgml:
2191           add miniobject to docs
2192         * gst/gstminiobject.c:
2193           add some docs
2194         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2195         (gst_string_unwrap):
2196           fix a hard-to-find invalid write for one of the tests
2197           fix a leak for deserialized buffers
2198
2199 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2200
2201         * docs/pwg/advanced-events.xml:
2202         * docs/pwg/advanced-request.xml:
2203         * docs/pwg/advanced-scheduling.xml:
2204         * docs/pwg/appendix-porting.xml:
2205         * docs/pwg/building-boiler.xml:
2206         * docs/pwg/intro-preface.xml:
2207         * docs/pwg/other-ntoone.xml:
2208           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2209           of example code and explanation for pad activation, loop() and
2210           getrange() functions and a bit more. Remove old comments pointing
2211           to loop-functions.
2212         * examples/pwg/Makefile.am:
2213           Add loop/getrange examples.
2214
2215 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2216
2217         * configure.ac:
2218           check for valgrind binary + some fixes
2219         * check/gst.supp:
2220           valgrind suppressions for the tests
2221         * check/Makefile.am:
2222           add a valgrind: target that valgrinds the unit tests
2223         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2224         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2225         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2226         * check/gst/gstghostpad.c:
2227           added some cleanup
2228         * check/gst/gstdata.c:
2229           removed
2230         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2231         (thread_unref), (gst_mini_object_suite), (main):
2232           added
2233         * gst/gst.c: (gst_deinit):
2234         * gst/gst.h:
2235           add a method to clean up.
2236         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2237         (gst_system_clock_obtain):
2238           allow for disposing the system clock.
2239         * tools/gst-launch.c: (main):
2240           deinit
2241
2242 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2243
2244         * docs/gst/tmpl/gstbasesrc.sgml:
2245         * docs/gst/tmpl/gstfakesrc.sgml:
2246         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2247         (gst_base_src_init), (gst_base_src_set_property),
2248         (gst_base_src_get_property), (gst_base_src_get_range),
2249         (gst_base_src_start):
2250         * gst/base/gstbasesrc.h:
2251           add num-buffers property
2252         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2253         (gst_fakesrc_init), (gst_fakesrc_set_property),
2254         (gst_fakesrc_get_property), (gst_fakesrc_create),
2255         (gst_fakesrc_start):
2256           remove num-buffers property
2257
2258 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2259
2260         * docs/gst/gstreamer-sections.txt:
2261         * docs/gst/tmpl/gstbasesink.sgml:
2262         * docs/gst/tmpl/gstbasesrc.sgml:
2263         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2264         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2265         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2266         (gst_base_sink_set_property), (gst_base_sink_get_property),
2267         (gst_base_sink_handle_object), (gst_base_sink_event),
2268         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2269         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2270         (gst_base_sink_loop), (gst_base_sink_deactivate),
2271         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2272         (gst_base_sink_change_state):
2273         * gst/base/gstbasesink.h:
2274         * gst/base/gstbasesrc.h:
2275         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2276         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2277         (gst_filesink_init):
2278           more macro splitting
2279
2280 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2281
2282         * gst/gstelement.c: (gst_element_get_bus):
2283           add debug
2284         * tools/gst-launch.c: (check_intr), (event_loop):
2285           fix bus leaks
2286
2287 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2290           fix a caps leak
2291
2292 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2293
2294         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2295         (gst_base_src_finalize):
2296           add finalize method and clean up properly
2297         * gst/gstpipeline.c: (gst_pipeline_dispose):
2298           add debug
2299
2300 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2301
2302         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2303         (gst_bin_suite):
2304           add more things to check
2305         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2306         * gst/gstelement.c:
2307           more debug
2308
2309 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2310
2311         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2312         (GST_START_TEST), (fakesrc_suite):
2313         * check/gst-libs/gdp.c: (GST_START_TEST):
2314         * check/gst/gst.c: (GST_START_TEST):
2315         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2316         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2317         * check/gst/gstbus.c: (GST_START_TEST):
2318         * check/gst/gstcaps.c: (GST_START_TEST):
2319         * check/gst/gstdata.c: (GST_START_TEST):
2320         * check/gst/gstelement.c: (GST_START_TEST):
2321         * check/gst/gstghostpad.c: (GST_START_TEST):
2322         * check/gst/gstiterator.c: (GST_START_TEST):
2323         * check/gst/gstmessage.c: (GST_START_TEST):
2324         * check/gst/gstobject.c: (GST_START_TEST):
2325         * check/gst/gstpad.c: (GST_START_TEST):
2326         * check/gst/gststructure.c: (GST_START_TEST):
2327         * check/gst/gstsystemclock.c: (GST_START_TEST),
2328         (gst_systemclock_suite):
2329         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2330         * check/gst/gstvalue.c: (GST_START_TEST):
2331         * check/pipelines/cleanup.c: (GST_START_TEST):
2332         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2333         * check/states/sinks.c: (GST_START_TEST):
2334         * check/gstcheck.c: (gst_check_init):
2335         * check/gstcheck.h:
2336           add debugging category
2337           use GST_START_TEST now, so we add a debug line
2338
2339 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2340
2341         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2342           add test for state change message on a bin
2343         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2344           add another test
2345         * gst/gstbin.c: (gst_bin_init):
2346         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2347         * gst/gstelement.c: (gst_element_post_message),
2348         (gst_element_set_state):
2349         * gst/gstelementfactory.c: (gst_element_factory_create):
2350         * gst/gstmessage.c: (gst_message_new):
2351         * gst/gstscheduler.c:
2352           various debugging additions and cleanups
2353
2354 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2355
2356         * check/Makefile.am:
2357         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2358         (main):
2359           adding tests for elements
2360         * gst/gstelement.c: (gst_element_dispose):
2361
2362 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2363
2364         * gst/registries/gstlibxmlregistry.c: (load_feature):
2365           plug more leaks.  A simple gst_init() now is leakfree, yay.
2366
2367 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2368
2369         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2370         (gst_xml_registry_load):
2371           plug another memleak
2372
2373 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2374
2375         * configure.ac:
2376           use GST_SET_ERROR_CFLAGS
2377         * docs/faq/cvs.xml:
2378           change to ERROR_CFLAGS
2379
2380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2381
2382         * configure.ac:
2383           make GST_ERROR_CFLAGS overridable and re-enable Werror
2384         * docs/faq/cvs.xml:
2385           add a note about error CFLAGS
2386         * docs/gst/tmpl/gstfakesrc.sgml:
2387         * gst/elements/gstfakesrc.c:
2388           comment out some unused code
2389         * gst/gst.c: (split_and_iterate):
2390         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2391         (load_feature):
2392           plug some memleaks
2393
2394 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2395
2396         * common/Makefile.am:
2397         * common/gtk-doc.mak:
2398         * docs/gst/Makefile.am:
2399           factor out gtk-doc.mak
2400
2401 2005-07-07  Wim Taymans  <wim@fluendo.com>
2402
2403         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2404         (gst_thread_scheduler_dispose):
2405         Unlock the STREAM_LOCK completely.
2406
2407 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2408
2409         * check/Makefile.am:
2410         * check/elements/.cvsignore:
2411         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2412         (START_TEST), (fakesrc_suite), (main):
2413         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2414         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2415         (gst_fakesrc_create), (gst_fakesrc_start):
2416         * gst/elements/gstfakesrc.h:
2417           adding a first element test
2418
2419 2005-07-07  Andy Wingo  <wingo@pobox.com>
2420
2421         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2422         debug message.
2423
2424 2005-07-07  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/gstquery.c:
2427         * gst/gstquery.h:
2428         Remove old types
2429
2430 2005-07-07  Wim Taymans  <wim@fluendo.com>
2431
2432         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2433         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2434         Allow subclasses to implement their own negotiation.
2435
2436 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2437
2438         * docs/design/part-gstbin.txt:
2439         * docs/design/part-gstpipeline.txt:
2440           Update design notes to reflect the movement of
2441           responsibility for bus handling from GstPipeline to
2442           GstBin
2443
2444 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2445
2446         * configure.ac:
2447           Remove unnecessary queue2/3/4 examples.
2448
2449 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2450
2451         * examples/Makefile.am:
2452         * examples/helloworld/helloworld.c: (event_loop), (main):
2453         * examples/queue/queue.c: (event_loop), (main):
2454         * examples/queue2/queue2.c: (main):
2455           Update a couple of the examples to work again.
2456
2457         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2458         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2459          Spelling corrections and extra debug.
2460         
2461         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2462         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2463         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2464         * gst/gstbin.h:
2465         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2466         (gst_pipeline_change_state):
2467         * gst/gstpipeline.h:
2468           Move the bus handler for children to the GstBin, and create a
2469           separate bus for receiving messages from children to the one the
2470           bus sends 'upwards' on.
2471
2472 2005-07-06  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/base/README:
2475         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2476         (gst_base_sink_handle_object), (gst_base_sink_loop),
2477         (gst_base_sink_change_state):
2478         * gst/base/gstbasesink.h:
2479         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2480         (gst_base_src_init), (gst_base_src_setcaps),
2481         (gst_base_src_getcaps), (gst_base_src_loop),
2482         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2483         (gst_base_src_start), (gst_base_src_change_state):
2484         * gst/base/gstbasesrc.h:
2485         Make basesrc negotiate.
2486         Handle the case where preroll fails in basesink.
2487         Update README.
2488
2489 2005-07-06  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2492         Implement the fixate function.
2493         Clean up acceptcaps.
2494
2495 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2496
2497         * docs/pwg/building-filterfactory.xml:
2498         * docs/pwg/pwg.xml:
2499           Remove never-written filter-factory chapter; I'll add the various
2500           base classes to part 4 ("other element types") later on.
2501
2502 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2503
2504         * docs/pwg/advanced-negotiation.xml:
2505         * docs/pwg/building-boiler.xml:
2506         * docs/pwg/building-pads.xml:
2507         * docs/pwg/pwg.xml:
2508         * examples/pwg/Makefile.am:
2509           Add a chapter on caps negotiation, simplify the original code
2510           samples a bit w.r.t. caps negotiation, add link to the advanced
2511           section. Add a bunch of examples showing different use cases of
2512           different types of caps negotiation. Upstream renegotiation isn't
2513           fully documented yet since nobody knows how that works.
2514
2515 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2516
2517         * check/gst/gstpad.c:
2518         * check/gstcheck.c:
2519         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2520           if pad has no parent, return NULL as list of internal links
2521
2522 2005-07-05  Andy Wingo  <wingo@pobox.com>
2523
2524         * gst/elements/gstfilesrc.c:
2525         * gst/elements/gstfakesrc.c: 
2526         * gst/base/gstpushsrc.c:
2527         * gst/base/gstbasesrc.h: 
2528         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2529         
2530 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2531
2532         * Makefile.am:
2533           better report generation target (lcov needs a patch)
2534
2535 2005-07-05  Andy Wingo  <wingo@pobox.com>
2536
2537         * gst/elements, testsuite: Null if we got it...
2538
2539 2005-07-05  Wim Taymans  <wim@fluendo.com>
2540
2541         * configure.ac:
2542         * libs/gst/dataprotocol/Makefile.am:
2543         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2544         * libs/gst/dataprotocol/dataprotocol.h:
2545         * pkgconfig/Makefile.am:
2546         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2547         * pkgconfig/gstreamer-dataprotocol.pc.in:
2548         Ported dataprotol to 0.9. 
2549         Added pkgconfig files.
2550
2551 2005-07-05  Andy Wingo  <wingo@pobox.com>
2552
2553         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2554         Default to returning TRUE for the case when tranform_caps returns
2555         a fixed caps, like for identity or volume.
2556
2557         * check/gst/gstbus.c (pound_bus_with_messages): 
2558         * check/gst/gstmessage.c (START_TEST): 
2559         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2560         message API change.
2561
2562         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2563         logic weaks here: always run transform_caps, trying passthrough
2564         operation only if the original caps intersects with the transform.
2565
2566         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2567         source and sink caps.
2568
2569         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2570         Intersect the peer caps with the pad template before going into
2571         transform_caps.
2572         (gst_base_transform_transform_caps): More debugging.
2573
2574         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2575         src argument.
2576
2577 2005-07-04  Edward Hervey  <edward@fluendo.com>
2578
2579         * gst/gstutils.c:
2580         * gst/gstutils.h:
2581         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2582         in bindings.
2583
2584 2005-07-04  Andy Wingo  <wingo@pobox.com>
2585
2586         * check/gst/gstpad.c: Only set explicit caps on pads.
2587
2588 2005-07-01  Andy Wingo  <wingo@pobox.com>
2589
2590         * tests/network-clock.scm: Commentary update.
2591
2592         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2593         Didn't really make sense, not implementable with basetransform,
2594         etc.
2595         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2596         attempt at implementing the sync property, needs an unlock method.
2597
2598         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2599         New func, by default returns the same caps (the identity
2600         transformation).
2601         (gst_base_transform_getcaps): Uses transform_caps to return
2602         something sensible.
2603         (gst_base_transform_setcaps): Complicated logic to get caps on
2604         both pads, even if they are different, and to call set_caps once
2605         for every time both pads get their caps set.
2606         (gst_base_transform_handle_buffer): Give the ref to the transform
2607         function. Allows in-place modification of the buffer.
2608
2609         * gst/base/gstbasetransform.h (transform_caps): New class method.
2610         Given caps on one side, what can I do on the other.
2611         (set_caps): Take two caps, one for each side of the element.
2612
2613         * gst/gstpad.h:
2614         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2615         caps in place. This is safe because we can check the mutability of
2616         the caps, and a good idea because fixate functions are just called
2617         as a matter of last resort. (Not actually implemented.)
2618         (gst_pad_set_caps): If the caps we're setting is actually the same
2619         as the existing pad caps, just update the pointer without calling
2620         setcaps. Assert that caps is either NULL or fixed, as per the
2621         docs.
2622
2623         * gst/gstghostpad.c: Update for fixate changes.
2624
2625 2005-07-02  Andy Wingo  <wingo@pobox.com>
2626
2627         * gst/gstcaps.c:
2628         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2629         two refcounts makes it immutable, which is enough. Doc more.
2630
2631 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2632
2633         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2634           Put the mini_object into GValue as a mini_object,
2635           not a gpointer, since that's how we declared
2636           the signal.
2637
2638 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2639
2640         * examples/pwg/Makefile.am:
2641           Fix buildbot again.
2642
2643 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2644
2645         * docs/pwg/building-testapp.xml:
2646           Add extra check.
2647         * examples/pwg/Makefile.am:
2648           Fix buildbot.
2649
2650 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2651
2652         * configure.ac:
2653         * examples/Makefile.am:
2654         * examples/pwg/Makefile.am:
2655         * examples/pwg/extract.pl:
2656           Enable building the PWG examples.
2657         * docs/pwg/advanced-interfaces.xml:
2658           Add URI interface stub.
2659         * docs/pwg/advanced-types.xml:
2660         * docs/pwg/other-autoplugger.xml:
2661         * docs/pwg/appendix-porting.xml:
2662         * docs/pwg/pwg.xml:
2663           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2664         * docs/pwg/building-boiler.xml:
2665         * docs/pwg/building-chainfn.xml:
2666         * docs/pwg/building-pads.xml:
2667         * docs/pwg/building-props.xml:
2668         * docs/pwg/building-state.xml:
2669         * docs/pwg/building-testapp.xml:
2670           Update the building-*.xml parts for 0.9 changes. All examples
2671           code blocks compile in examples/pwg/*.
2672
2673 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2674
2675         * docs/manual/advanced-autoplugging.xml:
2676         * docs/manual/appendix-checklist.xml:
2677         * docs/manual/appendix-integration.xml:
2678         * docs/manual/highlevel-components.xml:
2679           Fix playbin/decodebin examples, update docs a bit, mention bus
2680           instead of signals in various places, mention kmplayer and
2681           kaffeine since they have a working GStreamer backend in the KDE
2682           section.
2683
2684 2005-06-30  Wim Taymans  <wim@fluendo.com>
2685
2686         * CHANGES-0.9:
2687         * docs/design/draft-ghostpads.txt:
2688         * docs/design/draft-push-pull.txt:
2689         * docs/design/draft-query.txt:
2690         * docs/design/part-TODO.txt:
2691         * docs/design/part-query.txt:
2692         Added CHANGES-0.9 doc, updated status of other docs.
2693         
2694         * gst/gstquery.h:
2695         Remove "hmm" macro
2696
2697 2005-06-30  Wim Taymans  <wim@fluendo.com>
2698
2699         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2700         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2701         (gst_base_sink_change_state):
2702         * gst/base/gstbasesink.h:
2703         Some tweaks, only EOS and a buffer complete a preroll.
2704
2705 2005-06-30  Andy Wingo  <wingo@pobox.com>
2706
2707         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2708         activate_push down to the internal pad as well.
2709
2710 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2711
2712         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2713
2714         * gst/gsttaginterface.c:
2715           Some documentation fixes (#307394 and #307397).
2716
2717 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2718
2719         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2720
2721         * gst/gstvalue.c: (gst_value_intersect_list):
2722           Fix memleak (#309125).
2723
2724 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2725
2726         * docs/manual/advanced-dataaccess.xml:
2727           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2728         * docs/manual/basics-pads.xml:
2729           Add reference for filtered caps to above chapter.
2730
2731 2005-06-30  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2734         (gst_bin_change_state):
2735         Probes are gone.
2736         Lame attempt at making the state change function a bit
2737         more readable.
2738
2739 2005-06-30  Wim Taymans  <wim@fluendo.com>
2740
2741         * docs/design/part-clocks.txt:
2742         * docs/design/part-element-sink.txt:
2743         * docs/design/part-events.txt:
2744         * docs/design/part-preroll.txt:
2745         * docs/design/part-states.txt:
2746         Some more tweeks and additions to the docs.
2747
2748 2005-06-30  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2751         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2752         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2753         (gst_pad_check_pull_range), (gst_pad_get_range),
2754         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2755         * gst/gstpad.h:
2756         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2757         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2758         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2759         (gst_pad_remove_buffer_probe):
2760         Removed atomic operations, use existing LOCK.
2761         Move exception handling out of main code path.
2762
2763 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2764
2765         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2766         (silly_return_true_function), (gst_pad_class_init),
2767         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2768         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2769         (gst_pad_send_event):
2770           Fix accumulator, add default value by using _emitv() instead
2771           of _emit() for signal emission.
2772
2773 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2774
2775         * docs/manual/advanced-dataaccess.xml:
2776         * examples/manual/Makefile.am:
2777           Add probe example.
2778         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2779           Make work (??).
2780
2781 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * gst/elements/gstfilesink.c: (gst_filesink_render):
2784           Simplify code so that we don't have to handle short
2785           writes and return GST_FLOW_ERROR if an error occured.
2786
2787 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2788
2789         * docs/gst/gstreamer-docs.sgml:
2790           Remove probes more.
2791
2792 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         * docs/gst/tmpl/gstpad.sgml:
2796         * docs/gst/tmpl/gstprobe.sgml:
2797         * gst/Makefile.am:
2798         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2799         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2800         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2801         (gst_pad_push_event), (gst_pad_send_event):
2802         * gst/gstpad.h:
2803         * gst/gstutils.c: (gst_pad_add_data_probe),
2804         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2805         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2806         (gst_pad_remove_buffer_probe):
2807         * gst/gstutils.h:
2808           Remove old probes, add new g-signal-based probes and some utility
2809           functions.
2810
2811 2005-06-29  Edward Hervey  <edward@fluendo.com>
2812
2813         * gst/gstelementfactory.c:
2814         * gst/gstutils.h:
2815         * gst/gstutils.c:
2816         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2817         the definition to the header file.
2818
2819 2005-06-29  Andy Wingo  <wingo@pobox.com>
2820
2821         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2822         plugins from the source directory.
2823
2824 2005-06-29  Wim Taymans  <wim@fluendo.com>
2825
2826         * docs/gst/tmpl/gstbuffer.sgml:
2827         * docs/gst/tmpl/gstclock.sgml:
2828         Some fixings for blantently wrong text.
2829
2830 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2831
2832         * check/Makefile.am:
2833         * gst/gst.c: (add_path_func), (init_pre):
2834         * gst/gstregistry.c: (gst_registry_add_path):
2835           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2836           only scan the GST_PLUGIN_PATH locations, and not add
2837           system locations
2838
2839 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2840
2841         * docs/gst/gstreamer-sections.txt:
2842         * docs/gst/tmpl/gstbasesrc.sgml:
2843         * gst/gstelement.c:
2844         * gst/gstelement.h:
2845         * gst/gstevent.c:
2846         * gst/gstutils.c:
2847           doc fixes
2848
2849 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2850
2851         * docs/manual/advanced-autoplugging.xml:
2852           Fix autoplugging example.
2853
2854 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2855
2856         * docs/manual/advanced-autoplugging.xml:
2857         * docs/manual/mime-world.fig:
2858           Try to get autoplugging working, fix type detection. Fix text
2859           in hello-world image.
2860
2861 2005-06-29  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2864         (gst_base_sink_change_state):
2865         Small debug line.
2866
2867         * gst/gstclock.h:
2868         map SIGNAL and BROADCAST to the right function.
2869
2870         * gst/gstobject.h:
2871         Remove redundant braces.
2872
2873         * gst/gstpad.c: (gst_pad_set_caps):
2874         Don't call setcaps function when reseting caps to NULL.
2875
2876         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2877         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2878         (gst_system_clock_id_unschedule):
2879         Use BROADCAST as this is what we do.
2880
2881 2005-06-29  Wim Taymans  <wim@fluendo.com>
2882
2883         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2884         We are actually prerolling before commiting the state
2885         change. 
2886
2887 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2888
2889         * docs/manual/advanced-clocks.xml:
2890         * docs/manual/advanced-interfaces.xml:
2891         * docs/manual/advanced-metadata.xml:
2892         * docs/manual/advanced-position.xml:
2893         * docs/manual/advanced-schedulers.xml:
2894         * docs/manual/advanced-threads.xml:
2895         * docs/manual/appendix-porting.xml:
2896         * docs/manual/basics-bins.xml:
2897         * docs/manual/basics-bus.xml:
2898         * docs/manual/basics-elements.xml:
2899         * docs/manual/basics-helloworld.xml:
2900         * docs/manual/basics-pads.xml:
2901         * docs/manual/highlevel-components.xml:
2902         * docs/manual/manual.xml:
2903         * docs/manual/thread.fig:
2904           Update (until threads/scheduling) Application Development Manual;
2905           remove GstThread, add GstBus, add simple porting checklist, add
2906           documentation for tag writing, clocks, make all examples until this
2907           part compile and run.
2908         * examples/manual/Makefile.am:
2909           Update from changes to Application Development Manual; add bus
2910           example, remove thread example.
2911
2912 2005-06-28  Wim Taymans  <wim@fluendo.com>
2913
2914         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2915         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2916         (gst_bus_source_dispatch):
2917         Add debugging messages.
2918         Make internal methods static.
2919         Handle the case where the bus is flushed in the handler.
2920         
2921         * gst/gstelement.c: (gst_element_get_bus):
2922         Fix refcount in _get_bus();
2923
2924         * gst/gstpipeline.c: (gst_pipeline_change_state),
2925         (gst_pipeline_get_clock_func):
2926         Clock refcounting fixes.
2927         Handle the case where preroll timed out more gracefully.
2928         
2929         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2930         Clean up the internal thread in dispose. This is needed
2931         for subclasses that actually get disposed.
2932         
2933         * gst/schedulers/threadscheduler.c:
2934         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2935         (gst_thread_scheduler_dispose):
2936         Free thread pool in dispose.
2937
2938 2005-06-28  Andy Wingo  <wingo@pobox.com>
2939
2940         * tests/network-clock-utils.scm (debug, print-event): New utils.
2941
2942         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2943         (*packet-loss*): Unified loss probability.
2944         (network-time): Report out-of-band events.
2945
2946         * tests/plot-data: Add support for out-of-band events. Hack it
2947         into this script instead of passing it down the pipe; should fix
2948         this later.
2949
2950 2005-06-28  Wim Taymans  <wim@fluendo.com>
2951
2952         * docs/gst/gstreamer.types:
2953         * docs/gst/tmpl/gstbasesrc.sgml:
2954         * docs/gst/tmpl/gstpad.sgml:
2955         Docs fixes.
2956
2957 2005-06-28  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2960         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2961         (gst_proxy_pad_do_fixatecaps):
2962         Correctly proxy the check_pull_range function.
2963
2964 2005-06-28  Andy Wingo  <wingo@pobox.com>
2965
2966         * tests/network-clock.scm: Removed need for slib.
2967         
2968 2005-06-28  Wim Taymans  <wim@fluendo.com>
2969
2970         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2971         (gst_basesink_preroll_queue_flush):
2972         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2973         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2974         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2975         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2976         (gst_proxy_pad_set_property):
2977         * gst/gstpad.c:
2978         * gst/gstpad.h:
2979         * gst/gstqueue.c: (gst_queue_init):
2980         The deprecated pad loop function is removed now.
2981
2982 2005-06-28  Andy Wingo  <wingo@pobox.com>
2983
2984         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2985         New parameters, simulate network packet loss.
2986
2987         * tests/network-clock-utils.scm: Initialize the RNG.
2988
2989 2005-06-28  Wim Taymans  <wim@fluendo.com>
2990
2991         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2992         (gst_basesink_event), (gst_basesink_deactivate):
2993         Flushing the preroll queue always needs to unlock the waiters.
2994
2995 2005-06-28  Edward Hervey  <edward@fluendo.com>
2996
2997         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2998         Wheen a seek was successful on a pipeline, set the stream_time to the
2999         seek offset in order to have a synchronized stream_time.
3000
3001 2005-06-28  Wim Taymans  <wim@fluendo.com>
3002
3003         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3004         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3005         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
3006         (gst_proxy_pad_do_fixatecaps):
3007         Call wrapper function instead of just calling the function
3008         pointers. This takes care of any locking and whatmore.
3009
3010 2005-06-28  Wim Taymans  <wim@fluendo.com>
3011
3012         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
3013         (gst_pad_pull_range):
3014         * gst/gstpad.h:
3015         CONNECTED -> LINKED.
3016
3017 2005-06-28  Andy Wingo  <wingo@pobox.com>
3018
3019         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
3020         source-munging commit!!!
3021
3022         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
3023         (gst_object_sink): Take gpointer arguments, not GstObject --
3024         avoids casts. Like GLib.
3025
3026         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
3027         activate.
3028
3029 2005-06-27  Andy Wingo  <wingo@pobox.com>
3030
3031         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
3032         remaining buffer.
3033
3034         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
3035         returns a sorted copy of the trace list.
3036         (gst_alloc_trace_print_live): New API, only prints traces with
3037         live objects. Sort the list.
3038         (gst_alloc_trace_print_all): Sort the list.
3039         (gst_alloc_trace_print): Align columns.
3040
3041         * gst/elements/gstttypefindelement.c:
3042         * gst/elements/gsttee.c:
3043         * gst/base/gstbasesrc.c:
3044         * gst/base/gstbasesink.c:
3045         * gst/base/gstbasetransform.c:
3046         * gst/gstqueue.c: Adapt for pad activation changes.
3047
3048         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
3049         sched.
3050         (gst_pipeline_dispose): Drop ref on sched.
3051
3052         * gst/gstpad.c (gst_pad_init): Set the default activate func.
3053         (gst_pad_activate_default): Push mode by default.
3054         (pre_activate_switch, post_activate_switch): New stubs, things to
3055         do before and after switching activation modes on pads.
3056         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
3057         the pad's activate function to choose which mode to activate.
3058         Shortcut on deactivation and call the right function directly.
3059         (gst_pad_activate_pull): New API, (de)activates a pad in pull
3060         mode.
3061         (gst_pad_activate_push): New API, same for push mode.
3062         (gst_pad_set_activate_function) 
3063         (gst_pad_set_activatepull_function) 
3064         (gst_pad_set_activatepush_function): Setters for new API.
3065
3066         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
3067         Trace all miniobjects.
3068         (gst_mini_object_make_writable): Unref the arg if we copy, like
3069         gst_caps_make_writable.
3070
3071         * gst/gstmessage.c (_gst_message_initialize): No trace init.
3072
3073         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
3074         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
3075         Adapt for new pad API.
3076
3077         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
3078
3079         * gst/gstelement.h:
3080         * gst/gstelement.c (gst_element_iterate_src_pads) 
3081         (gst_element_iterate_sink_pads): New API functions.
3082         
3083         * gst/gstelement.c (iterator_fold_with_resync): New utility,
3084         should fold into gstiterator.c in some form.
3085         (gst_element_pads_activate): Simplified via use of fold and
3086         delegation of decisions to gstpad->activate.
3087
3088         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
3089         help in debugging.
3090
3091         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
3092         class once in init, like gstmessage. Didn't run into this issue
3093         but it seems correct. Don't initialize a trace, gstminiobject does
3094         that.
3095
3096         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
3097         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
3098         to the bus.
3099         (assert_live_count): New util function, uses alloc traces to check
3100         cleanup.
3101
3102         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
3103         To be modified when unlink drops the internal pad.
3104
3105 2005-06-27  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
3108         (gst_bin_change_state):
3109         Cleanup the get_state() function a little, make sure it
3110         iterates the same set of elements.
3111         Added stub iterate_state_order().
3112
3113 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         * docs/gst/gstreamer-docs.sgml:
3116         * docs/gst/gstreamer-sections.txt:
3117         * docs/gst/gstreamer.types:
3118         * docs/gst/tmpl/gstbasesink.sgml:
3119         * docs/gst/tmpl/gstbasesrc.sgml:
3120         * docs/gst/tmpl/gstbasetransform.sgml:
3121         * docs/gst/tmpl/gstelement.sgml:
3122         * docs/gst/tmpl/gstiterator.sgml:
3123         * gst/base/gstbasesrc.c:
3124         * gst/base/gstbasesrc.h:
3125         * gst/base/gstbasetransform.h:
3126         * gst/gstelement.c:
3127         * gst/gstiterator.h:
3128           adding basetransform and iterator docs
3129
3130 2005-06-27  Andy Wingo  <wingo@pobox.com>
3131
3132         * docs/design/part-activation.txt: Notes on how activation should
3133         work -- not quite implemented yet.
3134
3135 2005-06-25  Wim Taymans  <wim@fluendo.com>
3136
3137         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3138         At least get the chain function correct, needs more
3139         fixing.
3140
3141 2005-06-25  Wim Taymans  <wim@fluendo.com>
3142
3143         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3144         (gst_basesink_handle_object), (gst_basesink_event),
3145         (gst_basesink_do_sync), (gst_basesink_handle_event),
3146         (gst_basesink_change_state):
3147         * gst/gsttask.h:
3148         Right, two problems here: ghostpads don't take locks and
3149         glib _rec_mutex_lock_full() with depth==0 still locks.
3150         Catch illegal locking and g_warn them.
3151
3152 2005-06-25  Wim Taymans  <wim@fluendo.com>
3153
3154         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3155         Have to check for completion now...
3156
3157 2005-06-25  Wim Taymans  <wim@fluendo.com>
3158
3159         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3160         (gst_basesink_handle_object), (gst_basesink_event),
3161         (gst_basesink_do_sync), (gst_basesink_handle_event),
3162         (gst_basesink_change_state):
3163         * gst/gstpad.h:
3164         Unlock STREAM_LOCK whatever the recursion was.
3165
3166 2005-06-25  Wim Taymans  <wim@fluendo.com>
3167
3168         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3169         (gst_basesink_preroll_queue_empty),
3170         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3171         (gst_basesink_event), (gst_basesink_do_sync),
3172         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3173         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3174         (gst_basesink_change_state):
3175         Reworked the base sink, handle event and buffer serialisation
3176         correctly and removed possible deadlock.
3177         Handle EOS correctly.
3178
3179 2005-06-25  Wim Taymans  <wim@fluendo.com>
3180
3181         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3182         (gst_pipeline_change_state):
3183         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3184         Allow elements to post EOS in the state change function.
3185         Fix up -launch, make it exit the poll loop when the
3186         pipeline actually changed state.
3187         Fix up warning parsing in -launch.
3188
3189 2005-06-25  Wim Taymans  <wim@fluendo.com>
3190
3191         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3192         (gst_tee_sink_activate):
3193         Core takes STREAM_LOCK for us now.
3194
3195 2005-06-25  Wim Taymans  <wim@fluendo.com>
3196
3197         * gst/gstelement.c: (gst_element_get_state_func),
3198         (gst_element_set_state):
3199         * gst/gstelement.h:
3200         * gst/gstmessage.c: (gst_message_parse_error),
3201         (gst_message_parse_warning):
3202         Keep track of current target state while performing a state
3203         change so that subclasses can do something interesting.
3204         Fix parsing of warning/error messages when GError is NULL.
3205
3206 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3207
3208         * docs/gst/Makefile.am:
3209         * docs/gst/gstreamer-docs.sgml:
3210         * docs/gst/gstreamer-sections.txt:
3211         * docs/gst/gstreamer.types:
3212         * docs/gst/tmpl/gstbasesink.sgml:
3213         * docs/gst/tmpl/gstbasesrc.sgml:
3214         * docs/gst/tmpl/gstbin.sgml:
3215         * docs/gst/tmpl/gstcompat.sgml:
3216         * docs/gst/tmpl/gstfakesink.sgml:
3217         * docs/gst/tmpl/gstfakesrc.sgml:
3218         * docs/gst/tmpl/gstfilesink.sgml:
3219         * docs/gst/tmpl/gstfilesrc.sgml:
3220         * docs/gst/tmpl/gstindex.sgml:
3221         * docs/manual/appendix-quotes.xml:
3222         * gst/base/gstbasesrc.h:
3223         * gst/elements/gstfakesrc.h:
3224         * gst/gstmessage.h:
3225           start pulling in base classes and elements in our docs
3226
3227 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3228
3229         * docs/gst/Makefile.am:
3230         * docs/libs/Makefile.am:
3231           fixed make distcheck with gtk-doc 1.3
3232
3233 2005-06-23  Wim Taymans  <wim@fluendo.com>
3234
3235         * gst/gstelement.c: (gst_element_get_state_func),
3236         (gst_element_set_state), (gst_element_change_state):
3237         When the state did not change, also report NO_PREROLL
3238         when it matters.
3239
3240 2005-06-23  Wim Taymans  <wim@fluendo.com>
3241
3242         * gst/gstpad.c: (gst_pad_event_default):
3243         * gst/gstqueue.c: (gst_queue_loop):
3244         No unsafe task pausing please.
3245
3246 2005-06-23  Wim Taymans  <wim@fluendo.com>
3247
3248         * gst/schedulers/threadscheduler.c:
3249         (gst_thread_scheduler_task_start),
3250         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3251         Ref the task before pushing it on the threadpool. This
3252         makes sure that we have a ref when the threadfunction is
3253         actually called.
3254
3255 2005-06-23  Andy Wingo  <wingo@pobox.com>
3256
3257         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3258         offset is greater than the file's size.
3259
3260         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3261         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3262         * gst/gstobject.c (gst_object_class_init): Make the class lock
3263         recursive. Wim won't let me drop deep_notify. Decodebin works
3264         again, whoopdy doo.
3265
3266         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3267         internal pad, and hacks accordingly. Doesn't do it on the target
3268         pad because we change its caps. Probably catches all cases of
3269         interest tho.
3270         (gst_ghost_pad_set_property): Connect to notify::caps as
3271         appropritate.
3272
3273         * tests/network-clock.scm (plot-simulation): Pipe data to the
3274         elite python skript.
3275
3276         * tests/network-clock-utils.scm (define-parameter): New macro,
3277         defines a parameter that can be set via the command line.
3278         (set-parameter!, parse-parameter-arguments): Command line args
3279         parser.
3280
3281         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3282         stdin.
3283
3284 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3285
3286         * gst/elements/gsttypefindelement.c:
3287         (gst_type_find_element_handle_event):
3288           Don't restart typefinding on a discont.
3289         * gst/gstelement.c: (gst_element_set_state):
3290           Debug spelling fix.
3291         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3292           Allow changing mode of an active pad.
3293           Debug output fixes.
3294         * gst/registries/gstlibxmlregistry.c: (load_feature):
3295           Don't cast a static pad template to a normal pad template.
3296
3297 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3298
3299         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3300         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3301           remove gst_strtoll completely, since it didn't actually do
3302           anything more than what g_ascii_strtoull already does.
3303           check for range errors when deserializing
3304           do a cast for the unsigned cases; but further fixing needs
3305           a decision on what the interpretation of "(int)" and
3306           deserialization should be for values that fall outside the
3307           type's boundaries (ie, refuse, or interpret as casting)
3308
3309 2005-06-23  Wim Taymans  <wim@fluendo.com>
3310
3311         * check/Makefile.am:
3312         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3313         * docs/design/part-live-source.txt:
3314         * docs/design/part-states.txt:
3315         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3316         (gst_basesrc_set_live), (gst_basesrc_is_live),
3317         (gst_basesrc_get_range), (gst_basesrc_activate),
3318         (gst_basesrc_change_state):
3319         * gst/base/gstbasesrc.h:
3320         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3321         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3322         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3323         * gst/gstelement.c: (gst_element_get_state_func),
3324         (gst_element_set_state):
3325         * gst/gstelement.h:
3326         * gst/gsttypes.h:
3327         * tools/gst-launch.c: (event_loop), (main):
3328         Added support for live sources and other elements that
3329         cannot do preroll.
3330         Updated design docs, added live-source design doc.
3331         Implemented live source functionality in basesrc
3332         Fix error condition in _bin_get_state()
3333         Implement live source handling in -launch.
3334         Added check for live sources.
3335         Fixed case in GstBin where elements were changed state
3336         multiple times.
3337
3338
3339 2005-06-23  Andy Wingo  <wingo@pobox.com>
3340
3341         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3342         borken refcounting.
3343
3344         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3345         gst_caps_replace takes care of this for us.
3346
3347         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3348         gst_pad_set_caps on the target, not just its setcaps() function.
3349
3350         * tests/network-clock.scm: 
3351         * tests/network-clock-utils.scm: A network clock simulator.
3352         Something of an algorithmic testbed before doing something in C.
3353
3354 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3355
3356         * check/Makefile.am:
3357         * check/gst/capslist.h:
3358           copy over from 0.8, and add two with bitmasks specified with
3359           (int) 0xFF...
3360         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3361           add test to parse everything from capslist.h
3362         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3363         (main):
3364           add test for structure deserialization
3365         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3366           add tests for deserialization of strings to int types
3367         * gst/gststructure.c: (gst_structure_nth_field_name):
3368         * gst/gststructure.h:
3369           add a way to get the name of a field referenced by index
3370         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3371           instead of checking if the resulting long long lies between
3372           min and max, we check if the long long would fit into
3373           a number of bytes for the final type.
3374           This fixes cases where a string represents 2^32 - 1, which
3375           when cast to int would be the (valid) -1, but is bigger than
3376           G_MAXINT
3377
3378 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3379
3380         * gst/parse/grammar.y:
3381           add a log line for type deserialization
3382
3383 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3384
3385         * check/gst/gstvalue.c: (START_TEST):
3386         * gst/gstvalue.c: (gst_value_deserialize):
3387           return long long, not int, so gint64 deserialization actually
3388           works.  Is there any flag that makes the compiler check this ?
3389           Fixes #308559
3390
3391 2005-06-22  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/gstbuffer.h:
3394         Added convenience macros for setting buffers in GValue.
3395
3396 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3397
3398         * check/gst/.cvsignore:
3399         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3400           add a test deserializing int64, and comment part out because
3401           it fails, yay !
3402
3403 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3404
3405         * check/Makefile.am:
3406         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3407         * testsuite/Makefile.am:
3408         * testsuite/caps/Makefile.am:
3409         * testsuite/caps/value_serialize.c:
3410         * testsuite/test_gst_init.c:
3411           move a value_serialize test over
3412
3413 2005-06-20  Wim Taymans  <wim@fluendo.com>
3414
3415         * gst/gstpad.c:
3416         Small doc updates.
3417         
3418         * gst/gstvalue.c: (gst_value_compare_buffer),
3419         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3420         (gst_value_compare_flags), (gst_value_serialize_flags),
3421         (gst_value_deserialize_flags), (_gst_value_initialize):
3422         Fix serialisation of buffers, they are not boxed types anymore
3423
3424 2005-06-20  Wim Taymans  <wim@fluendo.com>
3425
3426         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3427         Testcase to show error in buffer-on-caps serialisation.
3428
3429 2005-06-20  Andy Wingo  <wingo@pobox.com>
3430
3431         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3432         will be adding to later.
3433
3434         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3435         if its socks fill with rocks.
3436         (gst_system_clock_obtain): Set the name on object construction.
3437         Avoid double-checked locking.
3438
3439 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * gst/gsturi.c: (gst_element_make_from_uri):
3442           Fix potential endless loop.
3443
3444 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3445
3446         * check/Makefile.am:
3447           add gsttag
3448         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3449         (main):
3450           move over from testsuite dir and clean up
3451         * configure.ac:
3452         * gst/gsttag.c:
3453         * testsuite/Makefile.am:
3454         * testsuite/tags/.cvsignore:
3455         * testsuite/tags/Makefile.am:
3456         * testsuite/tags/merge.c:
3457           remove testsuite/tags
3458
3459 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3460
3461         * docs/gst/gstreamer-sections.txt:
3462         * docs/gst/tmpl/gstenumtypes.sgml:
3463         * win32/gstenumtypes.c:
3464           clean up documentation build a little
3465
3466 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3467
3468         * check/gstcheck.h:
3469           add macros for checking refcounts on objects and caps
3470         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3471           add some more unit tests
3472         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3473         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3474           fix leaked refcounts (I hope :)) so unittest works
3475         * gst/gstpad.h:
3476           whitespace removal
3477
3478 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3479
3480         * configure.ac: back to HEAD
3481
3482 === release 0.9.1 ===
3483
3484 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3485
3486         * NEWS:
3487         * RELEASE:
3488           updated
3489
3490 2005-06-17  Andy Wingo  <wingo@pobox.com>
3491
3492         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3493         assert; it's always possible that the pad gets deactivated in
3494         between the checks in gstpad.c and the implementation. Rely on
3495         finish_preroll() to return a FLUSHING or similar instead of on the
3496         assert.
3497         
3498         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3499         clock and post an EOS message if we come out of finish_preroll in
3500         the playing state.
3501
3502 2005-06-16  David Schleef  <ds@schleef.org>
3503
3504         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3505         (gst_capsfilter_set_property): Allow NULL as possible value
3506         for filter_caps property, indicating GST_CAPS_ANY.
3507
3508 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3509
3510         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3511           fix debug output
3512         * gst/schedulers/Makefile.am:
3513           use libgst prefix
3514         * gstreamer.spec.in:
3515           fix spec for it
3516
3517 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3518
3519         * gstreamer.spec.in:
3520           clean up
3521
3522 2005-06-08  Andy Wingo  <wingo@pobox.com>
3523
3524         * gst/gstutils.c: RPAD fixes all around.
3525         (gst_element_link_pads): Refcounting fixes.
3526
3527         * tools/gst-inspect.c:
3528         * tools/gst-xmlinspect.c:
3529         * parse/grammar.y:
3530         * gst/base/gsttypefindhelper.c:
3531         * gst/base/gstbasesink.c:
3532         * gst/gstqueue.c: RPAD fixes.
3533
3534         * gst/gstghostpad.h:
3535         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3536         pads. The tricky thing is they provide both source and sink
3537         interfaces, since they proxy the internal pad for the external
3538         pad, and vice versa. Implement with lower-level ProxyPad objects,
3539         with the interior proxy pad as a child of the exterior ghost pad.
3540         Should write a doc on this.
3541         
3542         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3543         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3544         gst_object API.
3545         
3546         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3547         pads are real pads. No ghost pads in this file. Not documenting
3548         the myriad s/RPAD/PAD/ and REALIZE fixes.
3549         (gst_pad_class_init): Add properties for "direction" and
3550         "template". Both are construct-only, so they can't change during
3551         the life of the pad. Fixes properly deriving from GstPad.
3552         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3553         derived objects, just set properties when creating the objects via
3554         g_object_new.
3555         (gst_pad_get_parent): Implement as a function, return NULL if the
3556         parent is not an element.
3557         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3558         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3559         
3560         * gst/gstobject.c (gst_object_class_init): Make name a construct
3561         property. Don't set it in the object init.
3562
3563         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3564         with UNKNOWN direction.
3565         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3566         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3567         (gst_element_remove_pad): Remove ghost-pad special cases.
3568         (gst_element_pads_activate): Remove rpad cruft.
3569
3570         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3571         catch the pad's-parent-not-an-element case.
3572
3573         * gst/gst.h: Include gstghostpad.h.
3574
3575         * gst/gst.c (init_post): No more real, ghost pads.
3576
3577         * gst/Makefile.am: Add gstghostpad.[ch].
3578
3579         * check/Makefile.am:
3580         * check/gst/gstbin.c:
3581         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3582         into a bin creates ghost pads, and that the refcounts are right.
3583         Partly moved from gstbin.c.
3584
3585 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3586
3587         * check/gst-libs/.cvsignore:
3588         * check/gst/.cvsignore:
3589         * check/pipelines/.cvsignore:
3590           ignore more
3591         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3592         (START_TEST), (cleanup_suite), (main):
3593           add some tests related to cleanup after running pipelines
3594
3595 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3596
3597         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3598           add a testsuite for GstBuffer
3599
3600 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3601
3602         * gst/gstminiobject.h:
3603           add defines for accessing the refcount
3604
3605 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3606
3607         * Makefile.am: added support for html unit test coverage reports
3608
3609 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3610
3611         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3612           Free existing caps if the capsfilter changes. Add a FIXME about
3613           setting those caps on the pads.
3614
3615         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3616           Before adding a ghost pad to a parent bin, check that there isn't
3617           already one for the element on the bin. Prevents infinite recursion
3618           when using decodebin in parse pipelines. Andy says he'll rewrite the
3619           way this works anyway, so ignore the hack.
3620
3621 2005-06-02  Andy Wingo  <wingo@pobox.com>
3622
3623         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3624         file size, pass it on to the type find helper.
3625
3626         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3627         segment_start and segment_end properly according to the seek
3628         method. Segment_end is still a bit flaky because offset can be
3629         negative for CUR and END cases, but it takes -1 as an "unset"
3630         value.
3631
3632 2005-06-02  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3635         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3636         (gst_basesink_activate):
3637         * gst/base/gstbasesink.h:
3638         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3639         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3640         (gst_pad_query), (gst_pad_start_task):
3641         * gst/gstpad.h:
3642         * gst/gstqueue.c: (gst_queue_bufferalloc),
3643         (gst_queue_handle_sink_event), (gst_queue_chain):
3644         Bufferalloc: return GstFlowReturn to more accuratly report
3645         why allocation failed.
3646
3647 2005-06-02  Wim Taymans  <wim@fluendo.com>
3648
3649         * gst/gstpipeline.c: (gst_pipeline_send_event):
3650         Take snapshot of state without blocking.
3651
3652 2005-06-02  Wim Taymans  <wim@fluendo.com>
3653
3654         * docs/design/part-TODO.txt:
3655         * docs/design/part-caps.txt:
3656         * docs/design/part-clocks.txt:
3657         * docs/design/part-negotiation.txt:
3658         * docs/design/part-preroll.txt:
3659         Small doc updates 
3660
3661 2005-05-30  Wim Taymans  <wim@fluendo.com>
3662
3663         * gst/elements/gstidentity.c: (gst_identity_event),
3664         (gst_identity_transform), (gst_identity_get_property):
3665         Protect last_message property as it is accessed from
3666         multiple threads.
3667
3668 2005-05-30  Wim Taymans  <wim@fluendo.com>
3669
3670         * gst/gstelement.c: (gst_element_init),
3671         (gst_element_pads_activate), (gst_element_change_state):
3672         Slicker pad activation code.
3673
3674 2005-05-30  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/Makefile.am:
3677         * gst/gstelement.h:
3678         * gst/gstelementfactory.h:
3679         * gst/gsttypes.h:
3680         Move elementfactory methods to separate .h file.
3681
3682 2005-05-30  Wim Taymans  <wim@fluendo.com>
3683
3684         * docs/design/part-overview.txt:
3685         * gst/gstsystemclock.h:
3686         Small typo fixes, doc updates.
3687
3688 2005-05-30  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3691         (init_popt_callback):
3692         Remove cpu-opt flag.
3693
3694 2005-05-30  Wim Taymans  <wim@fluendo.com>
3695
3696         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3697         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3698         * gst/gstbuffer.h:
3699         Avoid typechecking in places where not needed.
3700         Added accessor for malloc_data.
3701
3702 2005-05-30  Wim Taymans  <wim@fluendo.com>
3703
3704         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3705         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3706         (gst_pad_configure_sink), (gst_pad_configure_src),
3707         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3708         (gst_pad_start_task):
3709         Propagate errors from _set_caps() in configure_src/sink
3710         functions instead of returning TRUE.
3711         FLUSH events can travel up and downstream
3712
3713
3714 2005-05-30  Wim Taymans  <wim@fluendo.com>
3715
3716         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3717         (gst_basesink_activate):
3718         Handle EOS in preroll.
3719
3720 2005-05-30  Wim Taymans  <wim@fluendo.com>
3721
3722         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3723         (gst_queue_loop), (gst_queue_handle_src_event):
3724         Remove old pieces of code
3725         Flushing the queue in an upstream event is a very bad idea.
3726
3727 2005-05-26  Andy Wingo  <wingo@pobox.com>
3728
3729         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3730         gst_value_set_mini_object so as to add a ref on the object (which
3731         will be removed when the value is unset).
3732
3733         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3734         arg type in ::handoff.
3735
3736         * gst/gstelement.c (gst_element_change_state): Also deactivate
3737         pads in READY->NULL, just in case the element didn't make it to
3738         PAUSED. Wingo tested, Wim approved.
3739
3740 2005-05-26  Wim Taymans  <wim@fluendo.com>
3741
3742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3743         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3744         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3745         A flushing pad cannot be used to alloc_buffer from.
3746
3747 2005-05-26  Wim Taymans  <wim@fluendo.com>
3748
3749         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3750         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3751         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3752         (gst_bus_create_watch), (gst_bus_add_watch_full):
3753         * gst/gstbus.h:
3754         Implement a real GSource and use g_main_context_wakeup() to
3755         signal new messages instead of the socketpair.
3756
3757 2005-05-25  Wim Taymans  <wim@fluendo.com>
3758
3759         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3760         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3761         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3762         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3763         (gst_pad_send_event), (gst_pad_start_task):
3764         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3765         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3766         (gst_queue_sink_activate), (gst_queue_src_activate),
3767         (gst_queue_change_state):
3768         * gst/gstqueue.h:
3769         Fix state changes for non sinks. We now change sinks, then elements
3770         with unconnected srcpads, then the rest.
3771         More efficient queue unlocking in flush and state changes.
3772         Set the pad activate mode even if it does not have an activate
3773         function.
3774
3775 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3776
3777         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3778           Don't go in pull mode for non-seekable sources.
3779         * gst/elements/gsttypefindelement.h:
3780         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3781         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3782         (free_entry), (stop_typefinding),
3783         (gst_type_find_element_handle_event), (find_peek),
3784         (gst_type_find_element_chain), (do_pull_typefind),
3785         (gst_type_find_element_change_state):
3786           Allow typefinding (w/o seeking) in push-mode, simplified version
3787           of what was in 0.8.
3788         * gst/gstutils.c: (gst_buffer_join):
3789         * gst/gstutils.h:
3790           gst_buffer_join() from 0.8.
3791
3792 2005-05-25  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3795         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3796         (gst_pad_send_event), (gst_pad_start_task):
3797         Disable attempt at mode switching until it is figured out.
3798
3799 2005-05-25  Wim Taymans  <wim@fluendo.com>
3800
3801         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3802         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3803         (gst_basesink_finish_preroll), (gst_basesink_chain),
3804         (gst_basesink_loop), (gst_basesink_activate),
3805         (gst_basesink_change_state):
3806         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3807         (gst_basesrc_get_range), (gst_basesrc_loop),
3808         (gst_basesrc_activate):
3809         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3810         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3811         (gst_real_pad_init), (gst_real_pad_set_property),
3812         (gst_real_pad_get_property), (gst_pad_set_active),
3813         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3814         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3815         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3816         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3817         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3818         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3819         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3820         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3821         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3822         (gst_pad_stop_task):
3823         * gst/gstpad.h:
3824         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3825         (gst_queue_loop), (gst_queue_src_activate):
3826         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3827         (gst_task_get_state):
3828         * gst/gsttask.h:
3829         * gst/schedulers/threadscheduler.c:
3830         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3831         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3832         in task function.
3833         Remove ACTIVE pad flag, use FLUSHING everywhere
3834         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3835         functions.
3836         Add locks around IS_FLUSHING when reading.
3837         Take STREAM lock in chain(), get_range() functions so plugins
3838         don't need to take it anymore.
3839         
3840
3841
3842 2005-05-25  Wim Taymans  <wim@fluendo.com>
3843
3844         * tools/gst-launch.c: (event_loop):
3845         Unref message after using its contents instead of
3846         before.
3847
3848 2005-05-24  Wim Taymans  <wim@fluendo.com>
3849
3850         * docs/design/draft-ghostpads.txt:
3851         * docs/design/draft-push-pull.txt:
3852         * docs/design/draft-query.txt:
3853         * docs/design/part-overview.txt:
3854         Docs updates, added general overview doc.
3855
3856 2005-05-21  David Schleef  <ds@schleef.org>
3857
3858         * docs/gst/tmpl/old/GstBin.sgml:
3859         * docs/gst/tmpl/old/GstBuffer.sgml:
3860         * docs/gst/tmpl/old/GstCaps.sgml:
3861         * docs/gst/tmpl/old/GstClock.sgml:
3862         * docs/gst/tmpl/old/GstCompat.sgml:
3863         * docs/gst/tmpl/old/GstData.sgml:
3864         * docs/gst/tmpl/old/GstElement.sgml:
3865         * docs/gst/tmpl/old/GstEvent.sgml:
3866         * docs/gst/tmpl/old/GstIndex.sgml:
3867         * docs/gst/tmpl/old/GstStructure.sgml:
3868         * docs/gst/tmpl/old/GstTag.sgml:
3869         * docs/gst/tmpl/old/cothreads.sgml:
3870         * docs/gst/tmpl/old/cothreads_compat.sgml:
3871         * docs/gst/tmpl/old/gettext.sgml:
3872         * docs/gst/tmpl/old/gobject2gtk.sgml:
3873         * docs/gst/tmpl/old/grammar.tab.sgml:
3874         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3875         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3876         * docs/gst/tmpl/old/gst_private.sgml:
3877         * docs/gst/tmpl/old/gstaggregator.sgml:
3878         * docs/gst/tmpl/old/gstarch.sgml:
3879         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3880         * docs/gst/tmpl/old/gstbufferstore.sgml:
3881         * docs/gst/tmpl/old/gstdata_private.sgml:
3882         * docs/gst/tmpl/old/gstdisksink.sgml:
3883         * docs/gst/tmpl/old/gstdisksrc.sgml:
3884         * docs/gst/tmpl/old/gstelementfactory.sgml:
3885         * docs/gst/tmpl/old/gstextratypes.sgml:
3886         * docs/gst/tmpl/old/gstfakesink.sgml:
3887         * docs/gst/tmpl/old/gstfakesrc.sgml:
3888         * docs/gst/tmpl/old/gstfdsink.sgml:
3889         * docs/gst/tmpl/old/gstfdsrc.sgml:
3890         * docs/gst/tmpl/old/gstfilesink.sgml:
3891         * docs/gst/tmpl/old/gstfilesrc.sgml:
3892         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3893         * docs/gst/tmpl/old/gstidentity.sgml:
3894         * docs/gst/tmpl/old/gstindexfactory.sgml:
3895         * docs/gst/tmpl/old/gstmarshal.sgml:
3896         * docs/gst/tmpl/old/gstmd5sink.sgml:
3897         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3898         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3899         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3900         * docs/gst/tmpl/old/gstpipefilter.sgml:
3901         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3902         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3903         * docs/gst/tmpl/old/gstshaper.sgml:
3904         * docs/gst/tmpl/old/gstspider.sgml:
3905         * docs/gst/tmpl/old/gstspideridentity.sgml:
3906         * docs/gst/tmpl/old/gststatistics.sgml:
3907         * docs/gst/tmpl/old/gsttee.sgml:
3908         * docs/gst/tmpl/old/gsttimecache.sgml:
3909         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3910         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3911         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3912         * docs/gst/tmpl/old/types.sgml:
3913           I didn't intend to add these or check them in.
3914
3915 2005-05-19  David Schleef  <ds@schleef.org>
3916
3917         * configure.ac: Use -no-common everywhere.  In a sane world, it
3918           would be the default in libtool, because without it, you can't
3919           build DLLs on Windows.
3920         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3921         * docs/gst/gstreamer-sections.txt:
3922         * docs/gst/tmpl/gstcpu.sgml:
3923         * docs/gst/tmpl/gstdata.sgml:
3924         * docs/gst/tmpl/gstthread.sgml:
3925
3926 2005-05-19  David Schleef  <ds@schleef.org>
3927
3928         * gst/gstminiobject.c: (gst_value_set_mini_object),
3929         (gst_value_take_mini_object), (gst_value_get_mini_object):
3930         * gst/gstminiobject.h: Add GValue set/get functions.
3931
3932 2005-05-19  Wim Taymans  <wim@fluendo.com>
3933
3934         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3935         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3936         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3937         * gst/gstbuffer.h:
3938         * gst/gstbus.c: (gst_bus_post):
3939         * gst/gstelement.c: (gst_element_get_random_pad):
3940         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3941         Make subbufer unref the parent in finalize.
3942         some more debugging info.
3943
3944
3945 2005-05-19  Wim Taymans  <wim@fluendo.com>
3946
3947         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3948         (gst_basesink_init), (gst_basesink_finalize),
3949         (gst_basesink_activate), (gst_basesink_change_state):
3950         Don't free preroll queue too early.
3951
3952 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3953
3954         * gst/Makefile.am:
3955         * gst/ROADMAP:
3956           Hi, I'm outdated. Please shoot me.
3957
3958 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3959
3960         * gst/gstpipeline.c: (gst_pipeline_send_event):
3961           Do not access variables after they have been deleted.
3962
3963 2005-05-19  Wim Taymans  <wim@fluendo.com>
3964
3965         * tools/gst-inspect.c: (print_plugin_features):
3966         A plugin feature does unfortunatly not use the
3967         object name yet...
3968
3969 2005-05-18  Wim Taymans  <wim@fluendo.com>
3970
3971         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3972         Port _span() functions to new subbuffers.
3973
3974 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3975
3976         * gst/gstbin.c: (gst_bin_add_func):
3977           Fix clock settery in bins when adding kids after the clock has
3978           been selected.
3979
3980 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3981
3982         * gst/elements/gstidentity.c: (gst_identity_class_init):
3983           Workaround until signals support GstMiniObject.
3984
3985 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3986
3987         * gst/gstbuffer.c:
3988         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3989
3990 2005-05-18  Wim Taymans  <wim@fluendo.com>
3991
3992         * gst/base/Makefile.am:
3993         * gst/base/gstadapter.c: (gst_adapter_base_init),
3994         (gst_adapter_class_init), (gst_adapter_init),
3995         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3996         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3997         (gst_adapter_flush), (gst_adapter_available),
3998         (gst_adapter_available_fast):
3999         * gst/base/gstadapter.h:
4000         Ported and added adapter to the base classes.
4001
4002 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4003
4004         * gst/gst.c:
4005         * gst/gstmessage.c:
4006           Make sure the class is reffed/unreffed once before threads can be
4007           used.  Fixes #304551.
4008
4009 2005-05-17  Wim Taymans  <wim@fluendo.com>
4010
4011         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
4012         (gst_basesink_chain_unlocked), (gst_basesink_activate):
4013         * gst/gstminiobject.c: (gst_mini_object_get_type),
4014         (gst_mini_object_free):
4015         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
4016         (gst_pad_push), (gst_pad_push_event):
4017         * gst/gstqueue.c: (gst_queue_change_state):
4018         Don't queue buffers in basesink when we are flushing.
4019         Unref buffer when flushing in basesink.
4020         Flush queue when going to READY
4021         Unref buffer when _push() returns an error.
4022         Don't free MiniObject instance when refcount is incremented
4023         in _finalize() so that we can recover objects.
4024
4025 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4026
4027         * docs/manual/advanced-schedulers.xml:
4028         * docs/manual/appendix-checklist.xml:
4029         * docs/pwg/advanced-clock.xml:
4030         * docs/pwg/advanced-interfaces.xml:
4031         * docs/pwg/advanced-request.xml:
4032         * docs/pwg/advanced-types.xml:
4033         * docs/pwg/intro-preface.xml:
4034         * examples/plugins/example.c: (gst_example_get_type),
4035         (gst_example_class_init), (gst_example_chain),
4036         (gst_example_set_property), (gst_example_get_property),
4037         (gst_example_change_state), (plugin_init):
4038         * examples/plugins/example.h:
4039           small doc fixes
4040
4041 2005-05-17  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
4044         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
4045         * gst/gstqueue.c: (gst_queue_change_state):
4046         Clear queue when going to READY.
4047         Remove IN_SETCAPS flag too.
4048
4049 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
4050
4051         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
4052           Remove implicit cast from gboolean to GstElementStateReturn;
4053           make sure we still return failure in paused => ready case if
4054           the parent class fails to change state and our own stop 
4055           vfunc succeeds.
4056
4057 2005-05-17  Wim Taymans  <wim@fluendo.com>
4058
4059         * tools/gst-launch.c: (event_loop):
4060         Message was unreffed too soon.
4061
4062 2005-05-16  Andy Wingo  <wingo@pobox.com>
4063
4064         * gst/gstbin.c (sink_iterator_filter): Err... um...
4065
4066         * check/gst/gstbin.c (test_ghost_pads): New test for the
4067         ghosting-if-elements-not-in-same-bin behavior.
4068
4069 2005-05-16  David Schleef  <ds@schleef.org>
4070
4071         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
4072         accessing refcount directly.
4073
4074 2005-05-15  David Schleef  <ds@schleef.org>
4075
4076         * check/Makefile.am: remove GstData checks
4077         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
4078         * gst/Makefile.am: add miniobject, remove data
4079         * gst/gst.h: add miniobject, remove data
4080         * gst/gstdata.c: remove
4081         * gst/gstdata.h: remove
4082         * gst/gstdata_private.h: remove
4083         * gst/gsttypes.h: remove GstEvent and GstMessage
4084         * gst/gstelement.c: (gst_element_post_message): fix for API changes
4085         * gst/gstmarshal.list: change BOXED -> OBJECT
4086
4087         Implement GstMiniObject.
4088         * gst/gstminiobject.c:
4089         * gst/gstminiobject.h:
4090
4091         Modify to be subclasses of GstMiniObject.
4092         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
4093         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
4094         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
4095         (gst_subbuffer_get_type), (gst_subbuffer_init),
4096         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
4097         (gst_buffer_span):
4098         * gst/gstbuffer.h:
4099         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
4100         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
4101         (_gst_event_copy), (gst_event_new):
4102         * gst/gstevent.h:
4103         * gst/gstmessage.c: (_gst_message_initialize),
4104         (gst_message_get_type), (gst_message_class_init),
4105         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
4106         (gst_message_new), (gst_message_new_error),
4107         (gst_message_new_warning), (gst_message_new_tag),
4108         (gst_message_new_state_changed), (gst_message_new_application):
4109         * gst/gstmessage.h:
4110         * gst/gstprobe.c: (gst_probe_perform),
4111         (gst_probe_dispatcher_dispatch):
4112         * gst/gstprobe.h:
4113         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4114         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4115         (_gst_query_copy), (gst_query_new):
4116
4117         Update elements for GstData -> GstMiniObject changes
4118         * gst/gstquery.h:
4119         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4120         (gst_queue_chain), (gst_queue_loop):
4121         * gst/elements/gstbufferstore.c:
4122         (gst_buffer_store_add_buffer_func),
4123         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4124         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4125         (gst_fakesink_render):
4126         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4127         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4128         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4129         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4130         (gst_filesrc_create_read):
4131         * gst/elements/gstidentity.c: (gst_identity_class_init):
4132         * gst/elements/gsttypefindelement.c:
4133         (gst_type_find_element_src_event), (free_entry_buffers),
4134         (gst_type_find_element_handle_event):
4135         * libs/gst/dataprotocol/dataprotocol.c:
4136         (gst_dp_header_from_buffer):
4137         * libs/gst/dataprotocol/dataprotocol.h:
4138         * libs/gst/dataprotocol/dp-private.h:
4139
4140 2005-05-15  David Schleef  <ds@schleef.org>
4141
4142         * gst/elements/gstelements.c: Don't include headers that were
4143         just removed.
4144
4145 2005-05-15  David Schleef  <ds@schleef.org>
4146
4147         * gst/elements/Makefile.am: Remove some elements that don't
4148         need to be in the core (or even exist at all).
4149         * gst/elements/gstaggregator.c:
4150         * gst/elements/gstaggregator.h:
4151         * gst/elements/gstmd5sink.c:
4152         * gst/elements/gstmd5sink.h:
4153         * gst/elements/gstmultifilesrc.c:
4154         * gst/elements/gstmultifilesrc.h:
4155         * gst/elements/gstpipefilter.c:
4156         * gst/elements/gstpipefilter.h:
4157         * gst/elements/gstshaper.c:
4158         * gst/elements/gstshaper.h:
4159         * gst/elements/gststatistics.c:
4160         * gst/elements/gststatistics.h:
4161         * po/POTFILES.in: Remove above files.
4162
4163 2005-05-14  Andy Wingo  <wingo@pobox.com>
4164
4165         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4166         so as to get the refs right.
4167         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4168         unreffing objects that don't pass the filter.
4169
4170         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4171         gst_element_set_bus.
4172         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4173         normal cases, this will destroy the bus.
4174
4175         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4176         object.
4177
4178         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4179         has no sinks.
4180
4181 2005-05-13  Andy Wingo  <wingo@pobox.com>
4182
4183         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4184         gst_pad_link, call pad_link_maybe_ghosting,
4185         (pad_link_maybe_ghosting): Links pads, making sure that the
4186         elements being linked are in the same bin.
4187         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4188         Helpers for pad_link_maybe_ghosting.
4189
4190 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4191
4192         * configure.ac:
4193           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4194
4195 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4196
4197         * docs/design/part-element-source.txt:
4198           Mention GstPushSrc
4199
4200 2005-05-12  Wim Taymans  <wim@fluendo.com>
4201
4202         * gst/base/gstbasesink.c: (gst_basesink_init),
4203         (gst_basesink_activate):
4204         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4205         (gst_basesrc_is_seekable):
4206         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4207         (bin_element_is_sink), (gst_bin_change_state):
4208         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4209         * gst/gstelement.h:
4210         Identify sinks by their flag to avoid overly complicated
4211         checks (fow now).
4212         Do state changes even for elements not reachable from the
4213         sinks.
4214         BaseSink is a sink now :)
4215         Some more debugging info in the basesrc.
4216
4217
4218 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4219
4220         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4221           Implement _query on a bin, similar to _send_event.
4222
4223 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
4224
4225         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4226           Discont event offset format should be GST_FORMAT_BYTES,
4227           not GST_FORMAT_TIME.
4228
4229 2005-05-12  Wim Taymans  <wim@fluendo.com>
4230
4231         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4232         Same fix as Ronald's but without the signal. 
4233
4234 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4235
4236         * gst/gstutils.c: (gst_element_query_position):
4237           No, an element is not a pad.
4238
4239 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4240
4241         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4242         (gst_bin_get_state):
4243           If a child is removed from a bin while we remove the child from
4244           the bin and while we're retrieving its state, signal this to the
4245           get_state function so we abort the wait (instead of waiting for
4246           a timeout) and can immediately re-iterate over all other elements.
4247
4248 2005-05-12  Wim Taymans  <wim@fluendo.com>
4249
4250         * gst/base/Makefile.am:
4251         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4252         (gst_basesrc_start):
4253         * gst/base/gstbasesrc.h:
4254         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4255         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4256         (gst_pushsrc_init), (gst_pushsrc_create):
4257         * gst/base/gstpushsrc.h:
4258         Added is_seekable to BaseSrc
4259         Added simple PushSrc.
4260
4261 2005-05-11  Wim Taymans  <wim@fluendo.com>
4262
4263         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4264         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4265         (gst_element_link_pads), (gst_element_query_position),
4266         (gst_element_query_convert), (intersect_caps_func),
4267         (gst_pad_query_position), (gst_pad_query_convert):
4268         Fix refcounting in utils function.
4269         No point in trying to activate a pad when it's added, it could
4270         be added from the state change function and then we deadlock, the
4271         element has to decide what to do.
4272
4273 2005-05-10  Andy Wingo  <wingo@pobox.com>
4274
4275         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4276         *all* the arguments.
4277
4278         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4279         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4280         lock (according to the docs -- if this is wrong change the docs).
4281
4282         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4283         flush messages in the NULL state.
4284
4285         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4286         message immediately and return.
4287         (gst_bus_set_flushing): New function. If a bus is flushing, it
4288         flushes out any queued messages and immediately unrefs new
4289         messages. This is so when an element goes to NULL, all of the
4290         unhandled messages coming from it can be freed, and their
4291         references to the element dropped. In other words: message source
4292         ref considered harmful :P
4293
4294         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4295         we're finished with it.
4296
4297         * gst/gstmessage.c (gst_message_new_state_changed): 
4298
4299 2005-05-10  Wim Taymans  <wim@fluendo.com>
4300
4301         * gst/gstvalue.c: (gst_value_compare_flags),
4302         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4303         (_gst_value_initialize):
4304         Added flags serialize/deserialize/compare code.
4305
4306 2005-05-09  Andy Wingo  <wingo@pobox.com>
4307
4308         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4309         Intersect the peer's caps with our caps.
4310
4311 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4312
4313         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4314         * gst/elements/gsttypefindelement.c: (find_peek):
4315           Handle negative offsets better. Fixes decodebin.
4316
4317 2005-05-09  Wim Taymans  <wim@fluendo.com>
4318
4319         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4320         (gst_base_transform_event):
4321         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4322         Implement accept_caps.
4323         Fix silly lock/unlock mismatch in base class.
4324
4325 2005-05-09  Wim Taymans  <wim@fluendo.com>
4326
4327         * docs/design/draft-push-pull.txt:
4328         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4329         * gst/elements/gstfilesink.c: (gst_filesink_init),
4330         (gst_filesink_query):
4331         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4332         (gst_type_find_handle_src_query), (find_element_get_length):
4333         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4334         * gst/gstelement.h:
4335         * gst/gstmessage.c:
4336         * gst/gstmessage.h:
4337         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4338         (gst_real_pad_get_caps_unlocked),
4339         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4340         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4341         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4342         (gst_real_pad_dispose), (gst_real_pad_finalize),
4343         (gst_pad_load_and_link), (gst_pad_save_thyself),
4344         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4345         (gst_pad_check_pull_range), (gst_pad_pull_range),
4346         (gst_pad_template_get_type), (gst_pad_template_class_init),
4347         (gst_pad_template_init), (gst_pad_template_dispose),
4348         (name_is_valid), (gst_static_pad_template_get),
4349         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4350         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4351         (gst_pad_get_element_private), (gst_pad_start_task),
4352         (gst_pad_pause_task), (gst_pad_stop_task),
4353         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4354         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4355         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4356         (gst_ghost_pad_new):
4357         * gst/gstpad.h:
4358         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4359         (gst_query_new_position), (gst_query_set_position),
4360         (gst_query_parse_position), (gst_query_new_convert),
4361         (gst_query_set_convert), (gst_query_parse_convert):
4362         * gst/gstquery.h:
4363         * gst/gstqueryutils.c:
4364         * gst/gstqueryutils.h:
4365         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4366         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4367         (gst_queue_handle_src_query):
4368         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4369         (gst_element_query_position), (gst_element_query_convert),
4370         (intersect_caps_func), (gst_pad_query_position),
4371         (gst_pad_query_convert):
4372         * gst/gstutils.h:
4373         * tools/gst-inspect.c: (print_pad_info):
4374         * tools/gst-xmlinspect.c: (print_element_info):
4375         Remove old query functions. Ported old code.
4376         Added position/convert helper functions to gstutils.
4377         Reordered gstpad.c code, grouping relevant things.
4378         Remove gst_message_new(), always need to speficy a specific
4379         message.
4380
4381
4382 2005-05-09  Andy Wingo  <wingo@pobox.com>
4383
4384         * gst/gstiterator.h: Add some includes.
4385
4386         * gst/gstqueryutils.h: Include more headers.
4387
4388         * gst/gstpad.h:
4389         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4390         some uses of gst_pad_query.
4391
4392         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4393         NULL out parameters.
4394         (gst_query_new_position): New proc, allocates a new position
4395         query.
4396
4397         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4398         gstqueryutils.c to the build.
4399
4400         * gst/gststructure.c (gst_structure_set_valist): Implement with
4401         the generic G_VALUE_COLLECT.
4402         
4403 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4404
4405         * gst/Makefile.am: (gst_headers):
4406         Added gstqueryutils.h to the list of headers to install, that was
4407         a 'nachty' move wingo :)
4408
4409 2005-05-06  Andy Wingo  <wingo@pobox.com>
4410
4411         * gst/gstquery.h
4412         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4413         GstData, init a memchunk.
4414         (standard_definitions): Add a few query types, deprecate a few.
4415         (gst_query_get_type): New proc.
4416         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4417         implementation.
4418         (gst_query_new_application, gst_query_get_structure): New public
4419         procs.
4420
4421         * docs/design/draft-query.txt: Removed LINKS from the query types,
4422         because all the rest can be dispatched to other pads -- seemed
4423         ugly to have a query that couldn't be dispatched. internal_links
4424         is fine as a pad method.
4425
4426         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4427         in gstpad.c, but maintain binary compatibility for the moment.
4428         Will fix before 0.9 is out.
4429
4430         * gst/gstqueryutils.c: 
4431         * gst/gstqueryutils.h: New files, implement 3 methods for each
4432         query type: parse_query, parse_response, and set. Probably need an
4433         allocator as well.
4434
4435         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4436
4437         * gst/elements/gstfilesink.c (gst_filesink_query2):
4438         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4439         query_types, and formats methods.
4440
4441         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4442         (gst_pad_set_query2_function): New functions.
4443         (gst_real_pad_init): Set query2_default as the default query2
4444         function. Basically just dispatches to internally linked pads.
4445
4446         Needs review!
4447         
4448         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4449         without using the atomic operations. Only one thread can possibly
4450         be accessing the data at this point. Changed so as to avoid
4451         gst_atomic operations.
4452
4453 2005-05-06  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4456         Also set caps if we use the fallback buffer alloc.
4457
4458 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4459
4460         * docs/gst/Makefile.am:
4461         * docs/gst/gstreamer-docs.sgml:
4462         * docs/gst/gstreamer-sections.txt:
4463         * docs/gst/tmpl/gstatomic.sgml:
4464         * docs/gst/tmpl/gstmemchunk.sgml:
4465         * testsuite/elements/struct_i386.h:
4466         * win32/GStreamer.vcproj:
4467         * win32/Makefile:
4468           Purge GstAtomic stuff from docs and win32 makefiles as well
4469
4470 2005-05-06  Wim Taymans  <wim@fluendo.com>
4471
4472         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4473         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4474         * gst/gstpad.c: (gst_pad_peer_get_caps):
4475         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4476         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4477         (gst_queue_src_activate), (gst_queue_change_state):
4478         * gst/gstqueue.h:
4479         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4480         (intersect_caps_func):
4481         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4482         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4483         Some fixes for the peer_get_caps() change.
4484
4485 2005-05-06  Wim Taymans  <wim@fluendo.com>
4486
4487         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4488         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4489         (gst_basesink_activate):
4490         Actually do something with error codes returned from the push
4491         functions.
4492
4493 2005-05-06  Wim Taymans  <wim@fluendo.com>
4494
4495         * docs/design/part-element-sink.txt:
4496         * docs/design/part-element-source.txt:
4497         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4498         (gst_basesink_event), (gst_basesink_activate):
4499         * gst/base/gstbasesink.h:
4500         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4501         (gst_basesrc_activate):
4502         * gst/base/gstbasesrc.h:
4503         * gst/gstelement.c: (gst_element_pads_activate):
4504         Some more documentation.
4505         Fixed scheduling decision in _pads_activate().
4506
4507 2005-05-05  Andy Wingo  <wingo@pobox.com>
4508
4509         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4510         the test suite.
4511
4512 2005-05-05  Wim Taymans  <wim@fluendo.com>
4513
4514         * gst/base/Makefile.am:
4515         * gst/base/gstbasesink.h:
4516         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4517         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4518         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4519         (gst_collectpads_class_init), (gst_collectpads_init),
4520         (gst_collectpads_finalize), (gst_collectpads_new),
4521         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4522         (find_pad), (gst_collectpads_remove_pad),
4523         (gst_collectpads_is_active), (gst_collectpads_collect),
4524         (gst_collectpads_collect_range), (gst_collectpads_start),
4525         (gst_collectpads_stop), (gst_collectpads_peek),
4526         (gst_collectpads_pop), (gst_collectpads_available),
4527         (gst_collectpads_read), (gst_collectpads_flush),
4528         (gst_collectpads_chain):
4529         * gst/base/gstcollectpads.h:
4530         * gst/elements/Makefile.am:
4531         * gst/elements/gstelements.c:
4532         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4533         (gst_fakesink_get_times), (gst_fakesink_event),
4534         (gst_fakesink_preroll), (gst_fakesink_render):
4535         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4536         (gst_filesink_init), (gst_filesink_set_location),
4537         (gst_filesink_open_file), (gst_filesink_close_file),
4538         (gst_filesink_pad_query), (gst_filesink_event),
4539         (gst_filesink_render), (gst_filesink_change_state):
4540         * gst/elements/gstfilesink.h:
4541         Added object to help in making collect pad based elements.
4542         Ported filesink.
4543         Make event function in sink baseclass return gboolean.
4544
4545 2005-05-05  Wim Taymans  <wim@fluendo.com>
4546
4547         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4548         (gst_bin_get_by_name):
4549         * gst/gstbuffer.h:
4550         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4551         (gst_clock_finalize):
4552         * gst/gstdata.c: (gst_data_replace):
4553         * gst/gstdata.h:
4554         * gst/gstelement.c: (gst_element_request_pad),
4555         (gst_element_pads_activate):
4556         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4557         (gst_object_unref):
4558         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4559         (gst_pad_set_checkgetrange_function),
4560         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4561         (gst_pad_check_pull_range), (gst_pad_pull_range),
4562         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4563         (gst_pad_pause_task), (gst_pad_stop_task):
4564         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4565         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4566         Fix name lookup in GstBin.
4567         Added _data_replace() function and _buffer_replace()
4568         Use finalize method to clean up clock.
4569         Fix refcounting on request pads.
4570         Fix pad schedule mode error.
4571         Some more object refcounting debug info,
4572
4573
4574 2005-05-04  Andy Wingo <wingo@pobox.com>
4575
4576         * check/Makefile.am:
4577         * docs/gst/tmpl/gstatomic.sgml:
4578         * docs/gst/tmpl/gstplugin.sgml:
4579         * gst/base/gstbasesink.c: (gst_basesink_activate):
4580         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4581         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4582         (gst_basesrc_query), (gst_basesrc_set_property),
4583         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4584         (gst_basesrc_activate):
4585         * gst/base/gstbasesrc.h:
4586         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4587         (gst_base_transform_src_activate):
4588         * gst/elements/gstelements.c:
4589         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4590         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4591         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4592         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4593         (gst_type_find_element_checkgetrange),
4594         (gst_type_find_element_activate):
4595         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4596         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4597         (gst_caps_load_thyself):
4598         * gst/gstelement.c: (gst_element_pads_activate),
4599         (gst_element_save_thyself), (gst_element_restore_thyself):
4600         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4601         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4602         * gst/gstpad.h:
4603         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4604         (gst_xml_parse_file), (gst_xml_parse_memory),
4605         (gst_xml_get_element), (gst_xml_make_element):
4606         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4607         (_file_index_id_save_xml), (gst_file_index_commit):
4608         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4609         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4610         (load_paths):
4611         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4612         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4613         * tools/gst-complete.c: (main):
4614         * tools/gst-compprep.c: (main):
4615         * tools/gst-inspect.c: (print_element_properties_info):
4616         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4617         * tools/gst-xmlinspect.c: (print_element_properties):
4618         GCC 4 fixen.
4619         
4620 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4621
4622         * gst/gstplugin.c: (gst_plugin_check_module),
4623         (gst_plugin_check_file), (gst_plugin_load_file):
4624             apply patch from #172526 to make register work on MacOSX
4625
4626 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4627
4628         * docs/gst/tmpl/gstconfig.sgml:
4629         * gst/gstconfig.h.in:
4630           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4631         * testsuite/debug/printf_extension.c: (main):
4632           Do not use GST_PTR_FORMAT on pointers to types with
4633           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4634         * testsuite/elements/property.h:
4635           use correct printf format
4636
4637 2005-05-02  Wim Taymans  <wim@fluendo.com>
4638
4639         * docs/design/draft-push-pull.txt:
4640         * docs/design/draft-query.txt:
4641         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4642         (gst_basesrc_start):
4643         Added draft for new query API.
4644         Added draft for better selecting scheduling methods.
4645         Make basesrc ignore length if the subclass does not support
4646         it.
4647
4648 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4649
4650         * gst/Makefile.am:
4651           possible fixes for automake-1.5 - _LIBADD is reserved
4652
4653 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4654
4655         * docs/faq/Makefile.am:
4656         * docs/manual/Makefile.am:
4657         * docs/manuals.mak:
4658         * docs/pwg/Makefile.am:
4659         * gst/Makefile.am:
4660           possible fixes for automake-1.5
4661
4662 2005-04-28  Wim Taymans  <wim@fluendo.com>
4663
4664         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4665         (gst_basesink_pad_getcaps), (gst_basesink_init),
4666         (gst_basesink_do_sync):
4667         * gst/gstclock.c: (gst_clock_entry_new):
4668         * gst/gstevent.c: (gst_event_discont_get_value):
4669         * gst/gstpipeline.c: (pipeline_bus_handler),
4670         (gst_pipeline_change_state):
4671         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4672         Better debugging of clocking info.
4673         Allow NULL values when getting discont values.
4674
4675 2005-04-27  Wim Taymans  <wim@fluendo.com>
4676
4677         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4678         * check/gst/gstpad.c: (gst_pad_suite):
4679         Increase timeout for checks.
4680
4681 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4682
4683         * check/Makefile.am:
4684           fix the broken rule for cleanup.  Apparently this rule is
4685           only needed on FC2, so maybe this warrants further autotool
4686           inspection.
4687
4688 2005-04-26  Wim Taymans  <wim@fluendo.com>
4689
4690         * gst/gsttrashstack.h:
4691         Ooohh. a nasty one! After having a failed pop() from the stack,
4692         it's possible that the stack is empty. In that case, don't
4693         follow the NULL pointer.
4694
4695 2005-04-25  Wim Taymans  <wim@fluendo.com>
4696
4697         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4698         (gst_pad_set_checkgetrange_function),
4699         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4700         (gst_pad_check_pull_range), (gst_pad_pull_range),
4701         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4702         (gst_pad_pause_task), (gst_pad_stop_task):
4703         * gst/gstplugin.c: (gst_plugin_load):
4704         * gst/gstplugin.h:
4705         Remove gst_library_load as it does more harm than good with
4706         the new g_module flags.
4707         Revert bogus caps template check in pad linking, pad caps
4708         are important when linking not the template, which is more
4709         general than the current caps.
4710
4711 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4712
4713         * gst/autoplug/.cvsignore:
4714         * gst/autoplug/Makefile.am:
4715         * gst/autoplug/gstsearchfuncs.c:
4716         * gst/autoplug/gstsearchfuncs.h:
4717         * gst/autoplug/gstspider.c:
4718         * gst/autoplug/gstspider.h:
4719         * gst/autoplug/gstspideridentity.c:
4720         * gst/autoplug/gstspideridentity.h:
4721         * gst/autoplug/spidertest.c:
4722           Die, spider, die.
4723
4724 2005-04-25  Wim Taymans  <wim@fluendo.com>
4725
4726         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4727         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4728         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4729         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4730         * gst/gstpad.h:
4731         Added stubs for unimplemented functions. 
4732
4733 2005-04-24  David Schleef  <ds@schleef.org>
4734
4735         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4736         please fix.
4737
4738 2005-04-24  David Schleef  <ds@schleef.org>
4739
4740         Convert everything from GstAtomicInt to g_atomic_int_*, and
4741         remove gstatomic.
4742         * gst/Makefile.am:
4743         * gst/gstatomic.c:
4744         * gst/gstatomic.h:
4745         * gst/gstatomic_impl.h:
4746         * gst/gstbuffer.c:
4747         * gst/gstcaps.c:
4748         * gst/gstcaps.h:
4749         * gst/gstclock.c:
4750         * gst/gstclock.h:
4751         * gst/gstdata.c:
4752         * gst/gstdata.h:
4753         * gst/gstdata_private.h:
4754         * gst/gstevent.c:
4755         * gst/gstinfo.c:
4756         * gst/gstinfo.h:
4757         * gst/gstmessage.c:
4758         * gst/gstobject.c:
4759         * gst/gstobject.h:
4760         * gst/gststructure.c:
4761         * gst/gststructure.h:
4762         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4763         * gst/gstutils.h:
4764
4765 2005-04-24  David Schleef  <ds@schleef.org>
4766
4767         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4768         make the regressions tests work.  Remove some code that is no
4769         longer true.
4770         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4771         Disable warning for pads without templates.
4772
4773 2005-04-24  David Schleef  <ds@schleef.org>
4774
4775         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4776         functions that handle filtered links.
4777         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4778         removed functions.
4779         * gst/gstutils.c: Fix/remove utility functions that handle
4780         filtered caps.
4781         * gst/gstutils.h:
4782         * gst/gstvalue.c: Add serialization/deserialization of caps
4783         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4784         requires fixing so that the filter caps notation creates
4785         a capsfilter element and sets the filter_caps property.  I
4786         think everyone probably wants to keep the shorthand notation.
4787         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4788         * docs/gst/tmpl/gstpad.sgml:
4789
4790         * gst/elements/gstelements.c: Register capsfilter element.
4791         * gst/Makefile.am: fix spacing
4792         * docs/random/ds/0.9-suggested-changes: random
4793
4794 2005-04-23  David Schleef  <ds@schleef.org>
4795
4796         * gst/elements/Makefile.am:
4797         * gst/elements/gstcapsfilter.c: New element that acts like an
4798         identity, but filters caps.  Will eventually replace filtered
4799         caps in pad linking.
4800         * gst/gstutils.c: (gst_element_create_all_pads): New function
4801         to create all the ALWAYS pads that are registered with an
4802         element class.  This functionality should eventually be
4803         merged in with GstElement initialization.
4804         * gst/gstutils.h:
4805         * testsuite/trigger/README: part of trigger test code that should
4806         have been checked in a long time ago.
4807
4808 2005-04-23  David Schleef  <ds@schleef.org>
4809
4810         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4811         needed with new versions of libtool (nobody will confirm this),
4812         and hard to carry around.
4813         * gst/autoplug/Makefile.am:
4814         * gst/base/Makefile.am:
4815         * gst/elements/Makefile.am:
4816         * gst/indexers/Makefile.am:
4817         * gst/schedulers/Makefile.am:
4818         * libs/gst/bytestream/Makefile.am:
4819         * libs/gst/control/Makefile.am:
4820         * libs/gst/dataprotocol/Makefile.am:
4821         * libs/gst/getbits/Makefile.am:
4822
4823 2005-04-21  Wim Taymans  <wim@fluendo.com>
4824
4825         * docs/design/draft-push-pull.txt:
4826         * docs/design/part-MT-refcounting.txt:
4827         * docs/design/part-TODO.txt:
4828         * docs/design/part-caps.txt:
4829         * docs/design/part-events.txt:
4830         * docs/design/part-gstbus.txt:
4831         * docs/design/part-gstpipeline.txt:
4832         * docs/design/part-messages.txt:
4833         * docs/design/part-push-pull.txt:
4834         * docs/design/part-query.txt:
4835         Some more docs.
4836
4837 2005-04-21  Wim Taymans  <wim@fluendo.com>
4838
4839         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4840         (gst_message_new), (gst_message_new_error),
4841         (gst_message_new_warning), (gst_message_new_tag),
4842         (gst_message_new_state_changed), (gst_message_new_application),
4843         (gst_message_get_structure):
4844         * gst/gstmessage.h:
4845         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4846         (gst_structure_copy_conditional):
4847         Use parent refcount in GstMessage to ensure GstStructure
4848         consistency.
4849         Cleaned up headers a bit.
4850         
4851
4852 2005-04-20  Wim Taymans  <wim@fluendo.com>
4853
4854         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4855         (gst_basesink_pad_getcaps), (gst_basesink_init),
4856         (gst_basesink_chain_unlocked):
4857         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4858         (gst_type_find_helper):
4859         * gst/elements/gsttypefindelement.c:
4860         (gst_type_find_element_have_type), (gst_type_find_element_init),
4861         (stop_typefinding), (gst_type_find_element_handle_event),
4862         (find_suggest), (gst_type_find_element_chain),
4863         (gst_type_find_element_checkgetrange),
4864         (gst_type_find_element_getrange), (do_typefind),
4865         (gst_type_find_element_activate):
4866         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4867         (gst_buffer_default_free), (gst_buffer_default_copy),
4868         (gst_buffer_set_caps):
4869         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4870         (gst_caps_replace):
4871         * gst/gstmessage.c: (gst_message_new),
4872         (gst_message_new_state_changed):
4873         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4874         (gst_pad_set_checkgetrange_function),
4875         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4876         (gst_pad_set_caps), (gst_pad_check_pull_range),
4877         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4878         * gst/gstpad.h:
4879         * gst/gsttypefind.c: (gst_type_find_register):
4880         Make gst_caps_replace() work like other _replace() functions.
4881         Use _caps_replace() where possible.
4882         Make sure _message_new() initialises its field.
4883         Add gst_static_pad_template_get_caps()
4884
4885
4886 2005-04-18  Andy Wingo  <wingo@pobox.com>
4887
4888         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4889         on the peer, not the pad. I think that was a typo. Pass an extra
4890         arg to see if random access is possible. Activate the pads as
4891         PULL_RANGE if possible.
4892
4893         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4894
4895         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4896         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4897         to PROP_....
4898
4899 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4900
4901         * docs/faq/using.xml:
4902           Add note on gstreamer-properties (#154996).
4903
4904 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4905
4906         * docs/random/bbb/optional-properties:
4907           Some analysis on optional properties.
4908
4909 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4910
4911         * docs/gst/tmpl/gstelementfactory.sgml:
4912         * gst/gstelement.h:
4913         * gst/gstelementfactory.c: (gst_element_factory_init),
4914         (gst_element_factory_cleanup), (gst_element_register),
4915         (__gst_element_factory_add_static_pad_template),
4916         (gst_element_factory_get_static_pad_templates),
4917         (gst_element_factory_can_src_caps),
4918         (gst_element_factory_can_sink_caps):
4919         * gst/registries/Makefile.am:
4920         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4921         (gst_xml_registry_class_init), (gst_xml_registry_init),
4922         (gst_xml_registry_new), (gst_xml_registry_set_property),
4923         (gst_xml_registry_get_property), (get_time), (make_dir),
4924         (gst_xml_registry_get_perms_func),
4925         (plugin_times_older_than_recurse), (plugin_times_older_than),
4926         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4927         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4928         (add_to_char_array), (read_string), (read_uint), (read_enum),
4929         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4930         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4931         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4932         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4933         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4934         (gst_xml_registry_rebuild):
4935         * gst/registries/gstlibxmlregistry.h:
4936         * tools/gst-compprep.c: (main):
4937         * tools/gst-inspect.c: (print_pad_templates_info):
4938         * tools/gst-xmlinspect.c: (print_element_info):
4939           Use libxml2 for registry parsing, use staticpadtemplates in
4940           elementfactories. Makes gst_init() +/- 10x faster.
4941
4942 2005-04-12  Wim Taymans  <wim@fluendo.com>
4943
4944         * gst/base/Makefile.am:
4945         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4946         (gst_basesink_pad_getcaps), (gst_basesink_init),
4947         (gst_basesink_event), (gst_basesink_change_state):
4948         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4949         (gst_basesrc_init), (gst_basesrc_query),
4950         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4951         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4952         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4953         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4954         (gst_basesrc_stop), (gst_basesrc_activate),
4955         (gst_basesrc_change_state):
4956         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4957         (helper_find_suggest), (gst_type_find_helper):
4958         * gst/base/gsttypefindhelper.h:
4959         * gst/elements/Makefile.am:
4960         * gst/elements/gstelements.c:
4961         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4962         (gst_fakesink_get_times), (gst_fakesink_event),
4963         (gst_fakesink_preroll), (gst_fakesink_render):
4964         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4965         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4966         (gst_fakesrc_get_property), (gst_fakesrc_create),
4967         (gst_fakesrc_start), (gst_fakesrc_stop):
4968         * gst/elements/gstfakesrc.h:
4969         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4970         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4971         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4972         (gst_filesrc_create_read), (gst_filesrc_create),
4973         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4974         (gst_filesrc_start):
4975         * gst/elements/gsttypefindelement.c:
4976         (gst_type_find_element_have_type), (gst_type_find_element_init),
4977         (start_typefinding), (stop_typefinding), (push_buffer_store),
4978         (gst_type_find_element_handle_event),
4979         (gst_type_find_element_chain),
4980         (gst_type_find_element_checkgetrange),
4981         (gst_type_find_element_getrange), (do_typefind),
4982         (gst_type_find_element_activate),
4983         (gst_type_find_element_change_state):
4984         * gst/elements/gsttypefindelement.h:
4985         * gst/gstpipeline.c: (pipeline_bus_handler):
4986         Added typefind helper.
4987         Small preroll fix in the base sink.
4988         Disable typefind code in basesrc.
4989         Crude port of typefindelement.
4990         Fakesrc cleanups.
4991
4992
4993 2005-04-11  Wim Taymans  <wim@fluendo.com>
4994
4995         * check/gst/gstbus.c: (gstbus_suite):
4996         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4997         * check/gstcheck.h:
4998           Fix up the timeout so that the test does not fail.
4999
5000 2005-04-06  Wim Taymans  <wim@fluendo.com>
5001
5002         * gst/base/README:
5003         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5004         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
5005         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5006         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5007         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5008         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5009         (gst_basesrc_stop), (gst_basesrc_activate),
5010         (gst_basesrc_change_state), (basesrc_find_peek),
5011         (basesrc_find_suggest), (gst_basesrc_type_find):
5012         * gst/base/gstbasesrc.h:
5013         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5014         (gst_filesrc_class_init), (gst_filesrc_init),
5015         (gst_filesrc_finalize), (gst_filesrc_set_location),
5016         (gst_filesrc_set_property), (gst_filesrc_get_property),
5017         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5018         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5019         (gst_filesrc_create_read), (gst_filesrc_create),
5020         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
5021         * gst/elements/gstfilesrc.h:
5022         * gst/gstelement.c: (gst_element_get_state_func),
5023         (gst_element_lost_state), (gst_element_pads_activate):
5024         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5025         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
5026         (gst_pad_pull_range):
5027         * gst/gstpad.h:
5028         More work on the generic source base class, implement seeking,
5029         query.
5030         Make filesrc extend the base source class.
5031         Added gst_pad_set_checkgetrange_function to GstPad.
5032
5033 2005-04-06  Andy Wingo  <wingo@pobox.com>
5034
5035         * pkgconfig/gstreamer-base.pc.in:
5036         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
5037
5038         * pkgconfig/Makefile.am:
5039         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
5040
5041 2005-04-04  Wim Taymans  <wim@fluendo.com>
5042
5043         * gst/base/Makefile.am:
5044         * gst/base/README:
5045         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5046         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5047         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5048         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
5049         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5050         (gst_basesrc_base_init), (gst_basesrc_class_init),
5051         (gst_basesrc_init), (gst_basesrc_get_formats),
5052         (gst_basesrc_get_query_types), (gst_basesrc_query),
5053         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
5054         (gst_basesrc_set_property), (gst_basesrc_get_property),
5055         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
5056         (gst_basesrc_loop), (gst_basesrc_activate),
5057         (gst_basesrc_change_state):
5058         * gst/base/gstbasesrc.h:
5059         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5060         (gst_fakesrc_class_init), (gst_fakesrc_init),
5061         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
5062         (gst_fakesrc_get_property), (gst_fakesrc_create):
5063         * gst/elements/gstfakesrc.h:
5064         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
5065         (gst_filesrc_open_file), (gst_filesrc_loop),
5066         (gst_filesrc_activate), (filesrc_find_peek),
5067         (gst_filesrc_type_find):
5068         Made base source class, make fakesrc extend it.
5069         Add comments to basesink class.
5070         Some filesrc cleanup.
5071
5072 2005-03-31  David Schleef  <ds@schleef.org>
5073
5074         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5075         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
5076         expected to link against libgstreamer.
5077         * gst/base/Makefile.am: link against libgstreamer
5078         * gst/elements/Makefile.am: same
5079
5080 2005-03-31  Andy Wingo  <wingo@pobox.com>
5081
5082         * tests/instantiate/Makefile.am:
5083         * tests/instantiate/caps.c: Add test to test speed of caps copy
5084         and free.
5085
5086         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
5087         GMemChunk to be fair.
5088
5089         * gst/gsttrashstack.h: Remove warning about using the fallback
5090         trash stack implementation, it's still faster than malloc.
5091
5092 2005-03-30  Andy Wingo  <wingo@pobox.com>
5093
5094         * tests/complexity.c: Add a copyright.
5095
5096 2005-03-31  Wim Taymans  <wim@fluendo.com>
5097
5098         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
5099         (gst_base_transform_class_init), (gst_base_transform_init),
5100         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5101         (gst_base_transform_get_property),
5102         (gst_base_transform_sink_activate),
5103         (gst_base_transform_src_activate),
5104         (gst_base_transform_change_state):
5105         * gst/base/gstbasetransform.h:
5106         * gst/elements/gstidentity.c: (gst_identity_class_init),
5107         (gst_identity_event), (gst_identity_check_perfect),
5108         (gst_identity_transform), (gst_identity_start),
5109         (gst_identity_stop):
5110         Added start/stop methods to transform base class so subclasses 
5111         don't need to deal with state changes even.
5112
5113 2005-03-31  Wim Taymans  <wim@fluendo.com>
5114
5115         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5116         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5117         * gst/gstevent.h:
5118         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5119         (gst_pad_pull_range):
5120         Added rate to the discont event to prepare for variable speed
5121         and reverse playback.
5122
5123 2005-03-29  David Schleef  <ds@schleef.org>
5124
5125         * configure.ac:
5126         * testsuite/trigger/Makefile.am:
5127         * testsuite/trigger/trigger.c: A little example program to show
5128         how trigger-based elements can work.
5129
5130 2005-03-29  Wim Taymans  <wim@fluendo.com>
5131
5132         * gst/base/Makefile.am:
5133         * gst/base/README:
5134         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5135         (gst_basesink_base_init), (gst_basesink_class_init),
5136         (gst_basesink_pad_getcaps), (gst_basesink_init),
5137         (gst_basesink_activate), (gst_basesink_change_state):
5138         * gst/base/gstbasesink.h:
5139         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5140         (gst_base_transform_base_init), (gst_base_transform_finalize),
5141         (gst_base_transform_class_init), (gst_base_transform_init),
5142         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5143         (gst_base_transform_event), (gst_base_transform_getrange),
5144         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5145         (gst_base_transform_set_property),
5146         (gst_base_transform_get_property),
5147         (gst_base_transform_sink_activate),
5148         (gst_base_transform_src_activate),
5149         (gst_base_transform_change_state):
5150         * gst/base/gstbasetransform.h:
5151         * gst/elements/gstidentity.c: (gst_identity_finalize),
5152         (gst_identity_class_init), (gst_identity_init),
5153         (gst_identity_event), (gst_identity_check_perfect),
5154         (gst_identity_transform), (gst_identity_set_property),
5155         (gst_identity_get_property), (gst_identity_change_state):
5156         * gst/elements/gstidentity.h:
5157         * gst/gstelement.c: (gst_element_get_state_func),
5158         (gst_element_lost_state), (gst_element_pads_activate):
5159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5160         (gst_pad_check_pull_range), (gst_pad_pull_range):
5161         * gst/gstpad.h:
5162         Simplify pad activation.
5163         Added function to check if pull_range can be performed.
5164         Error out when pulling inactive or flushing pads.
5165         Removed const from refcounted types as it does not make sense.
5166         Simplify pad templates in basesink
5167         Added base class for simple 1-to-1 transforms.
5168         Make identity subclass the base transform.
5169
5170 2005-03-29  Andy Wingo  <wingo@pobox.com>
5171
5172         * docs/libs/gstreamer-libs-overrides.txt: 
5173         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5174         really don't understand what's going on, but like whatever. I want
5175         green buildbot!
5176
5177         * docs/gst/Makefile.am:
5178         * docs/libs/Makefile.am: Dist the overrides files.
5179
5180         * check/Makefile.am (clean-local): Remove .libs directories.
5181
5182         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5183         elements to EXTRA_DIST, so po/ files are happy.
5184
5185         * po/POTFILES.in: Er, remove it here.
5186
5187         * po/POTFILES: Remove gstspider.c.
5188
5189         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5190
5191         * docs/libs/gstreamer-libs-docs.sgml: 
5192         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5193         bytestream.
5194
5195         * tests/complexity.c (main): Set the length of the preroll queue
5196         on the sinks to prevent a lockup.
5197
5198         * libs/gst/dataprotocol/Makefile.am: 
5199         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5200         the same as the one in check/gst-libs/gdp.c.
5201
5202         * po/, docs/gst/: Commit automatic changes to docs and po files.
5203
5204         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5205         the versioned libgstbase.
5206
5207         * check/Makefile.am: Depend on an unversioned gst-register, seems
5208         to make autoconf happier.
5209
5210         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5211
5212 2005-03-28  Wim Taymans  <wim@fluendo.com>
5213
5214         * configure.ac:
5215         * docs/design/part-gstelement.txt:
5216         * docs/design/part-negotiation.txt:
5217         * docs/design/part-preroll.txt:
5218         * docs/design/part-scheduling.txt:
5219         * docs/design/part-states.txt:
5220         * gst/Makefile.am:
5221         * gst/base/Makefile.am:
5222         * gst/base/README:
5223         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5224         (gst_basesink_base_init), (gst_basesink_class_init),
5225         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5226         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5227         (gst_basesink_set_pad_functions),
5228         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5229         (gst_basesink_set_property), (gst_basesink_get_property),
5230         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5231         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5232         (gst_basesink_preroll_queue_push),
5233         (gst_basesink_preroll_queue_empty),
5234         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5235         (gst_basesink_event), (gst_basesink_get_times),
5236         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5237         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5238         (gst_basesink_loop), (gst_basesink_activate),
5239         (gst_basesink_change_state):
5240         * gst/base/gstbasesink.h:
5241         * gst/elements/Makefile.am:
5242         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5243         (gst_fakesink_class_init), (gst_fakesink_init),
5244         (gst_fakesink_set_property), (gst_fakesink_get_property),
5245         (gst_fakesink_get_times), (gst_fakesink_event),
5246         (gst_fakesink_preroll), (gst_fakesink_render),
5247         (gst_fakesink_change_state):
5248         * gst/elements/gstfakesink.h:
5249         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5250         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5251         * gst/gstelement.c: (gst_element_add_pad),
5252         (gst_element_get_state_func), (gst_element_abort_state),
5253         (gst_element_commit_state), (gst_element_lost_state),
5254         (gst_element_set_state), (gst_element_pads_activate):
5255         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5256         * gst/gstpipeline.c: (gst_pipeline_send_event),
5257         (gst_pipeline_change_state):
5258         Added state change code.
5259         Added/updated docs.
5260         Added sink base class, make fakesink extend the base class.
5261         Small cleanups in GstPipeline.
5262
5263 2005-03-26  David Schleef  <ds@schleef.org>
5264
5265         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5266         is broken and should be implemented in a different library.
5267         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5268         * gst/gst.h: remove gstcpu.h
5269         * gst/gstcpu.c: remove
5270         * gst/gstcpu.h: remove
5271         * gst/Makefile.am.future: Remove this file.  It's ancient.
5272
5273 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5274
5275         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5276         (gst_bin_send_event):
5277           Add default event/set_manager handlers. The set_manager handler
5278           takes care that the manager is distributed over kids that were
5279           already in the bin before the manager was set. The event handler
5280           is a utility virtual function that sends the event over all sinks,
5281           so that gst_element_send_event (bin, event); has the expected
5282           behaviour.
5283         * gst/gstpad.c: (gst_pad_event_default):
5284           Re-install default event handling for discontinuities, so that
5285           seeking works without requiring hacks in applications or extra
5286           code in sinks.
5287         * gst/gstpipeline.c: (gst_pipeline_class_init),
5288         (gst_pipeline_send_event):
5289           Half hack, half utility: set a pipeline to PAUSED for seek events,
5290           since that is the only way we can guarantee a/v sync. Means that
5291           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5292           and it "just works".
5293
5294 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5295
5296         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5297           Lock/unlock mismatch.
5298
5299 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5300
5301         * docs/faq/gst-uninstalled:
5302           add gst-plugins-base
5303         * docs/gst/Makefile.am:
5304           don't error out until docs are fixed
5305         * docs/gst/gstreamer.types:
5306           remove thread
5307
5308 2005-03-22  Wim Taymans  <wim@fluendo.com>
5309
5310         * check/Makefile.am:
5311         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5312         * gst/gststructure.c: (gst_structure_set_valist),
5313         (gst_structure_copy_conditional):
5314         Activated more tests.
5315         Added message test.
5316         Added G_TYPE_POINTER to GstStructure.
5317         
5318
5319 2005-03-22  Wim Taymans  <wim@fluendo.com>
5320
5321         * docs/design/part-TODO.txt:
5322         * docs/design/part-events.txt:
5323         * docs/design/part-gstbin.txt:
5324         * docs/design/part-gstbus.txt:
5325         * docs/design/part-gstpipeline.txt:
5326         * docs/design/part-messages.txt:
5327         * gst/gstbus.c:
5328         * gst/gstmessage.c:
5329         Docs updates
5330
5331 2005-03-21  Wim Taymans  <wim@fluendo.com>
5332
5333         * gst/gstbus.c: (gst_bus_post):
5334         Fix copy-and-paste error.
5335
5336 2005-03-21  Wim Taymans  <wim@fluendo.com>
5337
5338         * check/Makefile.am:
5339         * gst/Makefile.am:
5340         * gst/elements/Makefile.am:
5341         * gst/elements/gstelements.c:
5342         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5343         (gst_fakesink_event), (gst_fakesink_chain):
5344         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5345         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5346         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5347         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5348         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5349         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5350         (gst_fakesrc_loop), (gst_fakesrc_activate),
5351         (gst_fakesrc_change_state):
5352         * gst/elements/gstfakesrc.h:
5353         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5354         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5355         (gst_filesrc_open_file), (gst_filesrc_loop),
5356         (gst_filesrc_activate), (gst_filesrc_change_state),
5357         (filesrc_find_peek), (filesrc_find_suggest),
5358         (gst_filesrc_type_find):
5359         * gst/elements/gstidentity.c: (gst_identity_finalize),
5360         (gst_identity_class_init), (gst_identity_init),
5361         (gst_identity_proxy_getcaps), (identity_queue_push),
5362         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5363         (gst_identity_getrange), (gst_identity_chain),
5364         (gst_identity_sink_loop), (gst_identity_src_loop),
5365         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5366         (gst_identity_set_property), (gst_identity_get_property),
5367         (gst_identity_change_state):
5368         * gst/elements/gstidentity.h:
5369         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5370         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5371         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5372         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5373         (gst_tee_sink_activate):
5374         * gst/elements/gsttee.h:
5375         * gst/gst.c: (gst_register_core_elements), (init_post):
5376         * gst/gst.h:
5377         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5378         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5379         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5380         (gst_bin_change_state):
5381         * gst/gstbin.h:
5382         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5383         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5384         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5385         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5386         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5387         (bus_watch_callback), (bus_watch_destroy),
5388         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5389         (poll_timeout), (gst_bus_poll):
5390         * gst/gstbus.h:
5391         * gst/gstcaps.h:
5392         * gst/gstdata.h:
5393         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5394         (gst_element_post_message), (gst_element_message_full),
5395         (gst_element_get_state_func), (gst_element_get_state),
5396         (gst_element_abort_state), (gst_element_commit_state),
5397         (gst_element_lost_state), (gst_element_set_state),
5398         (gst_element_pads_activate), (gst_element_change_state),
5399         (gst_element_dispose), (gst_element_set_manager_func),
5400         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5401         (gst_element_set_manager), (gst_element_get_manager),
5402         (gst_element_set_bus), (gst_element_get_bus),
5403         (gst_element_set_scheduler), (gst_element_get_scheduler):
5404         * gst/gstelement.h:
5405         * gst/gstevent.c: (gst_event_new_segment_seek),
5406         (gst_event_new_flush):
5407         * gst/gstevent.h:
5408         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5409         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5410         (gst_message_new_eos), (gst_message_new_error),
5411         (gst_message_new_warning), (gst_message_new_tag),
5412         (gst_message_new_state_changed), (gst_message_new_application),
5413         (gst_message_get_structure), (gst_message_parse_tag),
5414         (gst_message_parse_state_changed), (gst_message_parse_error),
5415         (gst_message_parse_warning):
5416         * gst/gstmessage.h:
5417         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5418         (gst_real_pad_set_property), (gst_pad_set_active),
5419         (gst_pad_is_active), (gst_pad_set_blocked_async),
5420         (gst_pad_set_blocked), (gst_pad_is_blocked),
5421         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5422         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5423         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5424         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5425         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5426         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5427         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5428         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5429         (gst_pad_set_caps), (gst_pad_configure_sink),
5430         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5431         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5432         (gst_real_pad_dispose), (gst_real_pad_finalize),
5433         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5434         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5435         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5436         * gst/gstpad.h:
5437         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5438         (pipeline_bus_handler), (gst_pipeline_change_state),
5439         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5440         * gst/gstpipeline.h:
5441         * gst/gstprobe.h:
5442         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5443         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5444         (gst_queue_link_src), (gst_queue_bufferalloc),
5445         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5446         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5447         (gst_queue_loop), (gst_queue_handle_src_event),
5448         (gst_queue_handle_src_query), (gst_queue_src_activate),
5449         (gst_queue_change_state):
5450         * gst/gstqueue.h:
5451         * gst/gstscheduler.c: (gst_scheduler_init),
5452         (gst_scheduler_dispose), (gst_scheduler_create_task),
5453         (gst_scheduler_factory_create):
5454         * gst/gstscheduler.h:
5455         * gst/gststructure.c: (gst_structure_get_type),
5456         (gst_structure_copy_conditional):
5457         * gst/gststructure.h:
5458         * gst/gsttaginterface.h:
5459         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5460         (gst_task_init), (gst_task_dispose), (gst_task_create),
5461         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5462         (gst_task_pause):
5463         * gst/gsttask.h:
5464         * gst/gstthread.c:
5465         * gst/gstthread.h:
5466         * gst/gsttypes.h:
5467         * gst/schedulers/Makefile.am:
5468         * gst/schedulers/cothreads_compat.h:
5469         * gst/schedulers/entryscheduler.c:
5470         * gst/schedulers/faircothreads.c:
5471         * gst/schedulers/faircothreads.h:
5472         * gst/schedulers/fairscheduler.c:
5473         * gst/schedulers/gstbasicscheduler.c:
5474         * gst/schedulers/gstoptimalscheduler.c:
5475         * gst/schedulers/gthread-cothreads.h:
5476         * gst/schedulers/threadscheduler.c:
5477         (gst_thread_scheduler_task_get_type),
5478         (gst_thread_scheduler_task_class_init),
5479         (gst_thread_scheduler_task_init),
5480         (gst_thread_scheduler_task_start),
5481         (gst_thread_scheduler_task_stop),
5482         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5483         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5484         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5485         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5486         (plugin_init):
5487         * libs/gst/Makefile.am:
5488         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5489         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5490         (gst_file_pad_parent_set):
5491         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5492         (gst_dp_event_from_packet):
5493         * tests/complexity.c: (main):
5494         * tests/mass_elements.c: (main):
5495         * testsuite/states/locked.c: (message_received), (main):
5496         * testsuite/states/parent.c: (main):
5497         * tools/gst-inspect.c: (print_element_flag_info),
5498         (print_implementation_info), (print_pad_info):
5499         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5500         (main):
5501         * tools/gst-md5sum.c: (event_loop), (main):
5502         * tools/gst-typefind.c: (main):
5503         * tools/gst-xmlinspect.c: (print_element_info):
5504         Next big merge.
5505         Added GstBus for mainloop integration.
5506         Added GstMessage for sending notifications on the bus.
5507         Added GstTask as an abstraction for pipeline entry points.
5508         Removed GstThread.
5509         Removed Schedulers.
5510         Simplified GstQueue for multithreaded core.
5511         Made _link threadsafe, removed old capsnego.
5512         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5513         Added pad blocking functions.
5514         Reworked scheduling functions in GstPad to prepare for
5515         scheduling updates soon.
5516         Moved events out of data stream.
5517         Simplified GstEvent types.
5518         Added return values to push/pull.
5519         Removed clocking from GstElement.
5520         Added prototypes for state change function for next merge.
5521         Removed iterate from bins and state change management.
5522         Fixed some elements, disabled others for now.
5523         Fixed -inspect and -launch.
5524         Added check for GstBus.
5525
5526 2005-03-10  Wim Taymans  <wim@fluendo.com>
5527
5528         * docs/design/part-MT-refcounting.txt:
5529         * docs/design/part-clocks.txt:
5530         * docs/design/part-gstelement.txt:
5531         * docs/design/part-gstobject.txt:
5532         * docs/design/part-standards.txt:
5533         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5534         (gst_bin_remove_func), (gst_bin_remove):
5535         * gst/gstbin.h:
5536         * gst/gstbuffer.c:
5537         * gst/gstcaps.h:
5538         * testsuite/clock/clock1.c: (main):
5539         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5540         (main):
5541         * testsuite/dlopen/loadgst.c: (do_test):
5542         * testsuite/refcounting/bin.c: (add_remove_test1),
5543         (add_remove_test2), (main):
5544         * testsuite/refcounting/element.c: (main):
5545         * testsuite/refcounting/element_pad.c: (main):
5546         * testsuite/refcounting/pad.c: (main):
5547         * tools/gst-launch.c: (sigint_handler_sighandler):
5548         * tools/gst-typefind.c: (main):
5549         Doc updates.
5550         Added doc about clock.
5551         removed gst_bin_iterate_recurse_up(), marked methods
5552         for removal.
5553         Fix more testsuites.
5554
5555 2005-03-09  Wim Taymans  <wim@fluendo.com>
5556
5557         * gst/gstpad.c: (gst_pad_get_direction),
5558         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5559         (gst_pad_collect_valist):
5560         * testsuite/bins/interface.c: (main):
5561         * testsuite/caps/audioscale.c: (test_caps):
5562         * testsuite/caps/caps.c: (test1), (test2), (test3):
5563         * testsuite/caps/deserialize.c: (main):
5564         * testsuite/caps/enumcaps.c: (main):
5565         * testsuite/caps/filtercaps.c: (main):
5566         * testsuite/caps/intersect2.c: (main):
5567         * testsuite/caps/random.c: (main):
5568         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5569         * testsuite/caps/sets.c: (check_caps):
5570         * testsuite/caps/simplify.c: (check_caps), (main):
5571         * testsuite/caps/subtract.c: (check_caps):
5572         Fix _pad_get_direction wrt ghostpads.
5573         Fix caps testsuite.
5574
5575 2005-03-09  Wim Taymans  <wim@fluendo.com>
5576
5577         * check/Makefile.am:
5578         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5579         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5580         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5581         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5582         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5583         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5584         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5585         (bin_element_is_sink), (gst_bin_iterate_sinks),
5586         (gst_bin_iterate_all_by_interface):
5587         * gst/gstbin.h:
5588         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5589         (gst_element_change_state), (gst_element_dispose),
5590         (gst_element_finalize), (gst_element_set_loop_function):
5591         * gst/gstelement.h:
5592         * gst/gstiterator.c: (find_custom_fold_func):
5593         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5594         (gst_pad_collectv), (gst_pad_collect_valist),
5595         (gst_pad_template_new):
5596         * gst/gstpipeline.c: (gst_pipeline_class_init),
5597         (gst_pipeline_dispose), (gst_pipeline_set_property),
5598         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5599         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5600         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5601         * gst/gstutils.h:
5602         * gst/schedulers/entryscheduler.c:
5603         * gst/schedulers/gstbasicscheduler.c:
5604         (gst_basic_scheduler_cothreaded_chain),
5605         (gst_basic_scheduler_chain_add_element):
5606         * testsuite/bins/interface.c: (main):
5607         Added GstBin test.
5608         Added GstSystemClock test.
5609         Implemented clock distribution code in GstBin.
5610         Implemented iterate sinks method for future use.
5611         Rearranged gstelement.h
5612         Fix GstIterator comparison bug.
5613         Moved some code to GstPipeline, mostly clocking related.
5614
5615 2005-03-09  Wim Taymans  <wim@fluendo.com>
5616
5617         * configure.ac:
5618         * gst/gst_private.h:
5619         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5620         (gst_bin_remove_func), (gst_bin_remove),
5621         (gst_bin_get_by_name_recurse_up):
5622         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5623         (gst_clock_id_compare_func), (gst_clock_id_wait),
5624         (gst_clock_id_wait_async), (gst_clock_init),
5625         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5626         * gst/gstelement.h:
5627         * gst/gstinfo.c: (_gst_debug_init):
5628         * gst/gstobject.h:
5629         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5630         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5631         * gst/gstpad.h:
5632         Bump version number, we're now 0.9.0
5633         Add future debugging category.
5634         Fix NULL _unref() in _get_by_name_recurse_up
5635         Rearrange gstpad.h.
5636         Update some docs.
5637
5638 2005-03-08  Wim Taymans  <wim@fluendo.com>
5639
5640         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5641         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5642         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5643         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5644         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5645         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5646         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5647         * gst/elements/gstidentity.c: (gst_identity_class_init):
5648         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5649         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5650         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5651         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5652         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5653         (gst_tee_link):
5654         * gst/gstelement.c: (gst_element_class_init),
5655         (gst_element_base_class_init), (gst_element_init),
5656         (gst_element_get_random_pad), (gst_element_wait_state_change),
5657         (gst_element_change_state), (gst_element_dispose),
5658         (gst_element_finalize), (gst_element_set_loop_function):
5659         * gst/gstelement.h:
5660         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5661         * gst/gstthread.c: (gst_thread_class_init),
5662         (gst_thread_release_children_locks), (gst_thread_change_state):
5663         * gst/schedulers/gstbasicscheduler.c:
5664         (gst_basic_scheduler_loopfunc_wrapper),
5665         (gst_basic_scheduler_chain_wrapper),
5666         (gst_basic_scheduler_src_wrapper),
5667         (gst_basic_scheduler_remove_element):
5668         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5669         Remove threadsafe properties. Fix elements because GObject
5670         complains when installing a property before declaring a
5671         set/get_property handler.
5672         Rearrange gstelement.h file, use STATE macros for state locks.
5673         Free mutexes in the finalize method instead of dispose.
5674
5675 2005-03-08  Wim Taymans  <wim@fluendo.com>
5676
5677         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5678         * gst/gstthread.c: (gst_thread_release_children_locks):
5679         Added parentage check.
5680         Fix build og GstThread again.
5681
5682 2005-03-08  Wim Taymans  <wim@fluendo.com>
5683
5684         * docs/design/part-MT-refcounting.txt:
5685         * docs/design/part-conventions.txt:
5686         * docs/design/part-gstobject.txt:
5687         * docs/design/part-relations.txt:
5688         * docs/design/part-standards.txt:
5689         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5690         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5691         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5692         (gst_bin_iterate_all_by_interface):
5693         * gst/gstbuffer.h:
5694         * gst/gstclock.h:
5695         * gst/gstelement.c: (gst_element_class_init),
5696         (gst_element_change_state), (gst_element_set_loop_function):
5697         * gst/gstelement.h:
5698         * gst/gstiterator.c:
5699         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5700         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5701         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5702         (gst_object_set_parent), (gst_object_unparent),
5703         (gst_object_check_uniqueness):
5704         * gst/gstobject.h:
5705         Docs updates, clean up some headers.
5706
5707 2005-03-07  Wim Taymans  <wim@fluendo.com>
5708
5709         * check/.cvsignore:
5710         * check/Makefile.am:
5711         * check/gst-libs/.cvsignore:
5712         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5713         * check/gst/.cvsignore:
5714         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5715         (START_TEST), (gstbus_suite), (main):
5716         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5717         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5718         (gst_data_suite), (main):
5719         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5720         (add_fold_func), (gstiterator_suite), (main):
5721         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5722         (thread_name_object), (thread_name_object_default),
5723         (gst_object_name_compare), (gst_object_suite), (main):
5724         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5725         (gst_pad_suite), (main):
5726         * check/gstcheck.c: (gst_check_log_message_func),
5727         (gst_check_log_critical_func), (gst_check_init):
5728         * check/gstcheck.h:
5729         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5730         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5731         Added checks.
5732
5733 2005-03-07  Wim Taymans  <wim@fluendo.com>
5734
5735         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5736         (gst_list_iterator_next), (gst_list_iterator_resync),
5737         (gst_list_iterator_free), (gst_iterator_new_list),
5738         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5739         (gst_iterator_free), (gst_iterator_push), (filter_next),
5740         (filter_resync), (filter_uninit), (filter_free),
5741         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5742         (gst_iterator_foreach), (find_custom_fold_func),
5743         (gst_iterator_find_custom):
5744         * gst/gstiterator.h:
5745         Added missing files.
5746
5747 2005-03-07  Wim Taymans  <wim@fluendo.com>
5748
5749         * Makefile.am:
5750         * configure.ac:
5751         * docs/design/part-MT-refcounting.txt:
5752         * docs/design/part-conventions.txt:
5753         * docs/design/part-gstobject.txt:
5754         * docs/design/part-relations.txt:
5755         * examples/mixer/mixer.c: (main):
5756         * examples/thread/thread.c: (eos), (main):
5757         * gst/Makefile.am:
5758         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5759         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5760         (gst_spider_plug_from_srcpad):
5761         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5762         (gst_spider_identity_change_state),
5763         (gst_spider_identity_sink_loop_type_finding):
5764         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5765         * gst/elements/gstidentity.c: (gst_identity_init):
5766         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5767         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5768         * gst/elements/gsttypefindelement.c: (free_entry):
5769         * gst/gst.c:
5770         * gst/gst.h:
5771         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5772         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5773         (gst_bin_set_index), (gst_bin_set_element_sched),
5774         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5775         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5776         (gst_bin_iterate_elements), (iterate_child_recurse),
5777         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5778         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5779         (compare_interface), (gst_bin_get_by_interface),
5780         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5781         * gst/gstbin.h:
5782         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5783         (gst_buffer_default_free), (gst_buffer_default_copy),
5784         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5785         (gst_buffer_create_sub):
5786         * gst/gstbuffer.h:
5787         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5788         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5789         (gst_caps_unref), (gst_static_caps_get),
5790         (gst_caps_remove_and_get_structure), (gst_caps_append),
5791         (gst_caps_append_structure), (gst_caps_remove_structure),
5792         (gst_caps_copy_nth), (gst_caps_set_simple),
5793         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5794         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5795         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5796         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5797         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5798         (gst_caps_structure_figure_out_union),
5799         (gst_caps_switch_structures), (gst_caps_do_simplify),
5800         (gst_caps_replace), (gst_caps_from_string),
5801         (gst_caps_copy_conditional):
5802         * gst/gstcaps.h:
5803         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5804         (_gst_clock_id_free), (gst_clock_id_unref),
5805         (gst_clock_id_compare_func), (gst_clock_id_wait),
5806         (gst_clock_id_wait_async), (gst_clock_class_init),
5807         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5808         (gst_clock_get_time), (gst_clock_set_time_adjust),
5809         (gst_clock_set_property), (gst_clock_get_property):
5810         * gst/gstclock.h:
5811         * gst/gstcompat.h:
5812         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5813         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5814         * gst/gstdata.h:
5815         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5816         (gst_element_requires_clock), (gst_element_provides_clock),
5817         (gst_element_set_clock), (gst_element_clock_wait),
5818         (gst_element_wait), (gst_element_set_time_delay),
5819         (gst_element_is_indexable), (gst_element_add_pad),
5820         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5821         (pad_compare_name), (gst_element_get_static_pad),
5822         (gst_element_request_pad), (gst_element_get_request_pad),
5823         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5824         (gst_element_class_get_pad_template_list),
5825         (gst_element_class_get_pad_template), (gst_element_error_func),
5826         (gst_element_get_random_pad), (gst_element_get_event_masks),
5827         (gst_element_send_event), (gst_element_seek),
5828         (gst_element_get_query_types), (gst_element_query),
5829         (gst_element_get_formats), (gst_element_convert),
5830         (gst_element_is_locked_state), (gst_element_set_locked_state),
5831         (gst_element_sync_state_with_parent), (gst_element_change_state),
5832         (gst_element_finalize), (gst_element_yield),
5833         (gst_element_interrupt), (gst_element_set_scheduler),
5834         (gst_element_get_scheduler), (gst_element_set_loop_function):
5835         * gst/gstelement.h:
5836         * gst/gstevent.h:
5837         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5838         (gst_format_get_by_nick), (gst_format_get_details),
5839         (gst_format_iterate_definitions):
5840         * gst/gstformat.h:
5841         * gst/gstindex.c: (gst_index_gtype_resolver):
5842         * gst/gstinfo.c:
5843         * gst/gstinfo.h:
5844         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5845         (gst_mem_chunk_free):
5846         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5847         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5848         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5849         (gst_object_dispatch_properties_changed),
5850         (gst_object_set_name_default), (gst_object_set_name),
5851         (gst_object_get_name), (gst_object_set_name_prefix),
5852         (gst_object_get_name_prefix), (gst_object_set_parent),
5853         (gst_object_get_parent), (gst_object_unparent),
5854         (gst_object_check_uniqueness), (gst_object_save_thyself),
5855         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5856         (gst_object_set_property), (gst_object_get_property),
5857         (gst_object_get_path_string):
5858         * gst/gstobject.h:
5859         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5860         (gst_real_pad_init), (gst_real_pad_get_property),
5861         (gst_pad_custom_new), (gst_pad_get_direction),
5862         (gst_pad_set_active), (gst_pad_is_active),
5863         (gst_pad_set_event_function), (gst_pad_is_linked),
5864         (gst_pad_link_free), (gst_pad_link_intersect),
5865         (gst_pad_link_fixate), (gst_pad_set_caps),
5866         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5867         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5868         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5869         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5870         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5871         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5872         (gst_pad_realize), (gst_pad_get_allowed_caps),
5873         (gst_real_pad_dispose), (gst_real_pad_finalize),
5874         (gst_pad_collectv), (gst_pad_collect_valist),
5875         (gst_pad_template_dispose), (gst_pad_template_new),
5876         (gst_pad_get_internal_links):
5877         * gst/gstpad.h:
5878         * gst/gstpipeline.c: (gst_pipeline_dispose),
5879         (gst_pipeline_change_state):
5880         * gst/gstpipeline.h:
5881         * gst/gstplugin.c:
5882         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5883         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5884         * gst/gstpluginfeature.h:
5885         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5886         * gst/gstquery.c: (_gst_query_type_initialize),
5887         (gst_query_type_register), (gst_query_type_get_by_nick),
5888         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5889         * gst/gstquery.h:
5890         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5891         * gst/gstscheduler.c: (gst_scheduler_add_element),
5892         (gst_scheduler_factory_create):
5893         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5894         (gst_structure_free), (gst_structure_set_name),
5895         (gst_structure_id_set_value), (gst_structure_set_value),
5896         (gst_structure_set_valist), (gst_structure_remove_field),
5897         (gst_structure_remove_fields),
5898         (gst_structure_remove_fields_valist),
5899         (gst_structure_remove_all_fields), (gst_structure_foreach),
5900         (gst_structure_map_in_place),
5901         (gst_caps_structure_fixate_field_nearest_int),
5902         (gst_caps_structure_fixate_field_nearest_double):
5903         * gst/gststructure.h:
5904         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5905         (gst_system_clock_init), (gst_system_clock_dispose),
5906         (gst_system_clock_async_thread),
5907         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5908         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5909         * gst/gstsystemclock.h:
5910         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5911         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5912         * gst/gsttaginterface.c:
5913         * gst/gstthread.c: (gst_thread_dispose),
5914         (gst_thread_release_children_locks), (gst_thread_change_state),
5915         (gst_thread_main_loop):
5916         * gst/gsttrashstack.h:
5917         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5918         * gst/gsttypes.h:
5919         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5920         (gst_element_request_pad), (gst_element_get_pad_from_template),
5921         (gst_element_request_compatible_pad),
5922         (gst_element_get_compatible_pad_filtered),
5923         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5924         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5925         (gst_element_link_many), (gst_element_link),
5926         (gst_element_link_pads), (gst_element_unlink_pads),
5927         (gst_element_unlink_many), (gst_element_unlink),
5928         (gst_pad_can_link_filtered), (gst_pad_can_link),
5929         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5930         (gst_object_default_error), (gst_bin_add_many),
5931         (gst_bin_remove_many), (gst_element_populate_std_props),
5932         (gst_element_class_install_std_props), (gst_buffer_merge),
5933         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5934         (link_fold_func), (gst_pad_proxy_setcaps):
5935         * gst/gstutils.h:
5936         * gst/gstvalue.c: (gst_value_deserialize_string):
5937         * gst/parse/grammar.y:
5938         * gst/schedulers/gstbasicscheduler.c:
5939         (gst_basic_scheduler_cothreaded_chain),
5940         (gst_basic_scheduler_chain_recursive_add),
5941         (gst_basic_scheduler_pad_link):
5942         * gst/schedulers/gstoptimalscheduler.c:
5943         (get_group_schedule_function),
5944         (gst_opt_scheduler_state_transition),
5945         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5946         * libs/gst/bytestream/bytestream.c:
5947         * libs/gst/dataprotocol/dataprotocol.c:
5948         (gst_dp_header_from_buffer):
5949         * po/nb.po:
5950         * po/ru.po:
5951         * tests/threadstate/threadstate2.c: (eos):
5952         * tools/gst-compprep.c: (main):
5953         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5954         (print_pad_info), (print_children_info):
5955         * tools/gst-launch.c: (idle_func), (main):
5956         * tools/gst-md5sum.c: (idle_func), (main):
5957         * tools/gst-xmlinspect.c: (print_element_info):
5958         First THREADED backport attempt, focusing on adding locks and
5959         making sure the API is threadsafe. Needs more work. More docs
5960         follow this week.
5961
5962 2005-02-24  Andy Wingo  <wingo@pobox.com>
5963
5964         * tests/bench-complexity.scm:
5965         * tests/complexity.gnuplot: New files, good for running complexity
5966         benchmarks.
5967
5968         * tests/Makefile.am:
5969         * tests/complexity.c: New test, sets up N elements, at each level
5970         teeing into M streams per element. Eeeenteresting.
5971
5972         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5973         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5974         running bench-mass_elements.scm.
5975
5976         * tests/bench-mass_elements.scm: New script, runs mass_elements
5977         for various numbers of identities, outputting the results to a
5978         file. Requires guile 1.6. Just for testing.
5979
5980 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * gst/schedulers/fairscheduler.c:
5983           compile with debug disabled
5984
5985 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5986
5987         * configure.ac:
5988           hunting season on 0.9 is now OPEN
5989
5990 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5991
5992         * docs/libs/tmpl/gstcontrol.sgml:
5993         * docs/libs/tmpl/gstdparam.sgml:
5994         * docs/libs/tmpl/gstdplinint.sgml:
5995         * docs/libs/tmpl/gstdpman.sgml:
5996         * docs/libs/tmpl/gstdpsmooth.sgml:
5997         * docs/libs/tmpl/gstunitconvert.sgml:
5998           more docs for the state of dparams
5999
6000 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6001
6002         * gst/gstelementfactory.c: (gst_element_factory_create):
6003         * gst/gstobject.c: (gst_object_init),
6004         (gst_object_set_name_default), (gst_object_set_name):
6005           name objects by default, not in gst_element_factory_create. Allows
6006           using elements created with g_object_new. (fixes #167283)
6007
6008 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6009
6010         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
6011           make the time that debugging functions print relative to when
6012           gst_init was called
6013
6014 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
6015
6016         * gst/gsttaginterface.c:
6017           Fix inline docs: tag setter vararg functions are NULL-terminated,
6018           GST_TAG_INVALID doesn't exist any more.
6019
6020 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6021
6022         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
6023         Allocate the 1 byte more memory that was forgotten!!!!!
6024         fixes memory corruption on 64bit platforms
6025
6026 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
6027
6028         * docs/pwg/building-pads.xml:
6029         * docs/pwg/intro-basics.xml:
6030           fixed a few typos, relabeled introductionary list of types
6031         * docs/random/ensonic/dparams.txt:
6032           more notes abut dparam changes
6033         * libs/gst/control/dparam.c: (gst_dparam_attach):
6034         * libs/gst/control/dparammanager.c:
6035         * libs/gst/control/dparammanager.h:
6036           - many comments and notes on dparam implementation
6037           - new dparams are were not initialized to the default value
6038             from param spec
6039
6040 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6041
6042         submitted by: Peter Astakhov
6043
6044         * po/LINGUAS:
6045         * po/ru.po:
6046           adding Russian translation
6047
6048 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6049
6050         * configure.ac:
6051         * docs/gst/Makefile.am:
6052         * docs/libs/Makefile.am:
6053           make sure popt is added to gtk-doc flags.  Fixes #147782.
6054
6055 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6056
6057         * docs/faq/using.xml:
6058           Fix typo in FAQ (artssink => artsdsink)
6059
6060 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6061
6062         * tools/gst-launch.1.in:
6063           Fix typo (#166699).
6064
6065 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
6066
6067         * docs/faq/using.xml:
6068           Add -v argument to fakesrc/fakesink gst-launch line,
6069           so that the promised output will actually show up.
6070
6071 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6072
6073         * gst/gstthread.c: (gst_thread_change_state):
6074           Implement state-change error handling (#166073).
6075
6076 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6079           Release interrupt after handling (#166250).
6080
6081 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6082
6083         * configure.ac:
6084           back to HEAD
6085
6086 === release 0.8.9 ===
6087
6088 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6089
6090         * NEWS:
6091         * RELEASE:
6092         * configure.ac:
6093           releasing 0.8.9, "Like Eating Glass"
6094
6095 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         submitted by: Clytie Siddall
6098
6099         * po/vi.po: Added Vietnamese translation
6100
6101 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         patch by: Tim Philipp-Müller
6104
6105         * configure.ac:
6106         * gst/gstpad.c:
6107           unref data when probe function returns FALSE.  Fixes #166362
6108
6109 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6110
6111         * gst/gst.c: (gst_init_get_popt_table):
6112           Fix typo (#166269).
6113
6114 2005-02-04  Andy Wingo  <wingo@pobox.com>
6115
6116         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6117         the debugging on whether the caps are compatible.
6118
6119 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6120
6121         * docs/manual/basics-elements.xml:
6122           Fix two typos.
6123
6124 2005-02-02  Wim Taymans  <wim@fluendo.com>
6125
6126         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6127         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6128         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6129         Remove some FIXMEs after analysing and commenting why they
6130         are not issues.
6131
6132 2005-02-02  Wim Taymans  <wim@fluendo.com>
6133
6134         * gst/schedulers/gstoptimalscheduler.c:
6135         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6136         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6137         (get_invalid_call), (chain_invalid_call),
6138         (get_group_schedule_function), (loop_group_schedule_function),
6139         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6140         (gst_opt_scheduler_state_transition),
6141         (gst_opt_scheduler_add_element),
6142         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6143         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6144         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6145         (gst_opt_scheduler_show):
6146         Added lock to protect scheduler data structures.
6147
6148 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6149
6150         * testsuite/threads/threadi.c: (cb_data):
6151           Fix buglet in test.
6152
6153 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6154
6155         * testsuite/threads/Makefile.am:
6156         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6157           On Wim's request, split the test in three separately-compiled
6158           tests that each test a very specific bug. Two of them still fail,
6159           will create bugs for those. threadi.c indicates why they fail.
6160
6161 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6162
6163         * gst/schedulers/gstoptimalscheduler.c:
6164         (get_group_schedule_function):
6165           Try to work with the threading mess that queue_link is.
6166
6167 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6168
6169         * gst/gstbin.c: (gst_bin_remove_func):
6170           Explicitely make an element release locks in a group when being
6171           remove from a bin.
6172         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6173           If there's no scheduler, always return immediately (similar to
6174           gst_element_interrupt).
6175
6176 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6177
6178         * gst/gstbin.c: (gst_bin_child_state_change_func):
6179           Remove a piece of code that could never be reached.
6180         * docs/gst/gstreamer-sections.txt:
6181         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6182         (gst_pad_call_get_function):
6183         * gst/gstpad.h:
6184         * testsuite/pad/Makefile.am:
6185           Fix #150546, enable tests.
6186
6187 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6188
6189         * docs/pwg/advanced-types.xml:
6190           Fix description for buffer-frames=0.
6191         * docs/gst/tmpl/gstbin.sgml:
6192         * gst/gstbin.c: (gst_bin_child_state_change_func),
6193         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6194         * gst/gstbin.h:
6195         * testsuite/threads/Makefile.am:
6196         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6197         (cb_state), (cb_play), (main):
6198           Fix non-recursive state changes to *really* change the state
6199           of the object, and not just call parent_class->state_change.
6200           Fix a lot of lockups caused by this. Fixes #132775. Add test
6201           for the problem. Also enable test to show #142588 (fixed).
6202         * gst/gstthread.c: (gst_thread_change_state),
6203         (gst_thread_child_state_change):
6204           Don't exit the thread if we go to NULL and are inside thread
6205           context. Instead, return control to the main thread context
6206           and exit from there.
6207         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6208           Don't unset virtual functions, since those may still be used.
6209           That's not necessarily correct, but suffices for now.
6210         * configure.ac:
6211         * testsuite/Makefile.am:
6212         * testsuite/pad/Makefile.am:
6213         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6214         (gst_test_sink_base_init), (gst_test_sink_chain),
6215         (gst_test_sink_init), (main):
6216         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6217         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6218         (main):
6219         * testsuite/pad/link.c: (gst_test_element_class_init),
6220         (gst_test_element_base_init), (gst_test_src_get),
6221         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6222         (gst_test_filter_loop), (gst_test_filter_init),
6223         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6224         (cb_error), (main):
6225           Add tests to show #150546. Pass, but should fail (currently
6226           disabled from the testsuite).
6227         * gst/gstscheduler.c: (gst_scheduler_dispose):
6228           Dereference child schedulers on dispose (#94464).
6229         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6230           Fix typo.
6231         * testsuite/threads/thread.c: (main):
6232           Add more debug.
6233
6234 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6235
6236         * gst/gstpad.c: (gst_pad_push):
6237           Oops, revert previous commit, broke testsuite...
6238
6239 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6240
6241         * gst/gstpad.c: (gst_pad_push):
6242           Add check that the pad on which the push is performed is not a
6243           get-based pad (#150546).
6244
6245 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6246
6247         * gst/elements/gsttypefindelement.c:
6248         (gst_type_find_element_handle_event):
6249           Fix buffer pushing if stream EOSes during typefinding.
6250
6251 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6252
6253         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6254
6255         * gst/gstvalue.c: (gst_string_wrap):
6256           Allow NULL-strings as argument (#165365).
6257
6258 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6259
6260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6261
6262         * gst/schedulers/faircothreads.c:
6263         (gst_fair_scheduler_cothread_queue_show):
6264           Fix build without debug enabled.
6265
6266 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6267
6268         * docs/gst/gstreamer-sections.txt:
6269         * docs/libs/gstreamer-libs-docs.sgml:
6270         * docs/libs/gstreamer-libs-sections.txt:
6271         * docs/libs/tmpl/gstcontrol.sgml:
6272         * docs/libs/tmpl/gstdparam.sgml:
6273         * docs/libs/tmpl/gstdplinint.sgml:
6274         * docs/libs/tmpl/gstdpman.sgml:
6275         * docs/libs/tmpl/gstdpsmooth.sgml:
6276         * docs/libs/tmpl/gstputbits.sgml:
6277         * docs/libs/tmpl/gstunitconvert.sgml:
6278         * libs/gst/control/dparam.c:
6279         * libs/gst/control/dparam.h:
6280         * libs/gst/control/dparammanager.c:
6281         (gst_dpman_add_required_dparam_callback),
6282         (gst_dpman_add_required_dparam_direct),
6283         (gst_dpman_add_required_dparam_array),
6284         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6285         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6286         (gst_dpman_get_manager)
6287           restructured DParam docs
6288
6289 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
6290
6291         * gst-element-check.m4:
6292           Only check for gst-inspect if we haven't already
6293           found it in previous element check runs
6294
6295 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6296
6297         * docs/gst/Makefile.am:
6298         * docs/libs/Makefile.am:
6299           fixed install rules to treat style.css as optional
6300
6301 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6302
6303         * docs/gst/Makefile.am:
6304         * docs/libs/Makefile.am:
6305           install style.css along with docs
6306         * docs/gst/tmpl/gstbin.sgml:
6307         * docs/gst/tmpl/gstclock.sgml:
6308         * docs/gst/tmpl/gstdata.sgml:
6309         * docs/gst/tmpl/gstelement.sgml:
6310         * gst/gstbin.h:
6311         * gst/gstelement.c: (gst_element_class_init):
6312         * gst/gstelement.h:
6313           fixing incomplete docs
6314
6315 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6318           Don't unref seek event twice when fflush() fails
6319           
6320 2005-01-22  David Schleef  <ds@schleef.org>
6321
6322         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6323
6324 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6325
6326         * docs/gst/Makefile.am:
6327         * docs/libs/Makefile.am:
6328           added params for deprecation guards
6329         * gst/gst.c:
6330         * gst/gst.h:
6331         * gst/gsterror.c: (_gst_resource_errors_init),
6332         (_gst_stream_errors_init):
6333         * gst/gsterror.h:
6334           documented some more enums
6335
6336 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6337         * gst/autoplug/gstspideridentity.c:
6338         Cosmetic fix - spider_find_peek should be static
6339         * gst/parse/parse.l:
6340         Applying fix for #164261
6341
6342 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6343
6344         * docs/gst/gstreamer-sections.txt:
6345         * docs/gst/tmpl/gstplugin.sgml:
6346         * docs/libs/gstreamer-libs-sections.txt:
6347         * docs/libs/tmpl/gstcontrol.sgml:
6348         * gst/gstbuffer.h:
6349         * gst/gsttag.h:
6350         * gst/gstvalue.c:
6351           added docs for the TAG defines
6352
6353 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6354
6355         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6356           Only unref entry if there is an entry.
6357
6358 2005-01-17  Wim Taymans  <wim@fluendo.com>
6359
6360         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6361         (remove_from_group), (schedule_group), (normalize_group),
6362         (gst_opt_scheduler_iterate):
6363         Also ref/unref decoupled elements before iterating the
6364         group since they are not added to the list of elements.
6365
6366 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6367
6368         * docs/manual/highlevel-components.xml:
6369           Add subtitle/streamselection as new features to playbin.
6370
6371 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6372
6373         * docs/manual/manual.xml:
6374           Re-enable dataaccess docs (oops).
6375
6376 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6377
6378         * docs/pwg/advanced-types.xml:
6379         * docs/random/mimetypes:
6380           Add documentation on libsndfile types (#163309), by Steve Baker
6381           <steve@stevebaker.org>.
6382         * gst/gstelement.c: (gst_element_release_request_pad):
6383           If an element has no explicit function, just remove the pad.
6384
6385 2005-01-17  Luca Ognibene  <luogni@tin.it>
6386
6387         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6388
6389         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6390           Fix memleak (#163801).
6391
6392 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6393
6394         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6395           I think this is actually more correct...
6396
6397 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6398
6399         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6400           Another workaround for memory access while destroyed in callback.
6401           Please, someone with refcount knowledge, have a look at this.
6402
6403 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6404
6405         * docs/faq/faq.xml:
6406         * docs/faq/legal.xml:
6407           move the legal Q&A here
6408
6409 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6410
6411         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6412         (gst_tee_request_new_pad):
6413           Fix negotiation.
6414
6415 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6416
6417         * docs/random/omega/caps2:
6418         * testsuite/caps/caps_strings:
6419           replace framerate aproximations by their real value
6420           (24000/1001, 30000/1001, 60000/1001)
6421           Partially fixes bug #164049
6422
6423 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6424
6425         * docs/gst/Makefile.am:
6426           don't fail on the stupid GstPoptOption
6427
6428 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6429
6430         * gst/gstpad.h:
6431         * gst/gstprobe.c:
6432           allow probes to work on ghost pads by realizing the pad
6433           probe debugging
6434
6435 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6436
6437         * docs/gst/gstreamer-sections.txt:
6438         * docs/gst/tmpl/gstpad.sgml:
6439         * gst/gstpad.c: (gst_pad_set_active_recursive):
6440         * gst/gstpad.h:
6441           Add gst_pad_set_active_recursive().
6442
6443 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         * docs/random/release:
6446           updates
6447         * gst/gst_private.h:
6448         * gst/gstinfo.c:
6449         * gst/gstobject.c:
6450           move deep_notify logging to a new category
6451         * gst/gstprobe.c:
6452         * gst/gstprobe.h:
6453           add stuff so bindings can wrap probes
6454
6455 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6456
6457         * gst/gstplugin.c: (gst_plugin_load):
6458           Fix plugin loading if plugin/lib was already loaded. Fixes
6459           #163383
6460
6461 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6462
6463         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6464
6465         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6466           Protect plugin loading by a mutex so it's threadsafe. Fixes
6467           #163234.
6468
6469 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6470
6471         * gst/gstevent.c: (_gst_event_copy):
6472           Reference source object when copying events, since it'll be
6473           dereferenced on event dereferencing as well.
6474
6475 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6476
6477         * docs/gst/gstreamer-sections.txt:
6478         * docs/gst/tmpl/gstevent.sgml:
6479         * gst/gstevent.c: (gst_event_new_filler_stamped),
6480         (gst_event_filler_get_duration):
6481         * gst/gstevent.h:
6482           Add two new functions for filler events (which are used to
6483           synchronize streams if one of them is not having any data
6484           for a while) without interrupting the actual data-stream.
6485           Basically a no-op.
6486         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6487         (gst_queue_link_sink), (gst_queue_link_src),
6488         (gst_queue_change_state):
6489           Allow for renegotiation while filled. Required for stream
6490           switching while playing.
6491
6492 2005-01-08  Benjamin Otte  <otte@gnome.org>
6493
6494         * gst/gstelement.c: (gst_element_link_many):
6495           fix up g_return_if_fail's
6496         * po/LINGUAS:
6497         * po/de.po:
6498           add German translation, that was somehow not included
6499
6500 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6501
6502         * docs/random/mimetypes:
6503           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6504           do not add them to riff-lib as they are not common
6505
6506 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6507
6508         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6509           Check for existence of probe after performing the probe before
6510           re-accessing it to prevent segfaults caused by removal of the
6511           probe in the callback.
6512
6513 2005-01-05  David Schleef  <ds@schleef.org>
6514
6515         * testsuite/registry/Makefile.am:
6516         * testsuite/registry/gst-print-formats.c:
6517         (print_pad_templates_info), (print_element_list),
6518         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6519         (g_list_uniqify), (get_pad_templates_info),
6520         (get_element_mime_list), (print_mime_list), (main): A little
6521         program that looks through the registry to find elements of
6522         a given type.  Not particularly interesting as a test, except
6523         that there's no other test covering the same area.
6524
6525 2005-01-05  David Schleef  <ds@schleef.org>
6526
6527         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6528         (fault_handler_sigaction), (fault_spin),
6529         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6530         in signal.h-type signal handlers by not calling forbidden functions,
6531         including gst_element_set_state().
6532
6533 2005-01-05  David Schleef  <ds@schleef.org>
6534
6535         * gst/gstvalue.h: Mark _gst_reserved[] as private
6536
6537 2005-01-05  David Schleef  <ds@schleef.org>
6538
6539         * gst/gstvalue.c: Fix doc build problem.
6540
6541 2005-01-05  David Schleef  <ds@schleef.org>
6542
6543         * gst/gstvalue.c: Add some documentation
6544
6545 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6546
6547         * docs/README:
6548           another shell oneliner for empty return value docs
6549         * gst/gstcaps.c:
6550         * gst/gstvalue.c:
6551         * libs/gst/control/dparam.c:
6552           more doc fixes (parameters and return values)
6553
6554 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6555
6556         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6557
6558         * gst/gstregistry.h:
6559         * gst/registries/gstxmlregistry.c:
6560           Fix macro's for Mingw (fixes #162276).
6561
6562 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6563
6564         * docs/README:
6565           quick shell oneliner to find undocumented members
6566         * docs/gst/tmpl/gstplugin.sgml:
6567         * docs/gst/tmpl/gstscheduler.sgml:
6568         * docs/gst/tmpl/gstthread.sgml:
6569           more enumtypes cleanup
6570         * gst/gsterror.h:
6571           activated documentation comments, now someone needs to document
6572           the enums :(
6573
6574 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6575
6576         * docs/manual/manual.xml:
6577           Add dataaccess part (doh!).
6578
6579 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6580
6581         * docs/manual/advanced-autoplugging.xml:
6582           Fix typo (intiate -> initiate).
6583
6584 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6585
6586         * docs/random/bbb/streamselection:
6587           Add some notes on how to handle multi-subtitle/-audio streams.
6588
6589 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6590
6591         * docs/gst/gstreamer-docs.sgml:
6592         * docs/gst/gstreamer-sections.txt:
6593         * docs/gst/tmpl/gstenumtypes.sgml:
6594         * docs/gst/tmpl/gsterror.sgml:
6595         * docs/gst/tmpl/gstevent.sgml:
6596         * docs/gst/tmpl/gstpad.sgml:
6597         * docs/gst/tmpl/gstpadtemplate.sgml:
6598         * docs/gst/tmpl/gstthread.sgml:
6599           removed gstenumtypes section from docs and put all the enums into
6600           their sections
6601
6602 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6603
6604         * gst/gstplugin.c:
6605           document gst_library_load a bit more (riff special case + return
6606           value if already loaded)
6607         * testsuite/bytestream/filepadsink.c:
6608           plugin name is 'gstbytestream', not 'bytestream'
6609
6610 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6611
6612         * docs/random/bbb/subtitles:
6613           Add some first mind rumblings on proper subtitle support.
6614
6615 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * po/ca.po:
6618         * po/sv.po:
6619           updated translations
6620
6621 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6622
6623         * docs/manual/advanced-dataaccess.xml:
6624           Add section on how to use fakesrc/fakesink/identity in your
6625           application, plus section on how to embed plugins. Also mention
6626           probes.
6627         * docs/manual/appendix-checklist.xml:
6628         * docs/manual/appendix-debugging.xml:
6629         * docs/manual/appendix-gnome.xml:
6630         * docs/manual/appendix-integration.xml:
6631           Debug -> checklist, GNOME -> integration, add sections on Linux,
6632           KDE integration and add other things useful for application
6633           development.
6634         * docs/manual/manual.xml:
6635           Remove some fixmes, update some file pointers.
6636         * docs/pwg/appendix-checklist.xml:
6637           Fix typo.
6638         * docs/pwg/building-boiler.xml:
6639           Remove ugly header and add commented fixme.
6640         * docs/pwg/pwg.xml:
6641           Add fixme.
6642         * examples/manual/Makefile.am:
6643           Add example for added docs.
6644
6645 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6646
6647         * configure.ac:
6648           back to HEAD
6649
6650 === release 0.8.8 ===
6651
6652 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6653
6654         * NEWS:
6655         * RELEASE:
6656         * configure.ac:
6657           Releasing 0.8.8, "I'll Take Care Of You"
6658
6659 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6660
6661         * configure.ac:
6662           second prerelease
6663
6664 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6665
6666         patch by: Wim Taymans
6667
6668         * gst/gstbin.c:
6669           Fix for #159852 - make iterate emission threadsafe
6670
6671 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6672
6673         * docs/faq/cvs.xml:
6674           notes about new fdo account request
6675
6676 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * docs/gst/gstreamer-docs.sgml:
6679         * docs/gst/tmpl/gstenumtypes.sgml:
6680         * docs/gst/tmpl/gstplugin.sgml:
6681         * docs/libs/gstreamer-libs-docs.sgml:
6682           Added missing short docs. Added ids for navigation.
6683
6684 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6685
6686         * docs/manual/advanced-autoplugging.xml:
6687         * docs/manual/advanced-schedulers.xml:
6688         * docs/manual/advanced-threads.xml:
6689           Rewrites. Remove cothreads, go a bit into opt specifically,
6690           document threads and their gotchas, and do some technical stuff
6691           on autoplugging plus add some working examples. Fixes #157395.
6692         * examples/manual/Makefile.am:
6693           Add typefind/autoplugger example (one that actually works).
6694           Remove queue example since it's a duplicate of the thread one.
6695
6696 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6697
6698         * gst/gstvalue.c: (gst_value_deserialize_string):
6699           use deprecated g_value_set_string_take_ownership to keep compatible
6700           with glib 2.2
6701
6702 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6703
6704         * gst/gstvalue.c: (gst_value_deserialize_string):
6705           revert last patch, only dom a g_utf8_validate now before accepting
6706           the string - caps parsing strips " from strings so we can't rely on
6707           them
6708         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6709           disable a test that tested the above and comment it
6710
6711 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6712
6713         Patch reviewed by David Schleef  <ds@schleef.org>
6714
6715         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6716         bug #153882)
6717         * win32/gstenumtypes.h: same
6718
6719 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6720
6721         * gst/gstpad.c: (gst_pad_query):
6722           Do query on realized pad, similar to how convert/send_event handle
6723           this. Also makes sense, since this pad belongs to the function to
6724           which this query will be sent. Fixes #158163.
6725
6726 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6727
6728         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6729
6730 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6731
6732         * docs/faq/general.xml: fix pipeline to actually work
6733
6734 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6735
6736         * gst/gstvalue.c: (gst_value_deserialize_string):
6737           check that a simple string that gets deserialized does not contain
6738           invalid characters
6739         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6740           remove a test that tested a wring behaviour
6741
6742 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6743
6744         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6745
6746         * docs/manual/intro-motivation.xml:
6747           Fix typos.
6748
6749 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6750
6751         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6752
6753         * docs/gst/tmpl/gstprobe.sgml:
6754           Fix documentation of probe callback - it is supposed to return
6755           FALSE, not TRUE, to remove data from the stream (#159087).
6756
6757 2004-12-16  Daniel Gazard  <dany42@free.fr>
6758
6759         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6760
6761         * gst/gstelementfactory.c: (gst_element_factory_create):
6762           Fix compile failure if compiling without libxml2 support (#149936).
6763
6764 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6765
6766         * docs/manual/advanced-autoplugging.xml:
6767         * docs/manual/highlevel-components.xml:
6768           Move spider from autoplugging to components. Autoplugging is for
6769           internals, not for solutions. ;-).
6770
6771 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6772
6773         * docs/random/ds/0.9-suggested-changes:
6774           Make note on device/location/uri property names.
6775
6776 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6777
6778         * docs/manual/advanced-autoplugging.xml:
6779         * docs/manual/advanced-clocks.xml:
6780         * docs/manual/advanced-interfaces.xml:
6781         * docs/manual/advanced-metadata.xml:
6782         * docs/manual/advanced-position.xml:
6783         * docs/manual/advanced-schedulers.xml:
6784         * docs/manual/advanced-threads.xml:
6785         * docs/manual/appendix-gnome.xml:
6786         * docs/manual/appendix-programs.xml:
6787         * docs/manual/appendix-quotes.xml:
6788         * docs/manual/autoplugging.xml:
6789         * docs/manual/basics-bins.xml:
6790         * docs/manual/basics-data.xml:
6791         * docs/manual/basics-elements.xml:
6792         * docs/manual/basics-helloworld.xml:
6793         * docs/manual/basics-init.xml:
6794         * docs/manual/basics-pads.xml:
6795         * docs/manual/basics-plugins.xml:
6796         * docs/manual/bins-api.xml:
6797         * docs/manual/bins.xml:
6798         * docs/manual/buffers-api.xml:
6799         * docs/manual/buffers.xml:
6800         * docs/manual/clocks.xml:
6801         * docs/manual/components.xml:
6802         * docs/manual/cothreads.xml:
6803         * docs/manual/debugging.xml:
6804         * docs/manual/dparams-app.xml:
6805         * docs/manual/dynamic.xml:
6806         * docs/manual/elements-api.xml:
6807         * docs/manual/elements.xml:
6808         * docs/manual/factories.xml:
6809         * docs/manual/gnome.xml:
6810         * docs/manual/goals.xml:
6811         * docs/manual/helloworld.xml:
6812         * docs/manual/helloworld2.xml:
6813         * docs/manual/highlevel-components.xml:
6814         * docs/manual/highlevel-xml.xml:
6815         * docs/manual/init-api.xml:
6816         * docs/manual/intro-basics.xml:
6817         * docs/manual/intro-motivation.xml:
6818         * docs/manual/intro-preface.xml:
6819         * docs/manual/intro.xml:
6820         * docs/manual/links-api.xml:
6821         * docs/manual/links.xml:
6822         * docs/manual/manual.xml:
6823         * docs/manual/motivation.xml:
6824         * docs/manual/pads-api.xml:
6825         * docs/manual/pads.xml:
6826         * docs/manual/plugins-api.xml:
6827         * docs/manual/plugins.xml:
6828         * docs/manual/programs.xml:
6829         * docs/manual/queues.xml:
6830         * docs/manual/quotes.xml:
6831         * docs/manual/schedulers.xml:
6832         * docs/manual/states-api.xml:
6833         * docs/manual/states.xml:
6834         * docs/manual/threads.xml:
6835         * docs/manual/typedetection.xml:
6836         * docs/manual/win32.xml:
6837         * docs/manual/xml.xml:
6838           Try 2. This time, include a short preface as a "general
6839           introduction", also add code blocks around all code samples
6840           so they get compiled. We still need a way to tell readers
6841           the filename of the code sample. In some cases, don't show
6842           all code in the documentation, but do include it in the generated
6843           code. This allows for focussing on specific bits in the docs,
6844           while still having a full test application available.
6845         * examples/manual/Makefile.am:
6846           Fix up examples for new ADM. Add several of the new examples that
6847           were either added or were missing from the build system.
6848         * examples/manual/extract.pl:
6849           Allow nameless blocks.
6850
6851 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6852
6853         * docs/manual/elements-api.xml:
6854         * docs/manual/helloworld.xml:
6855         * examples/manual/extract.pl:
6856           fix last example.  Add example of adding code blocks that are not
6857           shown in docbook output.
6858
6859 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6860
6861         * docs/manual/dynamic.xml:
6862         * docs/manual/elements-api.xml:
6863         * docs/manual/gnome.xml:
6864         * docs/manual/helloworld2.xml:
6865         * docs/manual/init-api.xml:
6866         * docs/manual/queues.xml:
6867         * docs/manual/threads.xml:
6868         * docs/manual/xml.xml:
6869         * examples/manual/extract.pl:
6870           Make it possible to extract example code from separate blocks.
6871           Should make Ronald happy.
6872
6873 2004-12-15  Wim Taymans  <wim@fluendo.com>
6874
6875         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6876         (remove_from_group), (group_elements_set_visited),
6877         (normalize_group), (gst_opt_scheduler_iterate):
6878         Fix bug where a flag was not updated on a decoupled entry point 
6879         because we were just checking the group element list and decoupled
6880         elements are not in that list..
6881
6882 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6883
6884         * docs/manual/advanced-autoplugging.xml:
6885         * docs/manual/advanced-clocks.xml:
6886         * docs/manual/advanced-dparams.xml:
6887         * docs/manual/advanced-interfaces.xml:
6888         * docs/manual/advanced-metadata.xml:
6889         * docs/manual/advanced-position.xml:
6890         * docs/manual/advanced-schedulers.xml:
6891         * docs/manual/advanced-threads.xml:
6892         * docs/manual/appendix-debugging.xml:
6893         * docs/manual/appendix-gnome.xml:
6894         * docs/manual/appendix-programs.xml:
6895         * docs/manual/appendix-quotes.xml:
6896         * docs/manual/appendix-win32.xml:
6897         * docs/manual/autoplugging.xml:
6898         * docs/manual/basics-bins.xml:
6899         * docs/manual/basics-data.xml:
6900         * docs/manual/basics-elements.xml:
6901         * docs/manual/basics-helloworld.xml:
6902         * docs/manual/basics-init.xml:
6903         * docs/manual/basics-pads.xml:
6904         * docs/manual/basics-plugins.xml:
6905         * docs/manual/bins-api.xml:
6906         * docs/manual/bins.xml:
6907         * docs/manual/buffers-api.xml:
6908         * docs/manual/buffers.xml:
6909         * docs/manual/clocks.xml:
6910         * docs/manual/components.xml:
6911         * docs/manual/cothreads.xml:
6912         * docs/manual/debugging.xml:
6913         * docs/manual/dparams-app.xml:
6914         * docs/manual/dynamic.xml:
6915         * docs/manual/elements-api.xml:
6916         * docs/manual/elements.xml:
6917         * docs/manual/factories.xml:
6918         * docs/manual/gnome.xml:
6919         * docs/manual/goals.xml:
6920         * docs/manual/helloworld.xml:
6921         * docs/manual/helloworld2.xml:
6922         * docs/manual/highlevel-components.xml:
6923         * docs/manual/highlevel-xml.xml:
6924         * docs/manual/init-api.xml:
6925         * docs/manual/intro-motivation.xml:
6926         * docs/manual/intro-preface.xml:
6927         * docs/manual/intro.xml:
6928         * docs/manual/links-api.xml:
6929         * docs/manual/links.xml:
6930         * docs/manual/manual.xml:
6931         * docs/manual/motivation.xml:
6932         * docs/manual/pads-api.xml:
6933         * docs/manual/pads.xml:
6934         * docs/manual/plugins-api.xml:
6935         * docs/manual/plugins.xml:
6936         * docs/manual/programs.xml:
6937         * docs/manual/queues.xml:
6938         * docs/manual/quotes.xml:
6939         * docs/manual/schedulers.xml:
6940         * docs/manual/states-api.xml:
6941         * docs/manual/states.xml:
6942         * docs/manual/threads.xml:
6943         * docs/manual/typedetection.xml:
6944         * docs/manual/win32.xml:
6945         * docs/manual/xml.xml:
6946           First try at rewriting the ADM. Needs lotsamore work, but some
6947           parts might already be somewhat useful.
6948         * docs/pwg/advanced-interfaces.xml:
6949           Remove properties interface, it never actually existed (except for
6950           on my HD...).
6951
6952 2004-12-13  David Schleef  <ds@schleef.org>
6953
6954         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6955         be NULL (bug #160220).
6956
6957 2004-12-13  David Schleef  <ds@schleef.org>
6958
6959         * configure.ac: remove all mmx stuff, because it's not used.
6960         * docs/random/ds/0.9-suggested-changes: additional notes
6961         * include/Makefile.am: we don't use these anymore
6962         * include/mmx.h: remove
6963         * include/sse.h: remove
6964
6965 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6966
6967         * docs/random/mimetypes:
6968           Add FOURCC code for h264 codec (VSSH)
6969           Add alternate FOURCC codes for h263 related codecs
6970
6971 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6972
6973         * docs/manual/programs.xml:
6974           Added more gst-launch examples.
6975
6976 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6977
6978         * gst/gstqueue.c: (gst_queue_handle_src_query):
6979           Check for availability again.
6980
6981 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6982
6983         * gst/gstcaps.c: (gst_caps_compare_structures):
6984           Simple caps go first. This has the nice side-effect of fixing an
6985           obscure warning.
6986
6987 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6988
6989         * gst/gstversion.h.in:
6990           Protect header.
6991
6992 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6993
6994         * gst/schedulers/gstoptimalscheduler.c:
6995         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6996         (gst_opt_scheduler_get_wrapper):
6997           When we're recursing into a chain run, only run the directly
6998           related group, not all queued ones. This will fix a possible
6999           deadlock in chains with more than two groups.
7000
7001 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * autogen.sh:
7004           remove patch if autopoint fails
7005
7006 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7007
7008         * docs/gst/gstreamer-sections.txt:
7009           Document Thomas' addition, fix build, make Luis the sheriff happy.
7010
7011 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * gst/gstplugin.c:
7014         * gst/gstplugin.h:
7015           add accessor for version field
7016
7017 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7018
7019         submitted by: Luca Ferretti <elle.uca@infinito.it>
7020
7021         * po/LINGUAS:
7022         * po/it.po:
7023           New tranlation added: Italian
7024
7025 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7026
7027         * gst/gstpad.c: (gst_pad_is_negotiated),
7028         (gst_pad_get_negotiated_caps):
7029           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
7030           it doesn't actually check the contents), so be sure to hand it
7031           a RealPad else we'll crash.
7032
7033 2004-12-03  Wim Taymans  <wim@fluendo.com>
7034
7035         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7036         (gst_queue_link), (gst_queue_handle_src_query):
7037         Reverted to 1.110 until this makes the testsuite and various
7038         apps work.
7039
7040 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
7041
7042         * docs/upload.mak: fix included CVS conflict strings
7043
7044 2004-12-01  William Jon McCann  <mccann@jhu.edu>
7045
7046         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7047
7048         * gst/gstelement.c: (gst_element_error_full):
7049           Use g_error_new_literal because error text may have
7050           percentage signs in it. Fixes #160019.
7051
7052 2004-12-01  Benjamin Otte  <otte@gnome.org>
7053
7054         * gst/elements/gstbufferstore.c:
7055         (gst_buffer_store_add_buffer_func):
7056           don't try to make subbuffers bigger than they can be. (fixes
7057           #159970)
7058
7059 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7060
7061         * docs/gst/gstreamer-sections.txt:
7062         * docs/gst/tmpl/gstvalue.sgml:
7063           Add new function to docs to fix build.
7064
7065 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7066
7067         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7068         * gst/gstpad.c: (_gst_pad_default_fixate_value),
7069         (_gst_pad_default_fixate_foreach):
7070         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
7071         * gst/gstvalue.h:
7072           Deprecate _type_is_fixed, use _value_is_fixed instead, since
7073           in some cases (arrays), the fixedness depends on the content.
7074         * gst/gstqueue.c: (gst_queue_handle_src_query):
7075           Check for availability before doing something.
7076
7077 2004-11-29  Wim Taymans  <wim@fluendo.com>
7078
7079         * testsuite/threads/Makefile.am:
7080         * testsuite/threads/signals.c: (gst_test_get_type),
7081         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
7082         (gst_test_set_property), (gst_test_get_property),
7083         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
7084         (gst_test_do_prop), (run_thread), (main):
7085         Added a bunch of testcases that show threadsafety bugs in glib.
7086
7087 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
7088
7089         * docs/manual/programs.xml:
7090           Added a first batch of gst-launch examples, as provided by Ronald
7091           and others from the devel-mlist
7092
7093 2004-11-28  Benjamin Otte  <otte@gnome.org>
7094
7095         * gst/gstelement.c: (gst_element_negotiate_pads):
7096           simplify
7097         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
7098         (gst_value_serialize_string), (gst_value_deserialize_string):
7099           add unwrapping of previously wrapped strings. Fix bug in wrapping
7100           while at it.
7101         * testsuite/caps/value_serialize.c: (test1),
7102         (test_string_serialization), (test_string_deserialization), (main):
7103           add tests for string (de)serialization
7104
7105 2004-11-26  Wim Taymans  <wim@fluendo.com>
7106
7107         * testsuite/threads/159566.c: (object_deep_notify), (main):
7108         * testsuite/threads/Makefile.am:
7109         Added testsuite to show bug #159566
7110
7111 2004-11-25  Wim Taymans  <wim@fluendo.com>
7112
7113         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7114         (gst_thread_child_state_change), (gst_thread_main_loop):
7115         Ref the thread object in the GThread mainloop. Break out of the
7116         thread mainloop if it holds the last ref. This properly exits
7117         the threads when disposing the thread from its own context. It
7118         also avoids possible deadlocks in the dispose function.
7119
7120 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7121
7122         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7123         it is necessary to wait.
7124
7125 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7126
7127         * docs/pwg/building-boiler.xml:
7128           Make description somewhat clearer.
7129
7130 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7131
7132         * docs/upload.mak:
7133           Apparently docs changed location on FDO's server.
7134
7135 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7136
7137         * docs/pwg/appendix-checklist.xml:
7138           Add some random notes on things to check when writing an element.
7139           This list can be extended as people see fit.
7140
7141 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7142
7143         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7144         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7145         pad. The queue will now wait until it is empty and forward the new
7146         caps to the source.
7147         * gst/gstbin.c (gst_bin_set_element_sched)
7148         (gst_bin_unset_element_sched): Make sure that all elements and
7149         links are registered and unregistered with the scheduler exactly
7150         once. This elaborates on a fix by Benjamin Otte, but
7151         guarantees that decoupled elements are also registered.
7152
7153 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7154
7155         * docs/manual/quotes.xml:
7156           add a quote
7157         * configure.ac:
7158         * gst/gst.c:
7159         * gst/gstinfo.c:
7160           add LIBDIR and move init message higher up so it's at the start
7161
7162 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7163
7164         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7165         * gstreamer.spec.in: add fair
7166
7167 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7168
7169         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7170         * gst/elements/gstidentity.c: (gst_identity_class_init):
7171           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7172           <teuf@gnome.org> (#157263).
7173         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7174         (gst_type_find_handle_src_query):
7175           Subtract size of internally stored data from position queries.
7176
7177 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7178
7179         * gst/schedulers/fairscheduler.c:
7180         * gst/schedulers/faircothreads.c:
7181         * gst/schedulers/faircothreads.h:
7182         New cothread based scheduler: Fair scheduler.
7183         * gst/schedulers/gthread-cothreads.h: 
7184         Add the standard #if around the whole file.
7185         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7186         compilation of the functions defined in this file. This is
7187         necessary to be able to use this file as a normal header.
7188         * gst/schedulers/Makefile.am: Add compiling support for fair
7189         scheduler.
7190         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7191         scheduler cothreads layer from documentation generation.
7192
7193 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7194
7195         * gst/autoplug/gstspideridentity.c:
7196         (gst_spider_identity_sink_loop_type_finding):
7197           Don't crash if that function is not implemented.
7198
7199 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7200
7201         * docs/pwg/advanced-types.xml:
7202           Another typo.
7203
7204 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7205
7206         * docs/pwg/intro-preface.xml:
7207           Hm, ok, so the brackets weren't really useful...
7208         * docs/pwg/other-ntoone.xml:
7209           Fix embarassing typo.
7210
7211 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7212
7213         * docs/pwg/intro-preface.xml:
7214           Rewrite preface.
7215
7216 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7217
7218         * docs/pwg/advanced-scheduling.xml:
7219         * docs/pwg/advanced-tagging.xml:
7220         * docs/pwg/advanced-types.xml:
7221         * docs/pwg/building-boiler.xml:
7222         * docs/pwg/building-chainfn.xml:
7223         * docs/pwg/building-signals.xml:
7224         * docs/pwg/building-state.xml:
7225         * docs/pwg/building-testapp.xml:
7226         * docs/pwg/intro-basics.xml:
7227         * docs/pwg/other-manager.xml:
7228         * docs/pwg/other-source.xml:
7229           Typo fixes.
7230         * docs/pwg/other-manager.xml:
7231           Add some first content. No example code yet.
7232         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7233           Remove double newlines.
7234
7235 2004-11-04  Wim Taymans  <wim@fluendo.com>
7236
7237         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7238         (remove_from_group), (normalize_group), (group_migrate_connected),
7239         (gst_opt_scheduler_iterate):
7240         * testsuite/schedulers/.cvsignore:
7241         * testsuite/schedulers/Makefile.am:
7242         * testsuite/schedulers/queue_link.c: (main):
7243         Added testcase for scheduler segfault.
7244         Fix scheduler segfault when removing a decoupled
7245         entry point as the last element from a group.
7246
7247 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7248
7249         * gst/gstmarshal.list: add missing marshaller, fixes build
7250
7251 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7252
7253         * docs/random/signal: added notes about using BOXED for GstBuffer
7254         signal marshallers, not POINTER
7255
7256 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7257
7258         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7259         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7260         POINTER=>BOXED changes to marshal GstBuffers
7261
7262 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7263
7264         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7265         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7266
7267 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7268
7269         * docs/gst/gstreamer-sections.txt:
7270         * docs/gst/tmpl/gstcaps.sgml:
7271         * docs/gst/tmpl/gsterror.sgml:
7272         * docs/gst/tmpl/gstinfo.sgml:
7273         * docs/gst/tmpl/gstmacros.sgml:
7274         * docs/gst/tmpl/gstutils.sgml:
7275         * docs/random/ensonic/interfaces.txt:
7276         * gst/gstinfo.h:
7277           added some more docs, removed two obsolete defines
7278
7279 2004-11-02  Kjartan Maraas <as at gnome.org>
7280
7281         reviewed by: Wim Taymans, Ronald Bultje.
7282
7283         * gst/cothreads.c: (cothread_create):
7284         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7285         (gst_bin_child_state_change_func):
7286         * gst/gstbuffer.c: (gst_buffer_span):
7287         * gst/gstelement.c: (gst_element_get_index),
7288         (gst_element_get_event_masks), (gst_element_get_query_types),
7289         (gst_element_get_formats):
7290         * gst/gsterror.c: (_gst_core_errors_init),
7291         (_gst_library_errors_init), (_gst_resource_errors_init),
7292         (_gst_stream_errors_init):
7293         * gst/gstobject.c: (gst_object_default_deep_notify):
7294         * gst/gstpad.c: (gst_pad_get_event_masks),
7295         (gst_pad_get_internal_links_default):
7296         * gst/gstplugin.c: (gst_plugin_register_func),
7297         (gst_plugin_get_module):
7298         * gst/gststructure.c: (gst_structure_get_string),
7299         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7300         (gst_structure_to_abbr):
7301         * gst/gstutils.c: (gst_print_element_args):
7302         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7303         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7304         Aplied part of patch #157127: Cleanup of issues reported by 
7305         sparse.
7306         Also do not try to use cothreads when there is no cothread
7307         context yet.
7308
7309 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7310
7311         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7312         (gst_opt_scheduler_iterate):
7313         Applied patch #154061. Running a pipeline in which an element 
7314         calls GST_ELEMENT_ERROR in the chain function, the opt 
7315         scheduler doesn't unref the chain so it never gets freed.
7316
7317 2004-11-02  Wim Taymans  <wim@fluendo.com>
7318
7319         * gst/gststructure.c: (gst_structure_get_abbrs),
7320         (gst_structure_from_abbr), (gst_structure_to_abbr):
7321         Remove that ugly if-then thing in the code that converts
7322         between strings and types.
7323
7324 2004-11-02  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/gstscheduler.c: (gst_scheduler_add_element),
7327         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7328         Aplied clock distribution patch, this should fix bug
7329         #148787.
7330
7331 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7332
7333         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7334
7335         * po/LINGUAS:
7336         * po/nb.po:
7337           Added Norwegian Bokmaal translation
7338
7339 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7340
7341         * tools/gst-inspect.c: (print_signal_info):
7342           print signal arguments as pointers if they are
7343
7344 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7345
7346         * docs/pwg/building-boiler.xml:
7347           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7348
7349 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7350
7351         * gst/parse/parse.l:
7352         * testsuite/parse/parse1.c: (main):
7353         Since parse can do 'element name=a:b' make 'a:b.' work as
7354         well. 
7355         Added testcase to verify fix.
7356
7357 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7358
7359         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7360         Use the realpad when printing the direction.
7361         Add extra \n when printing extensions of typefind factories.
7362
7363 2004-10-13  David Schleef  <ds@schleef.org>
7364
7365         * examples/manual/Makefile.am: $< isn't portable in Makefile
7366         rules.
7367
7368 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7369
7370         * docs/gst/tmpl/gstobject.sgml:
7371         * docs/gst/tmpl/gstplugin.sgml:
7372         * docs/gst/tmpl/gstpluginfeature.sgml:
7373         * docs/gst/tmpl/gstregistry.sgml:
7374         * docs/gst/tmpl/gstversion.sgml:
7375         * gst/gstbin.c:
7376           more api documentation
7377         * gst/gstplugin.c: (gst_plugin_register_func),
7378         (gst_plugin_check_file), (gst_plugin_load_file):
7379           better error signaling and logging
7380
7381 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7382
7383         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7384           Subtract current queue contents from position queries.
7385
7386 2004-10-11  Johan Dahlin  <johan@gnome.org>
7387
7388         * gst/gsturi.c (gst_uri_get_location): unescape string
7389         (gst_uri_construct): escape string.
7390
7391 2004-10-11  Benjamin Otte  <otte@gnome.org>
7392
7393         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7394         (gst_pad_try_set_caps_nonfixed):
7395           allow renegotiation of unconnected pads (as inside spider). Simply
7396           return OK if unconnected - mimic try_set_caps there.
7397
7398 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7399
7400         * gst/gstbin.c: (gst_bin_sync_children_state):
7401           Add missing break.
7402
7403 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7404
7405         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7406         Set element to EOS before sending EOS event
7407
7408 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7409
7410         * gst/elements/gsttypefindelement.c:
7411         (gst_type_find_element_handle_event):
7412         Handle EOS events when doing the transition from
7413         typefind to data passing. This should fix the
7414         infinite loops in short files.
7415
7416 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7417
7418         * gst/gstthread.c: (gst_thread_change_state),
7419         (gst_thread_child_state_change):
7420         Make sure no iteration happens while performing
7421         the state change as it could mess up the internal
7422         consistency of the thread state.
7423
7424 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7425
7426         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7427         (gst_thread_change_state), (gst_thread_child_state_change):
7428         Do not try to grab the iterate lock in the state change method
7429         when we are in the same thread as the iterate or else we
7430         could deadlock. Some other cleanups.
7431
7432 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7433
7434         * configure.ac:
7435           bump nano to cvs
7436
7437 === release 0.8.7 ===
7438
7439 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * configure.ac:
7442         * NEWS:
7443         * RELEASE:
7444         * configure.ac:
7445           releasing 0.8.7, "A Cruise"
7446
7447 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7448
7449         * docs/random/mimetypes:
7450         Add an entry for Sony ATRAC3 audio format with mime-type
7451         used by rmdemux et riff-read
7452
7453 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7454
7455         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7456         Push the buffer store instead of clearing it in case that
7457         the stream is not seekable.
7458
7459 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7460
7461         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7462         (gst_thread_main_loop):
7463         Lock the iteration and the state change so that automatic
7464         negotiation and fixation does not happen at the same time
7465         as the in stream negotiation.
7466
7467 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7468
7469         * configure.ac:
7470           bump nano to cvs
7471
7472 === release 0.8.6 ===
7473
7474 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7475
7476         * configure.ac:
7477         * NEWS:
7478         * RELEASE:
7479         * configure.ac:
7480           releasing 0.8.6, "Narc"
7481
7482 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7483
7484         * configure.ac:
7485           prerel bump
7486
7487 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7488
7489         patch by: Steve Lhomme
7490
7491         * gst/elements/gstfakesrc.c:
7492         * gst/elements/gstidentity.c:
7493         * gst/gstthread.c:
7494           Fix for #153881
7495
7496 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7497
7498         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7499         Fix threadsafety of the crc checking function.
7500
7501 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7502
7503         patch by: Ronald Bultje
7504
7505         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7506         (gst_type_find_element_handle_event),
7507         (gst_type_find_element_chain):
7508         * gst/elements/gsttypefindelement.h:
7509          #153657.
7510          Filter out discont event from seekable sources when typefind
7511          asks them to seek.  Fixes typefind with demuxers for
7512          avi, asf and matroska.
7513
7514 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7515
7516         * docs/gst/gstreamer-sections.txt:
7517         * gst/gstcaps.c:
7518         * gst/gstcaps.h:
7519         * gst/gstpad.c:
7520           Revert preferred caps: (#147789)
7521
7522 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7523
7524         * win32/dirent.c:
7525           fix a memory leak
7526
7527 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7528
7529         * configure.ac:
7530           bump for prerelease
7531
7532 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7533
7534         * docs/Makefile.am:
7535         * docs/manual/elements-api.xml:
7536           restructure so that common stuff is shown first
7537         * docs/manual/init-api.xml:
7538           convert to examples
7539         * docs/manual/manual.xml:
7540         * docs/manuals.mak:
7541         * docs/url.entities:
7542           link to API on the website, possibly override later in build
7543         * examples/manual/.cvsignore:
7544           ignore more
7545         * examples/manual/Makefile.am:
7546           add more examples
7547         * examples/manual/extract.pl:
7548           error out on failure
7549
7550 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7551
7552         * docs/gst/tmpl/gstthread.sgml:
7553         * docs/manual/init-api.xml:
7554         * examples/manual/Makefile.am:
7555           convert two code bits to examples
7556
7557 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7558
7559         * gst/gstelement.c: (gst_element_change_state):
7560           Well, actually, I was about to remove this insane assert when
7561           I noticed Wim already did that. A warning is nice so we can
7562           fix actual ugs (using --g-fatal-warnings and backtraces), so
7563           I added that instead.
7564
7565 2004-09-06  Wim Taymans  <wim@fluendo.com>
7566
7567         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7568         (gst_element_threadsafe_properties_post_run),
7569         (gst_element_set_state), (gst_element_change_state):
7570         Added extra refcounting around various places. 
7571
7572 2004-09-06  Wim Taymans  <wim@fluendo.com>
7573
7574         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7575         Fix debug info.
7576
7577 2004-09-06  Wim Taymans  <wim@fluendo.com>
7578
7579         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7580         (remove_from_group):
7581         Some more debug info.
7582
7583 2004-09-03  Wim Taymans  <wim@fluendo.com>
7584
7585         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7586         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7587         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7588         (gst_fakesrc_get), (gst_fakesrc_change_state):
7589         * gst/elements/gstfakesrc.h:
7590         * gst/elements/gstidentity.c: (gst_identity_class_init),
7591         (gst_identity_init), (gst_identity_chain),
7592         (gst_identity_set_property), (gst_identity_get_property),
7593         (gst_identity_change_state):
7594         * gst/elements/gstidentity.h:
7595         Added datarate properties to limit the datarate.
7596
7597 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7598
7599         * gst/autoplug/gstspider.c: (plugin_init):
7600           don't set a rank. We don't want to autoplug by inserting spiders.
7601
7602 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7603
7604         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7605         (gst_spider_identity_plug):
7606           add a template for spider's sink
7607         * gst/gst.c: (gst_register_core_elements):
7608           queue's rank should be NULL, we don't want spider to add it.
7609
7610 2004-08-18  David Schleef  <ds@schleef.org>
7611
7612         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7613         * docs/libs/Makefile.am: same
7614         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7615         * docs/random/ds/0.9-planning: random additions
7616         * docs/random/ds/0.9-suggested-changes: same
7617         * gst/gstxml.h: remove vestigal GstXMLNs definition
7618
7619         Preferred caps: (#147789)
7620         * docs/gst/gstreamer-sections.txt: Add symbols
7621         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7622         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7623         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7624         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7625         (gst_caps_get_preferred), (gst_caps_set_preferred),
7626         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7627         (gst_caps_use_preferred): Handle caps preferences
7628         * gst/gstcaps.h: Add caps preferences
7629         * gst/gstpad.c: (gst_pad_link_get_preferred),
7630         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7631         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7632         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7633         negotiation.
7634
7635 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7636
7637         * gst/autoplug/gstspideridentity.c:
7638         (gst_spider_identity_request_new_pad):
7639         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7640         (gst_aggregator_init):
7641         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7642         (gst_fakesink_init):
7643         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7644         (gst_fakesrc_init):
7645         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7646         (gst_fdsink_init):
7647         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7648         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7649         (gst_filesink_init):
7650         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7651         (gst_filesrc_init):
7652         * gst/elements/gstidentity.c: (gst_identity_base_init),
7653         (gst_identity_init):
7654         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7655         (gst_multifilesrc_init):
7656         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7657         (gst_pipefilter_init):
7658         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7659         (gst_statistics_init):
7660         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7661         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7662           s/gst_pad_new/&_from_template/
7663           register pad templates in the base_init function
7664           add static pad template definitions
7665
7666 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7667
7668         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7669         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7670         * testsuite/refcounting/pad.c: (main):
7671         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7672           s/gst_pad_new/&_from_template/
7673           prepare deprecation of gst_pad_new
7674
7675 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7676
7677         patch by: Luca Ognibene <skaboy81@virgilio.it>
7678
7679         * gst/gstcaps.c:
7680         * gst/gstelement.c:
7681         * gst/gstpad.c:
7682         * gst/gstxml.c:
7683           fix memleaks.  Fixes #150001
7684
7685 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7686
7687         * docs/random/ds/0.9-suggested-changes:
7688           add notes - mostly about pad templates
7689
7690 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7691
7692         * win32/GStreamer.vcproj:
7693           temporary locale files are .gmo not .mo
7694
7695 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7696
7697         * configure.ac: bump nano to cvs
7698
7699 === release 0.8.5 ===
7700
7701 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7702
7703         * configure.ac:
7704           releasing 0.8.5, "Stuttgart"
7705         * NEWS:
7706         * RELEASE:
7707         * configure.ac:
7708         * docs/random/release:
7709           updates for release
7710
7711 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7712
7713         patch by: Wim Taymans (wim@fluendo.com)
7714
7715         * gst/gstbuffer.c:
7716         * gst/gstindex.h:
7717         * libs/gst/dataprotocol/dataprotocol.c:
7718           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7719
7720 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7721
7722         * Makefile.am:
7723         * win32/MANIFEST:
7724           add win32 dir to the build.  Fixes #149981.
7725
7726 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7727
7728         * configure.ac:
7729           bump libtool versioning
7730         * gst/gststructure.c:
7731           mark function as static
7732         * po/af.po:
7733         * po/az.po:
7734         * po/ca.po:
7735         * po/cs.po:
7736         * po/en_GB.po:
7737         * po/fr.po:
7738         * po/nl.po:
7739         * po/sq.po:
7740         * po/sr.po:
7741         * po/sv.po:
7742         * po/tr.po:
7743         * po/uk.po:
7744           translations update
7745         * win32/README.txt:
7746           trademark protection
7747
7748 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7749
7750         * configure.ac:
7751           fix GST_ORIGIN
7752           set GST_PACKAGE to source, and distinguish between release and other
7753         * tools/gst-inspect.c:
7754           print out plugin an element factory is part of so we see this info
7755
7756 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7757
7758         * docs/gst/gstreamer-sections.txt:
7759         * docs/gst/tmpl/gstbuffer.sgml:
7760         * docs/gst/tmpl/gstschedulerfactory.sgml:
7761           reorder docs a little, make GstBuffer's more sensible.
7762         * gst/gstbuffer.h:
7763           API: added GST_BUFFER_FLAG_DELTA_UNIT
7764         * gst/gstscheduler.c:
7765           comment API addition
7766
7767 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7768
7769         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7770           work with non-regular files that can be mmapped (like /dev/zero)
7771         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7772           get rid of typefinds that require a seek when we can't seek instead
7773           of trying them over and over again
7774         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7775           return non-zero failure value when the pipeline was interrupted or
7776           an error occurred
7777
7778 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7779
7780         * win32/config.h:
7781         * win32/GStreamer.vcproj:
7782           compile and install the locales
7783
7784 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7785
7786         * gst/gstvalue.c:
7787           fix a possible memory leak under Windows
7788
7789 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7790
7791         * win32/GStreamer.vcproj:
7792           fix a memory leak that occured under Windows
7793         * win32/gstreamer.def:
7794           add gst_scheduler_register
7795
7796 2004-08-11  Benjamin Otte  <otte@gnome.org>
7797
7798         * docs/gst/gstreamer-sections.txt:
7799         * gst/gstscheduler.c: (gst_scheduler_register):
7800         * gst/gstscheduler.h:
7801           API:
7802           add gst_scheduler_register shortcut similar to gst_element_register
7803         * gst/schedulers/entryscheduler.c: (plugin_init):
7804         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7805         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7806           use it
7807
7808 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7809
7810         * gst/gstvalue.h:
7811           fix a memory leak that occured under Windows
7812
7813 2004-08-10  Colin Walters  <walters@redhat.com>
7814
7815         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7816         Don't use O_EXCL to open temporary registry.  It will prevent
7817         registry creation if a temporary one already exists, which
7818         is unnecessary.
7819
7820 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7821
7822         * docs/gst/gstreamer-sections.txt:
7823         * docs/gst/tmpl/gstvalue.sgml:
7824           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7825
7826 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7827
7828         * win32/gstbytestream.vcproj:
7829         * win32/gstelements.vcproj:
7830         * win32/gstgetbits.vcproj:
7831         * win32/gst-inspect.vcproj:
7832         * win32/gst-launch.vcproj:
7833         * win32/gstoptimalscheduler.vcproj:
7834         * win32/GStreamer.vcproj:
7835         * win32/gst-register.vcproj:
7836         * win32/gstspider.vcproj:
7837           update the include and lib dirs to fit standard libraries as
7838           described in the Win32 manual
7839
7840 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7841
7842         * win32/config.h:
7843         * win32/gstversion.h:
7844           enable NLS again, push the version number for the coming 0.8.5 release
7845
7846 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7847
7848         * gst/gstvalue.h:
7849           export gst_type_XXX for windows DLLs
7850
7851 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7852
7853         * docs/faq/gst-uninstalled:
7854           fix PKG_CONFIG_PATH and PYTHONPATH
7855         * gst/schedulers/Makefile.am:
7856           cleanup
7857         * libs/gst/bytestream/bytestream.c:
7858           remove newline
7859         * po/LINGUAS:
7860         * po/sq.po:
7861           adding Albanian translation (Laurent Dhima)
7862         * po/cs.po:
7863           updated
7864
7865 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7866
7867         * po/ca.po:
7868         * po/sv.po:
7869           updated translations
7870
7871 2004-08-04  Benjamin Otte  <otte@gnome.org>
7872
7873         * tests/mass_elements.c: (main):
7874           allow specifying src and sink element explicitly, so I can test
7875           videotestsrc instead of fakesrc
7876
7877 2004-08-04  Benjamin Otte  <otte@gnome.org>
7878
7879         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7880         (gst_structure_id_empty_new), (gst_structure_empty_new),
7881         (gst_structure_copy):
7882           add gst_structure_id_empty_new_with_size to allow preallocating
7883           value array sizes. Use this in gst_structure_copy to get rid of
7884           reallocs.
7885           don't do quark=>string=>quark when copying structures
7886
7887 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7888
7889         * docs/manual/win32.xml:
7890         * win32/README.txt:
7891           update documentation with the clean version of dependencies
7892
7893 2004-08-03  Benjamin Otte  <otte@gnome.org>
7894
7895         * gst/schedulers/entryscheduler.c:
7896         (gst_entry_scheduler_remove_element):
7897           fix for GST_DISABLE_DEBUG
7898         * tools/gst-launch.c: (print_tag):
7899           fixes for G_DISABLE_ASSERT
7900
7901 2004-08-03  Benjamin Otte  <otte@gnome.org>
7902
7903         * gst/gst.c: (gst_register_core_elements):
7904           fix for G_DISABLE_ASSERT
7905         * gst/gstinfo.c: (__gst_in_valgrind):
7906           add for GST_DISABLE_DEBUG
7907
7908 2004-08-03  Benjamin Otte  <otte@gnome.org>
7909
7910         * gst/parse/parse.l:
7911           fix for G_DISABLE_ASSERT
7912
7913 2004-08-03  Wim Taymans  <wim@fluendo.com>
7914
7915         * gst/gstbin.c: (gst_bin_get_type),
7916         (gst_bin_child_state_change_func):
7917         * gst/gstthread.c: (gst_thread_change_state):
7918         Backported some debug logging from a reverted patch
7919         Don't try to destroy the thread twice. Added some more
7920         debugging in GstThread. Unlock and signal even if we
7921         are in the thread context.
7922
7923 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7924
7925         * po/uk.po:
7926           updated translation
7927
7928 2004-07-30  David Schleef  <ds@schleef.org>
7929
7930         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7931
7932 2004-07-29  David Schleef  <ds@schleef.org>
7933
7934         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7935         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7936
7937 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7938
7939         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7940         (gst_bin_add_func), (gst_bin_remove_func),
7941         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7942         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7943         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7944         (gst_bin_sync_children_state):
7945         * gst/gstbin.h:
7946         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7947         (gst_thread_change_state):
7948         * testsuite/states/Makefile.am:
7949           revert state change patches as agreed so we can rework them
7950           gradually
7951
7952 2004-07-29  Benjamin Otte  <otte@gnome.org>
7953
7954         * libs/gst/control/Makefile.am:
7955           link to libgstreamer (fixes Debian bug 262019, see
7956           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7957
7958 2004-07-29  Wim Taymans  <wim@fluendo.com>
7959
7960         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7961         (check_from_fraction_convert), (transform_test), (main):
7962         Make the test less pedantic about float roundoff errors.
7963
7964 2004-07-29  Benjamin Otte  <otte@gnome.org>
7965
7966         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7967         (gst_filesrc_srcpad_event):
7968           make seek events to before start/after end of file not fail, but
7969           seek to start/end instead
7970         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7971           add more output
7972
7973 2004-07-29  Benjamin Otte  <otte@gnome.org>
7974
7975         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7976           check that caps are fixed
7977         * gst/gstpad.c: (gst_pad_template_new):
7978           don't try to simplify caps, costs too much time on gst_init
7979         * gst/gstplugin.c: (gst_plugin_add_feature):
7980           G_ERROR if features are added twice
7981         * gst/gsttypefind.c: (gst_type_find_register):
7982         * gst/gstelementfactory.c: (gst_element_register):
7983           don't add features twice
7984         * docs/random/ds/0.9-suggested-changes:
7985           add note about possible gst_init optimization
7986
7987 2004-07-28  David Schleef  <ds@schleef.org>
7988
7989         * testsuite/elements/Makefile.am:
7990         * testsuite/elements/struct_i386.h:
7991         * testsuite/elements/struct_size.c: (main):  A little test
7992         to keep distcheck from working if someone changes a structure
7993         size accidentally.
7994
7995 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * docs/libs/Makefile.am:
7998         * docs/libs/gstreamer-libs-docs.sgml:
7999         * docs/libs/gstreamer-libs-sections.txt:
8000         * docs/libs/tmpl/gstbytestream.sgml:
8001         * docs/libs/tmpl/gstcontrol.sgml:
8002         * docs/libs/tmpl/gstdataprotocol.sgml:
8003         * docs/libs/tmpl/gstgetbits.sgml:
8004         * libs/gst/bytestream/Makefile.am:
8005         * libs/gst/bytestream/bytestream.c:
8006         * libs/gst/bytestream/bytestream.h:
8007         * libs/gst/control/Makefile.am:
8008         * libs/gst/dataprotocol/Makefile.am:
8009         * libs/gst/getbits/Makefile.am:
8010         * libs/gst/getbits/getbits.h:
8011           various doc and style fixes, adding bytestream to libs docs.
8012
8013 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8014
8015         * docs/gst/gstreamer-docs.sgml:
8016         * docs/libs/Makefile.am:
8017         * docs/libs/gstreamer-libs-docs.sgml:
8018         * docs/libs/gstreamer-libs-sections.txt:
8019         * libs/gst/control/dparam.c:
8020           more doc fixes.  gst-libs docs now build the same way as gst.
8021
8022 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8023
8024         * configure.ac:
8025         * testsuite/Makefile.am:
8026         * testsuite/bins/Makefile.am:
8027         * testsuite/caps/Makefile.am:
8028         * testsuite/cleanup/Makefile.am:
8029         * testsuite/clock/Makefile.am:
8030         * testsuite/debug/Makefile.am:
8031         * testsuite/dlopen/Makefile.am:
8032         * testsuite/dynparams/Makefile.am:
8033         * testsuite/elements/.cvsignore:
8034         * testsuite/elements/Makefile.am:
8035         * testsuite/enumcaps/Makefile.am:
8036         * testsuite/enumcaps/enumcaps.c:
8037         * testsuite/ghostpads/Makefile.am:
8038         * testsuite/indexers/Makefile.am:
8039         * testsuite/negotiation/Makefile.am:
8040         * testsuite/parse/Makefile.am:
8041         * testsuite/plugin/Makefile.am:
8042         * testsuite/refcounting/Makefile.am:
8043         * testsuite/schedulers/.cvsignore:
8044         * testsuite/states/Makefile.am:
8045         * testsuite/tags/Makefile.am:
8046         * testsuite/threads/Makefile.am:
8047           fold enumcaps into caps dir
8048           clean up Makefile.am's for testsuite
8049
8050 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8051
8052         * docs/gst/Makefile.am:
8053         * docs/libs/Makefile.am:
8054           clean up docs build.  Fixes needless rebuilding of template files.
8055
8056 2004-07-28  Wim Taymans  <wim@fluendo.com>
8057
8058         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
8059         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
8060         Make sure that a bin state change tries to keep the children
8061         in sync. 
8062         Added debug logging to the thread.
8063
8064 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8065
8066         * win32/GStreamer.vcproj:
8067         * win32/gstreamer.def:
8068           more exports for the plugins
8069
8070 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8071
8072         * win32/gstgetbits.vcproj:
8073         * win32/gstgetbits.def:
8074         * win32/msvc71.sln:
8075           add support for the getbits plugin
8076
8077 2004-07-27  Wim Taymans  <wim@fluendo.com>
8078
8079         * gst/gstvalue.c: (gst_value_transform_double_fraction),
8080         (gst_value_transform_fraction_double), (_gst_value_initialize):
8081         * testsuite/caps/Makefile.am:
8082         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8083         (check_from_fraction_convert), (transform_test), (main):
8084         Added transform functions between double and fraction.
8085         Added testcase to verify transforms
8086
8087 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8088
8089         * win32/GStreamer.vcproj:
8090           rename GStreamer-0.8.lib to libgstreamer.lib
8091
8092 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8093
8094         * win32/gstelements.vcproj:
8095         * win32/gstoptimalscheduler.vcproj:
8096           fixes for the Release build
8097
8098 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8099
8100         * win32/config.h:
8101           update the version number
8102
8103 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8104
8105         * win32/GStreamer.vcproj:
8106           add gstinterface to the build
8107
8108 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8109
8110         * win32/gstreamer.def:
8111           add many definitions needed by plugins,
8112           GST_CAT_DEFAULT only available in the Debug build ?
8113
8114 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8115
8116         * gst/gstelement.c: (gst_element_set_eos_recursive):
8117           various whitespace fixes.
8118           doc fix, fixes #148497
8119
8120 2004-07-25  Benjamin Otte  <otte@gnome.org>
8121
8122         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8123           don't delay links on the sink elements, it causes unnegotiated
8124           links.
8125         * gst/elements/gsttypefindelement.c:
8126         (gst_type_find_element_base_init):
8127           add our padtemplates, we indeed do have some.
8128         * gst/elements/gsttypefindelement.c:
8129         (gst_type_find_element_handle_event),
8130         (gst_type_find_element_chain):
8131           don't push data when typefinding failed.
8132         * gst/gstpad.c: (gst_pad_link_fixate):
8133           check that no fixate function returns empty caps.
8134         * gst/gstpad.c: (gst_pad_push):
8135           check that the link is negotiated before data gets pushed.
8136         * tools/gst-register.c: (main):
8137           don't assert (fixes #148283)
8138
8139 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8140
8141         * docs/gst/gstreamer-sections.txt:
8142         * docs/gst/tmpl/gstconfig.sgml:
8143           add GST_PLUGIN_EXPORT definition
8144
8145 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8146
8147         * gst/gstplugin.h:
8148         * gst/gstconfig.h.in:
8149         * win32/gstconfig.h:
8150         * win32/gstelements.def:
8151         * win32/gstelements.vcproj:
8152         * win32/gstoptimalscheduler.def:
8153         * win32/gstoptimalscheduler.vcproj:
8154         * win32/gstspider.def:
8155         * win32/gstspider.vcproj:
8156           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8157
8158 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8159
8160         * docs/gst/gstreamer-sections.txt:
8161           remove GST_CAT_DEFAULT because the type has changed
8162
8163 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8164
8165         * win32/gstbytestream.vcproj:
8166         * win32/gstelements.vcproj:
8167         * win32/gst-inspect.vcproj:
8168         * win32/gst-launch.vcproj:
8169         * win32/gstoptimalscheduler.vcproj:
8170         * win32/GStreamer.vcproj:
8171         * win32/gst-register.vcproj:
8172         * win32/gstspider.vcproj:
8173         * win32/msvc71.sln:
8174           Copy the files where needed after building, The testsuite will be
8175           built separately
8176
8177 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8178
8179         * win32/config.h:
8180         * win32/README.txt:
8181         * docs/manual/win32.xml:
8182         Fixed the plugin and GStreamer location
8183
8184 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8185
8186         * win32/gstreamer.def:
8187         More exports for the plugins
8188
8189 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8190
8191         * gst/gstinfo.h:
8192         Marc was right, we need to export literally GST_CAT_DEFAULT
8193
8194 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8195
8196         * win32/config.h:
8197         NLS crashes in gettext, disabled until this is solved
8198
8199 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8200
8201         * win32/gst-inspect.vcproj:
8202         * win32/gst-launch.vcproj:
8203         Should use NLS when available
8204
8205 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8206
8207         * gst/registries/gstxmlregistry.c:
8208         removing the file doesn't seem to be a good idea on Linux
8209
8210 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8211
8212         * gst/registries/gstxmlregistry.c:
8213         Remove the registry before renaming the tempfile (needed for Windows)
8214
8215 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8216
8217         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8218         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8219         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8220         * gst/elements/gstmultifilesrc.h:
8221         Added newmedia property so it generates newmedia events between each
8222         file when property is set, as well as fixed eos handling
8223
8224 2004-07-22  David Schleef  <ds@schleef.org>
8225
8226         * gst/gststructure.c: (gst_structure_id_empty_new),
8227         (gst_structure_empty_new):  Set type field correctly.
8228         * gst/gststructure.h: Check type field correctly.
8229         * testsuite/caps/Makefile.am:
8230         * testsuite/caps/structure.c: (test1), (main): Add a very small
8231         test for structures.
8232
8233 2004-07-22  David Schleef  <ds@schleef.org>
8234
8235         * docs/random/ds/0.9-suggested-changes: more comments
8236         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8237
8238 2004-07-22  Benjamin Otte  <otte@gnome.org>
8239
8240         * gst/gstelementfactory.c: (gst_element_register):
8241           set the factory in the class struct, so gst_element_get_factory
8242           actually works
8243         * gst/parse/grammar.y:
8244           set element to playing when it gets unlocked as we can't rely on the
8245           bin state - all elements in the bin state might still be locked in
8246           NULL)
8247
8248 2004-07-22  Benjamin Otte  <otte@gnome.org>
8249
8250         * gst/gstelement.c: (gst_element_set_state_func):
8251           make this a static function
8252
8253 2004-07-22  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8256         (gst_opt_scheduler_pad_link):
8257         fix 147894-2 and the group_link problem.
8258
8259 2004-07-22  Wim Taymans  <wim@fluendo.com>
8260
8261         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8262         (handoff_identity), (main):
8263         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8264         (handoff_identity), (main):
8265         * testsuite/schedulers/Makefile.am:
8266         * testsuite/schedulers/group_link.c: (main):
8267         Show bug in scheduler when linking chain and loop based element 
8268         where the chain based element was not yet in a group.
8269
8270 2004-07-21  Benjamin Otte  <otte@gnome.org>
8271
8272         * gst/.cvsignore:
8273         * gst/autoplug/.cvsignore:
8274         * gst/elements/.cvsignore:
8275         * gst/indexers/.cvsignore:
8276         * libs/gst/bytestream/.cvsignore:
8277         * libs/gst/control/.cvsignore:
8278         * libs/gst/getbits/.cvsignore:
8279         * testsuite/states/.cvsignore:
8280         * testsuite/threads/.cvsignore:
8281           keep this up to date, since I seem to be the only one who cares
8282           about not missing files on commits (editor's note: no you don't,
8283           but feel free to change them at the time you add stuff instead
8284           of later on)
8285
8286 2004-07-21  Benjamin Otte  <otte@gnome.org>
8287
8288         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8289         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8290         (gst_bin_child_state_change_func), (set_kid_state_func),
8291         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8292           make state changes work correctly and reentrant (so removing
8293           elements from bins during state changes of bins doesn't cause
8294           segfaults or even wrong states)
8295           add debugging category and debugging output to print children states
8296         * gst/gstbin.c: (gst_bin_dispose): 
8297           add some assertion checks
8298         * gst/gstbin.h:
8299         * gst/gstbin.c: (gst_bin_sync_children_state):
8300           deprecate this function - it just does gst_bin_set_state (bin,
8301           GST_STATE (bin)) 
8302         * testsuite/threads/queue.c: (main):
8303           don't use gst_bin_sync_children_state anymore
8304         * testsuite/states/Makefile.am:
8305         * testsuite/states/bin.c:
8306           test that the state changes of bins work as expected
8307         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8308           some adjustments to change states correctly, too
8309         * gst/gstthread.c: (gst_thread_change_state):
8310           don't enable/disable "threadsafe" properties, they're unused and
8311           cause random segfaults
8312         * testsuite/threads/Makefile.am:
8313           the queue check randomly passes now, ignore it
8314
8315 2004-07-21  Benjamin Otte  <otte@gnome.org>
8316
8317         * gst/gstpad.c:
8318           check if data is NULL before outputting debug info. (fixes #145100)
8319
8320 2004-07-21  Benjamin Otte  <otte@gnome.org>
8321
8322         * gst/schedulers/entryscheduler.c:
8323         (gst_entry_scheduler_loop_wrapper),
8324         (gst_entry_scheduler_chain_wrapper),
8325         (gst_entry_scheduler_get_wrapper):
8326           reset the state when the cothread starts, so we don't get assertion
8327           failures on restarting of cothreads
8328
8329 2004-07-20  Benjamin Otte  <otte@gnome.org>
8330
8331         * gst/gstelement.c: (gst_element_link_pads_filtered):
8332           use correct sinkpad, if only sinkpad is specified, but not srcpad
8333           (fixes #147889)
8334         * gst/gstelement.c: (gst_element_set_state_func),
8335         (gst_element_change_state): ref/unref the element, signal handlers
8336         could get rid of the element otherwise
8337
8338 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8339
8340         * docs/random/ds/0.9-suggested-changes:
8341           Make note about renaming fixed-list to array.
8342         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8343         (_gst_value_initialize):
8344           Add array intersections.
8345         * testsuite/caps/intersect2.c: (main):
8346           Add test for array intersections.
8347
8348 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8349
8350         * configure.ac: back to cvs
8351
8352 === release 0.8.4 ===
8353
8354 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8355
8356         * configure.ac:
8357           releasing 0.8.4, "Paella"
8358           bump libtool versioning
8359
8360 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8361
8362         * po/LINGUAS:
8363         * po/ca.po:
8364           adding Catalan translation (Jordi Mallach)
8365
8366 2004-07-20  Wim Taymans  <wim@fluendo.com>
8367
8368         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8369         (handoff_identity), (main):
8370         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8371         (handoff_identity), (main):
8372         * testsuite/schedulers/Makefile.am:
8373         Added failing testcase for variant of #147894
8374
8375 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8376
8377         patch by: David Moore
8378
8379         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8380         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8381         (group_migrate_connected):
8382         * testsuite/schedulers/Makefile.am:
8383           fix for #142813 (Deadlock in optimal scheduler)
8384
8385 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8386
8387         patch by: Wim Taymans
8388
8389         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8390         (gst_opt_scheduler_schedule_run_queue),
8391         (gst_opt_scheduler_get_wrapper), (get_group),
8392         (group_migrate_connected):
8393         * testsuite/schedulers/Makefile.am:
8394           fix for #147819 (Add some checks in the opt scheduler)
8395
8396 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         patch by: Benjamin Otte
8399
8400         * gst/gstelementfactory.c: (__gst_element_details_set):
8401           fix for #147929: running gst-register in non-utf8 locale can cause
8402           invalid registry
8403
8404 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8405
8406         patch by: Wim Taymans
8407
8408         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8409         (group_has_element), (element_get_reachables_func),
8410         (group_migrate_connected):
8411           fix for #147894 (opt scheduler decoupled elements mismanagement)
8412         * testsuite/schedulers/Makefile.am:
8413           testsuite app now passes
8414
8415 2004-07-19  Wim Taymans  <wim@fluendo.com>
8416
8417         * testsuite/schedulers/147819.c: (handoff_identity1),
8418         (handoff_identity2), (main):
8419         * testsuite/schedulers/Makefile.am:
8420         Added testcase for bug 147819
8421
8422 2004-07-19  Wim Taymans  <wim@fluendo.com>
8423
8424         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8425         (handoff_identity), (main):
8426         * testsuite/schedulers/Makefile.am:
8427         Added testcase for bug 147894
8428
8429 2004-07-16  Wim Taymans  <wim@fluendo.com>
8430
8431         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8432         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8433         * testsuite/schedulers/Makefile.am:
8434         Added testsuite for bug 142183 in its two incarnations. Refcount
8435         is not increased for scheduled elements and threadsafe properties
8436         mutexes are not properly unlocked.
8437
8438 2004-07-16  Wim Taymans  <wim@fluendo.com>
8439
8440         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8441         (create_chain), (destroy_chain), (create_group), (destroy_group),
8442         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8443         (group_dec_link), (gst_opt_scheduler_pad_link),
8444         (group_inc_links_for_element), (group_migrate_connected):
8445         Call group_inc_link with the proper src->sink ordering -- 
8446         break this, and we break sort_chain. patch from wingo for bug
8447         147713.
8448         Partially revert patch 1.89. When adding a loop based element to 
8449         the scheduler, the links to other groups are automatically followed
8450         and incremented. This should not happen because the bin will call
8451         pad_link explicitly for those connection, resulting in them counted 
8452         twice. Results in assertion failure on pipeline cleanup.
8453
8454 2004-07-16  Wim Taymans  <wim@fluendo.com>
8455
8456         * testsuite/schedulers/143777-2.c: (main):
8457         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8458         (main):
8459         * testsuite/schedulers/Makefile.am:
8460         Added cleanup code to testcase 143777-2.
8461         Added testcase to show bug 147713, does not really show the
8462         deadlock as I can't figure out how to trigger it, but it does
8463         demonstrate bad ordering in the scheduler.
8464
8465 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8466
8467         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8468           change strndup to g_strndup.  Fixes #147707
8469
8470 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * po/af.po:
8473         * po/az.po:
8474         * po/cs.po:
8475         * po/en_GB.po:
8476         * po/fr.po:
8477         * po/nl.po:
8478         * po/sr.po:
8479         * po/sv.po:
8480         * po/tr.po:
8481         * po/uk.po:
8482           updated translations
8483
8484 2004-07-16  Benjamin Otte  <otte@gnome.org>
8485
8486         * gst/gstvalue.c: (gst_greatest_common_divisor):
8487           use ints and return ints, fractions only use ints, too, so this
8488           avoids accidently casting multiplications to unsigned
8489         (gst_value_lcopy_fraction): it's ints, not uint32
8490         (gst_value_set_fraction): disallow minint, multiplying and negation
8491           are broken with it
8492         (gst_value_fraction_multiply): fix to make large numbers work and get
8493         rid of the assumption that the multiplication of two ints fits an
8494         int64 - dunno if that's true for all systems
8495         * testsuite/caps/Makefile.am:
8496         * testsuite/caps/fraction-multiply-and-zero.c:
8497         (check_multiplication), (check_equal), (zero_test), (main):
8498           add tests for all the stuff above
8499         * testsuite/caps/value_compare.c: (test1):
8500           fix comment
8501         * tests/.cvsignore:
8502         * testsuite/caps/.cvsignore:
8503         * testsuite/debug/.cvsignore:
8504         * testsuite/dlopen/.cvsignore:
8505         * testsuite/states/.cvsignore:
8506           get up to date
8507
8508 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8509
8510         * docs/manual/bins-api.xml:
8511         * docs/manual/factories.xml:
8512         * docs/manual/helloworld.xml:
8513         * docs/manual/links-api.xml: 
8514           fixes for out of date info, incorrect info and grammar
8515
8516 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8517
8518         * docs/manual/pads.xml:
8519         * docs/manual/pads-api.xml: grammar fix
8520
8521 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8522
8523         * docs/manual/pads-api.xml: typo + grammar fix
8524
8525 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8526
8527         * docs/gst/gstreamer-sections.txt:
8528           add new symbols
8529         * docs/gst/tmpl/gstelement.sgml:
8530         * docs/gst/tmpl/gstpad.sgml:
8531         * docs/gst/tmpl/gsttypes.sgml:
8532         * docs/gst/tmpl/gstvalue.sgml:
8533           update docs
8534         * gst/gststructure.c: (gst_structure_set_valist),
8535         (gst_structure_from_abbr), (gst_structure_to_abbr):
8536         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8537         (gst_greatest_common_divisor), (gst_value_init_fraction),
8538         (gst_value_copy_fraction), (gst_value_collect_fraction),
8539         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8540         (gst_value_get_fraction_numerator),
8541         (gst_value_get_fraction_denominator),
8542         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8543         (gst_value_deserialize_fraction),
8544         (gst_value_transform_fraction_string),
8545         (gst_value_transform_string_fraction),
8546         (gst_value_compare_fraction), (_gst_value_initialize):
8547         * gst/gstvalue.h:
8548           adding GstFraction GValue type, get/set, and multiply
8549         * testsuite/caps/Makefile.am:
8550         * testsuite/caps/fraction.c: (test), (main):
8551         * testsuite/caps/string-conversions.c: (main):
8552         * testsuite/caps/value_compare.c: (test1), (main):
8553           add regression tests for GstFraction
8554
8555 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8556         
8557         * docs/manual/init-api.xml: Grammar fix
8558
8559 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8560
8561         * docs/manual/states.xml: Fix inconsistent information
8562
8563 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8564
8565         * gst/gstelement.c: (gst_element_set_state):
8566         * gst/gstpad.c: (gst_pad_try_set_caps):
8567         * gst/gststructure.c:
8568         * gst/gstthread.c: (gst_thread_child_state_change):
8569         * gst/gstvalue.c: (gst_value_compare_double):
8570         * gst/gstvalue.h:
8571         * testsuite/parse/parse1.c: (main):
8572           debugging additions and style cleanups
8573
8574 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8575
8576         * docs/manual/states.xml: Grammar fix
8577
8578 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8579
8580         * docs/manual/pads.xml: Grammar fix
8581
8582 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8583
8584         * docs/manual/elements.xml: Fixed image reference
8585
8586 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8587
8588         * docs/manual/goals.xml: Grammar fix
8589
8590 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8591
8592         * docs/manual/motivation.xml:
8593         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8594
8595 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8596
8597         * docs/manual/motivation.xml: Fix spelling
8598
8599 2004-07-15  Benjamin Otte  <otte@gnome.org>
8600
8601         * gst/gstelement.h: 
8602           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8603           strings.
8604         * gst/gstelement.c (gst_element_class_init):
8605           GError's are boxed, not objects
8606         * gst/gstmarshal.list:
8607           update list for the fixed error signal
8608
8609 2004-07-14  Andy Wingo  <wingo@pobox.com>
8610
8611         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8612         there all along, but the function wasn't. (guile-gstreamer's build
8613         system uses the address of the function -- I wasn't actually
8614         trying to use this.)
8615
8616 2004-07-14  Andy Wingo  <wingo@pobox.com>
8617
8618         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8619         as gst_pad_proxy_pad_link) just link to every other pad when they
8620         are called. In the case where the graph has cycles, this will mean
8621         that a call to try_set_caps will recurse. Allow this recursion
8622         and return OK, while we wait for the first try_set_caps to give a
8623         proper return value.
8624         (gst_pad_link_call_link_functions): Since this function is the
8625         only one to set the NEGOTIATING flag on a pad, if the flag is set
8626         it means that the link functions have indirectly recursed. If this
8627         happens, error out to avoid infinite recursion and an eventual
8628         SEGV.
8629         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8630         (gst_pad_proxy_getcaps): Intersect the result with the template
8631         caps to ensure that the return value is valid.
8632
8633 2004-07-14  Andy Wingo  <wingo@pobox.com>
8634
8635         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8636         one refcount, the calling function is the owner of the buffer.
8637
8638 2004-07-14  Wim Taymans  <wim@fluendo.com>
8639
8640         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8641         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8642         Fix stupid warning when an element is to be migrated but
8643         is already migrated.
8644
8645 2004-07-14  Wim Taymans  <wim@fluendo.com>
8646
8647         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8648         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8649         Make sure that a single non-loop-based element does not 
8650         end up in a group. This fixes the testsuite again.
8651
8652 2004-07-14  Wim Taymans  <wim@fluendo.com>
8653
8654         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8655         (add_to_group), (merge_groups), (schedule_group),
8656         (gst_opt_scheduler_get_wrapper), (group_elements),
8657         (group_dec_link), (gst_opt_scheduler_pad_link),
8658         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8659         (gst_opt_scheduler_iterate):
8660         move isolated groups to a new chain.
8661         Emit a warning instead of segfaulting in some error cases.
8662         Fix a bug where the link count between groups was not calculated 
8663         correctly. Fixes #144510.
8664
8665 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8666         * gst/elements/gstfilesrc.c:
8667           Binary files support under Windows now OK
8668       
8669 2004-07-13  Benjamin Otte  <otte@gnome.org>
8670
8671           compatibility fixes for Solaris 8/gcc 2.95
8672         * configure.ac:
8673           include libintl libs in LDFLAGS
8674         * gstvalue.c (gst_value_deserialize_buffer):
8675           cast isxdigit stuff to int to silence compiler warning
8676
8677 2004-07-12  Benjamin Otte  <otte@gnome.org>
8678
8679         * gst/gsttypes.h:
8680           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8681           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8682           just causes support madness
8683         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8684           make it work without this
8685         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8686         (gst_file_index_commit):
8687           glib IO channels don't want binary mode
8688         * testsuite/bytestream/filepadsink.c: (main):
8689         * testsuite/bytestream/test1.c: (read_param_file):
8690           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8691
8692 2004-07-12  Benjamin Otte  <otte@gnome.org>
8693
8694         * gst/gstelement.c: (gst_element_class_init),
8695         (gst_element_set_state), (gst_element_set_state_func):
8696           virutalize gst_element_set_state, use set_state member in class
8697           struct that was already added in 0.7 for this.
8698         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8699         (gst_bin_change_state):
8700           make gst_bin_foreach works similar to other foreach functions, plug
8701           memleaks in it. Make functions using it work with the new approach.
8702           Document gst_bin_foreach, so it can be exported if we want to
8703         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8704           use virtualized set_state to make set_state on bins set the state of
8705           all its children.
8706
8707 2004-07-12  Benjamin Otte  <otte@gnome.org>
8708
8709         * configure.ac:
8710           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8711           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8712         * gst/gstpad.c: (gst_pad_alloc_buffer):
8713           allow buffer_alloc functions to return NULL and allocate a normal
8714           buffer in that case
8715
8716 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8717         * gst/elements/gstfilesink.c:
8718         * gst/elements/gstfilesrc.c:
8719         * gst/indexers/gstfileindex.c:
8720         * gst/gsttypes.h:
8721         * testsuite/bytestream/filepadsink.c:
8722         * testsuite/bytestream/test1.c:
8723           Handle binary files under Windows
8724
8725 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8726         * docs/manual/win32.xml:
8727         * win32/config.h:
8728         * win32/gst-register.vcproj:
8729         * win32/gstreamer.def:
8730           Update to another gettext public build
8731
8732 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8733         * gst/gstplugin.c:
8734           Fix an impossible C syntax
8735         * win32/config.h:
8736           Disable i18n under Windows for the moment
8737         * win32/gst-register.vcproj:
8738           Use this configuration
8739
8740 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8741         * docs/manual/quotes.xml:
8742           Keep the quotes file alive
8743         * docs/random/ds/0.9-suggested-changes:
8744           Add the suggestion of including a 'rowstride' as part of video
8745           format caps
8746
8747 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8748
8749         * gst/gstelement.c: (gst_element_set_state),
8750         (gst_element_change_state):
8751           d'oh.  Set PENDING state correctly before forcing bin to change.
8752         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8753         (gst_structure_parse_fixed_list):
8754         * gst/schedulers/gstoptimalscheduler.c:
8755         (gst_opt_scheduler_state_transition):
8756         * testsuite/states/parent.c: (main):
8757           remove comment now that it's fixed.
8758
8759 2004-07-11  Benjamin Otte  <otte@gnome.org>
8760
8761         * gst/gstclock.h:
8762           GST_SECOND shouldn't cause a conversion to unsigned.
8763         * testsuite/clock/.cvsignore:
8764         * testsuite/clock/Makefile.am:
8765         * testsuite/clock/signedness.c: (main):
8766           make sure it never will again
8767
8768 2004-07-11  Andy Wingo  <wingo@pobox.com>
8769
8770         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8771         whose state is higher than the bin state, raise the bin state to
8772         ensure that bin state := highest child state.
8773         
8774 2004-07-11  Andy Wingo  <wingo@pobox.com>
8775
8776         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8777         procedure on the children of a bin. Assumes that the procedure can
8778         change the set of children.
8779         (set_kid_state_func): New static function.
8780         (gst_bin_change_state): Use gst_bin_foreach to call
8781         set_kid_state_func. Fixes a bug: if a child had a state-change
8782         handler that removes it from the bin, there would be a segfault.
8783         Hopefully it should also work in the case where the state-change
8784         handler on one child adds or removes other children. In any case,
8785         fixes should go to gst_bin_foreach.
8786
8787 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gstelement.c: (gst_element_set_state):
8790           compatibility fix for latest plugins release.  Change loop back
8791           to while {}
8792
8793 2004-07-09  Wim Taymans  <wim@fluendo.com>
8794
8795         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8796         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8797         (gst_thread_main_loop):
8798         Since remove is virtual in GstBin we must not assume the 
8799         elements GList to have anothing useful.
8800         Add some more logging to GstThread and be a bit more paranoid
8801         when resetting the scheduler.
8802         Set the state of the bin to NULL before removing the children.
8803
8804 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8805
8806         * testsuite/threads/Makefile.am:
8807         * testsuite/threads/threadg.c:
8808           added test to check if problem when removing all elements from a
8809           GstThread before setting GstThread state to NULL
8810
8811 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8812
8813         * docs/gst/tmpl/gstelement.sgml:
8814         * docs/gst/tmpl/gsttypes.sgml:
8815         * gst/gstbin.c: (gst_bin_change_state):
8816         * gst/gstelement.c: (gst_element_set_state),
8817         (gst_element_change_state):
8818           rework so that for bins we try to set the state on all children
8819           as well even if the bin is in the correct state already.
8820           change while to do so at least one iteration is done.
8821           For regular elements, we fall back to the previous behaviour for
8822           now since we first need a new plugins release.
8823         * testsuite/states/parent.c: (main):
8824           test for this case
8825           Fixes #123774
8826
8827 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8828
8829         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8830         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8831         (gst_queue_release_locks), (gst_queue_change_state),
8832         (gst_queue_set_property):
8833           add proper lock debugging.  Change dispose to finalize, since
8834           we're freeing mutexes and other stuff which should happen only once.
8835
8836 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8837
8838         * docs/gst/tmpl/gstelement.sgml:
8839         * docs/gst/tmpl/gstplugin.sgml:
8840         * docs/gst/tmpl/gsttypes.sgml:
8841         * docs/pwg/building-state.xml:
8842         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8843         * gst/gstelement.c: (gst_element_change_state):
8844         * gst/gstthread.c: (gst_thread_change_state):
8845           catch wrong state changes in element base class.
8846
8847 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8848
8849         * gst/gstinfo.h:
8850           clean up layout a little.
8851
8852 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8853
8854         * configure.ac:
8855         * testsuite/Makefile.am:
8856         * testsuite/states/Makefile.am:
8857         * testsuite/states/parent.c: (main):
8858           re-enable states testsuite dir.  Add test for state changes and
8859           parent behaviour
8860
8861 2004-07-09  Wim Taymans  <wim@fluendo.com>
8862
8863         * gst/schedulers/gstoptimalscheduler.c:
8864         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8865         (element_get_reachables_func), (element_get_reachables),
8866         (debug_element), (rechain_group), (group_migrate_connected),
8867         (gst_opt_scheduler_pad_unlink):
8868         Do not try to migrate decoupled elements to a new group since
8869         they are not added to groups.
8870
8871 2004-07-08  Benjamin Otte  <otte@gnome.org>
8872
8873         * gst/gstelement.c: (gst_element_error_func):
8874           make reentrant (= allow removing elements in error handler)
8875
8876 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8877
8878         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8879         (gst_pad_send_event), (gst_pad_call_chain_function):
8880           events sent to elements below PAUSED cannot be handled, so
8881           don't try to
8882
8883 2004-07-08  Wim Taymans  <wim@fluendo.com>
8884
8885         * gst/schedulers/gstoptimalscheduler.c:
8886         (chain_recursively_migrate_group), (create_group),
8887         (schedule_group), (gst_opt_scheduler_pad_link),
8888         (group_elements_set_visited), (element_get_reachables_func),
8889         (element_get_reachables), (group_can_reach_group), (debug_element),
8890         (rechain_group), (group_migrate_connected),
8891         (gst_opt_scheduler_pad_unlink):
8892         * testsuite/schedulers/Makefile.am:
8893         Implemented group splitting and rechaining.
8894         Fixes 143777 and 143777-2 in the testsuite.
8895
8896 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8897
8898         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8899           extra debugging
8900         * gst/gstevent.h:
8901         * gst/gstinfo.c: (gst_debug_log_default):
8902           print time nicely.  add thread pointer until someone figures out
8903           a completely portable way of getting at thread id's.
8904         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8905         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8906         (gst_pad_call_chain_function):
8907           extra debugging
8908         * gst/schedulers/gstoptimalscheduler.c:
8909         (get_group_schedule_function), (loop_group_schedule_function),
8910         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8911         (pad_clear_queued), (gst_opt_scheduler_iterate):
8912           rename BUFPEN and friends to DATAPEN since that's what they are.
8913
8914 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8915
8916         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8917         * gst/gstbuffer.h:
8918         * gst/gstpad.c:
8919           cleanups and debugging
8920
8921 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8922
8923         * configure.ac:
8924         * gst/gstvalue.c: (gst_value_compare_enum),
8925         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8926         (gst_value_can_compare), (gst_value_compare):
8927         * testsuite/Makefile.am:
8928         * testsuite/enumcaps/Makefile.am:
8929         * testsuite/enumcaps/enumcaps.c:
8930           Fix enum serialization, deserialization, comparison in caps, add
8931           a test to ensure that this continues working in the future.
8932
8933 2004-07-06  David Schleef  <ds@schleef.org>
8934
8935         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8936         Fix memleak.
8937
8938 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8939
8940         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8941         * gst/gstplugin.h:
8942         * gst/registries/gstxmlregistry.c:
8943         (plugin_times_older_than_recurse), (plugin_times_older_than),
8944         (gst_xml_registry_parse_padtemplate):
8945           only rebuild registry when actual plugins have a newer time than
8946           the registry.  Fixes #145520
8947
8948 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8949
8950         * docs/manual/manual.xml:
8951         * docs/manual/win32.xml:
8952           add chapter on win32 building.  fixes #142422
8953
8954 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8955
8956         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8957
8958         * gst/autoplug/gstspider.c: (gst_spider_init),
8959         (gst_spider_dispose):
8960           fix spider memleaks.  fixes #137863
8961
8962 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8963
8964         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8965
8966         * gst/schedulers/gstoptimalscheduler.c:
8967         (gst_opt_scheduler_pad_unlink):
8968           fix SIGBUS error, fixes #145338
8969
8970 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8971
8972         * gst/gstobject.c: (gst_object_replace):
8973         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8974         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8975           clean up clock lifecycle.  Fixes #109831
8976
8977 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8978
8979         * po/LINGUAS:
8980         * po/cs.po:
8981           added Czech translation (Miloslav Trmac)
8982
8983 2004-07-04  David Schleef  <ds@schleef.org>
8984
8985         * tools/Makefile.am:
8986         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8987
8988 2004-07-04  David Schleef  <ds@schleef.org>
8989
8990         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8991
8992 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8993
8994         * gst/gstbin.c: (gst_bin_restore_thyself):
8995           chain to parent restore so the bins get restored correctly
8996           in the editor
8997
8998 2004-07-03  David Schleef  <ds@schleef.org>
8999
9000         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9001         Actually do something in these functions, like before the big
9002         caps change.  (bug #145137)
9003
9004 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9005
9006         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
9007         (gst_element_get_compatible_pad_filtered):
9008         * gst/gstthread.c: (gst_thread_main_loop):
9009           more debugging
9010
9011 2004-07-02  David Schleef  <ds@schleef.org>
9012
9013         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
9014         * gst/gstobject.h:
9015         * gst/gstparse.h:
9016         * gst/gsttrace.h:
9017         * gst/gstxml.h:
9018
9019 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * gst/gstpad.c: (gst_pad_check_schedulers),
9022         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9023         (gst_pad_link_prepare):
9024           revert until testsuite is fixed
9025
9026 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9027
9028         * testsuite/Makefile.am:
9029         * testsuite/caps/filtercaps.c: (main):
9030         * testsuite/clock/clock1.c: (main):
9031         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
9032           fix some more tests
9033
9034 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9035
9036         * testsuite/cleanup/cleanup1.c: (create_pipeline):
9037         * testsuite/cleanup/cleanup2.c: (create_pipeline):
9038         * testsuite/cleanup/cleanup4.c: (main):
9039           fix testsuite
9040
9041 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9042
9043         * libs/gst/control/control.c:
9044         * libs/gst/control/dparam.c:
9045         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
9046         * libs/gst/control/dparammanager.c:
9047         * libs/gst/control/dparammanager.h:
9048         * testsuite/dynparams/Makefile.am:
9049         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
9050         (gst_dptest_change_state), (gst_dptest_chain), (main):
9051           fix testcase for dparams
9052           add debugging category
9053
9054 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9055
9056         * testsuite/Rules:
9057           change path
9058
9059 2004-07-02  Benjamin Otte  <otte@gnome.org>
9060
9061         * tests/.cvsignore:
9062         * tests/Makefile.am:
9063         * tests/mass_elements.c: (gst_get_current_time), (main):
9064           add simple benchmark to test various speeds of fakesrc ! identity !
9065           identity ! ... ! fakesink.
9066           Usage: mass_elements [num_identities] [num_buffers]
9067           If not specified they default to 1000.
9068
9069 2004-07-02  Benjamin Otte  <otte@gnome.org>
9070
9071         * gst/gstpad.c: (gst_pad_check_schedulers),
9072         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9073         (gst_pad_link_prepare):
9074           check that pads that get linked belong to the same manager. The old
9075           code allowed linking elements before putting them into bins, so it
9076           worked to link them and then put them in different threads, which
9077           lead to weird behaviour.
9078           Since this effectively disallows linking elements before putting
9079           them in a bin, some applications might not work after this and error
9080           out. If these applications are too critical, we might need to revert
9081           that patch. Please test this before the next release...
9082
9083 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9084
9085         * gst/gstpad.c: (gst_pad_get_caps):
9086           throw an error if the getcaps function does not return a subset of
9087           the template caps.
9088         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
9089           make disconts without position info an error in debugging
9090         * tests/spidey_bench.c: (handoff), (main):
9091           don't count first try when averaging
9092
9093 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9094
9095         * gst/gstplugin.c: (gst_plugin_load_file):
9096           figure out problem with dynamic test
9097
9098 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9099
9100         * docs/gst/Makefile.am:
9101           fix docs build
9102
9103 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9104
9105         * po/POTFILES.in:
9106         * po/af.po:
9107         * po/az.po:
9108         * po/en_GB.po:
9109         * po/fr.po:
9110         * po/nl.po:
9111         * po/sr.po:
9112         * po/sv.po:
9113         * po/tr.po:
9114         * po/uk.po:
9115         * tools/gst-register.c: (plugin_added_func), (main):
9116           i18n-ize -register, fix plural
9117
9118 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9119
9120         * gst/elements/gstidentity.c: (gst_identity_class_init),
9121         (gst_identity_init), (gst_identity_chain),
9122         (gst_identity_set_property), (gst_identity_get_property):
9123         * gst/elements/gstidentity.h:
9124           check for perfect stream
9125
9126 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9127
9128         * gst/elements/gstidentity.c: (gst_identity_chain):
9129           print offset_end
9130
9131 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9132
9133         * docs/gst/Makefile.am:
9134         * docs/gst/gstreamer-docs.sgml:
9135           doc fixes
9136
9137 2004-06-24  David Schleef  <ds@schleef.org>
9138
9139         * autogen.sh:  Remove call to env, since the buildbot isn't
9140         broken anymore.
9141
9142 2004-06-24  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/elements/Makefile.am:
9145         * gst/elements/gstelements.c:
9146         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9147         (gst_multifdsink_class_init), (gst_multifdsink_init),
9148         (gst_multifdsink_add), (gst_multifdsink_remove),
9149         (gst_multifdsink_clear), (gst_multifdsink_chain),
9150         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9151         * gst/elements/gstmultifdsink.h:
9152         Added an element that writes to multiple filedescriptors at once.
9153
9154 2004-06-24  Benjamin Otte  <otte@gnome.org>
9155
9156         * gst/parse/grammar.y:
9157           don't try to link elements before they have been added to bins
9158
9159 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9160
9161         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9162         (gst_file_pad_get_length):
9163         * libs/gst/bytestream/filepad.h:
9164           add 2 new functions
9165
9166 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9167
9168         * docs/gst/gstreamer-sections.txt:
9169         remove from docs, the define that Benjamin removed from gstelement.h
9170
9171 2004-06-22  Benjamin Otte  <otte@gnome.org>
9172
9173         * gst/gstelement.h:
9174           remove define that referenced a nonexisting GstElement struct member
9175
9176 2004-06-20  Benjamin Otte  <otte@gnome.org>
9177
9178         * gst/gstdata.c: (gst_data_is_writable):
9179           whoops, return values were wrong, so writable data was marked as
9180           non-writable and vice versa. (fixes #143953, spotted by Francis
9181           Labonte)
9182           Shows how rarely we need to copy data ;)
9183
9184 2004-06-20  Benjamin Otte  <otte@gnome.org>
9185
9186         * testsuite/schedulers/.cvsignore:
9187         * testsuite/schedulers/Makefile.am:
9188         * testsuite/schedulers/143777-2.c: (main):
9189           add test for opt breakage in bug #143777
9190
9191 2004-06-20  Benjamin Otte  <otte@gnome.org>
9192
9193         * gst/gstpad.c: (gst_pad_call_chain_function):
9194           check for if we were unlinked while inside the chainfunction (fixes
9195           entrygthread having issues with #143777)
9196         * testsuite/schedulers/143777.c: (main):
9197         * testsuite/schedulers/Makefile.am:
9198           add a test for that fix
9199
9200 2004-06-20  Benjamin Otte  <otte@gnome.org>
9201
9202         * gst/gstvalue.c: (gst_value_set_int_range):
9203           test that start is smaller then end
9204         * libs/gst/bytestream/Makefile.am:
9205         * libs/gst/bytestream/filepad.c: 
9206         * libs/gst/bytestream/filepad.h:
9207           add GstFilePad - a pad that behaves like a FILE*
9208         * testsuite/bytestream/.cvsignore:
9209         * testsuite/bytestream/Makefile.am:
9210         * testsuite/bytestream/filepadsink.c: 
9211           test for the GstFilePad
9212
9213 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9214
9215         * gst/elements/gstidentity.c: (gst_identity_class_init),
9216         (gst_identity_init), (gst_identity_set_clock),
9217         (gst_identity_chain), (gst_identity_set_property),
9218         (gst_identity_get_property):
9219         * gst/elements/gstidentity.h:
9220         * gst/gstclock.c: (gst_clock_id_wait):
9221           add a "sync" property to sync to the clock
9222
9223 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9224
9225         * gst/gstelementfactory.c: (gst_element_factory_create):
9226           make the freakin "elementfactory bla has no type" message more
9227           useful. So we actually can do something when someone shows up
9228           complaining about it.
9229
9230 2004-06-15  Johan Dahlin  <johan@gnome.org>
9231
9232         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9233         found. This matches the old behavior better. Thanks to Thomas for
9234         pointing out.
9235
9236 2004-06-14  David Schleef  <ds@schleef.org>
9237
9238         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9239         -fomit-frame-pointer.  Appears to generate correct code in
9240         other cases as well.
9241
9242 2004-06-14  Johan Dahlin  <johan@gnome.org>
9243
9244         * tools/gst-inspect.c (main): Add two new command line options: -a
9245         to print all elements and -n to print the name on each line. Also
9246         fix some error reporting.
9247         (main): Simplify, remove -n and always print names if -a is specified
9248
9249 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9250
9251         * win32/gstconfig.h:
9252         * win32/GSTreamer.vcproj:
9253         * win32/Makefile:
9254         * gst/gstconfig.h.in:
9255         * gst/gst.h:
9256         * gst/gstbin.h:
9257         * gst/gstelement.h:
9258         * gst/gstevent.h:
9259         * gst/gstobject.h:
9260         * gst/gstpad.h:
9261         * docs/gst/gstreamer-sections.txt:
9262         * docs/gst/tmpl/gstconfig.sgml:
9263           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9264
9265 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9266         * docs/gst/gstreamer-sections.txt:
9267         * docs/gst/tmpl/gstconfig.sgml:
9268         Add the GSTREAMER_EXPORT macro to the docs
9269
9270 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9271
9272         * tools/gst-compprep.c: (handle_xmlerror), (main):
9273         Add a check for the version that introduced SetStructuredError to fix
9274         the build on FC1
9275
9276 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9277
9278         * win32/msvc71.sln:
9279         * win32/testsuite/:
9280           prepare to compile the testsuite with MSVC
9281
9282 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9283
9284         * docs/manual/win32.xml:
9285           attempt to transform the Win32 README into an XML doc
9286
9287 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9288
9289         * gst/gst.c:
9290         * gst/gstbin.*:
9291         * gst/config.h.in:
9292         * gst/gstelement.*:
9293         * gst/gstevent.h:
9294         * gst/gstobject.*:
9295         * gst/gstpad.h:
9296         * tools/gst-register.c:
9297         * win32/gstreamer.def:
9298           extern symbols are now exported for the Windows DLL
9299
9300 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9301
9302         * gst/gstinfo.h:
9303           fix a problem to enable/disable DEBUG under MSVC
9304
9305 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9306
9307         * win32/:
9308           enable more debug code in DEBUG build
9309
9310 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9311
9312         * win32/config.h:
9313         * gst/gst-i18n-app.h:
9314           enable NLS under Windows
9315
9316 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9317         * tools/gst-compprep.c: (handle_xmlerror), (main):
9318           Make an error that baffled me a bit clearer
9319
9320 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9321
9322         * gst/gstqueue.c:
9323           don't use g_queue_get_length () because it's 2.4, use ->length
9324
9325 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9326
9327         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9328
9329         * tools/gst-inspect.c: (print_signal_info):
9330           don't free random data twice. (fixes #144185)
9331
9332 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * gst/gstqueue.c:
9335         * gst/gstqueue.h:
9336           fix removing from the wrong queue on event timeout
9337           fix disposing of the event queue by casting correctly
9338           add mutexes for handling the event queue
9339           someone was sleeping when fixing queue last time around :)
9340
9341 2004-06-10  Johan Dahlin  <johan@gnome.org>
9342
9343         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9344         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9345
9346 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9347
9348         * docs/random/gdp:
9349         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9350         * libs/gst/dataprotocol/dataprotocol.c:
9351         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9352         (gst_dp_buffer_from_header):
9353         * libs/gst/dataprotocol/dataprotocol.h:
9354         * libs/gst/dataprotocol/dp-private.h:
9355           rev version to 0.1, add buffer flags and copy them
9356
9357 2004-06-09  Johan Dahlin  <johan@gnome.org>
9358
9359         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9360         the flags from the buffer we're copying.
9361
9362 2004-06-09  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9365         * gst/elements/gstidentity.c: (gst_identity_init),
9366         (gst_identity_chain):
9367         Print more buffer info in fakesink.
9368         Make identity output similar to fakesink.
9369
9370 2004-06-07  Daniel Gazard  <dany42@free.fr>
9371
9372         reviewed by Benjamin Otte  <otte@gnome.org>
9373
9374         * configure.ac:
9375           fix cross compiling not working. (fixes #143741)
9376
9377 2004-06-07  Benjamin Otte  <otte@gnome.org>
9378
9379         * gst/gstelement.c: (gst_element_set_time_delay):
9380           add failure check
9381         * gst/gstinfo.h:
9382           put brackets around macro arguments of GST_TIME_ARGS, add note to
9383           move it to correct header in 0.9
9384
9385 2004-06-07  Benjamin Otte  <otte@gnome.org>
9386
9387         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9388         (gst_file_index_load), (_file_index_id_save_entries),
9389         (gst_file_index_commit), (gst_file_index_add_association),
9390         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9391         (gst_file_index_plugin_init):
9392           make debugging use a default category
9393
9394 2004-06-06  David Moore  <dcm@acm.org>
9395
9396         reviewed by Benjamin Otte  <otte@gnome.org>
9397
9398         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9399         (gst_fdsrc_change_state):
9400           reset offset counter when going READY => PAUSED. (fixes #142903)
9401
9402 2004-06-06  ed@catmur.co.uk
9403
9404         reviewed by Benjamin Otte  <otte@gnome.org>
9405
9406         * gst/registries/gstxmlregistry.c:
9407         (gst_xml_registry_rebuild_recurse):
9408           don't rely on g_dir_open to figure out if a file is a directory, use
9409           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9410           directories. (fixes #142850)
9411
9412 2004-06-06  Benjamin Otte  <otte@gnome.org>
9413
9414         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9415           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9416         * libs/gst/bytestream/adapter.c:
9417         * libs/gst/bytestream/adapter.h:
9418           fix copyright in header and typo in debugging category name
9419
9420 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9421
9422         * configure.ac:
9423           bump nano to cvs
9424
9425 === release 0.8.3 ===
9426
9427 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9428
9429         * configure.ac:
9430           update libtool versioning
9431           do a new release
9432         * docs/gst/tmpl/gstelement.sgml:
9433         * docs/gst/tmpl/gsttypes.sgml:
9434         * gst/gstinfo.c: (_gst_debug_init):
9435           put back GST_CAT_DATAFLOW to fix API breakage
9436
9437 2004-06-04  David Schleef  <ds@schleef.org>
9438
9439         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9440
9441 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9442
9443         * configure.ac:
9444           bump nano to cvs
9445
9446 === release 0.8.2 ===
9447
9448 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9449
9450         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9451           check GST_DEBUG environment variable which is parsed the same way
9452           as --gst-debug=
9453
9454 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9455
9456         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9457                             gstmd5sink.c gstshaper.c gsttee.c
9458                             gsttypefindelement.c
9459         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9460
9461           - removing trailing commas at end of enums
9462             it is correct C99 code but C90 compilers would complain
9463             (AIX, Forte, ...)
9464             ('should' fix #143290, at least partially)
9465
9466 2004-05-27  Wim Taymans  <wim@fluendo.com>
9467
9468         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9469         (chain_group_set_enabled), (create_group), (add_to_group),
9470         (merge_groups), (setup_group_scheduler), (group_elements),
9471         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9472         Don't try to follow the pad connections with other groups
9473         when a loop based element is added to the scheduler because
9474         the bin will inform the scheduler about the pad links a little
9475         later.
9476
9477 2004-05-27  Wim Taymans  <wim@fluendo.com>
9478
9479         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9480         (remove_from_chain), (chain_group_set_enabled),
9481         (setup_group_scheduler), (group_element_set_enabled),
9482         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9483         (gst_opt_scheduler_show):
9484         Elements without a group can do a state change as well, just wait
9485         with the setup of the scheduling function when it is added to a
9486         chain.
9487
9488 2004-05-27  Wim Taymans  <wim@fluendo.com>
9489
9490         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9491         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9492         (merge_groups), (setup_group_scheduler),
9493         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9494         (gst_opt_scheduler_show):
9495         Fixes to maintain internal consistency of the scheduler data
9496         structures. 
9497          - adding an enabled group to a chain should increment the
9498            number of enabled elements in that chain.
9499          - removing an enabled group from a chain could disable the
9500            chain.
9501          - removing a disabled group from a chain could enable the
9502            chain.
9503          - add g_assert when internal inconsistency is detected.
9504          - adding an element to a group could increase the number of
9505            links this group has with other groups.
9506          - merging two groups also merges the chains.
9507          - also show group links in the _show method.
9508            
9509
9510 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9511
9512         * gst/gstcaps.c: (gst_caps_structure_simplify):
9513           don't print error messages when there is no error
9514         * gst/gstvalue.c: (gst_value_compare_int_range):
9515           compare the second value, too
9516         * testsuite/caps/Makefile.am:
9517         * testsuite/caps/random.c: (assert_on_error), (main):
9518           add tests to make sure the two things above are checked for
9519
9520 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * configure.ac:
9523         * libs/gst/dataprotocol/Makefile.am:
9524         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9525         * libs/gst/dataprotocol/dataprotocol.h:
9526           wrap header in GST_ENABLE_NEW.  make code use it
9527
9528 2004-05-23  Johan Dahlin  <johan@gnome.org>
9529
9530         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9531         so verbose and print GstElement signal names all the time.
9532
9533 2004-05-22  David Schleef  <ds@schleef.org>
9534
9535         * gst/registries/gstxmlregistry.c:
9536         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9537         (bug #142957)
9538
9539 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9540
9541         * configure.ac:
9542           scrub cflags for glib2 so gcc doesn't complain when glib is in
9543           /usr/local
9544
9545 2004-05-21  Johan Dahlin  <johan@gnome.org>
9546
9547         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9548         __GNUC__, patch from Brian Cameron, fixes bug #142804
9549
9550 2004-05-20  David Schleef  <ds@schleef.org>
9551
9552         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9553         comparison code.  (bug #142819)
9554
9555 2004-05-20  Wim Taymans  <wim@fluendo.com>
9556
9557         * gst/gstbuffer.c: (gst_buffer_default_copy):
9558         * gst/gstbuffer.h:
9559         Added Comment to a flag.
9560         copy relevant flags in _buffer_copy.
9561
9562 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9563
9564         reviewed by: Wim Taymans <wim at fluendo dot com>
9565
9566         * gst/gstbuffer.h:
9567           add GST_BUFFER_IN_CAPS buffer flag
9568         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9569         (gst_structure_parse_any_list), (gst_structure_parse_list),
9570         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9571         * gst/gstvalue.c: (gst_value_serialize_any_list),
9572         (gst_value_transform_any_list_string),
9573         (gst_value_list_prepend_value), (gst_value_list_append_value),
9574         (gst_value_list_get_size), (gst_value_list_get_value),
9575         (gst_value_transform_list_string),
9576         (gst_value_transform_fixed_list_string),
9577         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9578         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9579         (_gst_value_initialize):
9580         * gst/gstvalue.h:
9581           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9582           < , > as a format.
9583         * testsuite/caps/string-conversions.c: (main):
9584           add regression tests for < >
9585
9586 2004-05-20  Johan Dahlin  <johan@gnome.org>
9587
9588         * docs/gst/Makefile.am (all-local): Re-add
9589
9590 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9591
9592         * docs/gst/Makefile.am:
9593         * docs/gst/gstreamer-docs.sgml:
9594         * docs/libs/Makefile.am:
9595         * docs/libs/gstreamer-libs-docs.sgml:
9596           fix distcheck issues
9597
9598 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9599
9600         * libs/gst/dataprotocol/Makefile.am:
9601           add to autotest
9602
9603 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9604
9605         * libs/gst/dataprotocol/Makefile.am:
9606         * libs/gst/dataprotocol/dataprotocol.c:
9607         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9608         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9609         * libs/gst/dataprotocol/dp-private.h:
9610           use GST macros to read/write fixed length ints
9611           add some more asserts
9612
9613 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9614
9615         * docs/libs/gstreamer-libs-docs.sgml:
9616         * docs/libs/gstreamer-libs-sections.txt:
9617           remove idct and putbits
9618         * configure.ac:
9619         * docs/libs/tmpl/gstdataprotocol.sgml:
9620         * libs/gst/Makefile.am:
9621         * libs/gst/dataprotocol/Makefile.am:
9622         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9623         (buffer_test), (caps_test), (event_test), (main):
9624         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9625         (gst_dp_dump_byte_array), (gst_dp_init),
9626         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9627         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9628         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9629         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9630         (gst_dp_validate_header), (gst_dp_validate_payload),
9631         (gst_dp_validate_packet), (plugin_init):
9632         * libs/gst/dataprotocol/dataprotocol.h:
9633         * libs/gst/dataprotocol/dp-private.h:
9634           add dataprotocol
9635
9636 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9637
9638         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9639           fix int variable deserialization and add a helper so we can actually
9640           debug this.
9641
9642 2004-05-18  David Schleef  <ds@schleef.org>
9643
9644         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9645           argv[0].  Calling yourself is probably not the best way to
9646           construct a test like this, btw.
9647
9648 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9649
9650         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9651           don't claim to be more intelligent than a scheduler when the
9652           scheduler claims the pipeline is stopped
9653         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9654         (safe_cothread_destroy),
9655         (gst_entry_scheduler_remove_all_cothreads),
9656         (gst_entry_scheduler_reset), (_remove_cothread),
9657         (gst_entry_scheduler_state_transition):
9658           hold off cothread destruction if we're not in main cothread
9659         * configure.ac:
9660         * testsuite/Makefile.am:
9661           add new test dir
9662         * testsuite/schedulers/.cvsignore:
9663         * testsuite/schedulers/Makefile.am:
9664           add tests
9665         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9666           check relinking and adding/removing elements from a running pipeline
9667         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9668           check unlinking in a running pipeline
9669         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9670           check unreffing a running pipeline
9671         * testsuite/schedulers/useless_iteration.c: (main):
9672           check iterating a pipeline that contains running threads works
9673
9674 2004-05-18  David Schleef  <ds@schleef.org>
9675
9676         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9677           is false.
9678
9679 2004-05-18  Wim Taymans  <wim@fluendo.com>
9680
9681         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9682         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9683         Fixed an error introduced with patch for 1.63. When setting
9684         a get based element as the entry point in a group, make sure
9685         to mark the group as GET based.
9686
9687 2004-05-18  Wim Taymans  <wim@fluendo.com>
9688
9689         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9690         (setup_group_scheduler), (loop_group_schedule_function),
9691         (gst_opt_scheduler_pad_link):
9692         Added some more debug info and fixed a bug where the group
9693         type was set to LOOP but it was in fact unknown.
9694
9695 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9696
9697         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9698           make resetting scheduler work twice in a row
9699
9700 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9701
9702         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9703         (CREATE_USERIALIZATION), (_gst_value_initialize),
9704         (gst_value_compare_float), (gst_value_serialize_float),
9705         (gst_value_deserialize_float), (gst_value_compare_enum),
9706         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9707           add serialization and comparison functions for long, int64, enum and
9708           float values
9709         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9710           use best serialization function in type hierarchy instead of only a
9711           matching one. This is required for enums to work.
9712         * gst/parse/grammar.y:
9713           use gst_caps_deserialize
9714         * testsuite/parse/Makefile.am:
9715           parse1 now works
9716         * testsuite/parse/parse1.c: (main):
9717           remove aggregator check, aggregator is broken, this test works now
9718           but fails because of bug #138012
9719         * testsuite/parse/parse2.c: (main):
9720           s/xvideosink/xvimagesink - this test looks a lot like we should
9721           disable it
9722
9723 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9724
9725         * gst/gstelement.c: (gst_element_class_init):
9726           whoops, store the signal id correctly
9727         * gst/schedulers/gstbasicscheduler.c:
9728         (gst_basic_scheduler_chain_wrapper):
9729           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9730           chain function isn't linked
9731
9732 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9733         * configure.ac:
9734         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9735         support until we decide where the flags should be used
9736         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9737         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9738         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9739         Output refused caps in the debug info
9740
9741 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9742
9743         * gst/elements/gstidentity.c: (gst_identity_chain):
9744           add duration debug
9745         * gst/gstinfo.c: (gst_debug_log_default):
9746           add timestamp
9747
9748 2004-05-13  Benjamin Otte  <otte@gnome.org>
9749
9750         * gst/gstpipeline.c: (gst_pipeline_dispose),
9751         (gst_pipeline_change_state):
9752           call gst_scheduler_reset on dispose (fixes #141416)
9753
9754 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9755
9756         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9757           compute mapsize correctly
9758         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9759           use correct datatypes when calling a varargs function
9760         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9761           push a DISCONT event as first thing
9762         * gst/gst_private.h:
9763         * gst/gstinfo.c: (_gst_debug_init):
9764           remove GST_DATAFLOW debugging category
9765         * gst/gstbin.c: (gst_bin_iterate):
9766           use GST_SCHEDULING category
9767         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9768         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9769         (gst_pad_call_get_function):
9770           add GST_DATAFLOW to easily track flow of buffers or events.
9771         * gst/gstqueue.c: (gst_queue_get_type),
9772         (gst_queue_handle_pending_events), (gst_queue_chain),
9773         (gst_queue_get), (gst_queue_handle_src_event):
9774           use own static debugging category GST_DATAFLOW for dataflow,
9775           use DEBUG category for showing which path events go, use LOG
9776           category for buffers.
9777
9778 2004-05-10  David Schleef  <ds@schleef.org>
9779
9780         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9781
9782 2004-05-10  David Schleef  <ds@schleef.org>
9783
9784         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9785         symbols, because otherwise we don't know what they are.  Thanks,
9786         the GStreamer team.
9787         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9788
9789 2004-05-10  David Schleef  <ds@schleef.org>
9790
9791         (from Steve Lhomme)
9792         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9793         are deleted.  Fix.
9794         * win32/Makefile.inspect:
9795         * win32/Makefile.launch:
9796         * win32/Makefile.register:
9797
9798 2004-05-10  David Schleef  <ds@schleef.org>
9799
9800         * gst/gstinfo.h: Add missing inline function.
9801         * gst/gsttrace.c: add include
9802         * gst/parse/grammar.y: remove unused code
9803         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9804         more portable.
9805         * tools/gst-register.c: wrap unistd.h
9806         
9807         More additions/fixes from Steve for the MSVC build.
9808         * win32/GStreamer.vcproj:
9809         * win32/Makefile:
9810         * win32/Makefile.inspect:
9811         * win32/Makefile.launch:
9812         * win32/Makefile.register:
9813         * win32/README.txt:
9814         * win32/gst-inspect.vcproj:
9815         * win32/gst-launch.vcproj:
9816         * win32/gst-register.vcproj:
9817         * win32/gstbytestream.def:
9818         * win32/gstbytestream.vcproj:
9819         * win32/gstconfig.h:
9820         * win32/gstelements.def:
9821         * win32/gstelements.vcproj:
9822         * win32/gstenumtypes.c:
9823         * win32/gstenumtypes.h:
9824         * win32/gstoptimalscheduler.def:
9825         * win32/gstoptimalscheduler.vcproj:
9826         * win32/gstreamer.def:
9827         * win32/gstspider.def:
9828         * win32/gstspider.vcproj:
9829         * win32/gstversion.h:
9830         * win32/msvc71.sln:
9831
9832 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9833
9834         * gst/gstelement.c: (gst_element_class_init),
9835         (gst_element_no_more_pads):
9836         * gst/gstelement.h:
9837           add gst_element_no_more_pads and the "no-more-pads" signal
9838
9839 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9840
9841         * gst/gstregistry.c: (gst_registry_add_plugin):
9842           refuse to add plugins when a plugin with same name is already
9843           registered. Fixes a bunch of "How to remove plugins?" issues.
9844           May lead to other problems though, let's test
9845
9846 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9847
9848         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9849         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9850         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9851
9852 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9853
9854         * tests/Makefile.am: fix am16 issue
9855
9856 2004-05-09  Benjamin Otte  <otte@gnome.org>
9857
9858         * libs/gst/bytestream/Makefile.am:
9859           we should indeed add .c files to makefiles or they won't be built
9860           (d'oh)
9861
9862 2004-05-08  Benjamin Otte  <otte@gnome.org>
9863
9864         * gst/gstpad.c: (gst_pad_proxy_fixate):
9865           really reduce the set of caps
9866
9867 2004-05-08  Benjamin Otte  <otte@gnome.org>
9868
9869         * tests/Makefile.am:
9870         * tests/spidey_bench.c: (handoff), (main):
9871           add benchmark to test how long spider needs to create a pipeline
9872
9873 2004-05-08  Benjamin Otte  <otte@gnome.org>
9874
9875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9876           mark links as unengaged when unnegotiating instead of deactivating.
9877           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9878
9879 2004-05-08  Benjamin Otte  <otte@gnome.org>
9880
9881         * docs/manual/helloworld.xml:
9882           s/audiosink/osssink (patch by Patrick Guimond)
9883
9884 2004-05-07  David Schleef  <ds@schleef.org>
9885
9886         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9887         since it contains important stuff.
9888
9889 2004-05-07  David Schleef  <ds@schleef.org>
9890
9891         * testsuite/caps/caps.c: (test3), (main): A check for appending
9892         ANY caps.
9893
9894 2004-05-07  David Schleef  <ds@schleef.org>
9895
9896         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9897         which may contain commas.  Fixes detection of -Wa,-mregnames
9898
9899 2004-05-06  David Schleef  <ds@schleef.org>
9900
9901         Changes to handle compilers that don't have variadic macro
9902         support.  In particular, glib headers define some inlines
9903         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9904         builds.
9905         * gst/Makefile.am:
9906         * gst/cothreads.c:
9907         * gst/elements/gstfdsink.c:
9908         * gst/elements/gstfdsrc.c:
9909         * gst/elements/gstfilesink.c:
9910         * gst/elements/gstfilesrc.c:
9911         * gst/gst_private.h:
9912         * gst/gstatomic.c:
9913         * gst/gstcaps.c: (gst_caps_append):
9914         * gst/gstcpu.c: (gst_cpuid_i386):
9915         * gst/gstelement.c:
9916         * gst/gsterror.c:
9917         * gst/gstfilter.c:
9918         * gst/gstinfo.h:
9919         * gst/gstprobe.c:
9920         * gst/gstquery.c:
9921         * gst/gstregistry.c:
9922         * gst/gststructure.c:
9923         * gst/gsttaginterface.c:
9924         * gst/gsttrace.c: (gst_trace_new):
9925         * gst/gsttrashstack.c:
9926         * gst/gsturi.c:
9927         * gst/gstvalue.c:
9928         * gst/parse/grammar.y:
9929         * gst/parse/parse.l:
9930         * tools/gst-inspect.c: (main):
9931         * tools/gst-launch.c: (main):
9932         * tools/gst-xmlinspect.c: (PUT_STRING):
9933
9934 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9935
9936         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9937         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9938         * gst/elements/gstfilesrc.h:
9939           send NEW_MEDIA events correctly
9940         * gst/elements/gsttypefindelement.c: (start_typefinding),
9941         (gst_type_find_element_handle_event):
9942           restart typefinding when we get a NEW_MEDIA event
9943         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9944         (gst_bin_dispose):
9945           don't die when someone removes elements in callbacks
9946         * gst/gstelement.c: (gst_element_change_state):
9947           improve debugging
9948         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9949           we need a NEW_MEDIA event to engage a link
9950         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9951           don't g_print debugging stuff
9952         * testsuite/caps/simplify.c: (check_caps):
9953
9954 2004-05-04  Benjamin Otte  <otte@gnome.org>
9955
9956         * gst/parse/grammar.y:
9957           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9958
9959 2004-05-04  Benjamin Otte  <otte@gnome.org>
9960
9961         * testsuite/caps/renegotiate.c: (main):
9962           improve output in error case
9963
9964 2004-05-04  Benjamin Otte  <otte@gnome.org>
9965
9966         * gst/parse/grammar.y:
9967           fix assert to not trigger when there's no error argument
9968         * gst/parse/parse.l:
9969           fix definition of caps to allow more than two structures
9970         * testsuite/caps/Makefile.am:
9971         * testsuite/caps/renegotiate.c: (main):
9972           it's sinesrc and works in that case
9973
9974 2004-05-04  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9977         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9978         when removing an element from a group, we always need to
9979         decrement the link count that this group had with other 
9980         groups through the element.
9981         added an extra assert to catch inconsistencies when decrementing
9982         the link count.
9983
9984 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9985
9986         * configure.ac:
9987         * docs/gst/Makefile.am:
9988         * docs/gst/gstreamer-sections.txt:
9989         * docs/gst/tmpl/gstcompat.sgml:
9990         * examples/appreader/Makefile.am:
9991         * examples/cutter/Makefile.am:
9992         * examples/events/Makefile.am:
9993         * examples/helloworld/Makefile.am:
9994         * examples/helloworld2/Makefile.am:
9995         * examples/launch/Makefile.am:
9996         * examples/manual/Makefile.am:
9997         * examples/mixer/Makefile.am:
9998         * examples/pingpong/Makefile.am:
9999         * examples/plugins/Makefile.am:
10000         * examples/queue/Makefile.am:
10001         * examples/queue2/Makefile.am:
10002         * examples/queue3/Makefile.am:
10003         * examples/queue4/Makefile.am:
10004         * examples/retag/Makefile.am:
10005         * examples/thread/Makefile.am:
10006         * examples/typefind/Makefile.am:
10007         * examples/xml/Makefile.am:
10008         * gst/Makefile.am:
10009         * gst/autoplug/Makefile.am:
10010         * gst/elements/Makefile.am:
10011         * gst/gstcompat.h:
10012         * gst/indexers/Makefile.am:
10013         * gst/parse/Makefile.am:
10014         * gst/registries/Makefile.am:
10015         * gst/schedulers/Makefile.am:
10016         * libs/gst/bytestream/Makefile.am:
10017         * libs/gst/control/Makefile.am:
10018         * libs/gst/getbits/Makefile.am:
10019         * po/af.po:
10020         * po/az.po:
10021         * po/en_GB.po:
10022         * po/fr.po:
10023         * po/nl.po:
10024         * po/sr.po:
10025         * po/sv.po:
10026         * po/tr.po:
10027         * po/uk.po:
10028         * tests/Makefile.am:
10029         * tests/bufspeed/Makefile.am:
10030         * tests/instantiate/Makefile.am:
10031         * tests/memchunk/Makefile.am:
10032         * tests/muxing/Makefile.am:
10033         * tests/negotiation/Makefile.am:
10034         * tests/probes/Makefile.am:
10035         * tests/sched/Makefile.am:
10036         * tests/seeking/Makefile.am:
10037         * tests/threadstate/Makefile.am:
10038         * testsuite/caps/Makefile.am:
10039         * testsuite/cleanup/Makefile.am:
10040         * testsuite/dlopen/Makefile.am:
10041         * testsuite/dynparams/Makefile.am:
10042         * testsuite/plugin/Makefile.am:
10043         * testsuite/states/Makefile.am:
10044         * tools/Makefile.am:
10045           reorganize compile/link flags to be consistent
10046           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
10047
10048 2004-05-04  David Schleef  <ds@schleef.org>
10049
10050         The "once more, with feeling" check-in.
10051         * testsuite/caps/Makefile.am: dist caps_strings
10052         * testsuite/caps/renegotiate.c: (main): This test triggers a
10053           segfault in the core.  Marking as failing.
10054
10055 2004-05-03  David Schleef  <ds@schleef.org>
10056
10057         * testsuite/caps/deserialize.c: (main): Fix problems noticed
10058           by the build bots.
10059         * testsuite/caps/renegotiate.c: (main): Same.
10060
10061 2004-05-03  David Schleef  <ds@schleef.org>
10062
10063         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
10064
10065 2004-05-03  David Schleef  <ds@schleef.org>
10066
10067         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
10068           variable to find our source file.
10069
10070 2004-05-03  David Schleef  <ds@schleef.org>
10071
10072         * configure.ac:  Link plugins with libgstreamer and dependent
10073           libraries
10074         * testsuite/caps/Makefile.am:
10075         * testsuite/caps/caps_strings:
10076         * testsuite/caps/deserialize.c: (main): Add a little test to slog
10077           through a file of caps strings and test each one
10078
10079 2004-05-04  Benjamin Otte  <otte@gnome.org>
10080
10081         * libs/gst/bytestream/Makefile.am:
10082         * libs/gst/bytestream/adapter.c: 
10083         * libs/gst/bytestream/adapter.h:
10084           add GstAdapter, similar to bytestream, but doesn't require ugly event
10085           handling or uglier loopbased elements
10086
10087 2004-05-03  David Schleef  <ds@schleef.org>
10088
10089         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
10090         * testsuite/caps/erathostenes.c:
10091         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
10092
10093 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10094
10095         * docs/pwg/pwg.xml:
10096           remove hardcoded stylesheet path (duh)
10097         * docs/random/release:
10098         * docs/gst/gstreamer-sections.txt:
10099         * gst/Makefile.am:
10100         * gst/gst.h:
10101         * gst/gst_private.h:
10102         * gst/gstcaps.c:
10103         * gst/gstevent.c:
10104         * gst/gstformat.c:
10105         * gst/gstinfo.c:
10106         * gst/gstinfo.h:
10107         * gst/gstinterface.c:
10108         * gst/gstmemchunk.c:
10109         * gst/gstprobe.c:
10110         * gst/gstquery.c:
10111         * gst/gstregistry.c:
10112         * gst/gstregistrypool.c:
10113         * gst/gststructure.c:
10114         * gst/gsttaginterface.c:
10115         * gst/gstthread.c:
10116         * gst/gsttrace.c:
10117         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10118         * gst/gsturi.c:
10119         * gst/gstvalue.c:
10120           deprecate gst_info; remove gstlog.h
10121    
10122
10123 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10124
10125         * Makefile.am:
10126         * po/en_GB.po:
10127         * po/sv.po:
10128         * po/uk.po:
10129           updated translations
10130
10131 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10132
10133         * gst/gstbin.c: (gst_bin_dispose):
10134           better debugging
10135
10136 2004-05-03  Johan Dahlin  <johan@gnome.org>
10137
10138         * gst/schedulers/gstoptimalscheduler.c
10139         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10140         really is a GstElement. Avoids critical when running gst-launch -v
10141         and a oggdemux/decoding pipeline.
10142
10143 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10144
10145         * docs/gst/tmpl/gstpipeline.sgml :
10146         * docs/manual/elements-api.xml :
10147                 doc fix by Patrick Guimond (Protector) from devel ML
10148                 reviewed by ronald
10149
10150 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10151
10152         * docs/gst/Makefile.am :
10153         * docs/libs/Makefile.am :
10154                 apply a patch from Arwed v. Merkatz so that gtk-doc
10155                 generated docs install (same for .devhelp file)
10156                 (fixes part 1 of #138836)
10157
10158 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10159
10160         * docs/faq/dependencies.xml: typo
10161         * docs/faq/getting.xml :
10162             - fix download URL for new gstreamer site
10163             - hide sf.net download page as latest version aren't there
10164             - fix apt URLs
10165             - fill "get via CVS" paragraph (link to dev page on the site)
10166         * docs/faq/general.xml:
10167             hide status tables as they no more exists
10168             change case on plugins license file to reflect reality
10169         * docs/faq/troubleshooting.xml:
10170             remove the wiki question/answer as there is no more wiki
10171
10172 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10173
10174         * gst/gsterror.h:
10175           include the headers needed for declarations used in this header
10176
10177 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10178
10179         * docs/random/uraeus/gstreamer_and_midi.txt :
10180           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10181           (fixes #132288)
10182
10183 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10184
10185         reviewed by Benjamin Otte  <otte@gnome.org>
10186
10187         * gst/schedulers/gthread-cothreads.h:
10188           free allocated data for main cothread, too when destroying context
10189           (fixes #141417)
10190
10191 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10192
10193         * docs/manual/goals.xml : remove duplicated paragraph at end 
10194         of doc page (fixes #141448)
10195
10196 2004-04-29  David Schleef  <ds@schleef.org>
10197
10198         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10199         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10200
10201 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10202
10203         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10204           fix property
10205         * gst/gstcaps.c:
10206           fix doc string
10207         * po/POTFILES.in:
10208           rename typefind source file
10209
10210 2004-04-28  David Schleef  <ds@schleef.org>
10211
10212         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10213         * win32/GStreamer.vcproj:
10214         * win32/Makefile:
10215         * win32/config.h:
10216         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10217         (_trewinddir), (_ttelldir), (_tseekdir):
10218         * win32/dirent.h:
10219         * win32/gst-inspect.vcproj:
10220         * win32/gst-launch.vcproj:
10221         * win32/gst-register.vcproj:
10222         * win32/gstbytestream.vcproj:
10223         * win32/gstelements.vcproj:
10224         * win32/gstoptimalscheduler.vcproj:
10225         * win32/gstspider.vcproj:
10226         * win32/gtchar.h:
10227         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10228         * win32/mman.h:
10229         * win32/mman.inl:
10230         * win32/msvc71.sln:
10231
10232 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10233
10234         * gst/gst.c: (init_post):
10235         * gst/gstinfo.c:
10236           remove useless _gst_progname stuff
10237         * tools/gst-inspect.c: (print_field), (print_caps):
10238           improve caps output
10239
10240 2004-04-28  David Schleef  <ds@schleef.org>
10241
10242         Disable parsing of a lot of files that aren't part of the
10243         exported API.  Move corresponding template files to old/,
10244         waiting for removal when they don't contain anything
10245         interesting.
10246         * docs/gst/Makefile.am:
10247         * docs/gst/gstreamer-sections.txt:
10248         * docs/gst/tmpl/cothreads.sgml:
10249         * docs/gst/tmpl/cothreads_compat.sgml:
10250         * docs/gst/tmpl/gettext.sgml:
10251         * docs/gst/tmpl/gobject2gtk.sgml:
10252         * docs/gst/tmpl/grammar.tab.sgml:
10253         * docs/gst/tmpl/gst-i18n-app.sgml:
10254         * docs/gst/tmpl/gst-i18n-lib.sgml:
10255         * docs/gst/tmpl/gst_private.sgml:
10256         * docs/gst/tmpl/gstaggregator.sgml:
10257         * docs/gst/tmpl/gstarch.sgml:
10258         * docs/gst/tmpl/gstatomic_impl.sgml:
10259         * docs/gst/tmpl/gstbufferstore.sgml:
10260         * docs/gst/tmpl/gstdata_private.sgml:
10261         * docs/gst/tmpl/gstdisksink.sgml:
10262         * docs/gst/tmpl/gstdisksrc.sgml:
10263         * docs/gst/tmpl/gstelementfactory.sgml:
10264         * docs/gst/tmpl/gstextratypes.sgml:
10265         * docs/gst/tmpl/gstfakesink.sgml:
10266         * docs/gst/tmpl/gstfakesrc.sgml:
10267         * docs/gst/tmpl/gstfdsink.sgml:
10268         * docs/gst/tmpl/gstfdsrc.sgml:
10269         * docs/gst/tmpl/gstfilesink.sgml:
10270         * docs/gst/tmpl/gstfilesrc.sgml:
10271         * docs/gst/tmpl/gsthttpsrc.sgml:
10272         * docs/gst/tmpl/gstidentity.sgml:
10273         * docs/gst/tmpl/gstindexfactory.sgml:
10274         * docs/gst/tmpl/gstmarshal.sgml:
10275         * docs/gst/tmpl/gstmd5sink.sgml:
10276         * docs/gst/tmpl/gstmultidisksrc.sgml:
10277         * docs/gst/tmpl/gstmultifilesrc.sgml:
10278         * docs/gst/tmpl/gstpadtemplate.sgml:
10279         * docs/gst/tmpl/gstpipefilter.sgml:
10280         * docs/gst/tmpl/gstschedulerfactory.sgml:
10281         * docs/gst/tmpl/gstsearchfuncs.sgml:
10282         * docs/gst/tmpl/gstshaper.sgml:
10283         * docs/gst/tmpl/gstspider.sgml:
10284         * docs/gst/tmpl/gstspideridentity.sgml:
10285         * docs/gst/tmpl/gststatistics.sgml:
10286         * docs/gst/tmpl/gsttee.sgml:
10287         * docs/gst/tmpl/gsttimecache.sgml:
10288         * docs/gst/tmpl/gsttypefind.sgml:
10289         * docs/gst/tmpl/gsttypefindfactory.sgml:
10290         * docs/gst/tmpl/gstxmlregistry.sgml:
10291         * docs/gst/tmpl/gthread-cothreads.sgml:
10292         * docs/gst/tmpl/old/cothreads.sgml:
10293         * docs/gst/tmpl/old/cothreads_compat.sgml:
10294         * docs/gst/tmpl/old/gettext.sgml:
10295         * docs/gst/tmpl/old/gobject2gtk.sgml:
10296         * docs/gst/tmpl/old/grammar.tab.sgml:
10297         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10298         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10299         * docs/gst/tmpl/old/gst_private.sgml:
10300         * docs/gst/tmpl/old/gstaggregator.sgml:
10301         * docs/gst/tmpl/old/gstarch.sgml:
10302         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10303         * docs/gst/tmpl/old/gstbufferstore.sgml:
10304         * docs/gst/tmpl/old/gstdata_private.sgml:
10305         * docs/gst/tmpl/old/gstdisksink.sgml:
10306         * docs/gst/tmpl/old/gstdisksrc.sgml:
10307         * docs/gst/tmpl/old/gstelementfactory.sgml:
10308         * docs/gst/tmpl/old/gstextratypes.sgml:
10309         * docs/gst/tmpl/old/gstfakesink.sgml:
10310         * docs/gst/tmpl/old/gstfakesrc.sgml:
10311         * docs/gst/tmpl/old/gstfdsink.sgml:
10312         * docs/gst/tmpl/old/gstfdsrc.sgml:
10313         * docs/gst/tmpl/old/gstfilesink.sgml:
10314         * docs/gst/tmpl/old/gstfilesrc.sgml:
10315         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10316         * docs/gst/tmpl/old/gstidentity.sgml:
10317         * docs/gst/tmpl/old/gstindexfactory.sgml:
10318         * docs/gst/tmpl/old/gstmarshal.sgml:
10319         * docs/gst/tmpl/old/gstmd5sink.sgml:
10320         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10321         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10322         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10323         * docs/gst/tmpl/old/gstpipefilter.sgml:
10324         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10325         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10326         * docs/gst/tmpl/old/gstshaper.sgml:
10327         * docs/gst/tmpl/old/gstspider.sgml:
10328         * docs/gst/tmpl/old/gstspideridentity.sgml:
10329         * docs/gst/tmpl/old/gststatistics.sgml:
10330         * docs/gst/tmpl/old/gsttee.sgml:
10331         * docs/gst/tmpl/old/gsttimecache.sgml:
10332         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10333         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10334         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10335         * docs/gst/tmpl/old/types.sgml:
10336         * docs/gst/tmpl/types.sgml:
10337
10338         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10339         gtkdoc-scan doesn't like files with the same name in different
10340         directories.
10341         * gst/elements/Makefile.am:
10342         * gst/elements/gstelements.c:
10343         * gst/elements/gsttypefind.c: 
10344         * gst/elements/gsttypefind.h:
10345         * gst/elements/gsttypefindelement.c:
10346         * gst/elements/gsttypefindelement.h:
10347
10348 2004-04-28  David Schleef  <ds@schleef.org>
10349
10350         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10351         patch (bug #141317):
10352         * gst/gst-i18n-lib.h: Allow disabling gettext.
10353         * gst/gstatomic_impl.h: disable warning when it's dumb.
10354         * gst/gstclock.c: fix include
10355         * gst/gstcompat.h: fix variadic macro
10356         * gst/gstinfo.c: fix include
10357         * gst/gstmacros.h: add defines for inlines on MSVC
10358         * gst/gstplugin.c: fix includes
10359         * gst/gstregistry.c: fix includes
10360         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10361         * gst/gstsystemclock.c: fix include
10362         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10363         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10364         * gst/registries/gstxmlregistry.c:
10365         (gst_xml_registry_parse_element_factory): fix use of non-portable
10366         functions
10367         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10368         * libs/gst/control/dparammanager.h: same
10369
10370 2004-04-28  David Schleef  <ds@schleef.org>
10371
10372         Move a bunch of unused files to old/ with names that are
10373         not case-insensitive-unique.  These files still contain some
10374         useful information that needs to be merged into gstbin.sgml,
10375         etc., so they shouldn't be deleted yet.
10376         * docs/gst/tmpl/GstBin.sgml:
10377         * docs/gst/tmpl/GstBuffer.sgml:
10378         * docs/gst/tmpl/GstCaps.sgml:
10379         * docs/gst/tmpl/GstClock.sgml:
10380         * docs/gst/tmpl/GstCompat.sgml:
10381         * docs/gst/tmpl/GstData.sgml:
10382         * docs/gst/tmpl/GstElement.sgml:
10383         * docs/gst/tmpl/GstEvent.sgml:
10384         * docs/gst/tmpl/GstIndex.sgml:
10385         * docs/gst/tmpl/GstStructure.sgml:
10386         * docs/gst/tmpl/GstTag.sgml:
10387         * docs/gst/tmpl/old/GstBin.sgml:
10388         * docs/gst/tmpl/old/GstBuffer.sgml:
10389         * docs/gst/tmpl/old/GstCaps.sgml:
10390         * docs/gst/tmpl/old/GstClock.sgml:
10391         * docs/gst/tmpl/old/GstCompat.sgml:
10392         * docs/gst/tmpl/old/GstData.sgml:
10393         * docs/gst/tmpl/old/GstElement.sgml:
10394         * docs/gst/tmpl/old/GstEvent.sgml:
10395         * docs/gst/tmpl/old/GstIndex.sgml:
10396         * docs/gst/tmpl/old/GstStructure.sgml:
10397         * docs/gst/tmpl/old/GstTag.sgml:
10398
10399 2004-04-28  David Schleef  <ds@schleef.org>
10400
10401         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10402         (gst_caps_append), (gst_caps_append_structure),
10403         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10404         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10405         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10406         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10407         (gst_caps_intersect), (gst_caps_normalize),
10408         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10409         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10410         * gst/gstcaps.h: use GST_IS_CAPS().
10411
10412 2004-04-26  David Schleef  <ds@schleef.org>
10413
10414         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10415         assembly.  gcc doesn't handle it correctly. (bug #141083)
10416         * gst/gsttrashstack.h: same
10417
10418 2004-04-25  Benjamin Otte  <otte@gnome.org>
10419
10420         * gst/gstelement.c: (gst_element_change_state):
10421           fix assertion to do an int comparison
10422
10423 2004-04-25  Benjamin Otte  <otte@gnome.org>
10424
10425         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10426           better debugging output on error
10427
10428 2004-04-25  Benjamin Otte  <otte@gnome.org>
10429
10430         * gst/gstcaps.c: (gst_caps_subtract):
10431           fix memleak
10432
10433 2004-04-23  Benjamin Otte  <otte@gnome.org>
10434
10435         * gst/gstvalue.c: (gst_value_compare_buffer),
10436         (_gst_value_initialize):
10437           add comparison function for buffers
10438
10439 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10440
10441         * docs/pwg/pwg.xml:
10442           Just found out that this so-called "ima-wav" format is really
10443           just "dvi adpcm" (according to the MS WAV documentation). So
10444           renaming it. We didn't use it yet anyway.
10445
10446 2004-04-23  Benjamin Otte  <otte@gnome.org>
10447
10448         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10449           call gst_caps_is_subset
10450
10451 2004-04-23  Benjamin Otte  <otte@gnome.org>
10452
10453         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10454         (gst_caps_is_subset):
10455           add documentation
10456
10457 2004-04-23  Benjamin Otte  <otte@gnome.org>
10458           
10459         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10460         (gst_caps_structure_subtract), (gst_caps_subtract),
10461         (gst_caps_structure_figure_out_union),
10462         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10463           fix simplifying and subtracting not working correctly with optional
10464           properties
10465           solve assorted problems that make it now simplify ebven more
10466         * docs/gst/tmpl/gstcaps.sgml:
10467         * gst/gstcaps.h:
10468           make gst_caps_do_simplify return a bool to indicate if it simplified
10469         * testsuite/caps/simplify.c: (main):
10470           add more checks. The tests is quite a bit useless right now because
10471           the core is heavily simplifying itself.
10472         * testsuite/caps/caps.h:
10473           fix caps to contain all optional properties
10474
10475 2004-04-22  Benjamin Otte  <otte@gnome.org>
10476
10477         * docs/gst/tmpl/gstcaps.sgml:
10478         * docs/gst/tmpl/gstfilesrc.sgml:
10479         * docs/gst/tmpl/gststructure.sgml:
10480         * docs/gst/tmpl/gstvalue.sgml:
10481           update for recent API changes
10482         * gst/gstcaps.c: (gst_caps_do_simplify):
10483           fix to stop trying with a freed structure
10484         * gst/gstpad.c: (gst_pad_link_fixate):
10485           simplify caps
10486         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10487           remove C++ comment
10488         * gst/gstpad.h:
10489           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10490         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10491         (gst_structure_to_string):
10492           keep the correct type when using lists of ranges
10493         * gst/gstvalue.c: (gst_value_list_prepend_value),
10494         (gst_value_list_append_value):
10495           copy the value before adding to the list (d'oh)
10496         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10497         (gst_value_subtract_int_range_int_range):
10498           handle overflows correctly
10499         * gst/gstvalue.c: (gst_value_subtract_from_list):
10500           fix memleak
10501         * testsuite/caps/caps.h:
10502           add a caps that caused segfaults
10503
10504 2004-04-22  Benjamin Otte  <otte@gnome.org>
10505
10506         * testsuite/refcounting/pad.c: (main):
10507           fix test
10508
10509 2004-04-22  Benjamin Otte  <otte@gnome.org>
10510
10511         * gst/gstcaps.c: (gst_caps_subtract):
10512           allow subtracting ANY and EMPTY from ANY caps
10513
10514 2004-04-22  Benjamin Otte  <otte@gnome.org>
10515
10516         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10517         (gst_caps_union):
10518           only simplify in functions that create new caps. Simplifying in
10519           gst_caps_append breaks tests.
10520
10521 2004-04-22  Benjamin Otte  <otte@gnome.org>
10522
10523         * gst/gstcaps.c: (gst_caps_structure_simplify):
10524           unset GValue after use
10525         * gst/gstcaps.c: (gst_caps_append), 
10526         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10527           use gst_caps_simplify (reduces registry size by 30%)
10528         * gst/gstpad.c: (gst_pad_template_new):
10529           don't allow NULL caps
10530
10531 2004-04-22  Benjamin Otte  <otte@gnome.org>
10532
10533         * docs/gst/gstreamer-sections.txt:
10534           add gst_caps_do_simplify
10535         * gst/gstcaps.c:
10536           add documentation for gst_caps_do_simplify
10537         * gst/gstvalue.h:
10538           fix typo in gst_value_register_subtract_func declaration for gst-doc
10539
10540 2004-04-22  Benjamin Otte  <otte@gnome.org>
10541
10542         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10543           fix bug when converting from empty string.
10544         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10545         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10546           use gst_caps_new_empty to allocate a new caps. Only that function
10547           allocates memory for caps now.
10548         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10549         (gst_caps_remove_structure):
10550           add ability to remove one structure (but not to header yet)
10551         * gst/gstcaps.c: (gst_caps_compare_structures),
10552         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10553         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10554         * gst/gstcaps.h:
10555           add gst_caps_do_simplify that tries to simplify a caps in place.
10556           Deprecate old gst_caps_simplify function.
10557         * testsuite/caps/caps.h:
10558           add caps.h containing a common set of caps to test against.
10559         * testsuite/caps/sets.c: (check_caps), (main):
10560           use it.
10561         * testsuite/caps/.cvsignore:
10562         * testsuite/caps/Makefile.am:
10563         * testsuite/caps/simplify.c: (check_caps), (main):
10564           add test to check correctness and efficency of caps simplification.
10565
10566 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10567
10568         reviewed by Benjamin Otte  <otte@gnome.org>
10569
10570         * gst/gstparse.c: (_gst_parse_escape):
10571           Free the GString used in _gst_parse_escape()
10572
10573 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10574
10575         * gst/gstpad.c: (gst_pad_link_negotiate):
10576           refuse to link if the link is not possible
10577         * configure.ac:
10578         * testsuite/Makefile.am:
10579         * testsuite/negotiation/.cvsignore:
10580         * testsuite/negotiation/Makefile.am:
10581         * testsuite/negotiation/pad_link.c: (main):
10582           add test that checks the above behaviour
10583
10584 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10585
10586         * docs/gst/gstreamer-sections.txt:
10587           add newly added API
10588
10589 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10592         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10593         (gst_filesrc_open_file), (gst_filesrc_close_file),
10594         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10595         * gst/elements/gstfilesrc.h:
10596           add support for non-regular files (#140734)
10597
10598 2004-04-21  Benjamin Otte  <otte@gnome.org>
10599
10600         * gst/gstpad.c: (gst_pad_link_fixate):
10601           add sophisticated error checking code to see if fixation functions
10602           did their fixation right
10603
10604 2004-04-21  Benjamin Otte  <otte@gnome.org>
10605
10606         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10607           check for ANY caps before appending/unioning
10608         * gst/gstcaps.c: (gst_caps_is_subset),
10609         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10610         (gst_caps_structure_subtract), (gst_caps_subtract):
10611         * gst/gstcaps.h:
10612           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10613           the API. deprecate gst_caps_is_equal_fixed
10614         * gst/gstpad.c: (gst_pad_try_set_caps):
10615         * gst/gstqueue.c: (gst_queue_link):
10616           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10617         * gst/gststructure.c: (gst_structure_get_name_id):
10618         * gst/gststructure.h:
10619           add function gst_structure_get_name_id
10620         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10621         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10622         (gst_value_subtract_int_range_int_range),
10623         (gst_value_subtract_double_double_range),
10624         (gst_value_subtract_double_range_double),
10625         (gst_value_subtract_double_range_double_range),
10626         (gst_value_subtract_from_list), (gst_value_subtract_list),
10627         (gst_value_can_intersect), (gst_value_subtract),
10628         (gst_value_can_subtract), (gst_value_register_subtract_func),
10629         (_gst_value_initialize):
10630         * gst/gstvalue.h:
10631           add support for subtracting values from each other. Note that
10632           subtracting means subtracting as in set theory. Required for caps
10633           stuff above.
10634         * testsuite/caps/.cvsignore:
10635         * testsuite/caps/Makefile.am:
10636         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10637         * testsuite/caps/sets.c: (check_caps), (main):
10638         * testsuite/caps/subtract.c: (check_caps), (main):
10639           add tests for subtraction and equality code.
10640
10641 2004-04-20  David Schleef  <ds@schleef.org>
10642
10643         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10644         * gst/indexers/Makefile.am:
10645         * gst/schedulers/Makefile.am:
10646         * libs/gst/bytestream/Makefile.am:
10647         * libs/gst/control/Makefile.am:
10648         * libs/gst/getbits/Makefile.am:
10649
10650 2004-04-20  David Schleef  <ds@schleef.org>
10651
10652         * common/as-libtool.mak: Fine-tune DLL building.
10653         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10654         (like gst-plugins)
10655         * examples/plugins/Makefile.am: remove plugindir
10656         * gst/autoplug/Makefile.am: DLL building fixes
10657         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10658         Windows.
10659         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10660         * gst/indexers/Makefile.am: DLL building fixes
10661         * gst/schedulers/Makefile.am: DLL building fixes.
10662         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10663         * libs/gst/control/Makefile.am: same
10664         * libs/gst/getbits/Makefile.am: same
10665         * testsuite/Makefile.am: New dlopen directory
10666         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10667         when dlopened.
10668         * testsuite/dlopen/dlopen_gst.c: (main): same
10669         * testsuite/dlopen/loadgst.c: (do_test): same
10670
10671 2004-04-20  David Schleef  <ds@schleef.org>
10672
10673         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10674         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10675
10676 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10677
10678         * gst/gstelement.c: (gst_element_wait),
10679         (gst_element_set_time_delay), (gst_element_change_state):
10680           Use GST_TIME_*
10681
10682 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10683
10684         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10685         (gst_spider_identity_plug):
10686           improve debugging messages
10687         * gst/gstbin.c: (gst_bin_remove_func):
10688           make sure the state_change function is only called with simple state
10689           transitions
10690
10691 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10694         (gst_fakesink_set_property), (gst_fakesink_chain):
10695         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10696         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10697         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10698         * gst/elements/gstidentity.c: (gst_identity_chain),
10699         (gst_identity_set_property):
10700         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10701         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10702           add warnings to _set_property for unknown arguments
10703           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10704
10705 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10706
10707         * Makefile.am:
10708         * docs/manuals.mak:
10709           add .po file download snippet
10710           fix a bug in the doc makefile
10711
10712 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10713
10714         * Makefile.am:
10715         * po/LINGUAS:
10716         * po/en_GB.po:
10717           Added en_GB translation (Gareth Owen)
10718
10719 2004-04-20  Johan Dahlin  <johan@gnome.org>
10720
10721         * gst/gstpad.c (_invent_event): Clean up
10722
10723 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10724
10725         * testsuite/caps/filtercaps.c: (main):
10726           fix test to test things correctly (caps are complicated)
10727
10728 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10729
10730         * testsuite/caps/Makefile.am:
10731         * testsuite/caps/filtercaps.c: (main):
10732           add test (that doesn't work right now, but should)
10733
10734 2004-04-19  David Schleef  <ds@schleef.org>
10735
10736         * configure.ac: Add test for allowing unaligned access.  Add define
10737         to put in gstconfig.h.
10738         * docs/gst/gstreamer-sections.txt: New symbols
10739         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10740         * docs/gst/tmpl/gstfilesrc.sgml:
10741         * docs/gst/tmpl/gstparse.sgml:
10742         * docs/gst/tmpl/gsttypes.sgml:
10743         * docs/gst/tmpl/gstutils.sgml:
10744         * docs/gst/tmpl/gstvalue.sgml:
10745         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10746         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10747         on most !i386/!powerpc architectures.  From Daniel Gazard
10748         <daniel.gazard@free.fr>.  (bug #140156)
10749         * po/af.po: Check in changes made by gettext.
10750         * po/az.po:
10751         * po/fr.po:
10752         * po/nl.po:
10753         * po/sr.po:
10754         * po/sv.po:
10755
10756 2004-04-20  Benjamin Otte  <otte@gnome.org>
10757
10758         * gst/schedulers/entryscheduler.c: 
10759         (gst_entry_scheduler_yield):
10760           refuse to yield when decoupled elements insist on doing that.
10761           At least it's better than crashing
10762
10763 2004-04-19  David Schleef  <ds@schleef.org>
10764
10765         * docs/libs/Makefile.am: Change sinclude to include
10766         * docs/gst/Makefile.am: same
10767         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10768
10769 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10770
10771         * po/LINGUAS:
10772         * po/uk.po:
10773           Added Ukrainian translation (Maxim V. Dziumanenko)
10774
10775 2004-04-19  Johan Dahlin  <johan@gnome.org>
10776
10777         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10778         checking here, do it before calling the function.
10779         Clean up, use for loops instead of while loops while iterating
10780         over lists.
10781
10782         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10783         in debug message.
10784         (gst_spider_create_and_plug): Improve debug message.
10785         General: Replace while loops which iterates over GLists with for
10786         loops. Which are much cleaner, improves readability, especially
10787         for gst_spider_identity_plug
10788
10789         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10790         fixes bug 140477
10791
10792 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10793
10794         * po/LINGUAS:
10795         * po/tr.po:
10796           Added Turkish translation (Baris Cicek)
10797
10798 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10799
10800         * docs/faq/troubleshooting.xml:
10801           Mention gst-register in the FAQ (fixes 139045).
10802
10803 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10804
10805         * docs/gst/gstreamer-sections.txt:
10806
10807 2004-04-17  Benjamin Otte  <otte@gnome.org>
10808
10809         * gst/gstelement.c: (gst_element_dispose):
10810           simplify
10811         * gst/gstpad.c: (gst_pad_call_chain_function):
10812           don't create loads of events due to bad macro usage
10813
10814 2004-04-16  David Schleef  <ds@schleef.org>
10815
10816         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10817         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10818         * gst/gstvalue.c: (gst_value_serialize_buffer),
10819         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10820         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10821         to indicate types that are fixed wrt caps or not.  Switching to
10822         this function fixes (bug #140298).
10823         * gst/gstvalue.h:
10824
10825 2004-04-16  David Schleef  <ds@schleef.org>
10826
10827         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10828         for GST_UNALIGNED_ACESS, since we essentially know which archs
10829         are ok.
10830
10831 2004-04-17  Benjamin Otte  <otte@gnome.org>
10832
10833         * docs/gst/Makefile.am:
10834           ignore gst/parse directory when building docs (fixes #140205)
10835
10836 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * testsuite/refcounting/mem.c: (vmsize):
10839           do error checking
10840
10841 2004-04-16  Johan Dahlin  <johan@gnome.org>
10842
10843         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10844         and gst_pad_call_get_function.
10845
10846 2004-04-15  David Schleef  <ds@schleef.org>
10847
10848         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10849         checks if we can access unaligned memory.
10850         * configure.ac: Use it.
10851
10852 2004-04-16  Benjamin Otte  <otte@gnome.org>
10853
10854         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10855         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10856         * gst/elements/gstfilesrc.h:
10857           s/seek_happened/need_discont/ and require discont before sending any
10858           data
10859
10860 2004-04-15  David Schleef  <ds@schleef.org>
10861
10862         * gst/gstvalue.c: (gst_value_serialize_buffer),
10863         (gst_value_deserialize_buffer), (_gst_value_initialize):
10864         Register these types as fundamental types. (bug #140015)
10865
10866 2004-04-16  Benjamin Otte  <otte@gnome.org>
10867
10868         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10869         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10870         (gst_pad_pull):
10871           implement enforcing discont events before buffers are passed. This
10872           allows state changes of only some elements and later correctly going
10873           on where they left off (or in short: you can now set audio sinks to
10874           NULL to release the device when the pipeline is paused)
10875         * gst/gstpad.c: (gst_pad_call_chain_function),
10876         (gst_pad_call_get_function):
10877         * gst/gstpad.h:
10878           add gst_pad_call_chain_function and gst_pad_call_get_function for
10879           scheduler interaction. They are required because of the changes
10880           above.
10881         * gst/schedulers/entryscheduler.c: (get_buffer),
10882         (gst_entry_scheduler_chain_wrapper),
10883         (gst_entry_scheduler_get_wrapper),
10884         (gst_entry_scheduler_state_transition),
10885         (gst_entry_scheduler_pad_link):
10886         * gst/schedulers/gstbasicscheduler.c:
10887         (gst_basic_scheduler_chain_wrapper),
10888         (gst_basic_scheduler_src_wrapper),
10889         (gst_basic_scheduler_chainhandler_proxy),
10890         (gst_basic_scheduler_gethandler_proxy),
10891         (gst_basic_scheduler_cothreaded_chain),
10892         (gst_basic_scheduler_chain_elements):
10893         * gst/schedulers/gstoptimalscheduler.c:
10894         (get_group_schedule_function), (pad_clear_queued),
10895         (gst_opt_scheduler_pad_link):
10896           use the new functions instead of calling get/chain-functions
10897           directly.
10898
10899 2004-04-15  David Schleef  <ds@schleef.org>
10900
10901         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10902         * docs/gst/tmpl/gstinfo.sgml: same
10903         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10904         gtk-doc put here.
10905         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10906         * examples/queue/queue.c: (main):  We iterate pipelines, not
10907         bins.  (bug #139996)
10908
10909 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10910
10911         * docs/pwg/advanced-types.xml:
10912           Add MS RLE support. Also document Qt RLE although I have no sample
10913           files for that yet. And document an extra property for ADPCM.
10914
10915 2004-04-15  David Schleef  <ds@schleef.org>
10916
10917         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10918         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10919         Windows.
10920
10921 2004-04-15  David Schleef  <ds@schleef.org>
10922
10923         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10924         symbol names to not conflict with new gstinfo.h symbols.
10925         * gst/gstinfo.h: Add inline functions for all those crazy
10926         compilers that don't know how to handle variadic macros (MSVC).
10927
10928 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10929
10930         * configure.ac: bump nano to 1
10931
10932 === release 0.8.1 ===
10933
10934 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * NEWS:
10937         * RELEASE:
10938         * configure.ac:
10939           releasing 0.8.1, "Snow Brigade"
10940
10941 2004-04-14  David Schleef  <ds@schleef.org>
10942
10943         * testsuite/Makefile.am: define tests_ignore
10944         * testsuite/Rules: Added new tests_ignore, which get compiled,
10945         but not run (generally because they're inconsistent or have
10946         heisenbugs).  Now we can ensure all the .c files compile in
10947         testsuite/.
10948         * testsuite/bins/Makefile.am: define tests_ignore
10949         * testsuite/bytestream/Makefile.am:
10950         * testsuite/caps/Makefile.am:
10951         * testsuite/clock/Makefile.am:
10952         * testsuite/debug/Makefile.am:
10953         * testsuite/debug/global.c: (gst_debug_log_one),
10954         (gst_debug_log_two): Fix compilation problem.
10955         * testsuite/dynparams/Makefile.am:
10956         * testsuite/elements/Makefile.am:
10957         * testsuite/ghostpads/Makefile.am:
10958         * testsuite/indexers/Makefile.am:
10959         * testsuite/parse/Makefile.am:
10960         * testsuite/plugin/Makefile.am:
10961         * testsuite/refcounting/Makefile.am:
10962         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10963         results, because it's not calculated correctly.
10964         * testsuite/refcounting/pad.c: (main): same
10965         * testsuite/states/Makefile.am:
10966         * testsuite/tags/Makefile.am:
10967         * testsuite/threads/Makefile.am:
10968
10969 2004-04-14  David Schleef  <ds@schleef.org>
10970
10971         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10972         generating bad code around the cpu detection asm code.
10973
10974 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10975
10976         * tools/gst-inspect.c: (print_element_info):
10977           print numeric version of rank as well, since we added some - 1
10978           rank values to elements
10979
10980 2004-04-13  David Schleef  <ds@schleef.org>
10981
10982         * configure.ac:  Disable various code when compiling for MinGW.
10983         * gst/elements/Makefile.am:
10984         * gst/elements/gstelements.c:
10985         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10986         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10987         * gst/registries/gstxmlregistry.c: (make_dir):
10988
10989 2004-04-13  David Schleef  <ds@schleef.org>
10990
10991         * gst/Makefile.am:
10992         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10993         assembly.
10994         * gst/gstcpuid_i386.s: remove
10995
10996 2004-04-13  David Schleef  <ds@schleef.org>
10997
10998         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10999         seems to think it needs to be done.
11000         * docs/gst/tmpl/gstfakesink.sgml:
11001         * docs/gst/tmpl/gstfakesrc.sgml:
11002         * docs/gst/tmpl/gstfdsink.sgml:
11003         * docs/gst/tmpl/gstfdsrc.sgml:
11004         * docs/gst/tmpl/gstfilesink.sgml:
11005         * docs/gst/tmpl/gstfilesrc.sgml:
11006         * docs/gst/tmpl/gstidentity.sgml:
11007         * docs/gst/tmpl/gstmd5sink.sgml:
11008         * docs/gst/tmpl/gstmultifilesrc.sgml:
11009         * docs/gst/tmpl/gstpipefilter.sgml:
11010         * docs/gst/tmpl/gstshaper.sgml:
11011         * docs/gst/tmpl/gstspider.sgml:
11012         * docs/gst/tmpl/gstspideridentity.sgml:
11013         * docs/gst/tmpl/gststatistics.sgml:
11014         * docs/gst/tmpl/gsttee.sgml:
11015         * docs/gst/tmpl/gsttypefind.sgml:
11016         * docs/gst/tmpl/gstutils.sgml:
11017
11018 2004-04-13  David Schleef  <ds@schleef.org>
11019
11020         * configure.ac: Changes to remove POSIXisms (mmap in this case)
11021         and to build DLLs on Windows.
11022         * gst/Makefile.am:
11023         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11024         (gst_filesrc_open_file):
11025         * gst/schedulers/Makefile.am:
11026
11027 2004-04-13  David Schleef  <ds@schleef.org>
11028
11029         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
11030         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
11031         fixating lists.
11032
11033 2004-04-12  David Schleef  <ds@schleef.org>
11034
11035         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11036         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
11037         to using it.
11038         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
11039         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
11040         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
11041         * gst/gststructure.c: (gst_structure_set_valist),
11042         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
11043         support for buffers.
11044         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
11045         intended to be const.
11046         * gst/gsttag.h: same
11047         * gst/gstvalue.c: (gst_value_serialize_buffer),
11048         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
11049         to (de)serialize buffers.
11050         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
11051         * testsuite/caps/string-conversions.c: (main):
11052         * testsuite/caps/value_serialize.c: add new test
11053
11054 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11055
11056         * docs/pwg/advanced-types.xml:
11057           Document MS video 1 (video/x-msvideocodec) mimetype/format.
11058
11059 2004-04-11  Benjamin Otte  <otte@gnome.org>
11060
11061         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
11062           rename categories to basic_*
11063         * gst/schedulers/gstbasicscheduler.c: 
11064         (gst_basic_scheduler_chain_wrapper),
11065         (gst_basic_scheduler_chainhandler_proxy),
11066         (gst_basic_scheduler_gethandler_proxy),
11067         (gst_basic_scheduler_eventhandler_proxy):
11068           debugging category fixes - put common stuff in log category
11069         * gst/schedulers/gstbasicscheduler.c: 
11070         (gst_basic_scheduler_chain_elements):
11071           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
11072           active and linking two active chains
11073
11074 2004-04-10  Benjamin Otte  <otte@gnome.org>
11075
11076         * docs/pwg/intro-preface.xml:
11077           fix dead links and remove reference to Wiki
11078
11079 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11080
11081         * gst/schedulers/gstbasicscheduler.c:
11082           make sure we can switch back to the main function if we're still in
11083           the main function (supposed to fix #139617)
11084         * gst/schedulers/gthread-cothreads.h:
11085           don't throw an error when switching to the same cothread
11086
11087 2004-04-09  Benjamin Otte  <otte@gnome.org>
11088
11089         * gst/gstbin.c: (gst_bin_get_type):
11090         * gst/gstclock.c: (gst_clock_get_type):
11091         * gst/gstindex.c: (gst_index_get_type):
11092         * gst/gstobject.c: (gst_object_get_type),
11093         (gst_signal_object_get_type):
11094         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
11095         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
11096         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
11097         * gst/gstqueue.c: (gst_queue_get_type):
11098         * gst/gstregistry.c: (gst_registry_get_type):
11099         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11100         * gst/gstthread.c: (gst_thread_get_type):
11101           don't use memchunks for these objects, use malloc instead
11102
11103 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11104
11105         * docs/gst/.cvsignore:
11106         * docs/gst/Makefile.am:
11107         * docs/gst/gstreamer-sections.txt:
11108         * docs/gst/tmpl/gstaggregator.sgml:
11109         * docs/gst/tmpl/gstbuffer.sgml:
11110         * docs/gst/tmpl/gstclock.sgml:
11111         * docs/gst/tmpl/gstelement.sgml:
11112         * docs/gst/tmpl/gstfakesink.sgml:
11113         * docs/gst/tmpl/gstfakesrc.sgml:
11114         * docs/gst/tmpl/gstfdsink.sgml:
11115         * docs/gst/tmpl/gstfdsrc.sgml:
11116         * docs/gst/tmpl/gstfilesink.sgml:
11117         * docs/gst/tmpl/gstfilesrc.sgml:
11118         * docs/gst/tmpl/gstidentity.sgml:
11119         * docs/gst/tmpl/gstindex.sgml:
11120         * docs/gst/tmpl/gstinfo.sgml:
11121         * docs/gst/tmpl/gstmd5sink.sgml:
11122         * docs/gst/tmpl/gstmultifilesrc.sgml:
11123         * docs/gst/tmpl/gstpad.sgml:
11124         * docs/gst/tmpl/gstpipefilter.sgml:
11125         * docs/gst/tmpl/gstpipeline.sgml:
11126         * docs/gst/tmpl/gstpluginfeature.sgml:
11127         * docs/gst/tmpl/gstqueue.sgml:
11128         * docs/gst/tmpl/gstregistry.sgml:
11129         * docs/gst/tmpl/gstscheduler.sgml:
11130         * docs/gst/tmpl/gstshaper.sgml:
11131         * docs/gst/tmpl/gstspider.sgml:
11132         * docs/gst/tmpl/gstspideridentity.sgml:
11133         * docs/gst/tmpl/gststatistics.sgml:
11134         * docs/gst/tmpl/gstsystemclock.sgml:
11135         * docs/gst/tmpl/gsttee.sgml:
11136         * docs/gst/tmpl/gstthread.sgml:
11137         * docs/gst/tmpl/gsttypefind.sgml:
11138         * docs/gst/tmpl/gstutils.sgml:
11139           further doc build fixes
11140
11141 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11142
11143         * docs/gst/Makefile.am:
11144           make docs exit on scanning problems
11145           fix nonsrcdir build issues
11146         * docs/gst/gstreamer-sections.txt:
11147           adding stuff from -unused
11148         * gst/gstqueue.h:
11149           create GstQueueSize
11150         * gst/schedulers/cothreads_compat.h:
11151           fix cothread warnings
11152
11153 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * docs/gst/gstreamer-sections.txt:
11156           remove defines deprecated by Benjamin
11157
11158 2004-04-07  Benjamin Otte  <otte@gnome.org>
11159
11160         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11161           when the buffer is complete, don't check if other buffers are needed
11162         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11163           check that the offset is >0 so we don't try to read before the
11164           beginning of the file
11165         * gst/gstpad.c: (gst_pad_set_pad_template):
11166           sink the template, so we don't end up with 130k pad templates
11167
11168 2004-04-06  Benjamin Otte  <otte@gnome.org>
11169
11170         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11171           don't ref the element, adding already reffed it. And we didn't unref
11172           it later anyway... (huge memleak when you used many spider elements)
11173         * gst/gstelement.c: (gst_element_base_class_finalize):
11174         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11175         (gst_element_register):
11176         * gst/gsturi.c: (gst_element_make_from_uri):
11177           use gst_object_(un)ref instead of g_object(un)ref
11178
11179 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11180
11181         * gst/gstbuffer.h:
11182           remove macro that wouldn't work anymore because struct member has
11183           been removed.
11184         * gst/schedulers/entryscheduler.c: (schedule_forward):
11185           fix segfault for unconnected pads
11186         
11187 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11188
11189         reviewed by David Schleef <ds@schleef.org>
11190
11191         * gst/gstinfo.h:
11192           *_FORMAT modifiers should require putting a % in front of them for
11193           consistency reasons.
11194
11195 2004-04-05  Colin Walters  <walters@redhat.com>
11196
11197         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11198         space.
11199
11200 2004-04-05  Benjamin Otte  <otte@gnome.org>
11201
11202         * configure.ac:
11203         * gst/Makefile.am:
11204         * gst/gst_private.h:
11205         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11206           add support for detecting if GStreamer runs inside valgrind.
11207           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11208           print a big message in valgrind that GStreamer has detected it's
11209           running inside and might now use different code.
11210         * gst/gstmemchunk.c: (populate), (free_area),
11211         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11212         (gst_mem_chunk_free):
11213           flag memchunks for valgrind, so it can detect leaking of chunks.
11214           This allows detecting leaks of GstBuffer and GstEvent correctly
11215           inside valgrind.
11216
11217 2004-04-05  David Schleef  <ds@schleef.org>
11218
11219         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11220           jensgr@gmx.net (Jens Granseuer)
11221
11222 2004-04-05  David Schleef  <ds@schleef.org>
11223
11224         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11225         (gst_buffer_default_free), (gst_buffer_default_copy),
11226         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11227         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11228         structures in one place.
11229
11230 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11231
11232         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11233           (GST_TIME_FORMAT, GST_TIME_ARGS)
11234
11235 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * testsuite/elements/Makefile.am:
11238           disable test until it stops breaking make distcheck
11239
11240 2004-04-05  Johan Dahlin  <johan@gnome.org>
11241
11242         * po/sv.po: Updated translation
11243
11244 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11245
11246         * gst/gstplugin.c: (gst_plugin_load_file):
11247           fix segfault for when original plugin was loaded statically
11248
11249 2004-04-05  Benjamin Otte  <otte@gnome.org>
11250
11251         * testsuite/debug/category.c: (main):
11252         * testsuite/debug/commandline.c: (main):
11253         * testsuite/debug/output.c: (main):
11254           fix tests to work again with debugging enabled
11255
11256 2004-04-05  Benjamin Otte  <otte@gnome.org>
11257
11258         * gst/schedulers/gstbasicscheduler.c:
11259         (gst_basic_scheduler_pad_link):
11260           fix to work with recent scheduling changes
11261
11262 2004-04-05  Benjamin Otte  <otte@gnome.org>
11263
11264         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11265         prepareChangeLog doesn't work when cvs indents):
11266           don't throw an error when no element can be scheduled, there's too
11267           many weird reasons why it doesn't work. Return STOPPED instead.
11268           decoupled elemts' schedulability doesn't depend on bufpens.
11269
11270 2004-04-04  Benjamin Otte  <otte@gnome.org>
11271
11272         * gst/schedulers/gstbasicscheduler.c:
11273         (gst_basic_scheduler_pad_select):
11274           fix uninitialized variable warnings
11275
11276 2004-04-04  Benjamin Otte  <otte@gnome.org>
11277
11278         * gst/gstpad.c: (gst_pad_collect_valist):
11279           fix uninitialized variable warning
11280         * gst/schedulers/entryscheduler.c: (schedule_forward):
11281           fix shadowed variable
11282
11283 2004-04-04  Benjamin Otte  <otte@gnome.org>
11284
11285         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11286         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11287         (gst_pad_select):
11288         * gst/gstpad.h:
11289         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11290         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11291         * gst/gstscheduler.h:
11292           implement gst_pad_collect as replacement for gst_pad_select.
11293           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11294           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11295           new pad_select, lock and unlock calls.
11296         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11297         * gst/cothreads.h:
11298         * gst/schedulers/cothreads_compat.h:
11299         * gst/schedulers/gthread-cothreads.h:
11300           remove unused cothread_lock and cothread_unlock calls
11301         * gst/schedulers/entryscheduler.c:
11302         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11303         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11304         (gst_entry_scheduler_pad_select):
11305           update to new API
11306         * gst/schedulers/gstbasicscheduler.c:
11307         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11308         (gst_basic_scheduler_pad_select):
11309           remove useless lock and unlock calls, update pad_select to new API
11310           (untested)
11311         * gst/schedulers/gstoptimalscheduler.c:
11312         (gst_opt_scheduler_class_init):
11313           remove useless select, lock and unlock function calls
11314         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11315           use gst_pad_collect instead of gst_pad_select
11316
11317 2004-04-04  Benjamin Otte  <otte@gnome.org>
11318
11319         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11320         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11321         (schedule_next_element), (print_entry):
11322           add can_schedule_pad to handle element states.
11323           add schedule_forward to select the correct entry to schedule next
11324
11325 2004-04-03  Benjamin Otte  <otte@gnome.org>
11326
11327         * gst/schedulers/entryscheduler.c: 
11328           remove unused variable, fix error inside Rb, fix compile warning in
11329           unreachable code
11330
11331 2004-04-03  Benjamin Otte  <otte@gnome.org>
11332
11333         * gst/schedulers/entryscheduler.c:
11334           completely revamp the inner workings, so it's a lot easier to
11335           understand and extend
11336
11337 2004-04-03  Andy Wingo  <wingo@pobox.com>
11338
11339         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11340         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11341         This allows better introspection of pipeline topology.
11342         (add_to_chain): Don't do trickery to put loop elements first;
11343         rather, queue a chain sort by marking the chain as dirty.
11344         (remove_from_chain): Mark the chain dirty.
11345         (sort_chain): New function. Sorts the group list so that terminal
11346         sinks are first. This means elements on the sink side will be
11347         preferentially sscheduled before elements on the src side of the
11348         pipeline.
11349         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11350         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11351         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11352         (group_inc_link): Change argument and variable names to match the
11353         new link structure member names (src and sink).
11354         (group_dec_link): Add some description
11355
11356 2004-04-03  Benjamin Otte  <otte@gnome.org>
11357
11358         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11359         * gst/gstinfo.h:
11360         * testsuite/debug/category.c: (main):
11361         * testsuite/debug/commandline.c: (main):
11362         * testsuite/debug/output.c: (main):
11363         * testsuite/debug/printf_extension.c: (main):
11364           fix to successfully build and test with --disable-gst-debug
11365           configure switch (fixes #138705)
11366
11367 2004-04-03  Benjamin Otte  <otte@gnome.org>
11368
11369         * docs/pwg/building-boiler.xml:
11370           add cvs login line and s/anonymous/anoncvs/
11371
11372 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11373
11374         reviewed by Benjamin Otte  <otte@gnome.org>
11375
11376         * gst/gststructure.c: (gst_structure_free):
11377           memleak fix: free fields array (partial fix for #134839)
11378
11379 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11380
11381         * docs/random/ds/0.9-suggested-changes:
11382           Add a note to change handoff use in fakesrc to be usable in
11383           a more generic way (fakesrc should be renamed to appsrc or so).
11384         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11385           Change signal type to scope, so we can fill the buffer in the
11386           handoff handler (that's the whole use of this signal...).
11387
11388 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11389
11390         * docs/pwg/other-ntoone.xml:
11391           Document muxers and n-to-1 elements.
11392
11393 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11394
11395         * gst/registries/gstxmlregistry.c
11396         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11397         determine if a file is a G_MODULE. The old one discards paths
11398         containing "so" somewhere in the middle. My home directory is
11399         called "soto". Go figure...
11400
11401 2004-03-31  David Schleef  <ds@schleef.org>
11402
11403         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11404         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11405         * gst/gstbuffer.h:
11406
11407 2004-03-31  David Schleef  <ds@schleef.org>
11408
11409         * gst/gstvalue.c: (gst_value_union_int_int_range),
11410         (gst_value_union_int_range_int_range), (gst_value_can_union),
11411         (gst_value_union), (_gst_value_initialize):  Add some union
11412         implementations.  We didn't have any previously.
11413         * testsuite/caps/Makefile.am:
11414         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11415         (gst_audioscale_getcaps), (test_caps), (main): A little test
11416         that is the same as the caps manipulation in audioscale.
11417
11418 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11419
11420         * docs/faq/general.xml:
11421           add entry about "does gst support format X?"
11422
11423 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11424
11425         * gst/gstthread.c:
11426           fix docs
11427         * gst/gstutils.h:
11428           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11429
11430 2004-03-30  Benjamin Otte  <otte@gnome.org>
11431
11432         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11433           set the offset of the buffer to the requested offset
11434         * gst/elements/gsttypefind.c: (stop_typefinding):
11435           revert patch 1.18 (which I unfortunately don't know the reason for).
11436           This is needed to allow downstream elements to seek. Otherwise
11437           typefind might overwrite a previous seek by downstream elements.
11438           This lead to errors with id3tag and typefind on some mp3s.
11439         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11440         (gst_entry_scheduler_iterate):
11441           be more verbose when debugging
11442
11443 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11444
11445         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11446           make sure we don't get NULL strings
11447
11448 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11449
11450         * gst/gstcaps.c:
11451         * gst/gstelement.c:
11452         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11453         * gst/gstindex.c: (gst_index_resolver_get_type),
11454         (gst_index_get_type), (gst_index_factory_get_type):
11455         * gst/gstinfo.c:
11456         * gst/gstpad.c:
11457         * gst/gstplugin.c:
11458         * gst/gsturi.c: (gst_uri_handler_get_type):
11459         * gst/gstvalue.c:
11460           first batch of documentation fixes
11461
11462 2004-03-29  David Schleef  <ds@schleef.org>
11463
11464         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11465         * docs/gst/gstreamer-docs.sgml:  More hacking
11466         * docs/gst/gstreamer-sections.txt:
11467         * docs/gst/tmpl/cothreads_compat.sgml:
11468         * docs/gst/tmpl/gstcaps.sgml:
11469         * docs/gst/tmpl/gstclock.sgml:
11470         * docs/gst/tmpl/gstelement.sgml:
11471         * docs/gst/tmpl/gstevent.sgml:
11472         * docs/gst/tmpl/gstpad.sgml:
11473         * docs/gst/tmpl/gstutils.sgml:
11474         * docs/gst/tmpl/gstxml.sgml:
11475         * docs/gst/tmpl/gthread-cothreads.sgml:
11476         * docs/random/ds/0.9-suggested-changes:
11477         * gst/elements/gstfakesink.h: doc fixes
11478         * gst/elements/gstfakesrc.h: doc fixes
11479         * gst/gstcaps.c: doc fixes
11480         * gst/gstcaps.h: doc fixes
11481         * gst/gstelement.c: doc fixes
11482         * gst/gstelement.h: doc fixes
11483         * gst/gstindex.c: doc fixes
11484         * gst/gstinfo.c: doc fixes
11485         * gst/gstpad.c: doc fixes
11486         * gst/gstpad.h: doc fixes
11487         * gst/gstplugin.c: doc fixes
11488         * gst/gsttypefind.h: doc fixes
11489         * gst/gsturi.c: doc fixes
11490         * gst/gstvalue.c: doc fixes
11491
11492 2004-03-29  Colin Walters  <walters@redhat.com>
11493
11494         * gst/registries/gstxmlregistry.c (get_time)
11495         (plugin_times_older_than_recurse):
11496         Use the result of stat to determine whether a path is a file,
11497         so we don't attempt to opendir() files.
11498
11499 2004-03-29  Benjamin Otte  <otte@gnome.org>
11500
11501         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11502           print caps in debugging output when setting caps failed
11503         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11504         (schedule_next_element), (get_buffer), (run_chainhandler),
11505         (element_may_start), (gst_entry_scheduler_chain_handler),
11506         (gst_entry_scheduler_get_handler),
11507         (gst_entry_scheduler_state_transition),
11508         (gst_entry_scheduler_pad_link):
11509           make this scheduler a testcase for mandatory
11510           discont-before-first-buffer which is needed if we want to allow apps
11511           to release the sound device.
11512           add SCHED_ASSERT macro to print scheduler state before an assertion
11513           triggers.
11514
11515 2004-03-29  Benjamin Otte  <otte@gnome.org>
11516
11517         * COPYING:
11518           replace by LGPL (former COPYING.LIB). The core is completely
11519           licensed LGPL.
11520         * COPYING.LIB:
11521           remove
11522
11523 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11524
11525         * po/af.po:
11526         * po/sv.po:
11527           updated Afrikaans and Swedish
11528
11529 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11530
11531         * po/LINGUAS:
11532         * po/az.po:
11533           adding Azerbaijani (Mətin Əmirov)
11534
11535 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11536
11537         * gst/gstelement.h: 
11538         * gst/gstelement.c (gst_element_set_time_delay): New function for
11539         setting element time taking into account a hardware buffering
11540         delay.
11541         (gst_element_set_time): Now just an invocation of
11542         gst_element_set_time_delay.
11543         * gst/gstclock.h: 
11544         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11545         allowing to set event times in the future.
11546         (gst_clock_get_event_time): Now just an invocation of
11547         gst_clock_get_event_time_delay.
11548
11549 2004-03-28  Benjamin Otte  <otte@gnome.org>
11550
11551         * gst/gstbin.c: (gst_bin_set_element_sched),
11552         (gst_bin_unset_element_sched):
11553           don't add decoupled elements to schedulers - otherwise it's
11554           impossible to control if a link to a decoupled element was already
11555           removed from a scheduler or not.
11556         * gst/schedulers/cothreads_compat.h:
11557         * gst/schedulers/gthread-cothreads.h:
11558           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11559           is no "unused" warning.
11560         * gst/schedulers/Makefile.am:
11561         * gst/schedulers/entryscheduler.c:
11562           add new scheduler, based on ideas from talking to David and Martin.
11563           It's supposed to be small and correct. Currently it's also slow (but
11564           it's not noticable)
11565         * examples/retag/retag.c: (main):
11566         * testsuite/bytestream/test1.c: (main):
11567           fix missing NULLs at end of variadic functions
11568         * testsuite/elements/.cvsignore:
11569           update
11570
11571 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11572
11573         * gst/gstevent.h:
11574         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11575
11576 2004-03-25  David Schleef  <ds@schleef.org>
11577
11578         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11579         * docs/gst/tmpl/gstaggregator.sgml:
11580         * docs/gst/tmpl/gstautoplugfactory.sgml:
11581         * docs/gst/tmpl/gstbin.sgml:
11582         * docs/gst/tmpl/gstbuffer.sgml:
11583         * docs/gst/tmpl/gstbufferstore.sgml:
11584         * docs/gst/tmpl/gstfakesink.sgml:
11585         * docs/gst/tmpl/gstfakesrc.sgml:
11586         * docs/gst/tmpl/gstmd5sink.sgml:
11587         * docs/gst/tmpl/gstreamer-unused.sgml:
11588         * docs/gst/tmpl/gstsearchfuncs.sgml:
11589         * docs/gst/tmpl/gstshaper.sgml:
11590         * docs/gst/tmpl/gstspider.sgml:
11591         * docs/gst/tmpl/gsttee.sgml:
11592         * docs/gst/tmpl/gstutils.sgml:
11593         * docs/gst/tmpl/gstvalue.sgml:
11594         * docs/gst/tmpl/gstxml.sgml:
11595         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11596         and we don't support it.
11597         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11598         (gst_use_threads), (gst_has_threads): same
11599         * gst/gstthreaddummy.c: same
11600         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11601         * gst/autoplug/gstspider.h: same
11602         * gst/elements/gstaggregator.h: Remove bogus function from header
11603         * gst/elements/gstfakesink.h: same
11604         * gst/elements/gstfakesrc.h: same
11605         * gst/elements/gstmd5sink.h: same
11606         * gst/elements/gstshaper.h: same
11607         * gst/elements/gsttee.h: same
11608         * gst/gstbin.c: doc fixes
11609         * gst/gstbin.h: Remove unused definition.
11610         * gst/gstbuffer.c: doc fixes
11611         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11612         * gst/gstfilter.c: doc fixes
11613         * gst/gsttag.c: doc fixes
11614         * gst/gstvalue.c: doc fixes
11615
11616 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11617
11618         * docs/pwg/advanced-types.xml:
11619           Document typefinding.
11620         * docs/pwg/other-oneton.xml:
11621           Document one-to-n elements, demuxers and parsers.
11622
11623 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11624
11625         reviewed by: David Schleef  <ds@schleef.org>
11626
11627         * configure.ac: Check bison version (bug #127838)
11628
11629 2004-03-25  David Schleef  <ds@schleef.org>
11630
11631         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11632         * docs/gst/gstreamer-sections.txt:
11633         * docs/gst/tmpl/gstautoplug.sgml:
11634         * docs/gst/tmpl/gststaticautoplug.sgml:
11635         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11636         * docs/gst/tmpl/gstutils.sgml:
11637         * docs/gst/tmpl/gstxml.sgml:
11638
11639 2004-03-24  David Schleef  <ds@schleef.org>
11640
11641         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11642         manual being such complete crap, that I decided to do major
11643         hacking of it.  This checkin replaces any fine tuning that
11644         may have been done previously, with the benefit of actually
11645         being complete for much of the API that was changed since
11646         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11647         * docs/gst/gstreamer-sections.txt:
11648         * docs/gst/tmpl/GstBin.sgml:
11649         * docs/gst/tmpl/GstBuffer.sgml:
11650         * docs/gst/tmpl/GstCaps.sgml:
11651         * docs/gst/tmpl/GstClock.sgml:
11652         * docs/gst/tmpl/GstCompat.sgml:
11653         * docs/gst/tmpl/GstData.sgml:
11654         * docs/gst/tmpl/GstElement.sgml:
11655         * docs/gst/tmpl/GstEvent.sgml:
11656         * docs/gst/tmpl/GstIndex.sgml:
11657         * docs/gst/tmpl/GstStructure.sgml:
11658         * docs/gst/tmpl/GstTag.sgml:
11659         * docs/gst/tmpl/cothreads.sgml:
11660         * docs/gst/tmpl/cothreads_compat.sgml:
11661         * docs/gst/tmpl/gettext.sgml:
11662         * docs/gst/tmpl/grammar.tab.sgml:
11663         * docs/gst/tmpl/gst-i18n-app.sgml:
11664         * docs/gst/tmpl/gst-i18n-lib.sgml:
11665         * docs/gst/tmpl/gst.sgml:
11666         * docs/gst/tmpl/gst_private.sgml:
11667         * docs/gst/tmpl/gstaggregator.sgml:
11668         * docs/gst/tmpl/gstarch.sgml:
11669         * docs/gst/tmpl/gstatomic.sgml:
11670         * docs/gst/tmpl/gstatomic_impl.sgml:
11671         * docs/gst/tmpl/gstbin.sgml:
11672         * docs/gst/tmpl/gstbuffer.sgml:
11673         * docs/gst/tmpl/gstbufferstore.sgml:
11674         * docs/gst/tmpl/gstcaps.sgml:
11675         * docs/gst/tmpl/gstclock.sgml:
11676         * docs/gst/tmpl/gstcompat.sgml:
11677         * docs/gst/tmpl/gstconfig.sgml:
11678         * docs/gst/tmpl/gstcpu.sgml:
11679         * docs/gst/tmpl/gstdata.sgml:
11680         * docs/gst/tmpl/gstdata_private.sgml:
11681         * docs/gst/tmpl/gstelement.sgml:
11682         * docs/gst/tmpl/gstenumtypes.sgml:
11683         * docs/gst/tmpl/gsterror.sgml:
11684         * docs/gst/tmpl/gstevent.sgml:
11685         * docs/gst/tmpl/gstfakesink.sgml:
11686         * docs/gst/tmpl/gstfakesrc.sgml:
11687         * docs/gst/tmpl/gstfilesink.sgml:
11688         * docs/gst/tmpl/gstfilter.sgml:
11689         * docs/gst/tmpl/gstindex.sgml:
11690         * docs/gst/tmpl/gstinfo.sgml:
11691         * docs/gst/tmpl/gstinterface.sgml:
11692         * docs/gst/tmpl/gstlog.sgml:
11693         * docs/gst/tmpl/gstmacros.sgml:
11694         * docs/gst/tmpl/gstmarshal.sgml:
11695         * docs/gst/tmpl/gstmd5sink.sgml:
11696         * docs/gst/tmpl/gstmultifilesrc.sgml:
11697         * docs/gst/tmpl/gstobject.sgml:
11698         * docs/gst/tmpl/gstpad.sgml:
11699         * docs/gst/tmpl/gstparse.sgml:
11700         * docs/gst/tmpl/gstpipeline.sgml:
11701         * docs/gst/tmpl/gstplugin.sgml:
11702         * docs/gst/tmpl/gstpluginfeature.sgml:
11703         * docs/gst/tmpl/gstqueue.sgml:
11704         * docs/gst/tmpl/gstreamer-unused.sgml:
11705         * docs/gst/tmpl/gstregistry.sgml:
11706         * docs/gst/tmpl/gstregistrypool.sgml:
11707         * docs/gst/tmpl/gstscheduler.sgml:
11708         * docs/gst/tmpl/gstsearchfuncs.sgml:
11709         * docs/gst/tmpl/gstshaper.sgml:
11710         * docs/gst/tmpl/gstspider.sgml:
11711         * docs/gst/tmpl/gstspideridentity.sgml:
11712         * docs/gst/tmpl/gststructure.sgml:
11713         * docs/gst/tmpl/gstsystemclock.sgml:
11714         * docs/gst/tmpl/gsttag.sgml:
11715         * docs/gst/tmpl/gsttaginterface.sgml:
11716         * docs/gst/tmpl/gsttee.sgml:
11717         * docs/gst/tmpl/gstthread.sgml:
11718         * docs/gst/tmpl/gsttrace.sgml:
11719         * docs/gst/tmpl/gsttrashstack.sgml:
11720         * docs/gst/tmpl/gsttypefind.sgml:
11721         * docs/gst/tmpl/gsttypes.sgml:
11722         * docs/gst/tmpl/gsturi.sgml:
11723         * docs/gst/tmpl/gsturitype.sgml:
11724         * docs/gst/tmpl/gstutils.sgml:
11725         * docs/gst/tmpl/gstvalue.sgml:
11726         * docs/gst/tmpl/gstversion.sgml:
11727         * docs/gst/tmpl/gstxml.sgml:
11728         * docs/gst/tmpl/gstxmlregistry.sgml:
11729         * docs/gst/tmpl/gthread-cothreads.sgml:
11730         * docs/gst/tmpl/types.sgml:
11731
11732 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11733
11734         * docs/pwg/other-sink.xml:
11735         * docs/pwg/other-source.xml:
11736           Documentation on how to write source and sink elements. Other
11737           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11738           manager, autoplugger) are all still pending.
11739
11740 2004-03-25  Benjamin Otte  <otte@gnome.org>
11741
11742         * testsuite/elements/Makefile.am:
11743         * testsuite/elements/gst-compprep-check:
11744           add check to make sure gst-compprep works
11745         * testsuite/elements/gst-inspect-check.in:
11746           improve initialization output
11747         * testsuite/Makefile.am:
11748         * testsuite/gst-inspect-check:
11749           remove old file
11750
11751 2004-03-24  David Schleef  <ds@schleef.org>
11752
11753         * testsuite/elements/Makefile.am:
11754         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11755         to the testsuite.
11756
11757 2004-03-24  Benjamin Otte  <otte@gnome.org>
11758
11759         * libs/gst/control/dparam.c: (gst_dparam_attach),
11760         (gst_dparam_detach):
11761         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11762           fix lvalue casts for real
11763
11764 2004-03-24  Benjamin Otte  <otte@gnome.org>
11765
11766         * gst/schedulers/gstbasicscheduler.c:
11767         (gst_basic_scheduler_src_wrapper):
11768         * gst/schedulers/gstoptimalscheduler.c:
11769         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11770         (pad_clear_queued), (gst_opt_scheduler_add_element),
11771         (gst_opt_scheduler_remove_element):
11772           fix GStreamer to not have issues with lvalue casts anymore (fixes
11773           #136841)
11774
11775 2004-03-24  Benjamin Otte  <otte@gnome.org>
11776
11777         * gst/gstelement.c:
11778           add documentation about a gobject quirk where the object hasn't the
11779           correct class pointer set on initialization
11780         * gst/schedulers/gstbasicscheduler.c:
11781         (gst_basic_scheduler_src_wrapper):
11782           make sure to not run into an infinite loop
11783
11784 2004-03-22  Benjamin Otte  <otte@gnome.org>
11785
11786         * gst/gstutils.c: (gst_util_dump_mem):
11787         * gst/gstutils.h:
11788           first argument of gst_util_dump_mem should be const
11789
11790 2004-03-22  Johan Dahlin  <johan@gnome.org>
11791
11792         * gst/gstvalue.h: Clean up a little bit.
11793
11794 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11795
11796         reviewed by Benjamin Otte  <otte@gnome.org>
11797
11798         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11799         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11800         (gst_aggregator_class_init), (gst_aggregator_init):
11801         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11802         (gst_filesrc_dispose), (gst_filesrc_set_location):
11803         * gst/elements/gstidentity.c: (gst_identity_finalize),
11804         (gst_identity_class_init), (gst_identity_chain):
11805         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11806         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11807         (gst_statistics_class_init):
11808         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11809         (gst_tee_get_property):
11810           clean up used memory in this elements correctly on teardown (closes
11811           #137279)
11812
11813 2004-03-20  Colin Walters  <walters@redhat.com>
11814
11815         * gst/registries/gstxmlregistry.c:
11816         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11817         registry saving atomic.
11818
11819 2004-03-20  Colin Walters  <walters@redhat.com>
11820
11821         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11822         Just use
11823         access() instead of actually creating and deleting files.
11824
11825 2004-03-18  David Schleef  <ds@schleef.org>
11826
11827         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11828         (bug #137625)
11829
11830 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11831
11832         * po/sv.po: updated translation (Christian Rose)
11833
11834 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11835
11836         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11837         (gst_filesink_get_query_types), (_do_init),
11838         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11839           return FALSE silently
11840         * po/af.po: updated translation (Petri Jooste)
11841
11842 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11843
11844         * Makefile.am:
11845         * configure.ac:
11846           dist common properly
11847         * po/af.po:
11848         * po/fr.po:
11849         * po/nl.po:
11850         * po/sr.po:
11851         * po/sv.po:
11852           refreshing translations
11853
11854 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11855
11856         * po/LINGUAS:
11857         * po/sv.po:
11858         * po/af.po:
11859           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11860
11861 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11862
11863         * Makefile.am: use common/release.mak
11864
11865 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11866
11867         * docs/faq/gst-uninstalled:
11868           adding gst-monkeysaudio to the list of possible plugin dirs
11869
11870 2004-03-16  David Schleef  <ds@schleef.org>
11871
11872         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11873         (gst_init_check_with_popt_table):  Fix some gettext strings to
11874         make them easier to translate.  Required making the strings
11875         non-const.
11876
11877 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11878
11879         * configure.ac: bump nano to 1
11880
11881 === release 0.8.0 ===
11882
11883 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * configure.ac: release 0.8.0, "Executive Slacks"
11886
11887 2004-03-16  Johan Dahlin  <johan@gnome.org>
11888
11889         * gst/schedulers/gstoptimalscheduler.c
11890         (gst_opt_scheduler_pad_unlink): Remove double ;,
11891         spotted by Scott Wheeler
11892
11893 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11894
11895         * configure.ac: bump libtool version
11896
11897 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11898
11899         * gst/gstcaps.h:
11900         * gst/gststructure.h:
11901           add reserved padding
11902
11903 2004-03-15  Benjamin Otte  <otte@gnome.org>
11904
11905         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11906           set the first parameter for select call correctly.
11907           (fixes #137230)
11908
11909 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11910
11911         * *.c,*.h: don't mix tabs and spaces
11912
11913 2004-03-15  Johan Dahlin  <johan@gnome.org>
11914
11915         * gst/schedulers/gstoptimalscheduler.c
11916         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11917         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11918
11919         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11920         
11921 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11922
11923         * testsuite/Rules:
11924           fix gst-register rules
11925
11926 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11927
11928         * testsuite/Rules:
11929           use versioned gst-register
11930
11931 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11932
11933         * docs/libs/gstreamer-libs-sections.txt:
11934           remove </SUBSECTION>
11935         * gst/gstplugin.c:
11936         * gst/gstregistry.c: (gst_registry_add_plugin):
11937         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11938         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11939           add debugging and fix some comment blocks
11940
11941 2004-03-15  Johan Dahlin  <johan@gnome.org>
11942
11943         * *.h: Revert indent changes.
11944         
11945 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11948           g_error_free the g_error
11949         * tools/gst-feedback-m.m:
11950           check for other versions of gstreamer
11951         * tools/gst-indent:
11952           use sh, not bash
11953
11954 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11955
11956         * tools/gst-register.c: do not spill paths when registries are not
11957           writable, until we fix the "user running gst-register" case.
11958
11959 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11960
11961         * *.c, *.h: commit of gst-indent run on core
11962
11963 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11964
11965         * tools/gst-indent:
11966         * tools/Makefile.am:
11967           add our indentation style as a script
11968
11969 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11970
11971         * po/sr.po:
11972         * po/LINGUAS:
11973           added Serbian translation
11974
11975 2004-03-13  Benjamin Otte  <otte@gnome.org>
11976
11977         * gst/gstelement.c:
11978           add documentation note about gst_element_found_tags_for_pad not
11979           being usable in getfunctions. (see #137042)
11980
11981 2004-03-12  David Schleef  <ds@schleef.org>
11982
11983         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11984         change API right now!  Readd gst_caps_is_simple() macro.
11985         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11986         uninitialized variable.  I'd bet this caused crashes.
11987         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11988
11989 2004-03-12  Johan Dahlin  <johan@gnome.org>
11990
11991         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11992         * gst/gstcaps.h: Clean up
11993
11994         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11995         _gst_caps_initalize()
11996
11997         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11998         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11999
12000         * gst/gststructure.c (gst_structure_get_type): Ditto
12001
12002         * gst/gststructure.h: Ditto
12003         
12004 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12005
12006         * gst/gstqueue.c: (gst_queue_init):
12007           Reset default max. values in queues. Reason is simply to avoid
12008           braindead use. If you want wider values, use the properties. The
12009           default is supposed to always work. Wider values would make this
12010           beast a memory hog by default (250 full-PAL RGB32 video frames?
12011           That's 440 MB! No thank you).
12012
12013 2004-03-10  David Schleef  <ds@schleef.org>
12014
12015         * tools/gst-run.c: (main):  Fix crash when no relevant tools
12016         were found.  (bug #136793)
12017
12018 2004-03-10  Johan Dahlin  <johan@gnome.org>
12019
12020         * gst/schedulers/gstoptimalscheduler.c
12021         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
12022         links to elements within the same group, so we can finally remove
12023         that annoying warning. Refactor the code a little bit
12024         (group_dec_links_for_element): Split out
12025
12026 2004-03-09  David Schleef  <ds@schleef.org>
12027
12028         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
12029         (bug #134863)
12030
12031 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12032
12033         * configure.ac: first bug fix due to major/minor bump
12034
12035 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * configure.ac: bump nano to 1
12038
12039 === release 0.7.6 ===
12040
12041 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12042
12043         * NEWS:
12044         * RELEASE:
12045         * configure.ac:
12046           releasing 0.7.6, "Almost"
12047         * po/fr.po:
12048         * po/nl.po:
12049         * tools/Makefile.am:
12050         * tools/gst-feedback-m.m:
12051           unversioned source
12052
12053 2004-03-09  Johan Dahlin  <johan@gnome.org>
12054
12055         Reviewed by: Thomas Vander Stichele
12056
12057         * gst/gstelement.c (gst_element_class_init): register second
12058         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
12059         language bindings can (de)marshall correctly.
12060
12061         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
12062
12063         * gst/gsterror.c (gst_g_error_get_type): New function
12064
12065         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
12066         with VOID:OBJECT,OBJECT,STRING 
12067
12068 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
12069
12070         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
12071         Free a leaked g_timer on early returns.
12072
12073 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12074
12075         * docs/pwg/advanced-types.xml:
12076           Add cinepak description.
12077
12078 2004-03-07  David Schleef  <ds@schleef.org>
12079
12080         * docs/random/mimetypes:  Added cinepak description
12081
12082 2004-03-07  Andy Wingo  <wingo@pobox.com>
12083
12084         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
12085
12086         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
12087         there are no links to other groups when a group is destroyed.
12088         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
12089         removed from a group, make sure the link count to elements linked
12090         to other pads is appropriately decremented. This really fixes
12091         #135672.
12092
12093         The 1.60->1.61 patch has been reapplied in light of this fix.
12094
12095         * gst/gstelement.c (gst_element_dispose): Really protect against
12096         multiple invocations this time.
12097
12098 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12099
12100         * docs/gst/gstreamer-sections.txt:
12101         * docs/gst/tmpl/gsttag.sgml:
12102           remove some deprecated functions, document some existing ones
12103         * gst/gsttag.c: (gst_tag_get_flag):
12104         * gst/gsttag.h:
12105           add accessor function
12106
12107 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12108
12109         * docs/gst/gstreamer-sections.txt:
12110         * docs/gst/tmpl/gsttag.sgml:
12111         * docs/gst/tmpl/gstxml.sgml:
12112         * gst/gsttag.c: (gst_tag_get_flag):
12113         * gst/gsttag.h:
12114
12115 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12116
12117         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12118         leak
12119
12120 2004-03-05  David Schleef  <ds@schleef.org>
12121
12122         * REQUIREMENTS: Add bison and flex.
12123         * configure.ac: Fix comment about bison.
12124         * docs/random/ds/0.9-suggested-changes: yer ma
12125         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12126
12127 2004-03-05  Benjamin Otte  <otte@gnome.org>
12128
12129         * gst/gstelement.c: (gst_element_error_full):
12130           revert recent recursive state changing commit - messing with other
12131           elements' states is evil and should be done by apps only.
12132
12133 2004-03-05  Benjamin Otte  <otte@gnome.org>
12134
12135         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12136           check for empty intersection instead of NULL caps
12137         (gst_element_get_compatible_pad_filtered):
12138           remove old workaround that is only a bug nowadays
12139
12140 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12141
12142         * gst/gstelement.c: (gst_element_error_full):
12143           make elements try to recursively change state to PAUSED on all
12144           parents after an error to suppress ensuing warnings
12145         * gst/parse/grammar.y:
12146           make it check if it was able to sync the state, and throw an error
12147           if not, so stuff like
12148           oggdemux ! vorbisdec ! osssink gets caught
12149
12150 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12151
12152         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12153           it contains lib64; use AS_AC_EXPAND to handle it properly
12154
12155 2004-03-05  David Schleef  <ds@schleef.org>
12156
12157         * gst/gstcpuid_i386.s:  Remove unused code
12158         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12159         (gst_getbits_newbuf): Remove MMX code
12160         * libs/gst/getbits/getbits.h: Remove MMX code
12161
12162 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12163
12164         * debian/.cvsignore:
12165         * debian/README.Debian:
12166         * debian/changelog:
12167         * debian/control:
12168         * debian/control.in:
12169         * debian/copyright:
12170         * debian/gstreamer-core-libs-dev.files:
12171         * debian/gstreamer-core-libs.files:
12172         * debian/gstreamer-core.files:
12173         * debian/gstreamer-core.postinst:
12174         * debian/gstreamer-core.postrm:
12175         * debian/gstreamer-doc.files:
12176         * debian/gstreamer-doc.links:
12177         * debian/gstreamer-doc.lintian:
12178         * debian/gstreamer-runtime.files:
12179         * debian/gstreamer-runtime.manpages:
12180         * debian/gstreamer-runtime.postinst:
12181         * debian/gstreamer-runtime.postrm:
12182         * debian/gstreamer-tools.files:
12183         * debian/gstreamer-tools.manpages:
12184         * debian/libgstreamer-dev.files:
12185         * debian/libgstreamer0.4.1.files:
12186         * debian/libgstreamerVERSION.files:
12187         * debian/rules:
12188         Debian package info not maintained here.
12189
12190 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12193         * gst/gstbin.c: (gst_bin_class_init):
12194         * gst/gstelement.c: (gst_element_class_init):
12195         * gst/gstindex.c: (gst_index_class_init):
12196         * gst/gstobject.c: (gst_object_class_init),
12197         (gst_signal_object_class_init):
12198         * gst/gstpad.c: (gst_pad_template_class_init):
12199         * gst/gstregistry.c: (gst_registry_class_init):
12200         * gst/gsturi.c: (gst_uri_handler_base_init):
12201         * gst/gstxml.c: (gst_xml_class_init):
12202         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12203         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12204           make all signal names use dashes instead of underscore
12205
12206 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12207
12208         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12209
12210 2004-03-03  Benjamin Otte  <otte@gnome.org>
12211
12212         * gst/schedulers/gstoptimalscheduler.c:
12213           revert last commit by Andy Wingo. It causes segfaults on unreffing
12214           in Rhythmbox. (see bug #135672)
12215
12216 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12217
12218         * po/fr.po: fix typo
12219
12220 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12221
12222         * tools/gst-inspect.c: (main): 
12223         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12224
12225 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12226
12227         * configure.ac:
12228           get GLIB_ONLY and POPT flags for the nonversioned binaries
12229         * tools/Makefile.am:
12230           use them
12231
12232 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12233
12234         * gst/gst.c: (init_post):
12235           change so that GST_REGISTRY now is where the global registry gets
12236           saved, since that is where plugins now get attached to first, and
12237           spilled over to the user registry.  Note that in the case of using
12238           GST_REGISTRY env var, we don't want to affect any real registries
12239           beyond the one given by this var, and thus we don't set a user
12240           registry to spill to.  So make sure GST_REGISTRY is writable.
12241
12242 2004-03-01  David Schleef  <ds@schleef.org>
12243
12244         * AUTHORS:  Added some names.  Add yourself if you're missing.
12245
12246 2004-03-01  David Schleef  <ds@schleef.org>
12247
12248         * MAINTAINERS: Add
12249
12250 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12251
12252         * configure.ac:
12253           remove whitespace
12254         * docs/gst/tmpl/gstbuffer.sgml:
12255         * docs/gst/tmpl/gstdata.sgml:
12256         * docs/gst/tmpl/gstreamer-unused.sgml:
12257         * docs/gst/tmpl/gstxml.sgml:
12258           doc update
12259         * docs/manuals.mak:
12260           add a FIXME
12261         * docs/pwg/intro-preface.xml:
12262         * docs/pwg/pwg.xml:
12263           remove GNOME
12264         * gst/gst.c: (init_post):
12265           try GST_PLUGIN_PATH paths for the _global_registry first
12266         * gst/gstelement.h:
12267           add the error message as well, otherwise (null) debug info doesn't
12268           make much sense
12269         * tools/gst-register.c: (main):
12270           spill paths to next registry if this registry is not writable
12271         * po/fr.po:
12272         * po/nl.po:
12273           translation updates
12274
12275 2004-03-01  Johan Dahlin  <johan@gnome.org>
12276
12277         * gst/gstbuffer.c (_gst_buffer_initialize): 
12278         * gst/gstdata.c (gst_data_get_type): 
12279         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12280         instead of ref, since some applications that uses GBoxed
12281         routines depends on a function that actually returns a copy.
12282
12283 2004-02-27  Benjamin Otte  <otte@gnome.org>
12284
12285         * gst/gstbuffer.h:
12286           remove gst_buffer_free, use gst_data_unref
12287         * gst/gstdata.c: (gst_data_get_type):
12288           use refcounting in GstData GBoxed registration
12289         * gst/gstdata.h:
12290           remove gst_data_free, use gst_data_unref
12291
12292 2004-02-27  Johan Dahlin  <johan@gnome.org>
12293
12294         * gst/gstdata.c (gst_data_get_type): New function, register
12295         GstData as a GBoxed type.
12296
12297         * gst/gstdata.h (GST_TYPE_DATA): New macro
12298
12299 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12300
12301         * Makefile.am:
12302         * gstreamer.spec.in:
12303           put back RELEASE
12304         * gst/Makefile.am:
12305           clean up non-disting of built files
12306         * testsuite/debug/commandline.c:
12307           test fix for option rename
12308
12309 2004-02-26  David Schleef  <ds@schleef.org>
12310
12311         * configure.ac:  We don't really need glib-2.3.  Also remove
12312         some unneeded checks for library functions.
12313         * gst/Makefile.am:  Instead, we need to not dist files created
12314         by glib-genmarshal.
12315
12316 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12317
12318         * configure.ac:
12319           bump glib required version to 2.3.0 for g_value_takes_boxed
12320
12321  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12322
12323         * common/m4/gst-docs.m4
12324         change flavour text from enable to disable as enable is our default
12325         closes bug Bug 135304
12326
12327 === release 0.7.5 ===
12328  
12329  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12330  
12331         * NEWS:
12332           instate NEWS file
12333         * Makefile.am:
12334         * gstreamer.spec.in:
12335         * RELEASE:
12336           put back release
12337         * configure.ac:
12338         * docs/random/release:
12339           more updates
12340
12341 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         * gst/gsttag.c: (_gst_tag_initialize):
12344         * po/fr.po:
12345         * po/nl.po:
12346           remove hyphen from codec tags
12347
12348 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12349
12350         * gst/parse/Makefile.am:
12351           fix dependency so that a make from a clean build works the first
12352           time
12353
12354 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12355
12356         * docs/random/release:
12357           update release strategy
12358         * po/fr.po:
12359           auto-update po file
12360         * po/nl.po:
12361           update dutch translation
12362
12363 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12364
12365         * docs/manual/debugging.xml:
12366         fix manual for new debugging system
12367
12368 2004-02-25  Andy Wingo  <wingo@pobox.com>
12369
12370         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12371         gst_pad_link_prepare. Please email the list with specific reasons
12372         for reverting.
12373
12374 2004-02-24  Andy Wingo  <wingo@pobox.com>
12375
12376         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12377         invocations.
12378
12379         * gst/schedulers/gstoptimalscheduler.c:
12380         I added a mess of prototypes at the top of the file by way of
12381         documentation. Some of the operations on chains and groups were
12382         re-organized.
12383
12384         (create_group): Added a type argument so if the group is enabled,
12385         the setup_group_scheduler knows what to do.
12386         (group_elements): Added a type argument here, too, to be passed on
12387         to create_group.
12388         (group_element_set_enabled): If an unlinked PLAYING element is
12389         added to a bin, we have to create a new group to hold the element,
12390         and this function will be called before the group is added to the
12391         chain. Thus we have a valid case for group->chain==NULL. Instead
12392         of calling chain_group_set_enabled, just set the flag on the group
12393         (the chain's status will be set when the group is added to it).
12394         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12395         Setup the group scheduler when the group is enabled, not
12396         specifically when an element goes PAUSED->PLAYING. This means
12397         PLAYING elements can be added, linked, and scheduled into a
12398         PLAYING pipeline, as was intended.
12399         (add_to_group): Don't ref the group twice. I don't know when this
12400         double-ref got in here. Removing it has the potential to cause
12401         segfaults if other parts of the scheduler are buggy. If you find
12402         that the scheduler is segfaulting for you, put in an extra ref
12403         here and see if that hacks over the underlying issue. Of course,
12404         then find out what code is unreffing a group it doesn't own...
12405         (create_group): Make the extra refcount floating, and remove it
12406         after adding the element. This means that...
12407         (unref_group): Destroy when the refcount reaches 0, not 1, like
12408         every other refcounted object in the known universe.
12409         (remove_from_group): When a group becomes empty, set it to be not
12410         active, and remove it from its chain. Don't unref it again,
12411         there's no floating reference any more.
12412         (destroy_group): We have to remove the group from the chain in
12413         remove_from_group (rather than here) to break refcounting cycles
12414         (the chain always has a ref on the group). So assert that
12415         group->chain==NULL.
12416         (ref_group_by_count): Removed, it was commented out anyway.
12417         (merge_chains): Use the remove_from_chain and add_to_chain
12418         primitives to do the reparenting, instead of rolling our own
12419         implementation.
12420         (add_to_chain): The first non-disabled group in the chain's group
12421         list will be the entry point for the chain. Because buffers can
12422         accumulate in loop elements' peer bufpens, we preferentially
12423         schedule loop groups before get groups to avoid unnecessary
12424         execution of get-based groups when the bufpens are already full.
12425         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12426         (get_group_schedule_function): Ditto.
12427         (loop_group_schedule_function): Ditto.
12428         (gst_opt_scheduler_loop_wrapper): Ditto.
12429         (gst_opt_scheduler_iterate): Ditto.
12430
12431         I understand the opt scheduler now, yippee!
12432
12433         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12434         (gst_pad_get_name, gst_pad_set_chain_function) 
12435         (gst_pad_set_get_function, gst_pad_set_event_function) 
12436         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12437         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12438         (gst_pad_set_query_function, gst_pad_get_query_types) 
12439         (gst_pad_get_query_types_default) 
12440         (gst_pad_set_internal_link_function) 
12441         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12442         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12443         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12444         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12445         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12446         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12447         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12448         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12449         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12450         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12451         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12452         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12453         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12454         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12455         argument checks, and some doc fixes.
12456
12457         (gst_pad_custom_new_from_template): Um, does anyone
12458         use these functions? Actually make a custom pad instead of a
12459         normal one.
12460         (gst_pad_try_set_caps): Transpose some checks.
12461         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12462         the pad is in negotiation.
12463         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12464         
12465         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12466
12467         * gst/gstelement.h: 
12468         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12469         on the list.
12470
12471 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12472
12473         * gst/gstbin.c: (gst_bin_add):
12474           add error for not being able to add elements
12475
12476 2004-02-22  Julien MOUTTE <julien@moutte.net>
12477
12478         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12479         audio-codec and video-codec.
12480
12481 2004-02-22  Benjamin Otte  <otte@gnome.org>
12482
12483         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12484
12485         * autogen.sh:
12486           replace test -e with test -x for mkinstalldirs to be more portable.
12487           (fixes #134816)
12488
12489 2004-02-22  Benjamin Otte  <otte@gnome.org>
12490
12491         * gst/gstpad.c:
12492           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12493           too noisy
12494         * gst/gsttag.c: (_gst_tag_initialize):
12495         * gst/gsttag.h:
12496           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12497         * libs/gst/control/dparam.c: (gst_dparam_attach):
12498         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12499           check that types for attached dparams match
12500
12501 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12502
12503         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12504         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12505         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12506           fix errors
12507
12508 2004-02-20  Andy Wingo  <wingo@pobox.com>
12509
12510         * gst/gstbin.c:
12511         * gst/gstbuffer.c:
12512         * gst/gstplugin.c:
12513         * gst/registries/gstxmlregistry.c: 
12514         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12515
12516         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12517         (gst_element_add_pad): DEBUG->INFO, some fixes.
12518         (gst_element_get_compatible_pad_template): Just see if the
12519         templates' caps intersect, not if one is a strict subset of the
12520         other. This conforms more to what gst_pad_link_intersect() does.
12521         (gst_element_class_add_pad_template): Don't memcpy the pad
12522         template, just ref it.
12523         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12524
12525         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12526         (gst_pad_link_filtered): Debug changes.
12527         (gst_pad_link_prepare): New function, consolidated from
12528         can_link_filtered and link_filtered.
12529
12530         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12531         look more like that of the functions in gstelement.c
12532
12533         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12534         object, and return the empty string if object is NULL.
12535
12536         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12537         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12538         LOG, not DEBUG. We still get flex info on debug.
12539
12540         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12541         debug string more verbose.
12542         (plugin_times_older_than): DEBUG->LOG.
12543
12544 2004-02-20  Julien MOUTTE <julien@moutte.net>
12545
12546         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12547         will emit found_tag for each stream they demux with the codec.
12548
12549 2004-02-20  Benjamin Otte  <otte@gnome.org>
12550
12551         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12552           copy navigation event correctly. Check freeing tag lists. 
12553         * gst/gstthread.c: (gst_thread_change_state):
12554           don't abort() on state changing mess - it might happen because of
12555           bugs.
12556         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12557           use boxed functions
12558         * gst/gstvalue.h:
12559           fix GST_VALUE_HOLDS_CAPS
12560
12561 2004-02-19  David Schleef  <ds@schleef.org>
12562
12563         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12564         and use it for GST_FUNCTION.  (bug #134750)
12565
12566 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12567
12568         * po/fr.po:
12569         * po/nl.po:
12570           updating translations
12571
12572 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12573
12574         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12575
12576 2004-02-18  kost@imn.htwk-leipzig.de
12577
12578         reviewed by: David Schleef  <ds@schleef.org>
12579
12580         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12581         for libgstcontrol.
12582
12583 2004-02-18  David Schleef  <ds@schleef.org>
12584
12585         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12586         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12587         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12588         * tools/gst-inspect.c: (print_element_info): Support dumping of
12589         double dparam information.
12590
12591 2004-02-17  David Schleef  <ds@schleef.org>
12592
12593         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12594         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12595         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12596         Use GST_TYPE_CAPS in signal prototype.
12597         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12598         Convert GST_TYPE_CAPS to boxed.
12599         * gst/gstelement.c: (gst_element_class_init):
12600         Use GST_TYPE_TAG_LIST in signal prototype.
12601         * gst/gstindex.c: (gst_index_class_init):
12602         * gst/gstindex.h:
12603         Add GST_TYPE_INDEX_ENTRY type.
12604         * gst/gstmarshal.list:
12605         Add necessary marshal types.
12606         * gst/gstpad.c: (gst_real_pad_class_init),
12607         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12608         (gst_pad_recover_caps_error):
12609         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12610         * gst/gststructure.c: (_gst_structure_initialize),
12611         (gst_structure_copy), (_gst_structure_copy_conditional):
12612         * gst/gststructure.h:
12613         Convert GST_TYPE_STRUCTURE to boxed.
12614         * gst/gsttag.c: (gst_tag_list_get_type):
12615         * gst/gsttag.h:
12616         Add GST_TYPE_TAG_LIST type.
12617
12618 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12619
12620         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12621         to what we agreed with david.
12622         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12623
12624 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12625
12626         * po/nl.po: update translation
12627
12628 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12629
12630         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12631           throw an error if spider is trying to play a mime type there is
12632           no decoder for
12633         * po/POTFILES.in:
12634           add gst/autoplug/gstspider.c for translation
12635
12636 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12637
12638         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12639         silently when the pad is negotiating.
12640
12641 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12642
12643         * docs/faq/Makefile.am:
12644           add script to run gstreamer uninstalled 
12645         * docs/faq/faq.xml:
12646         * docs/faq/developing.xml:
12647         * docs/faq/gst-uninstalled:
12648           extract script to run gstreamer uninstalled
12649         * docs/manuals.mak:
12650           add EXTRA_SOURCES variable for Makefile.am's to set to
12651           use additional SOURCE files for the doc build
12652
12653 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12654
12655         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12656
12657 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12658
12659         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12660         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12661         an error was thrown by osssink. Basically a state change failure for
12662         an element in a different scheduling group was considered as
12663         successful, which means that caps nego was going on and weird stuff
12664         happened. Like I wrote in the comment there, if someone wants to
12665         revert that please drop me a mail explaining why because I really see
12666         no point in keeping that broken behaviour there.
12667         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12668         be empty, we then return NULL which will trigger a nice error when 
12669         pulling from the pad.
12670
12671 2004-02-13  David Schleef  <ds@schleef.org>
12672
12673         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12674         (gst_dparam_get_property), (gst_dparam_set_property),
12675         (gst_dparam_do_update_default):
12676         * libs/gst/control/dparam.h:
12677         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12678         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12679         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12680         (gst_dpsmooth_do_update_double):
12681         * libs/gst/control/dparam_smooth.h:
12682         * libs/gst/control/dparammanager.c:
12683         (gst_dpman_inline_direct_update):
12684         Add support for double dparams.
12685
12686 2004-02-13  David Schleef  <ds@schleef.org>
12687
12688         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12689         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12690
12691 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12692
12693         reviewed by: David Schleef  <ds@schleef.org>
12694
12695         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12696         (gst_fdsrc_init), (gst_fdsrc_set_property),
12697         (gst_fdsrc_get_property), (gst_fdsrc_get):
12698         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12699         and sends an EOS event if file descriptor reading times out.
12700
12701 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12702
12703         * configure.ac:
12704           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12705
12706 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12707
12708         * configure.ac: pass required libxml version as argument
12709         (bug reported by Christophe Fergeau)
12710
12711 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12712   
12713         * docs/gst/gstreamer-docs.sgml:
12714         * docs/gst/tmpl/gstxml.sgml:
12715         * docs/libs/gstreamer-libs-docs.sgml:
12716           version API docs
12717
12718 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12719
12720         * gst/gstinfo.c:
12721         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12722         (gst_registry_pool_feature_filter):
12723         * gst/gstthread.c: (gst_thread_class_init):
12724         * gst/gstvalue.c:
12725           add includes exposed by building without libxml
12726         * gst/indexers/Makefile.am:
12727           do not build fileindex when LOADSAVE disabled; we should have
12728           a better libxml check later since fileindex depends on xml, not
12729           LOADSAVE or REGISTRY
12730         * libs/gst/control/Makefile.am:
12731           link with m
12732         * tools/Makefile.am:
12733           fix wrong source code for gst-xmlinspect
12734
12735 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12736
12737         * configure.ac:
12738           fix gcov help output
12739           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12740         * docs/random/release:
12741           some updated releasing notes
12742         * gstreamer.spec.in:
12743           more updates
12744
12745 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12746
12747         * docs/faq/faq.xml:
12748         * docs/manual/manual.xml:
12749         * docs/pwg/pwg.xml:
12750         * docs/pwg/titlepage.xml:
12751           put version in documentation
12752
12753 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12754
12755         * tools/Makefile.am: fix man page installation
12756
12757 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12758
12759         * configure.ac:
12760           don't check for libxml when load/save and registry disabled (#105844)
12761         * gstreamer.spec.in:
12762           sync with fedora candidate spec
12763
12764 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12765
12766         * po/fr.po:
12767         * po/nl.po:
12768           replace multidisksrc with multifilesrc
12769
12770 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12771
12772         * po/POTFILES.in:
12773           update to multidisksrc => multifilesrc file renaming (#134145)
12774
12775 2004-02-11  David Schleef  <ds@schleef.org>
12776
12777         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12778         * docs/gst/tmpl/gstpadtemplate.sgml: same
12779         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12780         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12781         fixing dance.
12782         * gst/gstutils.c: Remove disabled code that uses GstProps.
12783         * gst/registries/gstxmlregistry.h: same
12784         * docs/random/ds/0.9-suggested-changes: random notes
12785
12786 2004-02-11  kost@imn.htwk-leipzig.de
12787
12788         reviewed by: David Schleef  <ds@schleef.org>
12789
12790         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12791         initialisation of clock (bug #134128)
12792
12793 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12794
12795         * configure.ac:
12796         * gst/elements/Makefile.am:
12797         * gst/elements/gstelements.c:
12798         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12799         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12800         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12801         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12802         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12803         * gst/elements/gstmultifilesrc.h:
12804           rename multidisksrc to multifilesrc (part of #122200)
12805
12806 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12807
12808         * docs/manuals.mak:
12809           fix automake complaints
12810         * gst-element-check.m4:
12811           fix unquotedness
12812
12813 2004-02-11  David Schleef  <ds@schleef.org>
12814
12815         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12816         * gst/gstatomic_impl.h: Disable sparc implementation.
12817
12818 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12819
12820         * gst-element-check.m4:
12821           fix underquoted macros as reported by automake 1.8.x (#133800)
12822         * configure.ac:
12823           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12824           by autopoint (fixes #132996)
12825
12826 2004-02-10  Andy Wingo  <wingo@pobox.com>
12827
12828         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12829         way to do inheritance.
12830         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12831         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12832         Routine docs.
12833         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12834         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12835         doc.
12836         (gst_pad_unlink, gst_pad_is_linked): Docs.
12837         (gst_pad_renegotiate): A brief description of capsnego.
12838         (gst_pad_try_set_caps): Document.
12839         (gst_pad_try_set_caps_nonfixed): Document.
12840         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12841         (gst_pad_set_parent): Deprecated (although not out of the API).
12842         (gst_pad_get_parent): Deprecated, although many plugins use this.
12843         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12844         are private and will go away in 0.9.
12845         (gst_pad_perform_negotiate): Doc.
12846         (gst_pad_link_unnegotiate): I think this is meant to be static.
12847         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12848         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12849         (gst_pad_get_peer): Doc updates.
12850         (gst_pad_caps_change_notify): Doc.
12851         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12852         (gst_ghost_pad_new): Doc fixes.
12853
12854         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12855         (gst_object_check_uniqueness): 
12856
12857         * gst/gstelement.c (gst_element_add_pad) 
12858         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12859         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12860         (gst_element_get_static_pad, gst_element_get_pad_list) 
12861         (gst_element_class_get_pad_template_list) 
12862         (gst_element_class_get_pad_template): Work on the docs.
12863         (gst_element_get_pad_template_list): Uses the class method.
12864         (gst_element_get_compatible_pad_template): Docs, and consolidate
12865         some test conditions. 
12866         (gst_element_get_pad_from_template): New static function.
12867         (gst_element_request_compatible_pad): Docs, and work with
12868         non-request compatible templates. 
12869         (gst_element_get_compatible_pad_filtered): Docs and remove
12870         redundant checks.
12871         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12872         (gst_element_link_filtered, gst_element_link_many) 
12873         (gst_element_link, gst_element_link_pads) 
12874         (gst_element_unlink_many): Docs.
12875
12876 2004-02-05  Andy Wingo  <wingo@pobox.com>
12877
12878         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12879         s/pointer/boxed/.
12880
12881         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12882
12883         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12884         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12885         with the type=GST_TYPE_CAPS. This allows language bindings to know
12886         what kind of data they're dealing with.
12887
12888         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12889         to NULL when g_value_init is called. GstCaps, which rolls its own
12890         type implementation, now does the same instead of allocating empty
12891         caps.
12892         (_gst_caps_initialize, _gst_caps_collect_value,
12893         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12894         table methods. This allows G_VALUE_COLLECT to work.
12895
12896 2004-02-05  Andy Wingo  <wingo@pobox.com>
12897
12898         * configure.ac:
12899         * testsuite/Makefile.am (SUBDIRS): 
12900         * testsuite/ghostpads/Makefile.am: 
12901         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12902
12903         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12904         These two routines are the only ones that set
12905         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12906         pad template. They should be made static, depending on ABI needs.
12907         (gst_real_pad_dispose): Handle the case of ghost pads without a
12908         parent. Assert after dealing with ghost pads that the ghost pad
12909         list is empty.
12910         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12911         set after creation.
12912         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12913         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12914         functions. set_property will call add_ghost_pad/remove_ghost_pad
12915         as appropriate.
12916         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12917
12918         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12919         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12920         (gst_element_remove_pad): Handle ghost pads as well.
12921         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12922         depending on API-stability needs).
12923
12924 2004-02-05  Andy Wingo  <wingo@pobox.com>
12925
12926         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12927         of course they're const
12928
12929 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12930
12931         * tools/Makefile.am:
12932         * tools/gst-feedback:
12933         * tools/gst-feedback-0.7:
12934           make gst-feedback versioned too for consistency
12935
12936 2004-02-11  David Schleef  <ds@schleef.org>
12937
12938         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12939         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12940
12941 2004-02-10  Julien MOUTTE <julien@moutte.net>
12942
12943         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12944         the structure does not contain a valid tag list. Adding a safety check
12945         to remove a noisy warning in that case.
12946
12947 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * gst/gst.c: fix name to be in line with others
12950
12951 2004-02-09  Julien MOUTTE <julien@moutte.net>
12952
12953         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12954         not shout that loud when len is 0. Just return 0 silently.
12955
12956 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12957
12958         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12959         because data_unref has one and I prefer the debug to be symetric.
12960         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12961         were refed when added to the queue and unrefed only once when the queue
12962         was flushed. Now the flush handler unref the buffers two times : first
12963         unref for the ref added when pushing in the queue's tail and second
12964         unref to destroy the flushed buffer.
12965
12966 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12967
12968         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12969
12970 2004-02-06  David Schleef  <ds@schleef.org>
12971
12972         * docs/random/ds/0.9-suggested-changes: Random ramblings
12973         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12974         to int before printing.
12975         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12976         * gst/parse/parse.l: same.  See bug #129600
12977
12978 2004-02-06  David Schleef  <ds@schleef.org>
12979
12980         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12981         (gst_index_add_entry), (gst_index_add_associationv),
12982         (gst_index_add_association): Add gst_index_add_associationv()
12983         and clean up gst_index_add_association(). #127133
12984
12985 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12986
12987         * autogen.sh: check out common with right tag if CVS/Tag exists
12988
12989 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12990
12991         * testsuite/ghostpads/ghostpads.c: (main):
12992           fix testsuite from segfaulting
12993
12994 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12995
12996         * Makefile.am: add release target
12997         * configure.ac: bump nano to 1
12998         * docs/random/release:
12999
13000 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13001
13002         * gst/gstcaps.h:
13003         * gst/gstelement.c: (gst_element_base_class_init),
13004         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13005         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13006         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13007         (gst_real_pad_dispose):
13008         * gst/gststructure.c: (gst_structure_free),
13009         (gst_structure_from_string):
13010           put reverted patch back in
13011         * gst/gstelement.c: (gst_element_remove_pad):
13012           free explicit caps if they're set
13013         * gst/gstpad.c: (_gst_pad_default_fixate_func):
13014           copy the structure when fixating
13015
13016 2004-02-05  David Schleef  <ds@schleef.org>
13017
13018         * gst/gstmarshal.list:
13019         * gst/gstpad.c: (gst_real_pad_class_init),
13020         (_gst_real_pad_fixate_accumulator):
13021         Revert POINTER->BOXED change in signal marshaller.
13022
13023 === release 0.7.4 ===
13024                                                                                 
13025 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13026                                                                                 
13027         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
13028         * configure.ac: changed for release
13029
13030 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13031
13032         * gstreamer.spec.in:
13033           bump required version of gtk-doc
13034
13035 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13036
13037         * gst/gstcaps.h:
13038         * gst/gstelement.c: (gst_element_base_class_init),
13039         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13040         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13041         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13042         (gst_real_pad_dispose):
13043         * gst/gststructure.c: (gst_structure_free),
13044         (gst_structure_from_string):
13045           revert patch that breaks applications, reapply after release
13046           to get this fixed properly
13047
13048 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13049
13050         * gst/gsttag.c: (_gst_tag_initialize):
13051         * gst/gsttag.h:
13052           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
13053
13054 2004-02-04  David Schleef  <ds@schleef.org>
13055
13056         Fix some memleaks:
13057         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
13058         (gst_spider_plug_from_srcpad):
13059         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
13060
13061 2004-02-04  David Schleef  <ds@schleef.org>
13062
13063         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
13064         a GstRealPad before accessing its structure members.
13065
13066 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13067
13068         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
13069         (gst_clock_get_speed):
13070         * gst/gstclock.h:
13071           reset padding, remove unused fields
13072
13073 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13074
13075         * gst/autoplug/gstspideridentity.c:
13076         (gst_spider_identity_sink_loop_type_finding):
13077           use get_allowed_caps, not get_caps (fixes #132519)
13078         * gst/elements/gsttypefind.c: (stop_typefinding):
13079           use correct order when sending buffers and seeking
13080
13081 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13082
13083         * configure.ac:
13084         * gst/gstelement.h:
13085         * gst/gstpad.h:
13086         * gst/gstqueue.h:
13087           upgrade libtool CURRENT, reset padding
13088
13089 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13090
13091         * configure.ac:
13092           bump to prerelease
13093           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
13094
13095 2004-02-04  David Schleef  <ds@schleef.org>
13096
13097         * docs/random/ds/0.9-suggested-changes: random notes
13098         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
13099         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
13100         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
13101         expansion.
13102         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
13103         (gst_filesink_get_query_types): same
13104         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
13105         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
13106         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
13107         to use new GST_PTR_FORMAT.
13108         * gst/gstelement.h: deprecate function factory macros
13109         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
13110         These are our last variadic macros that can't be replaced with
13111         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13112         attempting to deprecate gst_element_clock_wait().
13113         * gst/gstevent.h: same
13114         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13115         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13116         * gst/gstpad.h: deprecate function factory macros similar to above.
13117
13118 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13119
13120         * configure.ac:
13121         * tools/Makefile.am:
13122         * tools/gst-run.c: (popt_callback), (hash_print_key),
13123         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13124         (get_candidates), (main):
13125           add new source file to generate non-versioned wrapper binaries
13126           for our tools.
13127
13128 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13129
13130         * gst/gstevent.c: (_gst_event_free):
13131           actually break; inside the switch statement
13132         * gst/parse/grammar.y:
13133           fix memleak where GValues weren't unset
13134
13135 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13136
13137         * gst/gststructure.c: (gst_structure_from_string):
13138           fix huge memleak
13139         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13140         (new_entry), (gst_type_find_element_chain):
13141         * gst/gstelement.c: (gst_element_base_class_init),
13142         (gst_element_class_set_details):
13143         * gst/gstpad.c: (gst_pad_can_link_filtered):
13144           fix smaller memleaks
13145         * gst/gstpad.c: (gst_real_pad_dispose):
13146           check that explicit caps are gone
13147         * gst/gststructure.c: (gst_structure_free):
13148           actually free the structure
13149         * gst/gstelement.c: (gst_element_clear_pad_caps):
13150           unset explicit caps
13151
13152 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13153
13154         * tools/Makefile.am:
13155           use AM_CFLAGS since all the CFLAGS are the same
13156           use AM_LDFAGS
13157
13158 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13159
13160         * docs/manual/gnome.xml:
13161           expand example a little
13162         * gst/gst.c: (gst_init_with_popt_table),
13163         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13164           make sure popt option displays are done with right textdomain
13165           use GstPoptOption type
13166         * gst/gst.h:
13167           create GstPoptOption type
13168
13169 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13170
13171         * gst/gsterror.c: (_gst_stream_errors_init):
13172         * gst/gsterror.h:
13173           adding error type for no codec
13174         * po/POTFILES.in:
13175           add gst-inspect
13176         * po/nl.po:
13177           update dutch translation
13178         * tools/gst-inspect.c: (print_element_list), (main):
13179           do proper internationalization
13180         * tools/gst-launch.c: (idle_func):
13181           remove commented out function call
13182
13183 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13184
13185         * docs/README:
13186           add some error fixing notes
13187         * docs/gst/gstreamer-sections.txt:
13188           remove double entries
13189         * docs/gst/tmpl/gstbin.sgml:
13190         * docs/gst/tmpl/gstclock.sgml:
13191           remove override
13192         * docs/gst/tmpl/gstelement.sgml:
13193         * docs/gst/tmpl/gstindex.sgml:
13194         * docs/gst/tmpl/gstobject.sgml:
13195         * docs/gst/tmpl/gstpadtemplate.sgml:
13196         * docs/gst/tmpl/gstreamer-unused.sgml:
13197         * docs/gst/tmpl/gsttag.sgml:
13198         * docs/gst/tmpl/gstthread.sgml:
13199         * docs/gst/tmpl/gstxml.sgml:
13200         * gst/gsttag.h:
13201           sync header prototypes with c decls
13202         * gst/gsttaginterface.c:
13203           fix doc headers
13204
13205 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13206
13207         * gst/parse/Makefile.am:
13208         * gst/gstobject.h:
13209           get rid of gstmarshal.h dependency. It's not needed.
13210         * gst/gst.h:
13211         * gst/elements/gstfakesink.c:
13212         * gst/elements/gstfakesrc.c:
13213         * gst/elements/gstidentity.c:
13214         * gst/gstbin.c:
13215         * gst/gstelement.c:
13216         * gst/gstindex.c:
13217         * gst/gstobject.c:
13218         * gst/gstpad.c:
13219         * gst/gstthread.c:
13220         * gst/gstxml.c:
13221         * libs/gst/control/dparam.c:
13222         * libs/gst/control/dparammanager.c:
13223           include gstmarshal.h.
13224         Fixes #132045
13225
13226 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13227
13228         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13229         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13230         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13231         * gst/elements/gstfilesrc.h:
13232           don't ref the filesrc when creating mmaped buffers. Don't keep a
13233           list of not-yet-destroyed buffers.
13234         * gst/gstbuffer.h:
13235           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13236
13237 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13238
13239         * gst/gst.c: (init_pre):
13240           remove textdomain
13241
13242 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13243
13244         * docs/pwg/advanced-events.xml:
13245         * docs/pwg/advanced-scheduling.xml:
13246         * docs/pwg/intro-basics.xml:
13247         * docs/pwg/other-manager.xml:
13248         * docs/pwg/other-nton.xml:
13249         * docs/pwg/other-ntoone.xml:
13250         * docs/pwg/other-oneton.xml:
13251         * docs/pwg/pwg.xml:
13252           All sort of documentation... Forgot what. Point is that I want this
13253           in before I leave. The 'other-*' will be the last section and will
13254           explain issues specific to these type of elements.
13255
13256 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13257
13258         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13259         (gst_filesrc_get_read):
13260           set all the values on buffers that we can
13261
13262 2004-02-02  David Schleef  <ds@schleef.org>
13263
13264         Change usage of isblah() to g_ascii_isblah() to be more locale
13265         independent.  (#133076)
13266         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13267         * gst/gstutils.c:
13268         * gst/parse/parse.l:
13269
13270 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13271
13272         reviewed by: David Schleef  <ds@schleef.org>
13273
13274         Fix memory leaks:
13275         * gst/gstcaps.c: (gst_caps_to_string):
13276         * gst/registries/gstxmlregistry.c:
13277         (gst_xml_registry_add_path_list_func),
13278         (gst_xml_registry_parse_padtemplate):
13279
13280 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13281
13282         * gst/gstelement.c: (gst_element_default_error):
13283           suffix error messages with period
13284
13285 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13286
13287         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13288         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13289         * gst/gsterror.c: (gst_error_get_message):
13290           Suffix with dots
13291         * po/fr.po:
13292         * po/nl.po:
13293           Update translation files
13294
13295 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13296
13297         * gst/autoplug/gstspideridentity.c:
13298         (gst_spider_identity_sink_loop_type_finding):
13299         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13300         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13301         (gst_filesink_close_file), (gst_filesink_handle_event),
13302         (gst_filesink_chain):
13303         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13304         (gst_filesrc_get_read), (gst_filesrc_open_file):
13305         * gst/elements/gstidentity.c: (gst_identity_chain):
13306         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13307         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13308         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13309         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13310         * gst/gsterror.c: (_gst_core_errors_init),
13311         (_gst_library_errors_init), (_gst_resource_errors_init),
13312         (_gst_stream_errors_init), (gst_error_get_message):
13313         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13314         (gst_pad_recover_caps_error), (gst_pad_pull):
13315         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13316         * gst/schedulers/gstbasicscheduler.c:
13317         (gst_basic_scheduler_chainhandler_proxy),
13318         (gst_basic_scheduler_gethandler_proxy),
13319         (gst_basic_scheduler_cothreaded_chain):
13320           Suffix error messages with period.
13321           Use (NULL) instead of NULL
13322
13323 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13324
13325         * docs/gst/tmpl/gstelement.sgml:
13326         * docs/gst/tmpl/gstxml.sgml:
13327         * gst/gstelement.c: (gst_element_error_full):
13328           add element path to error
13329
13330 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13331
13332         * docs/random/mimetypes:
13333           update raw int/float info
13334         * gst/gsttag.c: (_gst_tag_initialize):
13335         * gst/gsttag.h:
13336           add GST_TAG_ENCODER
13337
13338 2004-01-30  David Schleef  <ds@schleef.org>
13339
13340         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13341           missing (#132991)
13342
13343 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13344
13345         reviewed by Benjamin Otte 
13346           parts of the patch submitted in bug #113913
13347
13348         * configure.ac:
13349           use AC_C_INLINE. Use = instead of == with test
13350         * examples/plugins/example.c:
13351         * gst/autoplug/gstspideridentity.c:
13352         * gst/elements/gstfdsrc.c:
13353         * gst/elements/gstfilesrc.c:
13354         * gst/elements/gstidentity.c:
13355         * gst/elements/gstmultidisksrc.c:
13356         * gst/elements/gststatistics.c:
13357         * gst/gstelement.c:
13358         * gst/gstobject.c:
13359         * gst/gstpad.c:
13360         * gst/gstpipeline.c:
13361         * gst/gstthread.c:
13362           don't end enums with a comma
13363         * gst/gstindex.c: (gst_index_compare_func):
13364           do explicit casting to gint
13365         * gst/gsttrace.c: (gst_trace_text_flush):
13366           #define strsize as a macro
13367
13368 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13369
13370         * docs/README:
13371         * docs/gst/gstreamer-docs.sgml:
13372         * docs/gst/gstreamer-sections.txt:
13373         * docs/gst/tmpl/gstelement.sgml:
13374         * docs/gst/tmpl/gsterror.sgml:
13375         * docs/gst/tmpl/gstinterface.sgml:
13376         * docs/gst/tmpl/gstreamer-unused.sgml:
13377         * docs/gst/tmpl/gststructure.sgml:
13378         * docs/gst/tmpl/gsttag.sgml:
13379         * docs/gst/tmpl/gsttaginterface.sgml:
13380         * docs/gst/tmpl/gstvalue.sgml:
13381         make sure all API ends up in the built docs
13382         * gst/gstinterface.c:
13383         * gst/gststructure.c: (gst_structure_id_set_value),
13384         (gst_structure_set_value), (gst_structure_id_get_value):
13385         * gst/gststructure.h:
13386         * gst/gstvalue.h:
13387         sync .h with .c declarations
13388
13389 2004-01-30  Julien Moutte  <julien@moutte.net>
13390
13391         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13392         Ronald will fix riffread.
13393
13394 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13395
13396         * docs/pwg/advanced-interfaces.xml:
13397           Added tuner interface docs.
13398
13399 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13400
13401         * docs/random/mimetypes:
13402           correct Theora information
13403         * gst/gstelement.h:
13404           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13405
13406 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13407
13408         * gst/gstelement.c: (gst_element_error_full):
13409         * gst/gstelement.h:
13410           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13411
13412 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13413
13414         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13415         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13416         again and even before DISCONT.
13417         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13418         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13419         bytestream so that it's not stopping to fill the bytestream if events
13420         different than EOS or DISCONT are received. Instead it process them so
13421         that they go downstream.
13422
13423 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13424
13425         * docs/gst/tmpl/gstelement.sgml:
13426         * docs/gst/tmpl/gstreamer-unused.sgml:
13427         * docs/gst/tmpl/gstxml.sgml:
13428         * gst/autoplug/gstspideridentity.c:
13429         (gst_spider_identity_sink_loop_type_finding):
13430         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13431         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13432         (gst_filesink_close_file), (gst_filesink_handle_event),
13433         (gst_filesink_chain):
13434         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13435         (gst_filesrc_get_read), (gst_filesrc_open_file):
13436         * gst/elements/gstidentity.c: (gst_identity_chain):
13437         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13438         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13439         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13440         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13441         * gst/gstelement.h:
13442         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13443         (gst_pad_recover_caps_error), (gst_pad_pull):
13444         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13445         * gst/schedulers/gstbasicscheduler.c:
13446         (gst_basic_scheduler_chainhandler_proxy),
13447         (gst_basic_scheduler_gethandler_proxy),
13448         (gst_basic_scheduler_cothreaded_chain):
13449           gst_element_error -> GST_ELEMENT_ERROR
13450
13451 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13452
13453         * docs/Makefile.am:
13454         * docs/gst/tmpl/gstelement.sgml:
13455         * docs/gst/tmpl/gstxml.sgml:
13456         * docs/manuals.mak:
13457         * docs/pwg/advanced-request.xml:
13458         * docs/pwg/advanced-scheduling.xml:
13459         * docs/pwg/advanced-tagging.xml:
13460           fix non-validating docbook using CDATA
13461           make sure make check-local gets run first to check if it validates
13462
13463 2004-01-29  Julien MOUTTE <julien@moutte.net>
13464
13465         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13466         handling (up and downstream).
13467         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13468         my_filter thing.
13469
13470 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13471
13472         * docs/pwg/advanced-tagging.xml:
13473           Add docs about tag writing.
13474
13475 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13476
13477         * docs/pwg/advanced-tagging.xml:
13478           Add a part about tag reading and application signalling... Tag
13479           writing still needs to be documented.
13480         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13481           We can set file locations in READY, too.
13482
13483 2004-01-29  Julien MOUTTE <julien@moutte.net>
13484
13485         * docs/random/ds/element-checklist: Adding some notes about src
13486         events.
13487
13488 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13489
13490         * docs/random/mimetypes:
13491           Update docs to point to correct elements for various mimetypes, and
13492           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13493           <stephane.loeuillet@tiscali.fr>.
13494
13495 2004-01-28  David Schleef  <ds@schleef.org>
13496
13497         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13498
13499 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13500
13501         * docs/random/mimetypes:
13502           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13503           undefined"
13504         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13505           make it only work in NULL.
13506         * gst/gstcaps.c:
13507           don't posion NULL caps
13508         * gst/gstelement.c: (gst_element_set_time):
13509           add debugging statement
13510         * gst/gstelement.c: (gst_element_emit_found_tag),
13511         (gst_element_found_tag_func), (gst_element_found_tags):
13512         * gst/gstelement.h:
13513           These functions take const taglists
13514         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13515           fix memleak
13516         * gst/gstpad.c: (gst_pad_event_default):
13517           make more effort on handling discont and clocks, g_warn if everything
13518           fails
13519         * gst/gststructure.c: (gst_structure_remove_fields),
13520         (gst_structure_remove_fields_valist):
13521         * gst/gststructure.h:
13522           add gst_structure_remove_fields(_valist)
13523         * gst/gsttag.c:
13524           fix doc glitch
13525
13526 2004-01-28  David Schleef  <ds@schleef.org>
13527
13528         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13529         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13530         Fix memory leakage of gst_caps_to_string().
13531
13532         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13533         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13534         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13535         (gst_spider_identity_sink_loop_type_finding):
13536         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13537         (find_suggest):
13538         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13539         (gst_pad_set_explicit_caps):
13540         * gst/parse/grammar.y:
13541
13542 2004-01-28  David Schleef  <ds@schleef.org>
13543
13544         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13545         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13546         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13547         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13548         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13549         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13550         (gst_debug_log_default), (_gst_info_printf_extension),
13551         (_gst_info_printf_extension_arginfo):  Add printf extension.
13552         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13553         * gst/gststructure.c: (gst_structure_to_string),
13554         (_gst_structure_parse_value): Use gst_value_deserialize() and
13555         remove old code.
13556         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13557         (gst_value_deserialize_boolean), (gst_strtoi),
13558         (gst_value_deserialize_int), (gst_value_deserialize_double),
13559         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13560         a bunch of deserialize functions and gst_value_deserialize.
13561         * gst/gstvalue.h: er, _de_serialize, not unserialize
13562         * testsuite/caps/string-conversions.c: (main): We don't currently
13563         handle (float) in caps, so convert these to (double).
13564         * testsuite/debug/Makefile.am: Add new test for the printf extension
13565         * testsuite/debug/printf_extension.c: (main): same
13566
13567 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13568
13569         * docs/random/company/time:
13570           Add some docs about clocking and time
13571
13572 2004-01-28  Julien MOUTTE <julien@moutte.net>
13573
13574         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13575
13576 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13577
13578         * docs/pwg/advanced-clock.xml:
13579         * docs/pwg/advanced-dparams.xml:
13580         * docs/pwg/advanced-events.xml:
13581         * docs/pwg/advanced-interfaces.xml:
13582         * docs/pwg/advanced-midi.xml:
13583         * docs/pwg/advanced-request.xml:
13584         * docs/pwg/advanced-scheduling.xml:
13585         * docs/pwg/advanced-tagging.xml:
13586         * docs/pwg/advanced-types.xml:
13587         * docs/pwg/appendix-checklist.xml:
13588         * docs/pwg/building-boiler.xml:
13589         * docs/pwg/building-chainfn.xml:
13590         * docs/pwg/building-filterfactory.xml:
13591         * docs/pwg/building-pads.xml:
13592         * docs/pwg/building-props.xml:
13593         * docs/pwg/building-signals.xml:
13594         * docs/pwg/building-state.xml:
13595         * docs/pwg/building-testapp.xml:
13596         * docs/pwg/intro-basics.xml:
13597         * docs/pwg/intro-preface.xml:
13598         * docs/pwg/other-autoplugger.xml:
13599         * docs/pwg/other-sink.xml:
13600         * docs/pwg/other-source.xml:
13601         * docs/pwg/titlepage.xml:
13602           fix up id's
13603
13604 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13605
13606         * docs/95NonPath:
13607         * docs/HACKING:
13608         * docs/README:
13609         * docs/building-the-docs-on-debian:
13610           collect relevant bits of doc info
13611
13612 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13613
13614         * docs/pwg/advanced_tagging.xml:
13615           Half-assed commit so Thomas can re-arrange document IDs here to be
13616           consistent, too.
13617
13618 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13619
13620         * docs/manual/autoplugging.xml:
13621         * docs/manual/bins-api.xml:
13622         * docs/manual/bins.xml:
13623         * docs/manual/buffers-api.xml:
13624         * docs/manual/buffers.xml:
13625         * docs/manual/clocks.xml:
13626         * docs/manual/components.xml:
13627         * docs/manual/cothreads.xml:
13628         * docs/manual/debugging.xml:
13629         * docs/manual/dparams-app.xml:
13630         * docs/manual/dynamic.xml:
13631         * docs/manual/elements-api.xml:
13632         * docs/manual/elements.xml:
13633         * docs/manual/factories.xml:
13634         * docs/manual/gnome.xml:
13635         * docs/manual/goals.xml:
13636         * docs/manual/helloworld.xml:
13637         * docs/manual/helloworld2.xml:
13638         * docs/manual/init-api.xml:
13639         * docs/manual/intro.xml:
13640         * docs/manual/links-api.xml:
13641         * docs/manual/links.xml:
13642         * docs/manual/manual.xml:
13643         * docs/manual/motivation.xml:
13644         * docs/manual/pads-api.xml:
13645         * docs/manual/pads.xml:
13646         * docs/manual/plugins-api.xml:
13647         * docs/manual/plugins.xml:
13648         * docs/manual/programs.xml:
13649         * docs/manual/queues.xml:
13650         * docs/manual/quotes.xml:
13651         * docs/manual/schedulers.xml:
13652         * docs/manual/states-api.xml:
13653         * docs/manual/states.xml:
13654         * docs/manual/threads.xml:
13655         * docs/manual/typedetection.xml:
13656         * docs/manual/xml.xml:
13657           use chapter, part, section or misc as id starts for all bits
13658
13659 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * docs/gst/gstreamer-sections.txt:
13662           Fix up TITLE of the sections
13663
13664 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13665
13666         * docs/pwg/advanced_interfaces.xml:
13667           Add documentation on propertyprobing.
13668         * docs/pwg/advanced_events.xml:
13669         * docs/pwg/advanced_tagging.xml:
13670         * docs/pwg/building_boiler.xml:
13671         * docs/pwg/building_filterfactory.xml:
13672         * docs/pwg/pwg.xml:
13673           Move filterfactory and tagging into their own chapter, add a chapter
13674           on events. all these are empty placeholders that will be filled in
13675           some day.
13676
13677 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13678
13679         * docs/pwg/advanced_interfaces.xml:
13680           Docs for mixer interface. Also a check for website uploading.
13681
13682 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13683
13684         * docs/HACKING:
13685         * docs/Makefile.am:
13686         * docs/faq/Makefile.am:
13687         * docs/gst/Makefile.am:
13688         * docs/gst/tmpl/gstelement.sgml:
13689         * docs/gst/tmpl/gstplugin.sgml:
13690         * docs/gst/tmpl/gstreamer-unused.sgml:
13691         * docs/libs/Makefile.am:
13692         * docs/manual/Makefile.am:
13693         * docs/manuals.mak:
13694         * docs/pwg/Makefile.am:
13695         * docs/upload.mak:
13696           Separate out upload target and make it similar for
13697           both docbook and gtk-doc docs
13698
13699 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13700
13701         * docs/manuals.mak:
13702           Fix upload target to work with freedesktop
13703
13704 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13705
13706         * docs/pwg/advanced_types.xml:
13707           Add notes on creating your own types.
13708         * docs/pwg/building_boiler.xml:
13709         * docs/pwg/building_pads.xml:
13710         * docs/pwg/building_state.xml:
13711           Add some stuff about how to retrieve values from structures, how
13712           that relates to types and change layout slightly again to be almost
13713           perfect.
13714
13715 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13716
13717         * docs/pwg/advanced_dparams.xml:
13718         * docs/pwg/advanced_scheduling.xml:
13719           Change index layout slightly.
13720
13721 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13722
13723         * docs/pwg/advanced_clock.xml:
13724         * docs/pwg/advanced_interfaces.xml:
13725         * docs/pwg/advanced_midi.xml:
13726           General placeholders for now.
13727         * docs/pwg/advanced_request.xml:
13728           Explanation about sometimes and request pads.
13729         * docs/pwg/advanced_scheduling.xml:
13730           Concept of bytestream, loopfunctions and schedulers.
13731         * docs/pwg/building_boiler.xml:
13732           Add something about plugin-init.
13733
13734 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13735
13736         * docs/pwg/building_pads.xml:
13737           Fix broken docbook
13738
13739 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13740
13741         * docs/pwg/advanced_interfaces.xml:
13742         * docs/pwg/pwg.xml:
13743           Add as a placeholder for future filling-in.
13744         * docs/pwg/basics_autoplugging.xml:
13745         * docs/pwg/basics_buffers.xml:
13746         * docs/pwg/basics_elements.xml:
13747         * docs/pwg/basics_events.xml:
13748         * docs/pwg/basics_plugins.xml:
13749         * docs/pwg/basics_types.xml:
13750           Remove, because unused (this is all in intro_basics.xml).
13751         * docs/pwg/building_signals.xml:
13752           Short intro to signals + reference to GObject docs - we really
13753           shouldn't go into these sort of things to deply because we don't
13754           use them that extensively anyway.
13755         * docs/pwg/building_state.xml:
13756           Explanation of states. Benjamin, please check.
13757         * docs/pwg/building_testapp.xml:
13758           Put everything in one page - putting only a few lines of content
13759           per page doesn't really make sense.
13760
13761           Time to get into the advanced topics. ;).
13762
13763 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13764
13765         * docs/pwg/advanced_types.xml:
13766           Finish documenting the current state of mimetypes.
13767         * docs/pwg/building_boiler.xml:
13768         * docs/pwg/building_chainfn.xml:
13769         * docs/pwg/building_pads.xml:
13770         * docs/pwg/building_props.xml:
13771         * docs/pwg/building_testapp.xml:
13772           Start documenting the "how to build a simple audio filter" part
13773           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13774           states and (maybe?) a short introduction to capsnego in the chapter
13775           on pads (building_pads.xml). Capsnego should probably be explained
13776           fully in advanced_capsnego.xml or so.
13777
13778 2004-01-26  David Schleef  <ds@schleef.org>
13779
13780         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13781         * gst/gstpad.h: Add new function to allow element to (somewhat)
13782         specify non-fixed caps on a pad.
13783         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13784         that I added a few weeks ago.
13785
13786 2004-01-26  David Schleef  <ds@schleef.org>
13787
13788         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13789           making try_set_caps() work with non-fixed caps.
13790
13791 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13792
13793         * docs/pwg/advanced_types.xml:
13794         * docs/pwg/intro_basics.xml:
13795         * docs/pwg/intro_preface.xml:
13796         * docs/pwg/pwg.xml:
13797         * docs/pwg/titlepage.xml:
13798           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13799           in here (docs/random/mimetypes), and will from there on work on both
13800           updating outdated parts and adding missing parts.
13801           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13802
13803 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13804
13805         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13806           policy is set
13807
13808 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13809
13810         * gst/gstelement.h:
13811           remove gst_element_factory_get_version. It doesn't exist anymore.
13812         * gst/gstplugin.c:
13813         * gst/gstplugin.h:
13814           remove gst_plugin_set_name and change gst_plugin_get_longname to
13815           gst_plugin_get_description to match code.
13816         * gst/gsterror.h:
13817           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13818         * gst/gstpad.c: (gst_pad_try_set_caps):
13819           make it work with nonfixed caps.
13820           Note that even in the nonfixed case the link function of the pad
13821           that tries to set caps isn't called.
13822
13823 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13824
13825         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13826           fix bug where buffer was not assembled correctly
13827         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13828           silence by default
13829         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13830           only seek if there's no more buffers that could work without seeking
13831
13832 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13833
13834         * gst/gsttag.c: (_gst_tag_initialize):
13835         * gst/gsttag.h:
13836           Add application tag (for encoding/muxing app).
13837
13838 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13839
13840         * autogen.sh:
13841           make autopoint force, and libtoolize not copy
13842         * common/m4/as-docbook.m4:
13843           added docbook xml catalog setup check
13844         * common/m4/gst-doc.m4:
13845           use docbook check
13846
13847 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13848
13849         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13850         * gst/gsttag.h:
13851           add GstTagFlag
13852
13853 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13854
13855         * docs/gst/gstreamer-sections.txt:
13856         * docs/gst/tmpl/gst.sgml:
13857         * docs/gst/tmpl/gstbuffer.sgml:
13858         * docs/gst/tmpl/gstclock.sgml:
13859         * docs/gst/tmpl/gstelement.sgml:
13860         * docs/gst/tmpl/gstreamer-unused.sgml:
13861         * docs/gst/tmpl/gstxml.sgml:
13862           sync latest API changes to docs
13863
13864 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * gst/gstpluginfeature.c:
13867           fix doc snippet
13868         * tools/gst-inspect.c: (print_element_list):
13869           fix output of typefind
13870           add GPL header
13871         * tools/gst-launch.c:
13872           add GPL header
13873
13874 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13875
13876         * gst/elements/Makefile.am:
13877         * gst/elements/gstelements.c:
13878         * gst/elements/gsttypefindelement.c:
13879         * gst/elements/gsttypefindelement.h:
13880         * po/POTFILES.in:
13881         * po/fr.po:
13882         * po/nl.po:
13883           renamed gsttypefindelement to gsttypefind, conserving CVS history
13884
13885 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13886
13887         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13888         * gst/gsttag.h:
13889           add some tags used in ogg as well
13890           fix _ in replaygain tags
13891
13892 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13893
13894         * gst/gsterror.h:
13895           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13896
13897 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * gst/gstelement.c: (gst_element_error_full):
13900         * gst/gstelement.h:
13901           change _extended to _full
13902
13903 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13904
13905         reviewed by: <delete if not using a buddy>
13906
13907         * docs/gst/tmpl/gst.sgml:
13908         * docs/gst/tmpl/gstbuffer.sgml:
13909         * docs/gst/tmpl/gstclock.sgml:
13910         * docs/gst/tmpl/gstelement.sgml:
13911         * docs/gst/tmpl/gstreamer-unused.sgml:
13912         * docs/gst/tmpl/gstxml.sgml:
13913         * gst/gstelement.c: (gst_element_error_full):
13914         * gst/gstelement.h:
13915
13916 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13917
13918         * gst/gstelement.h: fix _gst_element_error_printf prototype
13919
13920 2004-01-20  David Schleef  <ds@schleef.org>
13921
13922         * gst/gststructure.c: (gst_structure_to_string):
13923         Convert function to use gst_value_serialize().
13924         * gst/gstvalue.c: (gst_value_serialize_list),
13925         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13926         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13927         (gst_value_serialize_int), (gst_value_serialize_double),
13928         (gst_string_wrap), (gst_value_serialize_string),
13929         (gst_value_serialize), (gst_value_deserialize):
13930         * gst/gstvalue.h:
13931         Add implementations for serialize.
13932
13933 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13934
13935         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13936         we want to keep that one in the future or change xvidenc.c to use 
13937         another error.
13938
13939 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13940
13941         * gst/gstelement.c: (_gst_element_error_printf):
13942         * gst/gstelement.h:
13943           privatise function
13944
13945 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13946
13947         * docs/random/error:
13948           doc explaining error system
13949         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13950           cleanup
13951
13952 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13953
13954         * gst/gst-i18n-app.h:
13955         * gst/gst-i18n-lib.h:
13956           remove inclusion of config.h
13957         * po/POTFILES.in:
13958         * po/nl.po:
13959           add gst/gstelement.c
13960
13961 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13962
13963         * po/nl.po: updated Dutch translation
13964
13965 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13966
13967         * gst/gsterror.c: (_gst_core_errors_init),
13968         (_gst_library_errors_init), (_gst_resource_errors_init),
13969         (_gst_stream_errors_init):
13970         remove ending punctuation dots
13971
13972 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13973
13974         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13975         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13976         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13977         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13978         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13979         use GST_ERROR_SYSTEM
13980
13981 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13982
13983         * gst/gstelement.c: (gst_element_error_printf),
13984         (gst_element_error_extended):
13985         * gst/gstelement.h:
13986           add a helper printf function so we can have NULL values passed.
13987
13988 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * gst/gstelement.h:
13991           add G_STMT macros to gst_element_error, which isn't strictly
13992           necessary but people tell me to anyway.
13993
13994 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13995
13996         * gst/Makefile.am:
13997         * gst/autoplug/gstspideridentity.c:
13998         (gst_spider_identity_sink_loop_type_finding):
13999         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
14000         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
14001         (gst_filesink_close_file), (gst_filesink_handle_event),
14002         (gst_filesink_chain):
14003         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
14004         (gst_filesrc_map_region), (gst_filesrc_get_read),
14005         (gst_filesrc_open_file):
14006         * gst/elements/gstidentity.c: (gst_identity_chain):
14007         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14008         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14009         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14010         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
14011         * gst/gst.h:
14012         * gst/gst_private.h:
14013         * gst/gstelement.c: (gst_element_class_init),
14014         (gst_element_default_error), (gst_element_error_func),
14015         (gst_element_error_extended):
14016         * gst/gstelement.h:
14017         * gst/gsterror.c: (_gst_core_errors_init),
14018         (_gst_library_errors_init), (_gst_resource_errors_init),
14019         (_gst_stream_errors_init), (gst_error_get_message):
14020         * gst/gsterror.h:
14021         * gst/gstinfo.c: (_gst_debug_init):
14022         * gst/gstmarshal.list:
14023         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14024         (gst_pad_recover_caps_error), (gst_pad_pull):
14025         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
14026         * gst/schedulers/gstbasicscheduler.c:
14027         (gst_basic_scheduler_chainhandler_proxy),
14028         (gst_basic_scheduler_gethandler_proxy),
14029         (gst_basic_scheduler_cothreaded_chain):
14030         * po/POTFILES.in:
14031         * po/fr.po:
14032         * po/nl.po:
14033           change error signal
14034           add error categories
14035
14036 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
14037
14038         * gst/gsttag.c: (_gst_tag_initialize):
14039         * gst/gsttag.h:
14040         Add replaygain tag
14041
14042 2004-01-18  Colin Walters  <walters@verbum.org>
14043
14044         * examples/retag/retag.c: Call gst_init before processing
14045         program args.  Add g_assert to _link_many call.
14046
14047 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14048
14049         * gst/gstpad.c: (gst_pad_alloc_buffer):
14050           Return a newly allocated buffer when the pad has no peer.
14051
14052 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14053
14054         * gst/gstclock.c: (gst_clock_get_time):
14055           make it compile with gcc 2.95 again.
14056           Patch by Scott Wheeler
14057
14058 2004-01-15  David Schleef  <ds@schleef.org>
14059
14060         * gst/gstcaps.h:
14061         Added gst_caps_is_simple() macro.
14062         * testsuite/caps/caps.c: (test1):
14063         * testsuite/caps/intersect2.c: (main):
14064         * testsuite/caps/intersection.c: (main):
14065         Fixes to make 'make check' work again after removing
14066         gst_caps_is_chained().
14067
14068 2004-01-15  Leif Johnson <leif@ambient.2y.net>
14069
14070         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
14071         and additions to the MIDI document.
14072
14073 2004-01-15  David Schleef  <ds@schleef.org>
14074
14075         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
14076         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
14077         of GST_RPAD_, since we don't know if it's a real or ghost pad.
14078
14079 2004-01-15  David Schleef  <ds@schleef.org>
14080
14081         * gst/gstqueue.c:
14082         * gst/gstqueue.h:
14083         Fix the spelling of "treshold" and make min_threshold actually
14084         affect the queue.
14085
14086 2004-01-15  David Schleef  <ds@schleef.org>
14087
14088         * gst/gstcaps.c:
14089         Add lots of documentation.
14090         * gst/gstcaps.h:
14091         Deprecate a few functions.
14092         * gst/gstpad.c:
14093         Removed use of deprecated functions.
14094
14095 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14096
14097         * gst/gstpad.c: (gst_pad_is_linked):
14098         * gst/gstpad.h:
14099           implement gst_pad_is_linked
14100         * gst/gstelement.h:
14101           reserve space for initiate_state_change
14102
14103 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14104
14105         * gst/autoplug/gstspideridentity.c:
14106         (gst_spider_identity_sink_loop_type_finding):
14107           break infinite loop by just returning instead of looping
14108         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
14109           set event time difference correctly. Set it to 1 second instead
14110           of 100ms to be more tolerant
14111         * gst/gstelement.c: (gst_element_set_time):
14112           add debugging output
14113
14114 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14115
14116         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14117           query if buffers are inside the pool, ignore events
14118
14119 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14120
14121         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14122         (gst_clock_set_speed), (gst_clock_set_active),
14123         (gst_clock_is_active), (gst_clock_reset),
14124         (gst_clock_handle_discont):
14125         * gst/gstclock.h:
14126           deprecate old interface and disable functions that aren't in use
14127           anymore.
14128         * gst/gstelement.h:
14129         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14130         (gst_element_set_time), (gst_element_adjust_time):
14131           add concept of "element time" and functions to get/set this time.
14132         * gst/gstelement.c: (gst_element_change_state):
14133           update element time correctly.
14134         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14135           This is a debug message, not a g_critical.
14136         * gst/gstpad.c: (gst_pad_event_default):
14137           handle discontinuous events right with element time.
14138         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14139           update to clocking fixes.
14140           set clocks on elements in READY=>PAUSED. The old behaviour caused
14141           a wrong element time on the first element that started playing.
14142         * gst/schedulers/gstbasicscheduler.c:
14143         (gst_basic_scheduler_class_init):
14144         * gst/schedulers/gstoptimalscheduler.c:
14145         (gst_opt_scheduler_class_init):
14146           remove code that just implements the default behaviour.
14147         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14148           update to use new clocking functions
14149         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14150         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14151           update to test new element time.
14152         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14153           use _get_allowed_caps instead of _get_caps. This catches filtered
14154           caps correctly.
14155         * testsuite/debug/commandline.c:
14156           update for new GST_DEBUG syntax.
14157         * testsuite/threads/Makefile.am:
14158           disable a test that only works sometimes.
14159
14160 2004-01-13  Julien MOUTTE <julien@moutte.net>
14161
14162         * po/LINGUAS: Adding fr.
14163         * po/fr.po: Adding french translation.
14164
14165 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14166
14167         * gst/parse/grammar.y:
14168         * po/POTFILES.in:
14169         * po/nl.po:
14170         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14171           translate parsing error messages
14172
14173 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14174
14175         * po/POTFILES.in: adding gst-launch
14176         * po/nl.po: updated translation, all 99 strings translated
14177         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14178         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14179           fix strings for translation
14180
14181 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14182
14183         * gst/gst.c:
14184           - capitalize beginnings of popt options
14185           - fix strings for translation
14186           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14187
14188 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14189
14190         * po/README: add some notes on how to update translations
14191
14192 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14193
14194         * ABOUT-NLS: removed, is autogenerated from autopoint
14195         * autogen.sh: add autopoint stuff
14196         * configure.ac: fix up gettext stuff
14197         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14198         * gst/elements/gsttypefindelement.c: add header include
14199         * gst/gettext.h: add header, copy from system-installed header
14200         * gst/gst-i18n-app.h: to be included by each app having translations
14201         * gst/gst-i18n-lib.h: to be included by each lib having translations
14202         * gst/gst.c: (init_pre): fix up gettext calls
14203         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14204         * po/LINGUAS: the new way to specify translations present
14205         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14206         * po/Makevars: the variables filled in for GStreamer
14207         * po/POTFILES.in: added new files with translations
14208         * po/de.po: has new strings
14209         * po/nl.po: readded, has new strings
14210
14211 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14212
14213         * gst/gsttag.c: fix some strings marked for translation
14214
14215 2004-01-13  Iain <iain@prettypeople.org>
14216
14217         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14218         group when we add an element to it, cos we unref it when we remove one
14219
14220 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14221
14222         * testsuite/debug/commandline.c: (debug_not_reached):
14223         * testsuite/debug/output.c: (check_message):
14224           fix testsuite
14225
14226 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14227
14228         * examples/cutter/.cvsignore:
14229         * examples/helloworld/.cvsignore:
14230         * examples/launch/.cvsignore:
14231         * examples/manual/.cvsignore:
14232         * examples/mixer/.cvsignore:
14233         * examples/pingpong/.cvsignore:
14234         * examples/plugins/.cvsignore:
14235         * examples/queue/.cvsignore:
14236         * examples/queue2/.cvsignore:
14237         * examples/queue3/.cvsignore:
14238         * examples/queue4/.cvsignore:
14239         * examples/retag/.cvsignore:
14240         * examples/thread/.cvsignore:
14241         * examples/typefind/.cvsignore:
14242         * examples/xml/.cvsignore:
14243         * gst/.cvsignore:
14244         * gst/autoplug/.cvsignore:
14245         * gst/elements/.cvsignore:
14246         * gst/indexers/.cvsignore:
14247         * gst/parse/.cvsignore:
14248         * gst/registries/.cvsignore:
14249         * gst/schedulers/.cvsignore:
14250         * libs/gst/bytestream/.cvsignore:
14251         * libs/gst/control/.cvsignore:
14252         * libs/gst/getbits/.cvsignore:
14253         * tests/.cvsignore:
14254         * tests/bufspeed/.cvsignore:
14255         * tests/instantiate/.cvsignore:
14256         * tests/memchunk/.cvsignore:
14257         * tests/muxing/.cvsignore:
14258         * tests/sched/.cvsignore:
14259         * tests/seeking/.cvsignore:
14260         * tests/threadstate/.cvsignore:
14261         * testsuite/.cvsignore:
14262         * testsuite/caps/.cvsignore:
14263         * testsuite/cleanup/.cvsignore:
14264         * testsuite/dynparams/.cvsignore:
14265         * testsuite/plugin/.cvsignore:
14266         * tools/.cvsignore:
14267           update - this is huge, because it includes *.bb, *.bbg and *.da files
14268           which are generated for gcov.
14269
14270 2004-01-11  David Schleef  <ds@schleef.org>
14271
14272         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14273         a function to parse integers in ways that strto[u]l() does not.
14274
14275 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14276
14277         * tools/gst-inspect.c: (print_caps):
14278           improve output of caps a bit
14279
14280 2004-01-11  David Schleef  <ds@schleef.org>
14281
14282         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14283         inherit correct flags (READONLY and DONTKEEP).
14284
14285 2004-01-11  David Schleef  <ds@schleef.org>
14286
14287         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14288         (gst_filesrc_map_region):
14289         * gst/gstbuffer.c: (_gst_buffer_initialize),
14290         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14291         (gst_buffer_new), (gst_buffer_create_sub),
14292         (gst_buffer_is_span_fast), (gst_buffer_span):
14293         * gst/gstbuffer.h:
14294         Change GstBuffer private structure element names. (all files)
14295         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14296         (gst_queue_link):
14297         * gst/gstqueue.h:
14298         Implement getcaps/pad_link functions that handle the case where
14299         there are data in the queue.
14300
14301 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14302
14303         * gst/elements/gstbufferstore.c:
14304           initialize debugging structure correctly
14305         * gst/elements/gsttee.c: (gst_tee_set_property):
14306           g_object_notify when property was changed
14307         * gst/elements/gsttypefindelement.c:
14308         (gst_type_find_element_change_state):
14309           clear caps correctly
14310
14311 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14312
14313         * gst/gstqueue.c: (gst_queue_init):
14314           Use better defaults for when a queue should block. This
14315           gets rid of jerky playback for quite a few files.
14316           It takes more memory.
14317
14318 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14319
14320         (gst_xml_registry_parse_padtemplate):
14321           make critical message slightly more useful
14322
14323 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14324
14325         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14326         (gst_debug_message_get), (gst_debug_log_default):
14327         * gst/gstinfo.h:
14328           Change gst_debug_log(_valist) to take a const format string.
14329           Change prototype of log function and functions using those to 
14330           take a GstDebugMessage instead of a string that requires using
14331           gst_debug_message_get.
14332
14333 2004-01-08  David Schleef  <ds@schleef.org>
14334
14335         * Makefile.am:
14336         * configure.ac:
14337         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14338         and -ftest-coverage, which allows gcov to show information about
14339         testsuite coverage.
14340
14341 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14342
14343         * gst/gstutils.h:
14344           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14345           GST_PARENT_CALL_WITH_DEFAULT
14346         * gst/elements/gstaggregator.c: 
14347         * gst/elements/gstbufferstore.c: 
14348         * gst/elements/gstfakesink.c: 
14349         * gst/elements/gstfakesrc.c: 
14350         * gst/elements/gstfdsink.c: 
14351         * gst/elements/gstfdsrc.c: 
14352         * gst/elements/gstfilesink.c: 
14353         * gst/elements/gstfilesrc.c: 
14354         * gst/elements/gstidentity.c: 
14355         * gst/elements/gstmd5sink.c: 
14356         * gst/elements/gstmultidisksrc.c:
14357         * gst/elements/gstpipefilter.c: 
14358         * gst/elements/gstshaper.c:
14359         * gst/elements/gststatistics.c:
14360         * gst/elements/gsttee.c:
14361         * gst/elements/gsttypefindelement.c:
14362           use them.
14363
14364 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14365
14366         * docs/gst/gstreamer-docs.sgml: remove props
14367         * docs/gst/gstreamer-sections.txt: remove props
14368         * docs/gst/tmpl/gst.sgml:
14369         * docs/gst/tmpl/gstbin.sgml:
14370         * docs/gst/tmpl/gstbuffer.sgml:
14371         * docs/gst/tmpl/gstcaps.sgml:
14372         * docs/gst/tmpl/gstclock.sgml:
14373         * docs/gst/tmpl/gstelement.sgml:
14374         * docs/gst/tmpl/gstindex.sgml:
14375         * docs/gst/tmpl/gstobject.sgml:
14376         * docs/gst/tmpl/gstpad.sgml:
14377         * docs/gst/tmpl/gstpadtemplate.sgml:
14378         * docs/gst/tmpl/gstreamer-unused.sgml:
14379         * docs/gst/tmpl/gstthread.sgml:
14380         * docs/gst/tmpl/gstxml.sgml:
14381           sync with code reorganization
14382
14383 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14384
14385         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14386         Make the 'Could not find compatible pad' message more informative.
14387
14388 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14389                                                                                 
14390         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14391           Fix for if we pass NULL as property to location.
14392         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14393         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14394           Fix for instantiate-test (see below).
14395         * gst/gststructure.c: (_gst_structure_parse_value):
14396           Fix compile error on gcc-2.96.
14397         * configure.ac:
14398         * tests/Makefile.am:
14399         * tests/instantiate/Makefile.am:
14400         * tests/instantiate/create.c: (create_all_elements), (main):
14401           Add a test that instantiates all elements. This makes it easy to
14402           track dead code for old API/design (like setting event functions
14403           on sink pads and so on).
14404
14405 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14406
14407         * gst/gstcaps.c: (gst_caps_append_structure):
14408           Move the poisoning to allow a NULL structure
14409         * gst/gstevent.c: (_gst_event_free):
14410           When freeing a navigation event, free the structure
14411           also
14412
14413 2004-01-04  David Schleef  <ds@schleef.org>
14414
14415         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14416         Remove usage of gst_pad_proxy_fixate.
14417         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14418         (gst_caps_split_one), (gst_caps_replace):
14419         Add poisoning code.
14420         * gst/gstmarshal.list:
14421         Add pointer__pointer for fixate signal
14422         * gst/gstpad.c: (gst_real_pad_class_init),
14423         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14424         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14425         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14426         Add poisoning code. Add fixate signal on RealPad. Change
14427         set_explicit_caps() to take const GstCaps, like try_set_caps().
14428         * gst/gstpad.h:
14429         * testsuite/caps/Makefile.am:
14430         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14431
14432 2004-01-03  David Schleef  <ds@schleef.org>
14433
14434         * gst/elements/gsttypefindelement.c:
14435         (gst_type_find_element_have_type), (gst_type_find_element_init):
14436         Use gst_pad_use_explicit_caps for src pad.
14437         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14438         before using it.
14439
14440 2004-01-03  David Schleef  <ds@schleef.org>
14441
14442         * gst/gstelement.c: (gst_element_link_pads_filtered),
14443         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14444         that linking was successful.
14445         * gst/gstpad.c: (gst_pad_link_free),
14446         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14447         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14448         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14449         GstPadLinkReturn correctly between functions, and don't fail
14450         when DELAYED is used (DELAYED is very important).  Better
14451         cleanup on unlinking and unnegotiation.  Should fix some spider
14452         bugs.
14453
14454 2004-01-02  David Schleef  <ds@schleef.org>
14455
14456         * gst/gstelement.c: (gst_element_class_init),
14457         (gst_element_base_class_init): ->padtemplates should be cleared
14458         in base_init, since we need to have a fresh list for every
14459         class.  (Alternately, we chould copy the list and share the
14460         actual pad templates (not the list), but that would require
14461         changing every plugin to move pad template registration from
14462         base_init to class_init.)
14463
14464 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14465
14466         * gst/gstelement.c: (gst_element_class_add_pad_template):
14467           Refuse registering a pad template if another pad template
14468           with the same name already exists (#114715).
14469
14470 2004-01-02  David Schleef  <ds@schleef.org>
14471
14472         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14473         (gst_caps_is_equal_fixed): Add new function.
14474         * gst/gstcaps.h: ditto.
14475         * gst/gstpad.c: (gst_real_pad_class_init),
14476         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14477         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14478         check new caps against existing caps -- if they're the same, return
14479         OK without renegotiating.  caps-nego-failed signal fixed so that
14480         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14481         to save an extra caps copy.  Don't complete negotiation if a pad
14482         link function returns DELAYED.
14483
14484 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14485
14486         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14487           Fix wrong g_return_if_fail
14488
14489 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14490
14491         * gst/gstbin.c: (gst_bin_class_init):
14492         Change the marshalling of element_added/element_removed
14493         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14494         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14495
14496 2004-01-01  David Schleef  <ds@schleef.org>
14497
14498         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14499         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14500         (gst_pad_use_explicit_caps):
14501         * gst/gstpad.h:
14502         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14503         to use an internal getcaps and link fuction so that negotiation
14504         always results in the explicitly set caps.
14505         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14506         are particularly useful for decoders.
14507
14508 2003-12-31  David Schleef  <ds@schleef.org>
14509
14510         * gst/elements/gstidentity.c: (gst_identity_class_init),
14511         (gst_identity_init), (gst_identity_chain),
14512         (gst_identity_set_property), (gst_identity_get_property):
14513         * gst/elements/gstidentity.h:
14514         * gst/gstqueue.c: (gst_queue_init):
14515           Negotiation fixes.
14516
14517 2003-12-31  David Schleef  <ds@schleef.org>
14518
14519         * gst/gstcaps.c: (gst_caps_intersect),
14520         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14521           Implement gst_caps_normalize().
14522         * testsuite/caps/normalisation.c: (main):
14523           Add an additional test
14524
14525 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14526
14527         * gst/gstqueue.c: (gst_queue_init):
14528           use gst_pad_proxy_getcaps()
14529
14530 2003-12-31  David Schleef  <ds@schleef.org>
14531
14532         * gst/elements/gstshaper.c: (gst_shaper_link):
14533         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14534         * gst/gstqueue.c: (gst_queue_link):
14535           Negotiation fixes.
14536
14537 2003-12-31  David Schleef  <ds@schleef.org>
14538
14539         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14540         * gst/gstpad.h: Add functions that are useful as default pad
14541         link and fixate functions for elements.
14542
14543 2003-12-30  David Schleef  <ds@schleef.org>
14544
14545         * gst/gstpad.c: (gst_pad_link_try):
14546           Fix segfault when attempting to return to old caps
14547
14548 2003-12-29  David Schleef  <ds@schleef.org>
14549
14550         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14551         (gst_caps_structure_simplify), (gst_caps_simplify):
14552         * gst/gstcaps.h:
14553           Add simplify function
14554         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14555         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14556         * gst/gstpad.h:
14557           Copy over srcnotify, sinknotify when calling old pad_link
14558           functions.  Add new is_negotiated() function.
14559         * gst/gststructure.c: (gst_structure_copy):
14560           Fix an incredibly stupid bug that should have been noticed
14561           weeks ago.  _copy() returned the argument, not the new copy.
14562
14563 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14564
14565         * gst/gstcaps.c: (gst_caps_append):
14566           add sanity checks
14567         * gst/gstcaps.h: (gst_caps_debug):
14568           remove, it doesn't exist anymore.
14569         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14570         (gst_element_threadsafe_properties_post_run):
14571           make debugging messages not clutter up THREAD debug category
14572         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14573         (gst_element_change_state):
14574           update to new caps API
14575         * gst/gstinterface.c: (gst_implements_interface_cast):
14576           don't put vital code in g_return_if_fail
14577         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14578         (gst_pad_link_filtered):
14579           add pst_pad_try_link and use it.
14580         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14581           implement correctly, deprecate first one.
14582         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14583           add and implement.
14584         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14585           implement.
14586         (gst_pad_get_negotiated_caps):
14587           add and implement. Make GST_PAD_CAPS call this function.
14588         (gst_pad_get_caps):
14589           remove unneeded check..
14590         (gst_pad_recover_caps_error):
14591           disable, always return FALSE.
14592         (gst_real_pad_dispose):
14593           don't free caps and appfilter anymore, they're unused.
14594         * gst/gstpad.h:
14595           Reflect changes mentioned above.
14596         * gst/gstsystemclock.c: (gst_system_clock_wait):
14597           Make 'clock is way behind' a debugging message.
14598         * gst/gstthread.c: (gst_thread_change_state):
14599           Fix debugging message
14600
14601 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14602
14603         * gst/gstinfo.h:
14604           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14605         * docs/gst/tmpl/gstreamer-unused.sgml:
14606           removed all traces of cvs conflicts
14607
14608 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14609
14610         * configure.ac:
14611         * gst/schedulers/cothreads_compat.h:
14612         * libs/Makefile.am:
14613           remove last instances of wingo cothread usage
14614
14615 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14616
14617         * gst/gstplugin.c:
14618         * gst/gstversion.h.in:
14619         * gst/parse/grammar.y:
14620           change comment block from /** to /* when not gtk-doc comments
14621
14622 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14623
14624         * gst/gst.c: whitespace and doc style fixes
14625
14626 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14627
14628         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14629
14630 2003-12-24  Colin Walters  <walters@verbum.org>
14631
14632         * gst/elements/gsttypefindelement.c:
14633           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14634           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14635           Don't double-free caps.
14636
14637 2003-12-23  David Schleef  <ds@schleef.org>
14638
14639         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14640           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14641           Many little fixes and additions of debug statements to
14642           get rhythmbox working.
14643
14644 2003-12-23  Colin Walters  <walters@verbum.org>
14645
14646         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14647         Use GST_PAD_LINK_SUCCESSFUL.
14648
14649 2003-12-23  David Schleef  <ds@schleef.org>
14650
14651         * gst/elements/gstaggregator.c:
14652         * gst/elements/gsttee.c:
14653           Use gst_pad_proxy_getcaps().
14654         * gst/gstpad.c:
14655         * gst/gstpad.h:
14656           Add gst_pad_proxy_getcaps(), which filter elements can use
14657           as a generic getcaps implementation.
14658           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14659           was advertised.
14660
14661 2003-12-23  David Schleef  <ds@schleef.org>
14662
14663         * gst/gstpad.c:
14664           Rearrange/rewrite much of the pad negotiation code, since it
14665           resembled pasta.  This actually changes the way some
14666           negotiation works, since the previous code was inconsistent
14667           depending on how it was invoked.  Add (internal) structure
14668           GstPadLink, which is used to hold some information (more in
14669           the future) about the link between two pads.  Fixes a number
14670           of bugs, including random lossage of filter caps when the
14671           initial negotiation is delayed.  A few functions are still
14672           unimplemented.
14673         * gst/gstpad.h:
14674           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14675           these when testing GstPadLinkReturn values instead of comparing
14676           directly.
14677
14678 2003-12-23  David Schleef  <ds@schleef.org>
14679
14680         * gst/gstvalue.c: 
14681         * gst/gstvalue.h:
14682           Rearrange lots of code.  Change registration of compare function
14683           into registration of compare/serialize/deserialize functions.
14684           Doesn't include implementation of gst_value_[de]serialize(),
14685           but that should be easy.
14686
14687 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14688
14689         * docs/gst/gstreamer-sections.txt:
14690         * docs/gst/tmpl/gstprops.sgml: removed
14691         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14692           David removed props and caps code, so let's remove their docs as well.
14693           Removed all no longer existing symbols from gstreamer-sections.txt
14694           
14695 2003-12-22  Colin Walters  <walters@verbum.org>
14696
14697         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14698           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14699           of tags directly.
14700
14701 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14702
14703         * gst/elements/gstelements.c:
14704           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14705         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14706           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14707           gst_caps (peer).
14708
14709 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14710
14711         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14712         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14713         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14714         (gst_spider_identity_sink_loop_type_finding):
14715         * gst/autoplug/gstspideridentity.h:
14716           Fix autoplugging in spider element, so it works with new caps.
14717           This was mainly caused by identifying empty caps incorrectly.
14718
14719 2003-12-22  David Schleef  <ds@schleef.org>
14720
14721         * gststructure.c, gstvalue.c, gstvalue.h: Add
14722           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14723           using g_value_copy()
14724
14725 2003-12-21  David Schleef  <ds@schleef.org>
14726
14727         * many, many files: Merge CAPS branch.  This includes:
14728           - implemention of GstValue and several GstValue types
14729           - implemention of GstStructure
14730           - entire rewrite of GstCaps
14731           - removal of GstProps
14732           - many changes to GstPad to compensate for new caps paradigm
14733           - removal of GstBufferpool
14734         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14735         gstvalue.h, gst/gstcaps[2]*.[ch]:
14736           - rename gstcaps2.[ch] to gstcaps.[ch]
14737
14738 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14739
14740         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14741         (gst_queue_chain), (gst_queue_handle_src_event):
14742           implement timeout for sending events. Workaround for if the
14743           pipeline on this queue is not passing any data.
14744
14745 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14746                                                                                 
14747         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14748         * moved CVS to freedesktop.org