check/elements/: Activate pads before using them.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-30  Wim Taymans  <wim@fluendo.com>
2
3         * check/elements/fakesrc.c: (setup_fakesrc):
4         * check/elements/identity.c: (setup_identity):
5         Activate pads before using them.
6
7 2005-08-30  Wim Taymans  <wim@fluendo.com>
8
9         * gst/base/gstadapter.c: (gst_adapter_flush):
10         Flushing out 0 bytes is ok for this function.
11
12         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13         no newsegment gives a warning and sets the start/stop to 
14         invalid.
15
16         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17         (gst_base_transform_set_passthrough):
18         Some debug info.
19
20         * gst/gstminiobject.c: (gst_mini_object_ref):
21         Check refcount here too.
22
23         * gst/gstpad.c: (gst_pad_init):
24         Pads are initially flushing and refusing data.
25
26         * gst/gstutils.c: (gst_element_link_pads_filtered):
27         When adding a capsfilter element make sure it has the
28         same state as the parent bin.
29
30 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
31
32         * docs/gst/tmpl/.cvsignore:
33         * docs/gst/tmpl/gstformat.sgml:
34         * docs/gst/tmpl/gstversion.sgml:
35         * gst/gstbus.h:
36         * gst/gstformat.c:
37         * gst/gstformat.h:
38         * gst/gstversion.h.in:
39           more docs and two more inlined
40
41 2005-08-30  Wim Taymans  <wim@fluendo.com>
42
43         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
44         Don't sync to clock.
45
46 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
47
48         * docs/gst/gstreamer-sections.txt:
49           ultral33t func10ns deserve to appear in the docs actualy
50         * docs/gst/tmpl/.cvsignore:
51         * docs/gst/tmpl/gstcompat.sgml:
52         * docs/gst/tmpl/gstconfig.sgml:
53         * gst/check/gstcheck.c:
54         * gst/gstcompat.h:
55         * gst/gstconfig.h.in:
56           inlined more docs
57
58 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
59
60         * docs/gst/tmpl/.cvsignore:
61         * docs/gst/tmpl/gstquery.sgml:
62         * docs/gst/tmpl/gstutils.sgml:
63         * gst/gstquery.c:
64         * gst/gstquery.h:
65           inlined and extended docs
66
67 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
68
69         * check/gst-libs/controller.c: (GST_START_TEST),
70         (gst_controller_suite):
71           more tests
72         * docs/gst/tmpl/gstutils.sgml:
73         * docs/libs/gstreamer-libs-sections.txt:
74         * docs/libs/tmpl/gstdataprotocol.sgml:
75           include path fixes
76         * examples/controller/audio-example.c: (main):
77           controller example works now
78         * gst/gstclock.h:
79           doc fixes
80         * tools/gst-inspect.c: (print_element_properties_info):
81           show param spec flags
82
83 2005-08-29  Andy Wingo  <wingo@pobox.com>
84
85         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
86
87 2005-08-28  Andy Wingo  <wingo@pobox.com>
88
89         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
90         as having two arguments instead of just one. Allows superclasses
91         to access information on subclasses -- see the terrible for() loop
92         in gtype.c:g_type_create_instance for the reason why. All callers
93         changed.
94
95 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
96
97         * docs/design/part-messages.txt:
98           update info
99         * docs/gst/tmpl/.cvsignore:
100         * docs/gst/tmpl/gstcaps.sgml:
101         * docs/gst/tmpl/gstclock.sgml:
102         * gst/gstbus.c:
103         * gst/gstcaps.c:
104         * gst/gstcaps.h:
105         * gst/gstclock.c:
106         * gst/gstclock.h:
107         * gst/gstmessage.c:
108           added descriptions for bus and message
109           inline caps and clock docs
110
111 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
112
113         * gst/gstmessage.c:
114         * gst/gstmessage.h:
115           doc fixes
116
117 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
118
119         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
120           fix div-by-zero
121
122 2005-08-26  Andy Wingo  <wingo@pobox.com>
123
124         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
125         element_set_state's return val.
126         (test_2_elements): Add test that's been disabled for months.
127
128         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
129         can-activate-pull properties.
130
131         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
132         can-activate-pull properties. Implement is_seekable so fakesrc can
133         operate in pull mode.
134
135         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
136         properties.
137         (gst_base_sink_activate, gst_base_sink_activate_pull)
138         (gst_base_sink_activate_push): Make activation mode choosing work.
139         Cleanups.
140         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
141         is right. Make pull mode work. Post an eos before pausing in pull
142         mode.
143         (gst_base_sink_change_state): Pay attention to the core's
144         change_state() return val.
145         
146         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
147         has-getrange properties. Cleanups.
148         
149         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
150         has_getrange and replace with can_activate_pull and
151         can_activate_push.
152
153         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
154         locking comments. Remove has_loop, has_chain and replace with
155         can_activate_pull and can_activate_push.
156
157 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
158
159         * configure.ac:
160         * examples/Makefile.am:
161         * examples/metadata/Makefile.am:
162         * examples/metadata/read-metadata.c: (message_loop),
163         (have_pad_handler), (make_pipeline), (print_tag), (main):
164           Add metadata reading example that loops over a list of filenames,
165           dumping any tags found.
166
167         * gst/gstbus.c: (gst_bus_dispose):
168         * gst/gstelement.c: (gst_element_dispose):
169           Release a few potentially-held references in dispose.
170
171 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
172
173         * docs/gst/tmpl/gstminiobject.sgml:
174           do *not* add tmpl/*.sgml files to CVS!
175
176 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
177
178         * libs/gst/bytestream/.cvsignore:
179         * libs/gst/bytestream/Makefile.am:
180         * libs/gst/bytestream/adapter.c:
181         * libs/gst/bytestream/adapter.h:
182         * libs/gst/bytestream/bytestream.c:
183         * libs/gst/bytestream/bytestream.h:
184         * libs/gst/bytestream/filepad.c:
185         * libs/gst/bytestream/filepad.h:
186           removing obsolete files
187
188 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
189
190         * docs/gst/gstreamer-docs.sgml:
191         * docs/libs/gstreamer-libs-docs.sgml:
192           disabed additional index entries again, as this makes docs-gen just
193           slow and they aren't useful yet
194         * docs/libs/gstreamer-libs-sections.txt:
195           little -section.txt cleanup for libs
196
197 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
198
199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
200         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
201           fix up some debugging
202         (gst_base_transform_get_unit_size),
203         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
204         (gst_base_transform_handle_buffer):
205         * gst/base/gstbasetransform.h:
206           handle and store timed NEWSEGMENT events so that subclasses that
207           calculate time by counting samples have a segment_start time they
208           need to add to their timestamps - see audioresample
209
210 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
211
212         * gst/gstbin.h:
213           removed ';' from the end of macro defs
214         * docs/gst/gstreamer-docs.sgml:
215         * docs/gst/gstreamer-sections.txt:
216         * docs/gst/tmpl/.cvsignore:
217         * gst/gstbus.h:
218         * gst/gstelement.c: (gst_element_class_init),
219         (gst_element_set_state), (activate_pads),
220         (gst_element_save_thyself):
221         * gst/gstevent.c: (gst_event_new_newsegment):
222         * gst/gstevent.h:
223         * gst/gstiterator.c:
224         * gst/gstiterator.h:
225         * gst/gstpad.c:
226         * gst/gstprobe.h:
227         * gst/gstutils.c: (gst_pad_query_convert):
228         * gst/gstutils.h:
229           fixed parameter name mismatches between source, header and docs
230           added some more docs, resolved the last batch of unused elements in
231           docs (now someone needs to doc them)
232
233 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
234
235         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
236         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
237           don't walk through the plugins backwards.  Where is all this
238           reversed logic coming from ?
239
240 2005-08-25  Wim Taymans  <wim@fluendo.com>
241
242         * gst/base/gstbasetransform.c: (gst_base_transform_init),
243         (gst_base_transform_transform_size),
244         (gst_base_transform_configure_caps),
245         (gst_base_transform_get_unit_size),
246         (gst_base_transform_buffer_alloc),
247         (gst_base_transform_change_state):
248         * gst/base/gstbasetransform.h:
249         Cache caps unit_size.
250         Make sure we cannot negotiate up and downstream at the
251         same time.
252
253 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
254
255         * gst/gst.c: (init_pre), (init_post):
256           register the installed plugin path after the env var
257         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
258         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
259           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
260           directories, so the tests can prefer uninstalled over installed
261
262 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
263
264         * gst/base/gstbasetransform.h:
265           comment
266         * gst/gstpad.c:
267           add to docs
268
269 2005-08-25  Wim Taymans  <wim@fluendo.com>
270
271         * gst/gstbin.c: (bin_bus_handler):
272         Be a bit more conservative about the posted message.
273         
274         * gst/gstbus.c: (gst_bus_post):
275         Some cleanups, warn wrong return values.
276
277 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
278
279         * check/gst/gstbin.c: (GST_START_TEST):
280         * gst/gstbin.c: (bin_bus_handler):
281         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
282         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
283         (gst_message_new_warning), (gst_message_new_tag),
284         (gst_message_new_state_changed), (gst_message_new_segment_start),
285         (gst_message_new_segment_done), (gst_message_new_custom):
286         * gst/gstmessage.h:
287         * tools/gst-launch.c: (event_loop):
288         * tools/gst-md5sum.c: (event_loop):
289           Revert unpopular change for GST_MESSAGE_SRC to GObject.
290
291 2005-08-25  Wim Taymans  <wim@fluendo.com>
292
293         * check/generic/states.c: (GST_START_TEST):
294         Cleanup can be done at the end.
295
296         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
297         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
298         (gst_task_get_state), (gst_task_start), (gst_task_pause):
299         Oh boy.. Thanks for finding this, Thomas. 
300
301 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
302
303         * docs/gst/gstreamer.types:
304           added missing types
305
306 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
307
308         * docs/gst/gstreamer-docs.sgml:
309         * docs/gst/gstreamer-sections.txt:
310         * docs/gst/tmpl/.cvsignore:
311         * gst/gstbin.c:
312         * gst/gstiterator.c:
313         * gst/gstutils.c:
314         * gst/registries/gstxmlregistry.h:
315           added miissing classes and symbols (123 more to go)
316           removed removed symbols from section file
317           fixed many doc-comments
318
319 2005-08-24  Wim Taymans  <wim@fluendo.com>
320
321         * check/generic/states.c: (GST_START_TEST):
322         Make sure all tasks are stopped.
323
324         * check/gst/gstbin.c: (GST_START_TEST):
325         Unref after usage for proper valgrinding.
326
327         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
328         Really wait for the task to stop before destroying the
329         mutex.
330
331         * gst/gstqueue.c: (gst_queue_sink_activate_push),
332         (gst_queue_src_activate_push):
333         Small cleanups. Don't stop the task when we did not start
334         it.
335
336         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
337         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
338         (gst_task_get_state), (gst_task_start), (gst_task_pause),
339         (gst_task_join):
340         * gst/gsttask.h:
341         Protect the stream lock with the object lock.
342         Disallow setting the stream lock when running.
343         Add cleanup_all to wait for the threadpool to finish.
344         Remove code to autoallocate a mutex if none was provided.
345         Add _join() to wait for a task to stop.
346         Protect the thread pool with a global lock.
347
348 2005-08-24  Wim Taymans  <wim@fluendo.com>
349
350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
351         (gst_base_sink_get_times), (gst_base_sink_do_sync),
352         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
353         * gst/base/gstbasesink.h:
354         Handle newsegment events correctly.
355         Drop buffers out of the segment range.
356
357 2005-08-22  Andy Wingo  <wingo@pobox.com>
358
359         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
360         macro, implements an interface and gstimplementsinterface for a
361         new type.
362
363 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
364
365         * check/Makefile.am:
366         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
367           add a test that does a bunch of state changes on elements
368           needs some fixing for valgrind
369         * check/states/sinks.c: (gst_object_suite):
370           whitespace
371         * gst/gstcaps.h:
372           add prototype for gst_caps_is_equal_fixed
373         * gst/gstplugin.c:
374         * gst/gstregistrypool.c:
375           doc fixes
376
377 2005-08-24  Andy Wingo  <wingo@pobox.com>
378
379         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
380         convert a negative value. Doesn't make much sense. Mostly this is
381         here to force callers to ensure -1 maps to -1.
382
383 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
384
385         * docs/pwg/advanced-types.xml:
386           Well done to Michael for catching my deliberate introduction
387           of this spelling mistake. 
388         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
389         * gst/gstelement.h:
390           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
391           unlink pads before removing the element from the bin.
392
393 2005-08-24  Andy Wingo  <wingo@pobox.com>
394
395         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
396         the same thing as GST_DEBUG=*:4.
397         (parse_debug_level, parse_debug_category): New helper parsers.
398
399 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
400
401         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
402         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
403         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
404         (gst_base_transform_buffer_alloc),
405         (gst_base_transform_handle_buffer):
406           use gboolean return values and pointers to size so we can use the
407           full GST_BUFFER_SIZE range (guint) for buffer sizes
408           use GstPadDirection for transform_caps
409         * gst/base/gstbasetransform.h:
410           rename get_size to get_unit_size since that's what it is
411         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
412           use GstPadDirection for transform_caps
413         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
414         * gst/gstutils.h:
415           cleanup and debugging
416
417 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
418
419         * gst/gstelement.c: (gst_element_class_init),
420         (gst_element_set_state), (activate_pads),
421         (gst_element_save_thyself):
422         * tools/gst-compprep.c: (main):
423         * tools/gst-inspect.c: (print_element_properties_info):
424         * tools/gst-xmlinspect.c: (print_element_properties):
425           Fixed long standing mem-leak
426
427 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
428
429         * check/gst/gstbin.c: (GST_START_TEST):
430         * gst/gstbin.c: (bin_bus_handler):
431         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
432         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
433         (gst_message_new_warning), (gst_message_new_tag),
434         (gst_message_new_state_changed), (gst_message_new_segment_start),
435         (gst_message_new_segment_done), (gst_message_new_custom):
436         * gst/gstmessage.h:
437         * tools/gst-launch.c: (event_loop):
438         * tools/gst-md5sum.c: (event_loop):
439           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
440           that applications can sensibly post custom messages with references
441           to their own objects.
442
443 2005-08-24  Andy Wingo  <wingo@pobox.com>
444
445         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
446         already.
447
448 2005-08-24  Wim Taymans  <wim@fluendo.com>
449
450         * gst/base/gstbasetransform.c: (gst_base_transform_init),
451         (gst_base_transform_transform_caps),
452         (gst_base_transform_transform_size),
453         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
454         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
455         (gst_base_transform_handle_buffer):
456         * gst/base/gstbasetransform.h:
457         Many fixes and new features added by Thomas. Can now also do
458         transforms with variable sizes and a custom fixate_caps function.
459
460 2005-08-24  Wim Taymans  <wim@fluendo.com>
461
462         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
463         Some debugging.
464
465         * gst/gstclock.h:
466         Cast to ClockTime before formatting to time.
467
468         * gst/gstutils.h:
469         Cleanups.
470
471 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
472
473         * check/gst-libs/controller.c: (GST_START_TEST),
474         (gst_controller_suite):
475         * docs/gst/tmpl/gstcaps.sgml:
476         * docs/gst/tmpl/gstghostpad.sgml:
477         * docs/gst/tmpl/gstquery.sgml:
478         * docs/gst/tmpl/gstutils.sgml:
479         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
480         (gst_object_sink_values), (gst_object_get_value_arrays),
481         (gst_object_get_value_array):
482           gracefully handle helper method calls to objects that are not beeing
483           controlled, added test case for that          
484
485 2005-08-23  Wim Taymans  <wim@fluendo.com>
486
487         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
488         (gst_event_new_newsegment), (gst_event_parse_newsegment),
489         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
490         (gst_event_parse_qos), (gst_event_new_seek),
491         (gst_event_parse_seek):
492         * gst/gstevent.h:
493         Some more debugging output and doc cleanups.
494
495         * gst/gstqueue.c: (gst_queue_handle_sink_event):
496         Fix possible deadlock.
497
498 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
499
500         * docs/gst/gstreamer-docs.sgml:
501         * docs/gst/gstreamer-sections.txt:
502         * docs/gst/gstreamer.types:
503         * docs/gst/tmpl/.cvsignore:
504         * gst/gstbin.h:
505         * gst/gstbus.c:
506         * gst/gstelement.c:
507         * gst/gstevent.h:
508           added about 100 symbols from gstreamer-unused.txt to the right sections
509           fixed more broken comments
510           added GstBus to docs
511
512 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
513
514         * docs/gst/gstreamer-sections.txt:
515         * docs/gst/tmpl/.cvsignore:
516         * docs/gst/tmpl/gstbin.sgml:
517         * docs/gst/tmpl/gstbuffer.sgml:
518         * gst/base/gstbasesrc.c:
519         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
520         * gst/gstbuffer.c:
521         * gst/gstbuffer.h:
522         * tools/gst-launch.1.in:
523           inlined more doc comments, added missing comments and fixed comments
524           fixed typos
525
526 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
527
528         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
529           some debugging
530         * gst/gstcaps.h:
531           whitespace fixes
532         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
533           more debugging
534         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
535         * gst/gststructure.h:
536           add a fixate function for booleans; add a FIXME that these func
537           names should probably be gst_structure_fixate_*
538
539 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
540
541         * docs/gst/gstreamer-docs.sgml:
542         * docs/gst/gstreamer-sections.txt:
543         * gst/Makefile.am:
544         * gst/gstbin.c: (gst_bin_get_type),
545         (gst_bin_child_proxy_get_child_by_index),
546         (gst_bin_child_proxy_get_children_count),
547         (gst_bin_child_proxy_init):
548         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
549         (gst_child_proxy_get_child_by_index),
550         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
551         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
552         (gst_child_proxy_get), (gst_child_proxy_set_property),
553         (gst_child_proxy_set_valist), (gst_child_proxy_set),
554         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
555         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
556         * gst/gstchildproxy.h:
557         * gst/parse/grammar.y:
558         * tools/gst-inspect.c: (print_interfaces),
559         (print_element_properties_info), (print_element_info):
560          ported gstchildproxy over from 0.8
561          ported gst-inspect fixes and enhancements over from 0.8
562
563 2005-08-22  Wim Taymans  <wim@fluendo.com>
564
565         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
566         (gst_base_transform_handle_buffer):
567         Also call the transform function if we have ANY caps.
568
569         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
570         Fix debug info.
571
572 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
575           Don't pretend to handle seek events if the source is not seekable
576
577 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
578
579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
580           Remove extra parameter to debug output
581
582         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
583         (gst_base_src_do_seek), (gst_base_src_activate_push):
584           Fix seek event handling.
585
586         * gst/gstpipeline.c: (gst_pipeline_change_state):
587         * gst/gstqueue.c: (gst_queue_handle_sink_event),
588         (gst_queue_src_activate_push):
589           Don't start the src pad task on FLUSH_STOP if the pad
590           isn't linked.
591           Debug changes.
592
593 2005-08-22  Wim Taymans  <wim@fluendo.com>
594
595         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
596         Added check for gst_static_caps_get() refcounting.
597
598 2005-08-22  Wim Taymans  <wim@fluendo.com>
599
600         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
601         Make _static_caps_get() refcounting sane.
602         
603         * gst/gstelement.c: (gst_element_set_state):
604         Add g_return_val_if_fail() to protect against segfaults.
605
606 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
607
608         * docs/gst/tmpl/gstevent.sgml:
609         * gst/gstevent.c:
610         * gst/gstevent.h:
611           inlined remaining docs, added missing doc comments
612
613 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
614
615         * check/gst/gstbin.c: (GST_START_TEST):
616           since we don't know when preroll is done, use refcount range
617           check for the sink
618         * gst/check/gstcheck.h:
619           add macro for checking refcount range
620
621 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
622
623         * check/Makefile.am:
624           clean up environment for when registry gets built versus
625           when actual tests are run; valgrind seems to not report
626           leaks if GST_PLUGIN_PATH is set to some specific values
627         * check/gst/gstbin.c: (GST_START_TEST):
628           add more refcounting checks; maybe this exposes a
629           preroll lock bug ?
630         * common/check.mak:
631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
632         * gst/check/gstcheck.h:
633         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
634         (gst_bin_change_state):
635         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
636           add/fix debugging/whitespace
637
638 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
639
640         * check/gst/gstevent.c: (event_probe), (test_event),
641         (GST_START_TEST):
642          Er, don't call gst_bin_watch_for_state_change you idiot.
643
644 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
645
646         * check/Makefile.am:
647           Use CHECK_CFLAGS and CHECK_LIBS
648         * check/gst/gstevent.c: (event_probe), (test_event),
649         (GST_START_TEST):
650           Don't leak events.
651         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
652         (gst_base_src_start), (gst_base_src_stop),
653         (gst_base_src_activate_push), (gst_base_src_activate_pull),
654         (gst_base_src_change_state):
655           Sprinkle gst_base_src_stop liberally around error paths to fix
656           problems reusing a source after failed state changes.
657         * gst/base/gsttypefindhelper.c: (helper_find_peek),
658         (helper_find_suggest), (gst_type_find_helper):
659           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
660         * gst/gstevent.h:
661         * docs/gst/tmpl/gstevent.sgml:
662           Migrate part of the docs from the SGML file. Wait for ensonic to
663           tell me how I did it wrong ;)
664         * tools/gst-typefind.c: (main):
665           Extra robustness to state changes between files.
666
667 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * check/Makefile.am:
670           don't valgrind the controller test - it's leaking - Stefan, HELP
671         * gst/check/gstcheck.c: (gst_check_message_error),
672         (gst_check_chain_func), (gst_check_setup_element),
673         (gst_check_teardown_element), (gst_check_setup_src_pad),
674         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
675         (gst_check_teardown_sink_pad):
676         * gst/check/gstcheck.h:
677           add a bunch of methods to set up elements, and src and sink pads
678         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
679         * check/elements/identity.c: (setup_identity), (cleanup_identity),
680         (GST_START_TEST):
681           use them
682         * gst/gstmessage.c:
683         * gst/gsttag.h:
684           whitespace/doc fixes
685
686 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * gst/gstelement.h:
689           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
690           be handled by the application and not always printed as well
691
692 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * check/Makefile.am:
695           set GST_TOOLS_DIR
696         * gst/check/gstcheck.c: (gst_check_message_error):
697         * gst/check/gstcheck.h:
698           add a fail_unless_equals_int
699           add fail_unless for error messages
700
701 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
702
703         * check/Makefile.am:
704         * check/gst.supp:
705         * common/Makefile.am:
706         * common/check.mak:
707         * common/gst.supp:
708           factor out some of the common stuff so we can use it
709
710 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
711
712         * check/Makefile.am:
713         * check/gst/gstiterator.c: (GST_START_TEST):
714         * check/gst/gstsystemclock.c: (GST_START_TEST),
715         (gst_systemclock_suite):
716         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
717         * gst/gstclock.c:
718           valgrind more tests
719
720 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
721
722         * check/elements/.cvsignore:
723         * check/elements/gstfakesrc.c:
724           rename to name of element
725         * check/elements/identity.c: (chain_func), (event_func),
726         (setup_identity), (cleanup_identity), (GST_START_TEST),
727         (identity_suite), (main):
728           add a test for identity
729         * check/Makefile.am:
730         * pkgconfig/Makefile.am:
731         * pkgconfig/gstreamer-check.pc.in:
732         * pkgconfig/gstreamer-check-uninstalled.pc.in:
733         * gst/check:
734         * gst/Makefile.am:
735         * configure.ac:
736           move the check stuff to a library that gets installed
737         * check/gst-libs/controller.c: (GST_START_TEST):
738         * check/gst-libs/gdp.c:
739         * check/gst/gst.c: (GST_START_TEST):
740         * check/gst/gstbin.c:
741         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
742         * check/gst/gstbus.c:
743         * check/gst/gstcaps.c: (GST_START_TEST):
744         * check/gst/gstelement.c:
745         * check/gst/gstghostpad.c:
746         * check/gst/gstiterator.c:
747         * check/gst/gstmessage.c:
748         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
749         * check/gst/gstobject.c:
750         * check/gst/gstpad.c: (GST_START_TEST):
751         * check/gst/gststructure.c: (GST_START_TEST):
752         * check/gst/gstsystemclock.c: (GST_START_TEST),
753         (gst_systemclock_suite):
754         * check/gst/gsttag.c: (gst_tag_suite):
755         * check/gst/gstvalue.c:
756         * check/pipelines/cleanup.c:
757         * check/pipelines/simple_launch_lines.c:
758         * check/states/sinks.c:
759           change include statement
760
761         * docs/gst/gstreamer-sections.txt:
762         * docs/gst/tmpl/gstpad.sgml:
763           document more pad stuff
764         * gst/gstminiobject.c: (gst_mini_object_ref),
765         (gst_mini_object_unref):
766           debug refcounting
767
768 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
769
770         * docs/gst/tmpl/gst.sgml:
771         * gst/gst.c:
772           eliminate another tmpl file, fix spelling in the long-description
773
774 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
775
776         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
777         (test_event), (timediff), (gstevents_suite):
778           Should fix build on 64-bit arch's
779
780 2005-08-18  Andy Wingo  <wingo@pobox.com>
781
782         Make sure that when a pipeline goes to PLAYING, that data has
783         actually hit the sink.
784
785         * check/states/sinks.c (test_sink): A sink that doesn't get any
786         data shouldn't return SUCCESS for going to either PLAYING or
787         PAUSED. Test also the return values on the way back down.
788
789         * gst/gstelement.c (gst_element_set_state): When changing the
790         state of an element currently changing state asynchronously, go to
791         lost-state after commiting the pending state. Makes future calls
792         to get_state continue to return ASYNC.
793
794         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
795         ASYNC when going to PLAYING if we still don't have preroll, as can
796         happen with live sources.
797
798 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
799
800         * docs/pwg/advanced-types.xml:
801           Hack long paragraph into 2 chunks as a workaround for buggy
802           jadetex version in sid and breezy that loops infinitely and
803           eats all RAM.
804
805 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
806
807         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
808         (test_event), (timediff), (gstevents_suite):
809           Provide more error margin in clock measurements to allow for 
810           g_get_current_time inaccuracies.
811
812 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
813
814         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
815         (test_event), (timediff), (gstevents_suite):
816            Fix error message output so I might be able to tell why the
817            test works here but fails on the build farm.
818
819 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
820
821         * check/Makefile.am:
822         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
823         (test_event), (timediff), (gstevents_suite), (main):
824           I wrote a test!
825
826         * docs/design/part-seeking.txt:
827           Spelling correction
828
829         * docs/gst/tmpl/gstevent.sgml:
830         * docs/gst/tmpl/gstfakesrc.sgml:
831           Docs updates.
832
833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
834           Treat a buffer-without-newsegment the same as a receiving 
835           a newsegment not in time format, and disable syncing to the clock
836           with a warning.
837
838         * gst/gstbus.c: (gst_bus_set_sync_handler):
839           Assert if anyone tries to replace the existing sync_handler for bus, 
840           as only the owner should be setting it.
841
842         * gst/gstevent.h:
843           Have a fixed set of custom event enums with events identified by
844           their structure name (as in 0.8), rather than a free-for-all
845           allowing collisions between enum values from different plugins.
846
847         * gst/gstpad.c: (gst_pad_class_init):
848           Docs change.
849           
850         * gst/gstqueue.c: (gst_queue_handle_sink_event):
851           Handle out-of-band downstream events from the sending thread.
852
853 2005-08-17  Andy Wingo  <wingo@pobox.com>
854
855         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
856         play-timeout==0 to mean no timeout at all. In that case, don't
857         bother with a get_state or a warning, just return directly, even
858         if it's ASYNC.
859
860         * gst/base/gstbasetransform.c: Debug changes.
861
862         * gst/gstutils.h:
863         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
864         ensure bins post state change messages. A bit of a hack but I can't
865         think of a way to avoid it.
866
867         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
868
869 2005-08-16  Andy Wingo  <wingo@pobox.com>
870
871         * gst/base/gstadapter.h:
872         * gst/base/gstadapter.c (gst_adapter_take): New function, like
873         peek() but you own the data. Not terribly efficient atm.
874
875 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
876
877         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
878         (gst_element_found_tags):
879         * gst/gstutils.h:
880           Add two utility functions for tag handling.
881
882 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
883
884         * docs/manual/advanced-dataaccess.xml:
885         * docs/manual/basics-helloworld.xml:
886           Fix docs to use _bin_add() before _link(), which fixes the examples
887           with recent core versions (reported by Madhan Raj M
888           <raj_madan@rediffmail.com>, #313199).
889
890 2005-08-16  Wim Taymans  <wim@fluendo.com>
891
892         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
893         Added subtract checks.
894
895         * docs/design/part-events.txt:
896         Some more docs about newsegment
897
898         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
899         Fix FIXME
900
901         * gst/gstcaps.c: (gst_caps_to_string):
902         Add comments, cleanups.
903         
904         * gst/gstelement.c: (gst_element_save_thyself):
905         cleanups
906         
907         * gst/gstvalue.c: (gst_value_collect_int_range),
908         (gst_string_unwrap), (gst_value_union_int_int_range),
909         (gst_value_union_int_range_int_range),
910         (gst_value_intersect_int_int_range),
911         (gst_value_intersect_int_range_int_range),
912         (gst_value_intersect_double_double_range),
913         (gst_value_intersect_double_range_double_range),
914         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
915         (gst_value_subtract_int_range_int),
916         (gst_value_subtract_double_range_double),
917         (gst_value_subtract_double_range_double_range),
918         (gst_value_subtract_from_list), (gst_value_subtract_list),
919         (gst_value_can_compare), (gst_value_compare_fraction):
920         Cleanups, add comments, remove unneeded asserts.
921
922 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
923
924         * tools/gst-launch.c: (event_loop):
925           don't convert NULL structures to strings
926
927 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
928
929         * docs/gst/gstreamer-sections.txt:
930           made some defines private
931         * docs/gst/tmpl/gstconfig.sgml:
932         * docs/gst/tmpl/gstqueue.sgml:
933         * docs/gst/tmpl/gsttaglist.sgml:
934         * docs/gst/tmpl/gsttypes.sgml:
935         * docs/gst/tmpl/gstutils.sgml:
936         * docs/pwg/appendix-porting.xml:
937         * gst/base/gstbasesink.h:
938         * gst/base/gstbasesrc.c:
939         * gst/base/gstbasesrc.h:
940         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
941         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
942         * gst/gstelement.c: (gst_element_class_init):
943         * gst/gstpad.c: (gst_pad_class_init):
944         * gst/gstqueue.c: (gst_queue_class_init):
945         * gst/gstxml.c: (gst_xml_class_init):
946           documented all undocumented signal inline
947         * libs/gst/controller/gst-controller.h:
948           added padding
949
950 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
951
952         * docs/pwg/appendix-porting.xml:
953           Document _set_link_function -> _set_setcaps_function.
954
955 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * check/Makefile.am:
958           add a .check target for running the check
959         * check/gst-libs/controller.c: (GST_START_TEST):
960           cosmetic fixups
961         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
962           complete checks for gstbuffer; would be nice if I could get the
963           gcov stuff to work so I can see if I actually completed gstbuffer.c
964         * check/gstcheck.h:
965           add ASSERT_BUFFER_REFCOUNT
966
967 2005-08-13  Tim-Philipp M??ller  <tim at centricular dot net>
968
969         * docs/gst/gstreamer-sections.txt:
970         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
971         * gst/gsttag.h:
972           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
973           spew out a warning if a tag that is already registered
974           is re-registered, unless it is re-registered with a 
975           different type (#308438).
976
977 2005-08-12  Tim-Philipp M??ller  <tim at centricular dot net>
978
979         * docs/pwg/appendix-porting.xml:
980         * docs/pwg/building-state.xml:
981           Add some paragraphs about state changes in 0.9 to the PWG
982           and the porting guide, in particular about the new meaning
983           of GST_STATE_PAUSED and how to write state change functions
984           with concurrent access by multiple threads in mind.
985
986 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
987
988         * docs/gst/gstreamer-docs.sgml:
989         * docs/libs/gstreamer-libs-docs.sgml:
990           added deprecation and since indexes
991         * libs/gst/controller/gst-controller.c:
992         * libs/gst/controller/gst-helper.c:
993           added since tags
994
995
996 2005-08-11  Wim Taymans  <wim@fluendo.com>
997
998         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
999         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
1000         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
1001         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
1002         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
1003         (gst_ghost_pad_set_target):
1004         Actually implement (re)setting the target on a ghostpad
1005         as described in the docs.
1006
1007 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1008
1009         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
1010           Check whether GST_DEBUG_NO_COLOR environment variable is
1011           set and disable coloured debug output if that is the case.
1012
1013 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1014
1015         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1016         (gst_type_find_helper):
1017           The memory returned by gst_type_find_peek() needs to
1018           stay valid until the end of a typefind function, and
1019           typefind functions may keep results from different 
1020           offsets around, so we can't just unref the buffer from
1021           the previous _peek(), but have to save all buffers 
1022           returned by _peek() until typefinding is done and only
1023           free them then.
1024
1025 2005-08-09  Tim-Philipp M??ller  <tim at centricular dot net>
1026
1027         * docs/gst/gstreamer-sections.txt:
1028         * gst/gstutils.h:
1029           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
1030
1031 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1032
1033         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1034           Fix a pretty good memleak.
1035
1036 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
1037
1038         * gst/gstiterator.h:
1039           Fix wrong include and 'make distcheck'.
1040
1041 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1042
1043         * gst/gstbin.c: (bin_bus_handler):
1044           Use gst_element_post_message() instead.
1045
1046 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
1047
1048         * gst/base/gstadapter.h:
1049         * gst/base/gstbasesink.h:
1050         * gst/base/gstbasesrc.h:
1051         * gst/base/gstbasetransform.h:
1052         * gst/base/gstcollectpads.h:
1053         * gst/base/gstpushsrc.h:
1054         * gst/gstiterator.h:
1055           Add padding to our base elements' class and instance structs and
1056           to GstIterator (you will need to rebuild all plugins and apps!)
1057
1058 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1059
1060         * gst/gstbin.c: (bin_bus_handler):
1061           Make default message forwarding from child->bus to bin->bus
1062           threadsafe and make it not emit warnings if the parent has no bus.
1063
1064 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1065
1066         * gst/gstelement.c: (activate_pads):
1067           On paused->ready, set pad->caps to NULL, as is the documented
1068           behaviour in this state change. Fixes playback of series of
1069           media files when visualization is enabled in Totem.
1070
1071 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1072
1073         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1074           Allow NULL as filter-caps (which means "any").
1075
1076 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1077
1078         * docs/libs/gstreamer-libs-sections.txt:
1079         * libs/gst/controller/gst-controller.c:
1080         * libs/gst/controller/gst-controller.h:
1081         * libs/gst/controller/gst-helper.c:
1082           adding more entries to the docs and fix small doc-bugs
1083
1084 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1085
1086         * docs/gst/gstreamer-docs.sgml:
1087         * docs/gst/gstreamer-sections.txt:
1088         * docs/gst/gstreamer.types:
1089         * docs/gst/tmpl/gstbasesink.sgml:
1090         * docs/gst/tmpl/gstbasesrc.sgml:
1091         * docs/gst/tmpl/gstbasetransform.sgml:
1092         * docs/gst/tmpl/gstfakesrc.sgml:
1093         * gst/base/gstcollectpads.c:
1094         * gst/base/gstcollectpads.h:
1095         * libs/gst/controller/gst-controller.c:
1096         * libs/gst/controller/gst-controller.h:
1097         * libs/gst/controller/gst-helper.c:
1098         * libs/gst/controller/gst-interpolation.c:
1099         * libs/gst/controller/lib.c:
1100           added long/short desc for controller docs
1101           added collectpads base class docs
1102           added correct includes to base-class docs
1103
1104 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1105
1106         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
1107         (gst_test_mono_source_set_property),
1108         (gst_test_mono_source_class_init), (GST_START_TEST),
1109         (gst_controller_suite):
1110         * docs/gst/gstreamer-docs.sgml:
1111         * docs/gst/gstreamer-sections.txt:
1112         * docs/gst/gstreamer.types:
1113         * docs/libs/gstreamer-libs-docs.sgml:
1114         * docs/libs/gstreamer-libs-sections.txt:
1115         * gst/base/gstadapter.c:
1116         * libs/gst/controller/gst-controller.c:
1117         (gst_controlled_property_new), (gst_controlled_property_free),
1118         (gst_controller_new_valist),
1119         (gst_controller_remove_properties_valist),
1120         (gst_controller_sink_values), (_gst_controller_finalize):
1121         * libs/gst/controller/gst-controller.h:
1122         * libs/gst/controller/gst-helper.c:
1123         (gst_object_control_properties), (gst_object_uncontrol_properties),
1124         (gst_object_get_controller), (gst_object_set_controller),
1125         (gst_object_sink_values), (gst_object_get_value_arrays),
1126         (gst_object_get_value_array):
1127           more tests (and fixes) for the controller
1128           more docs for the controller
1129           integrated companies docs for the adapter 
1130
1131 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1132
1133         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
1134         (GST_START_TEST), (fakesrc_suite):
1135           add tests for sizetype
1136
1137 2005-08-04  Andy Wingo  <wingo@pobox.com>
1138
1139         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
1140         fixes buffer_alloc proxying among other things.
1141
1142         * gst/base/gstbasetransform.c:
1143         * gst/base/gstbasetransform.h:
1144         Revert patch to gstbasetransform from 7-28 removing
1145         delay_configure.
1146
1147         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
1148         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
1149         Semantics changed, should return not the size of the output buffer
1150         but the byte size of a buffer with a given caps.
1151
1152         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
1153         debug object.
1154         (gst_base_transform_configure_caps): Don't set out_size here: (in,
1155         out) are not the pad caps until setcaps finishes.
1156         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
1157         not-in-place case as well. Deal with changing from in-place to
1158         not-in-place within calling pad_alloc_buffer. Still a bit
1159         concerned about the overhead here...
1160
1161 2005-08-03  Andy Wingo  <wingo@pobox.com>
1162
1163         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
1164         fixating is an error.
1165
1166 2005-08-04  Edward Hervey  <edward@fluendo.com>
1167
1168         * gst/base/gstadapter.h: 
1169         Added gst_adapter_get_type() to the header
1170
1171 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1172
1173         * check/Makefile.am:
1174         * check/gst-libs/controller.c:
1175         * libs/gst/controller/gst-controller.c:
1176         (gst_controller_new_valist):
1177           added check test suite for the controller
1178         * gst/base/gstpushsrc.c:
1179           fixed a doc typo
1180
1181 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1182
1183         * docs/gst/Makefile.am:
1184         * docs/gst/gstreamer-docs.sgml:
1185         * docs/gst/gstreamer-sections.txt:
1186         * docs/gst/gstreamer.types:
1187         * docs/gst/tmpl/gstfakesrc.sgml:
1188         * gst/base/README:
1189         * gst/base/gstbasesink.c:
1190         * gst/base/gstbasesink.h:
1191         * gst/base/gstbasesrc.c:
1192         * gst/base/gstbasesrc.h:
1193         * gst/base/gstbasetransform.c:
1194         * gst/base/gstpushsrc.c:
1195         * gst/base/gstpushsrc.h:
1196           add short/long description docs to base classes
1197           add pushsrc to the docs
1198           remove consolidated doc fragments
1199
1200 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1201
1202         * configure.ac:
1203         * docs/libs/Makefile.am:
1204         * docs/libs/gstreamer-libs-docs.sgml:
1205         * docs/libs/gstreamer-libs-sections.txt:
1206         * docs/libs/gstreamer-libs.types:
1207         * examples/Makefile.am:
1208         * examples/controller/.cvsignore:
1209         * examples/controller/Makefile.am:
1210         * examples/controller/audio-example.c: (main):
1211         * libs/gst/Makefile.am:
1212         * libs/gst/controller/.cvsignore:
1213         * libs/gst/controller/Makefile.am:
1214         * libs/gst/controller/gst-controller.c:
1215         (on_object_controlled_property_changed), (gst_timed_value_compare),
1216         (gst_timed_value_find),
1217         (gst_controlled_property_set_interpolation_mode),
1218         (gst_controlled_property_new), (gst_controlled_property_free),
1219         (gst_controller_find_controlled_property),
1220         (gst_controller_new_valist), (gst_controller_new),
1221         (gst_controller_remove_properties_valist),
1222         (gst_controller_remove_properties), (gst_controller_set),
1223         (gst_controller_set_from_list), (gst_controller_unset),
1224         (gst_controller_get), (gst_controller_get_all),
1225         (gst_controller_sink_values), (gst_controller_get_value_arrays),
1226         (gst_controller_get_value_array),
1227         (gst_controller_set_interpolation_mode),
1228         (_gst_controller_finalize), (_gst_controller_init),
1229         (_gst_controller_class_init), (gst_controller_get_type):
1230         * libs/gst/controller/gst-controller.h:
1231         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1232         (g_object_uncontrol_properties), (g_object_get_controller),
1233         (g_object_set_controller), (g_object_sink_values),
1234         (g_object_get_value_arrays), (g_object_get_value_array):
1235         * libs/gst/controller/gst-interpolation.c:
1236         (gst_controlled_property_find_timed_value_node),
1237         (interpolate_none_get), (interpolate_trigger_get),
1238         (interpolate_trigger_get_value_array):
1239         * libs/gst/controller/lib.c: (gst_controller_init):
1240         * pkgconfig/Makefile.am:
1241         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1242         * pkgconfig/gstreamer-control.pc.in:
1243         * testsuite/Makefile.am:
1244         * testsuite/controller/.cvsignore:
1245         * testsuite/controller/Makefile.am:
1246         * testsuite/controller/interpolator.c: (main):
1247           added controller code
1248           removed dparam pc files
1249
1250 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1251         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1252         (gst_collectpads_stop):
1253           Broadcast the condition when shutting down, to make sure we wake all
1254           threads up. Shut down pads on finalize, for safety.
1255
1256 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1257         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1258         (gst_base_transform_handle_buffer),
1259         (gst_base_transform_change_state):
1260           Handle PAUSED->READY->PAUSED transition after negotiation
1261           occurred already.
1262         * gst/gstmessage.c: (gst_message_init):
1263           Extra piece of debug for new messages.
1264
1265 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1266
1267         * configure.ac:
1268         * docs/gst/tmpl/gstbasesrc.sgml:
1269         * docs/gst/tmpl/gstelement.sgml:
1270         * docs/gst/tmpl/gstevent.sgml:
1271         * docs/gst/tmpl/gstfakesrc.sgml:
1272         * docs/gst/tmpl/gstformat.sgml:
1273         * docs/gst/tmpl/gstghostpad.sgml:
1274         * docs/gst/tmpl/gstpad.sgml:
1275         * docs/gst/tmpl/gstquery.sgml:
1276         * docs/gst/tmpl/gststructure.sgml:
1277         * docs/gst/tmpl/gsttaglist.sgml:
1278         * docs/gst/tmpl/gstvalue.sgml:
1279         * docs/libs/gstreamer-libs-docs.sgml:
1280         * docs/libs/gstreamer-libs-sections.txt:
1281         * docs/libs/gstreamer-libs.types:
1282         * libs/gst/Makefile.am:
1283         * libs/gst/control/.cvsignore:
1284         * libs/gst/control/Makefile.am:
1285         * libs/gst/control/control.c:
1286         * libs/gst/control/control.h:
1287         * libs/gst/control/dparam.c:
1288         * libs/gst/control/dparam.h:
1289         * libs/gst/control/dparam_smooth.c:
1290         * libs/gst/control/dparam_smooth.h:
1291         * libs/gst/control/dparamcommon.h:
1292         * libs/gst/control/dparammanager.c:
1293         * libs/gst/control/dparammanager.h:
1294         * libs/gst/control/dplinearinterp.c:
1295         * libs/gst/control/dplinearinterp.h:
1296         * libs/gst/control/unitconvert.c:
1297         * libs/gst/control/unitconvert.h:
1298         * testsuite/Makefile.am:
1299         * testsuite/dynparams/.cvsignore:
1300         * testsuite/dynparams/Makefile.am:
1301         * testsuite/dynparams/dparamstest.c:
1302         * tools/Makefile.am:
1303         * tools/gst-inspect.c: (print_element_info), (main):
1304         * tools/gst-xmlinspect.c: (print_element_info), (main):
1305           deactivate and remove dparams (libgstcontrol)
1306
1307 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1308
1309         * gst/elements/gsttypefindelement.c:
1310         (gst_type_find_element_have_type), (gst_type_find_element_init),
1311         (stop_typefinding), (gst_type_find_element_handle_event),
1312         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1313         * gst/elements/gsttypefindelement.h:
1314           Set caps on all outgoing buffers, not just the first one.
1315
1316 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1317
1318         * gst/elements/gsttypefindelement.c:
1319         (gst_type_find_element_have_type),
1320         (gst_type_find_element_check_set_buffer_caps),
1321         (gst_type_find_element_init), (stop_typefinding),
1322         (gst_type_find_element_handle_event),
1323         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1324         * gst/elements/gsttypefindelement.h:
1325           Set caps on first outgoing buffer when we've found the type.
1326
1327 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1328
1329         * docs/gst/gstreamer-docs.sgml:
1330         * docs/gst/gstreamer-sections.txt:
1331         * docs/gst/tmpl/gstscheduler.sgml:
1332         * docs/gst/tmpl/gstschedulerfactory.sgml:
1333           Remove some old cruft from docs.
1334
1335 2005-07-31  Tim-Philipp M??ller  <tim at centricular dot net>
1336
1337         * gst/gstpad.h:
1338           Fix inline docs for GstPadLinkReturn.
1339           
1340         * gst/gststructure.c: (gst_structure_has_name):
1341         * gst/gststructure.h:
1342         * docs/gst/gstreamer-sections.txt:
1343           New API: gst_structure_has_name().
1344
1345 2005-07-30  Tim-Philipp M??ller  <tim at centricular dot net>
1346
1347         * configure.ac:
1348           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1349           and _LARGEFILE_SOURCE in config.h as required. Do not 
1350           export those flags in our .pc files any longer (#142209).
1351
1352           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1353
1354         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1355         (gst_file_sink_do_seek), (gst_file_sink_event),
1356         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1357           Redo seek/tell calls with large file support in mind; add some
1358           debugging messages; add log message that tells us when large
1359           file support is unavailable or not enabled for some reason.
1360
1361         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1362           Add log message that tells us when large file support 
1363           is unavailable or not enabled for some reason.
1364
1365 2005-07-29  Wim Taymans  <wim@fluendo.com>
1366
1367         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1368         Added test for removing an element with ghostpad from a bin.
1369         Fixed test as current implementation does the right thing.
1370
1371         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1372         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1373         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1374         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1375         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1376         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1377         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1378         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1379         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1380         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1381         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1382         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1383         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1384         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1385         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1386         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1387         * gst/gstghostpad.h:
1388         Clean up ghostpads, remove properties for internal stuff.
1389         Make threadsafe.
1390         Fix refcounting.
1391         Prepare for switching targets, not all use cases work yet.
1392
1393 2005-07-29  Wim Taymans  <wim@fluendo.com>
1394
1395         * docs/design/part-gstghostpad.txt:
1396         Small update.
1397
1398         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1399         (gst_bin_remove_func):
1400         Unlinking pads while holding the bin LOCK is not a good
1401         idea.
1402
1403         * gst/gstpad.c: (gst_pad_class_init),
1404         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1405         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1406         No prob setting template after creating the pad.
1407
1408 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1409
1410         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1411         (gst_bus_peek), (gst_bus_source_dispatch),
1412         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1413         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1414           gst_bus_poll may be called from other threads. Handle
1415           this nicely by not making poll_data disappear off the
1416           stack once gst_bus_poll returns.
1417           gst_bus_peek now increments the refcount on the returned
1418           message.
1419
1420 2005-07-29  Wim Taymans  <wim@fluendo.com>
1421
1422         * docs/design/part-gstghostpad.txt:
1423         Overview of current GhostPad datastructures and use
1424         cases for changing the target.
1425
1426 2005-07-28  Wim Taymans  <wim@fluendo.com>
1427
1428         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1429         Added checks for hierarchy consistency whan adding linked
1430         elements to bins.
1431
1432         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1433         Added check to test element scheduling without bin/pipeline.
1434
1435         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1436         First add elements to bin, then link.
1437         
1438         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1439         (gst_bin_remove_func):
1440         Unlink pads from elements added/removed from bin to maintain
1441         hierarchy consistency.
1442
1443 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1444
1445         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1446         (gst_base_transform_handle_buffer):
1447         * gst/base/gstbasetransform.h:
1448           Remove broken delay_configure (fixes renegotiation of software
1449           scaling pipelines); remove some leftover printf()s.
1450
1451 2005-07-28  Wim Taymans  <wim@fluendo.com>
1452
1453         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1454         Added some more tests for wrong hierarchy
1455
1456         * docs/design/part-overview.txt:
1457         Some updates.
1458
1459         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1460         Cleanups.
1461
1462         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1463         (gst_element_dispose):
1464         Some more cleanups.
1465
1466         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1467         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1468         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1469         (gst_pad_set_caps), (gst_pad_send_event):
1470         Check for correct hierarchy when linking pads. Moving to
1471         strict requirement for ghostpads when linking elements in
1472         different bins.
1473
1474         * gst/gstpad.h:
1475         Clean ups. Added WRONG_HIERARCHY return value.
1476
1477 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1478
1479         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1480           Better debug if no transform is possible.
1481
1482 2005-07-27  Wim Taymans  <wim@fluendo.com>
1483
1484         * docs/random/wtay/network-transp:
1485         Some old doc I had.
1486
1487 2005-07-27  Wim Taymans  <wim@fluendo.com>
1488
1489         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1490         (gst_dp_event_from_packet):
1491         Fix serialization of seek events.
1492
1493 2005-07-27  Wim Taymans  <wim@fluendo.com>
1494
1495         * check/gst-libs/gdp.c: (GST_START_TEST):
1496         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1497         Fix compilation and fix event serialization.
1498
1499 2005-07-27  Wim Taymans  <wim@fluendo.com>
1500
1501         * CHANGES-0.9:
1502         * docs/design/part-TODO.txt:
1503         * docs/design/part-events.txt:
1504         Some docs updates
1505
1506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1507         (gst_base_sink_event), (gst_base_sink_do_sync),
1508         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1509         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1510         (gst_base_src_do_seek), (gst_base_src_event_handler),
1511         (gst_base_src_loop):
1512         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1513         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1514         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1515         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1516         (gst_base_transform_set_passthrough),
1517         (gst_base_transform_is_passthrough):
1518         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1519         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1520         Event updates.
1521
1522         * gst/gstbuffer.h:
1523         Use faster casts.
1524
1525         * gst/gstelement.c: (gst_element_seek):
1526         * gst/gstelement.h:
1527         Update gst_element_seek.
1528
1529         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1530         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1531         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1532         (gst_event_new_eos), (gst_event_new_newsegment),
1533         (gst_event_parse_newsegment), (gst_event_new_tag),
1534         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1535         (gst_event_parse_qos), (gst_event_new_seek),
1536         (gst_event_parse_seek), (gst_event_new_navigation):
1537         * gst/gstevent.h:
1538         Make GstEvent use GstStructure. Add parsing code, make sure the
1539         API is sufficiently generic.
1540         Mark possible directions of events and serialization.
1541
1542         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1543         (_gst_message_copy), (gst_message_new_segment_start),
1544         (gst_message_new_segment_done), (gst_message_new_custom),
1545         (gst_message_parse_segment_start),
1546         (gst_message_parse_segment_done):
1547         Small cleanups.
1548
1549         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1550         (gst_pad_set_caps), (gst_pad_send_event):
1551         Update for new events. 
1552         Catch events sent in wrong directions.
1553
1554         * gst/gstqueue.c: (gst_queue_link_src),
1555         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1556         (gst_queue_handle_src_query):
1557         Event updates.
1558
1559         * gst/gsttag.c:
1560         * gst/gsttag.h:
1561         Remove event code from this file.
1562
1563         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1564         (gst_dp_event_from_packet):
1565         Event updates.
1566
1567 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1568
1569         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1570         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1571         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1572           Make debugging actually useful.
1573
1574 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1575
1576         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1577         (gst_pad_fixate_caps):
1578           Implement default fixation once again, so that gst_pad_fixate()
1579           actually does anything at all. This probably needs to be some
1580           sort of a last resort, and use profile-based fixation first, but
1581           since that doesn't exist yet, this is the best we have. Fixes
1582           visualization in Totem.
1583
1584 2005-07-22  Wim Taymans  <wim@fluendo.com>
1585
1586         * docs/design/part-events.txt:
1587         Small update.
1588
1589         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1590         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1591         (gst_base_sink_activate_pull):
1592         Some more comments.
1593
1594         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1595         (gst_fake_src_create):
1596         Fix handoff marshall.
1597
1598         * gst/elements/gstidentity.c: (gst_identity_class_init),
1599         (gst_identity_transform_ip):
1600         We're a real inplace element.
1601
1602         * gst/gstbus.c: (gst_bus_post):
1603         Added some comments.
1604
1605         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1606         * tests/muxing/case1.c: (main):
1607         * tests/sched/dynamic-pipeline.c: (main):
1608         * tests/sched/interrupt1.c: (main):
1609         * tests/sched/interrupt2.c: (main):
1610         * tests/sched/interrupt3.c: (main):
1611         * tests/sched/runxml.c: (main):
1612         * tests/sched/sched-stress.c: (main):
1613         * tests/seeking/seeking1.c: (event_received), (main):
1614         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1615         (main):
1616         * tests/threadstate/threadstate3.c: (main):
1617         * tests/threadstate/threadstate4.c: (main):
1618         * tests/threadstate/threadstate5.c: (main):
1619         Fix the tests.
1620
1621 2005-07-21  Wim Taymans  <wim@fluendo.com>
1622
1623         * docs/design/part-seeking.txt:
1624         Some small additions.
1625
1626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1627         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1628         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1629         * gst/base/gstbasesink.h:
1630         discont values are gint64, handle the math correctly.
1631
1632         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1633         Make the basesrc report error if the source pad is not linked.
1634
1635         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1636         (gst_queue_loop), (gst_queue_handle_src_query),
1637         (gst_queue_src_activate_push):
1638         Make queue collect data even if the srcpad is not linked.
1639         Start pushing out data as soon as it is linked.
1640
1641         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1642         * gst/gstutils.h:
1643         Added gst_flow_get_name() to ease error reporting.
1644
1645 2005-07-20  Wim Taymans  <wim@fluendo.com>
1646
1647         * gst/gstmessage.c: (gst_message_new_segment_start),
1648         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1649         (gst_message_parse_segment_done):
1650         * gst/gstmessage.h:
1651         Added a bunch of messages for advanced seeking.
1652
1653         * gst/parse/grammar.y:
1654         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1655         (gst_dpman_state_changed):
1656         Fix some new-pad -> pad-added signals
1657
1658 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1659
1660         * docs/manual/appendix-porting.xml:
1661         * docs/pwg/appendix-porting.xml:
1662           Document new-pad/state-change signal renames and the FixedList
1663           type rename.
1664
1665 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1666
1667         * docs/manual/advanced-autoplugging.xml:
1668         * docs/manual/basics-helloworld.xml:
1669         * docs/manual/basics-pads.xml:
1670         * docs/random/ds/0.9-suggested-changes:
1671         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1672         * gst/gstelement.h:
1673         * gst/gstevent.h:
1674         * gst/gstformat.h:
1675         * gst/gstquery.h:
1676         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1677         (gst_structure_parse_array), (gst_structure_parse_value):
1678         * gst/gstvalue.c: (gst_type_is_fixed),
1679         (gst_value_list_prepend_value), (gst_value_list_append_value),
1680         (gst_value_list_get_size), (gst_value_list_get_value),
1681         (gst_value_transform_array_string), (gst_value_serialize_array),
1682         (gst_value_deserialize_array), (gst_value_intersect_array),
1683         (gst_value_is_fixed), (_gst_value_initialize):
1684         * gst/gstvalue.h:
1685           GstElement::new-pad -> pad-added, GstElement::state-change ->
1686           state-changed, GstValueFixedList -> GstValueArray, add format and
1687           flags as their own arguments in gst_element_seek() (should improve
1688           "bindeability"), remove function generators since they don't work
1689           under a whole bunch of compilers (they were deprecated already
1690           anyway).
1691
1692 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1693
1694         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1695         (_gst_debug_register_funcptr):
1696         * gst/gstinfo.h:
1697           Fix illegal cast on some platforms (#309253).
1698
1699 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1700
1701         * gst/gstmessage.c: (gst_message_new_custom):
1702         * gst/gstmessage.h:
1703           Add _new_custom, make _new_application a macro to _new_custom.
1704
1705 2005-07-20  Wim Taymans  <wim@fluendo.com>
1706
1707         * gst/base/gstbasesrc.c: (gst_base_src_init),
1708         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1709         * gst/base/gstbasesrc.h:
1710         Add a gboolean to decide when to push out a discont.
1711
1712         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1713         (gst_queue_loop), (gst_queue_handle_src_query),
1714         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1715         (gst_queue_set_property), (gst_queue_get_property):
1716         Some cleanups.
1717
1718         * tests/threadstate/threadstate1.c: (main):
1719         Make a thread test compile and run... very silly..
1720
1721
1722 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1723
1724         * docs/manual/appendix-porting.xml:
1725           Mention removal of libgstgconf-0.9.la and existence of gconf
1726           elements.
1727
1728 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1729
1730         * docs/pwg/advanced-clock.xml:
1731         * docs/pwg/appendix-porting.xml:
1732         * docs/pwg/intro-preface.xml:
1733         * docs/pwg/other-base.xml:
1734         * docs/pwg/other-manager.xml:
1735         * docs/pwg/other-nton.xml:
1736         * docs/pwg/other-ntoone.xml:
1737         * docs/pwg/other-oneton.xml:
1738         * docs/pwg/pwg.xml:
1739           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1740           demuxer), remove n-to-n (was never written), fix some code examples
1741           and links and update the porting section to include all this.
1742
1743 2005-07-19  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1746         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1747         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1748         (gst_queue_src_activate_push), (gst_queue_change_state),
1749         (gst_queue_get_property):
1750         * gst/gstqueue.h:
1751         Propagate GstFlowReturn more intelligently upstream and output
1752         an ERROR/EOS when streaming stopped due to fatal error.
1753
1754 2005-07-19  Wim Taymans  <wim@fluendo.com>
1755
1756         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1757         Don't block forever for the state change to complete, the
1758         pipeline already did with a sensible timeout.
1759
1760 2005-07-19  Wim Taymans  <wim@fluendo.com>
1761
1762         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1763         Make sure we never call the create function is we
1764         got deactivated.
1765
1766 2005-07-19  Andy Wingo  <wingo@pobox.com>
1767
1768         * gst/parse/parse.l: Attempt to solve bug #172815.
1769
1770 2005-07-19  Wim Taymans  <wim@fluendo.com>
1771
1772         * docs/design/part-clocks.txt:
1773         * docs/design/part-events.txt:
1774         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1775         Small docs updates.
1776         Only update the seeking values when we are not
1777         busy streaming.
1778
1779 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1780
1781         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1782           Oops, ignore the result of gst_pad_push_event here.
1783
1784 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1785
1786         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1787         (gst_base_src_activate_push):
1788           Send discont event from the loop function, as pads
1789           aren't activated yet in the activate_push handler.
1790
1791         * gst/gstbin.c: (bin_bus_handler):
1792           Don't leak element name.
1793
1794 2005-07-18  Andy Wingo  <wingo@pobox.com>
1795
1796         * configure.ac: Use AS_LIBTOOL_TAGS.
1797
1798 2005-07-18  Wim Taymans  <wim@fluendo.com>
1799
1800         * docs/gst/gstreamer.types:
1801         Remove deleted types.
1802
1803 2005-07-18  Wim Taymans  <wim@fluendo.com>
1804
1805         * check/elements/gstfakesrc.c: (GST_START_TEST):
1806         * configure.ac:
1807         * gst/Makefile.am:
1808         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1809         (init_popt_callback):
1810         * gst/gst.h:
1811         * gst/gst_private.h:
1812         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1813         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1814         * gst/gstbin.h:
1815         * gst/gstbus.h:
1816         * gst/gstconfig.h.in:
1817         * gst/gstelement.c: (gst_element_class_init),
1818         (gst_element_set_base_time), (gst_element_get_base_time),
1819         (iterator_fold_with_resync), (gst_element_change_state),
1820         (gst_element_dispose), (gst_element_get_bus):
1821         * gst/gstelement.h:
1822         * gst/gstelementfactory.h:
1823         * gst/gsterror.c: (_gst_core_errors_init):
1824         * gst/gsterror.h:
1825         * gst/gstevent.h:
1826         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1827         * gst/gstindex.c:
1828         * gst/gstinfo.c: (_gst_debug_init):
1829         * gst/gstmessage.c: (_gst_message_copy):
1830         * gst/gstmessage.h:
1831         * gst/gstminiobject.h:
1832         * gst/gstobject.c:
1833         * gst/gstobject.h:
1834         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1835         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1836         * gst/gstpad.h:
1837         * gst/gstparse.h:
1838         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1839         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1840         (gst_pipeline_get_last_stream_time):
1841         * gst/gstpipeline.h:
1842         * gst/gstpluginfeature.h:
1843         * gst/gstquery.h:
1844         * gst/gstscheduler.c:
1845         * gst/gstscheduler.h:
1846         * gst/gststructure.h:
1847         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1848         (gst_task_finalize), (gst_task_func), (gst_task_create),
1849         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1850         (gst_task_stop), (gst_task_pause):
1851         * gst/gsttask.h:
1852         * gst/gsttypefind.h:
1853         * gst/gsttypes.h:
1854         * gst/registries/gstlibxmlregistry.c: (load_feature),
1855         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1856         * gst/registries/gstxmlregistry.c:
1857         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1858         * gst/schedulers/threadscheduler.c:
1859         * libs/gst/control/dparammanager.h:
1860         * tools/gst-inspect.c: (print_element_list),
1861         (print_plugin_features), (print_element_features):
1862         * tools/gst-xmlinspect.c: (print_element_list),
1863         (print_plugin_info), (main):
1864         Removed plugable schedulers.
1865         Removed Scheduler/Manager from elements.
1866         Removed gsttypes.h, rearranged includes.
1867         Removed dependency pad<->element, element<>pipeline, and
1868         various others,  fix includes.
1869         implement gst_pad_get_parent() with gst_object_get_parent()
1870         Make GstTask sefcontained.
1871         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1872         timeout.
1873         Fix endless loop in iterator_fold_with_resync.
1874
1875
1876 2005-07-18  Wim Taymans  <wim@fluendo.com>
1877
1878         * gst/Makefile.am:
1879         * gst/gstarch.h:
1880         Remove old file.
1881
1882 2005-07-18  Wim Taymans  <wim@fluendo.com>
1883
1884         * gst/Makefile.am:
1885         No more cothreads.h
1886
1887 2005-07-18  Wim Taymans  <wim@fluendo.com>
1888
1889         * gst/cothreads.c:
1890         * gst/cothreads.h:
1891         Let's remove these.
1892
1893 2005-07-18  Wim Taymans  <wim@fluendo.com>
1894
1895         * docs/design/part-dynamic.txt:
1896         * docs/design/part-events.txt:
1897         * docs/design/part-seeking.txt:
1898         Some more docs in the works.
1899
1900         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1901         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1902         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1903         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1904         (gst_base_transform_handle_buffer),
1905         (gst_base_transform_sink_activate_push),
1906         (gst_base_transform_src_activate_pull),
1907         (gst_base_transform_set_passthrough),
1908         (gst_base_transform_is_passthrough):
1909         Refcounting fixes.
1910
1911         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1912         Cleanups.
1913
1914         * gst/gstevent.c: (gst_event_finalize):
1915         Set SRC to NULL.
1916
1917         * gst/gstutils.c: (gst_element_unlink),
1918         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1919         (gst_pad_proxy_setcaps):
1920         * gst/gstutils.h:
1921         Add _get_parent_element() to get a pads parent as an element.
1922
1923 2005-07-18  Wim Taymans  <wim@fluendo.com>
1924
1925         * check/gst/gstbin.c: (GST_START_TEST):
1926         Remove bogus test.
1927
1928 2005-07-18  Wim Taymans  <wim@fluendo.com>
1929
1930         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1931         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1932         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1933         (gst_base_sink_event), (gst_base_sink_do_sync),
1934         (gst_base_sink_chain), (gst_base_sink_loop),
1935         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1936         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1937         Refcounting fixes.
1938         Fix logic for returning ASYNC when not prerolled.
1939
1940 2005-07-18  Wim Taymans  <wim@fluendo.com>
1941
1942         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1943         Fix nasty refcount bug.
1944
1945 2005-07-16 Philippe Khalaf <burger@speedy.org>
1946         * gst/elements/gstfdsrc.c:
1947         * gst/elements/gstfdsrc.h:
1948         * gst/elements/gstelements.c:
1949         * gst/elements/Makefile.am:
1950         Ported fdsrc to 0.9.
1951
1952 2005-07-16  Wim Taymans  <wim@fluendo.com>
1953
1954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1955         (gst_base_sink_do_sync):
1956         Fix compile error.
1957
1958 2005-07-16  Wim Taymans  <wim@fluendo.com>
1959
1960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1961         (gst_base_sink_event), (gst_base_sink_get_times),
1962         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1963         * gst/base/gstbasesink.h:
1964         Store and use discont values when syncing buffers as described
1965         in design docs.
1966         
1967         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1968         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1969         (gst_base_src_activate_push):
1970         Push discont event when starting.
1971
1972         * gst/elements/gstidentity.c: (gst_identity_transform):
1973         Small cleanups.
1974
1975         * gst/gstbin.c: (gst_bin_change_state):
1976         Small cleanups in base_time  distribution.
1977
1978         * gst/gstelement.c: (gst_element_set_base_time),
1979         (gst_element_get_base_time), (gst_element_change_state):
1980         * gst/gstelement.h:
1981         Added methods for the base_time of the element.
1982         Some MT fixes.
1983
1984         * gst/gstpipeline.c: (gst_pipeline_send_event),
1985         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1986         (gst_pipeline_get_last_stream_time):
1987         * gst/gstpipeline.h:
1988         MT fixes.
1989         Handle seeking as described in design doc, remove stream_time
1990         hack.
1991         Cleanups clock and stream_time selection code. Added accessors
1992         for the stream_time.
1993         
1994
1995 2005-07-16  Andy Wingo  <wingo@pobox.com>
1996
1997         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1998         (#305291).
1999
2000 2005-07-16  Wim Taymans  <wim@fluendo.com>
2001
2002         * check/gst/gstbin.c: (GST_START_TEST):
2003         Make elements silent as the deep_notify refs the
2004         parent, which might make the test fail.
2005
2006         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
2007         Don't hold the lock for too long.
2008
2009 2005-07-16  Tim-Philipp M??ller  <tim at centricular dot net>
2010
2011         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2012           Don't unref the caps we passed to gst_caps_make_writable() after
2013           passing them. gst_caps_make_writable() will do that for us.
2014
2015 2005-07-15  Andy Wingo  <wingo@pobox.com>
2016
2017         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
2018         (#157311).
2019
2020         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
2021         own marshalling function for the handoff signal. Properly type the
2022         buffer as a buffer. Fixes some warnings. Should do a more general
2023         solution.
2024         (gst_identity_class_init): Plug into the right marshaller.
2025
2026 2005-07-15  Wim Taymans  <wim@fluendo.com>
2027
2028         * docs/design/part-TODO.txt:
2029         * docs/design/part-clocks.txt:
2030         * docs/design/part-element-sink.txt:
2031         * docs/design/part-events.txt:
2032         * docs/design/part-gstpipeline.txt:
2033         Updated docs, mostly DISCONT related.
2034
2035 2005-07-15  Tim-Philipp M??ller  <tim at centricular dot net>
2036
2037         * docs/pwg/building-pads.xml:
2038           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
2039
2040 2005-07-15  Andy Wingo  <wingo@pobox.com>
2041
2042         * tools/gst-typefind.c: Update, add copyright block.
2043
2044         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
2045         Normalize and truncate caps before fixation.
2046
2047         * gst/gstcaps.h:
2048         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
2049         discards all but the first structure from its argument.
2050
2051 2005-07-15  Wim Taymans  <wim@fluendo.com>
2052
2053         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2054         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
2055         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2056         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2057         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
2058         (gst_base_transform_chain), (gst_base_transform_change_state),
2059         (gst_base_transform_set_passthrough),
2060         (gst_base_transform_is_passthrough):
2061         * gst/base/gstbasetransform.h:
2062         Make passthrough work using the bufferpools.
2063         Changed API a bit, subclasses have to write into a buffer
2064         provided by the base class.
2065         More debug info in nego functions.
2066         
2067         * gst/elements/gstidentity.c: (gst_identity_init),
2068         (gst_identity_transform):
2069         Port to new base class.
2070
2071 2005-07-15  Wim Taymans  <wim@fluendo.com>
2072
2073         * gst/gstmessage.c: (gst_message_new_state_changed):
2074         * tools/gst-launch.c: (event_loop), (main):
2075         Totally dump messages in -launch with the -m option.
2076         Fix message name for State messages,
2077
2078 2005-07-14  Wim Taymans  <wim@fluendo.com>
2079
2080         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2081         Post error messages on errors.
2082
2083 2005-07-14  Wim Taymans  <wim@fluendo.com>
2084
2085         * gst/gstcaps.c: (gst_caps_do_simplify):
2086         Remove debug info.
2087
2088         * gst/gsterror.h:
2089         Define error for stream stopped.
2090
2091         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2092         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
2093         Do proper return values.
2094
2095         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
2096         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
2097         (gst_pad_get_range):
2098         Better return values.
2099
2100         * gst/gstpad.h:
2101         Reorganise return values, add macro to check for fatal errors.
2102
2103         * gst/gstqueue.c: (gst_queue_chain):
2104         Return proper GstFlowReturn values,
2105
2106 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2107
2108         * docs/gst/gstreamer-sections.txt:
2109         * docs/gst/gstreamer.types:
2110         * docs/gst/tmpl/gst.sgml:
2111         * docs/gst/tmpl/gstbasesink.sgml:
2112         * docs/gst/tmpl/gstbasesrc.sgml:
2113         * docs/gst/tmpl/gstbasetransform.sgml:
2114         * docs/gst/tmpl/gstbin.sgml:
2115         * docs/gst/tmpl/gstbuffer.sgml:
2116         * docs/gst/tmpl/gstcaps.sgml:
2117         * docs/gst/tmpl/gstclock.sgml:
2118         * docs/gst/tmpl/gstcompat.sgml:
2119         * docs/gst/tmpl/gstconfig.sgml:
2120         * docs/gst/tmpl/gstelement.sgml:
2121         * docs/gst/tmpl/gstelementdetails.sgml:
2122         * docs/gst/tmpl/gstelementfactory.sgml:
2123         * docs/gst/tmpl/gstenumtypes.sgml:
2124         * docs/gst/tmpl/gsterror.sgml:
2125         * docs/gst/tmpl/gstevent.sgml:
2126         * docs/gst/tmpl/gstfakesink.sgml:
2127         * docs/gst/tmpl/gstfakesrc.sgml:
2128         * docs/gst/tmpl/gstfilesink.sgml:
2129         * docs/gst/tmpl/gstfilesrc.sgml:
2130         * docs/gst/tmpl/gstfilter.sgml:
2131         * docs/gst/tmpl/gstformat.sgml:
2132         * docs/gst/tmpl/gstghostpad.sgml:
2133         * docs/gst/tmpl/gstimplementsinterface.sgml:
2134         * docs/gst/tmpl/gstindex.sgml:
2135         * docs/gst/tmpl/gstindexfactory.sgml:
2136         * docs/gst/tmpl/gstinfo.sgml:
2137         * docs/gst/tmpl/gstiterator.sgml:
2138         * docs/gst/tmpl/gstmacros.sgml:
2139         * docs/gst/tmpl/gstmemchunk.sgml:
2140         * docs/gst/tmpl/gstminiobject.sgml:
2141         * docs/gst/tmpl/gstobject.sgml:
2142         * docs/gst/tmpl/gstpad.sgml:
2143         * docs/gst/tmpl/gstpadtemplate.sgml:
2144         * docs/gst/tmpl/gstparse.sgml:
2145         * docs/gst/tmpl/gstpipeline.sgml:
2146         * docs/gst/tmpl/gstplugin.sgml:
2147         * docs/gst/tmpl/gstpluginfeature.sgml:
2148         * docs/gst/tmpl/gstquery.sgml:
2149         * docs/gst/tmpl/gstqueue.sgml:
2150         * docs/gst/tmpl/gstregistry.sgml:
2151         * docs/gst/tmpl/gstregistrypool.sgml:
2152         * docs/gst/tmpl/gstscheduler.sgml:
2153         * docs/gst/tmpl/gstschedulerfactory.sgml:
2154         * docs/gst/tmpl/gststructure.sgml:
2155         * docs/gst/tmpl/gstsystemclock.sgml:
2156         * docs/gst/tmpl/gsttaglist.sgml:
2157         * docs/gst/tmpl/gsttagsetter.sgml:
2158         * docs/gst/tmpl/gsttrace.sgml:
2159         * docs/gst/tmpl/gsttrashstack.sgml:
2160         * docs/gst/tmpl/gsttypefind.sgml:
2161         * docs/gst/tmpl/gsttypefindfactory.sgml:
2162         * docs/gst/tmpl/gsttypes.sgml:
2163         * docs/gst/tmpl/gsturihandler.sgml:
2164         * docs/gst/tmpl/gsturitype.sgml:
2165         * docs/gst/tmpl/gstutils.sgml:
2166         * docs/gst/tmpl/gstvalue.sgml:
2167         * docs/gst/tmpl/gstversion.sgml:
2168         * docs/gst/tmpl/gstxml.sgml:
2169         * docs/libs/tmpl/gstcontrol.sgml:
2170         * docs/libs/tmpl/gstdataprotocol.sgml:
2171         * docs/libs/tmpl/gstdparam.sgml:
2172         * docs/libs/tmpl/gstdplinint.sgml:
2173         * docs/libs/tmpl/gstdpman.sgml:
2174         * docs/libs/tmpl/gstdpsmooth.sgml:
2175         * docs/libs/tmpl/gstgetbits.sgml:
2176         * docs/libs/tmpl/gstunitconvert.sgml:
2177         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
2178         (gst_push_src_base_init), (gst_push_src_class_init),
2179         (gst_push_src_init), (gst_push_src_create):
2180         * gst/base/gstpushsrc.h:
2181         * gst/elements/gstelements.c:
2182         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
2183         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
2184         (gst_fake_sink_init), (gst_fake_sink_set_property),
2185         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
2186         (gst_fake_sink_event), (gst_fake_sink_preroll),
2187         (gst_fake_sink_render), (gst_fake_sink_change_state):
2188         * gst/elements/gstfakesink.h:
2189         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2190         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2191         (gst_fake_src_base_init), (gst_fake_src_class_init),
2192         (gst_fake_src_init), (gst_fake_src_event_handler),
2193         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
2194         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
2195         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
2196         (gst_fake_src_create_buffer), (gst_fake_src_create),
2197         (gst_fake_src_start), (gst_fake_src_stop):
2198         * gst/elements/gstfakesrc.h:
2199         * gst/elements/gstfilesink.c: (_do_init),
2200         (gst_file_sink_base_init), (gst_file_sink_class_init),
2201         (gst_file_sink_init), (gst_file_sink_dispose),
2202         (gst_file_sink_set_location), (gst_file_sink_set_property),
2203         (gst_file_sink_get_property), (gst_file_sink_open_file),
2204         (gst_file_sink_close_file), (gst_file_sink_query),
2205         (gst_file_sink_event), (gst_file_sink_render),
2206         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
2207         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
2208         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
2209         * gst/elements/gstfilesink.h:
2210         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
2211         (gst_file_src_class_init), (gst_file_src_init),
2212         (gst_file_src_finalize), (gst_file_src_set_location),
2213         (gst_file_src_set_property), (gst_file_src_get_property),
2214         (gst_file_src_map_region), (gst_file_src_map_small_region),
2215         (gst_file_src_create_mmap), (gst_file_src_create_read),
2216         (gst_file_src_create), (gst_file_src_is_seekable),
2217         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
2218         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
2219         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
2220         (gst_file_src_uri_handler_init):
2221         * gst/elements/gstfilesrc.h:
2222           more autistic cleanliness in functions/names/defines
2223
2224 2005-07-13  Andy Wingo  <wingo@pobox.com>
2225
2226         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
2227         source couldn't negotiate.
2228
2229         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
2230         connections again.
2231
2232         * gst/gstutils.h:
2233         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2234         function. I am channeling Hades. Put your boots on suckers!!!
2235
2236 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2237
2238         * testsuite/caps/Makefile.am:
2239         * testsuite/caps/value_compare.c:
2240         * testsuite/caps/value_intersect.c:
2241         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2242           move two testsuite apps over to the check dir
2243
2244 2005-07-12  Wim Taymans  <wim@fluendo.com>
2245
2246         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2247         Added more debug info in the negotiate process.
2248
2249         * gst/gstmessage.h:
2250         Prepare for segment playback.
2251
2252         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2253         Better debugging.
2254
2255         * gst/gstutils.c:
2256         Some more docs.
2257
2258         * tools/gst-launch.c: (main):
2259         NULL pipeline on errors.
2260
2261 2005-07-12  Andy Wingo  <wingo@pobox.com>
2262
2263         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2264         not it comes from a malloc region. Make sure our copy gets freed.
2265
2266 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2267
2268         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2269         * check/gst/gstmessage.c: (GST_START_TEST):
2270         * check/gst/gststructure.c: (GST_START_TEST),
2271         (gst_structure_suite), (main):
2272           more testing
2273         * gst/gstelement.c: (gst_element_message_full):
2274           clean up GError and debug string now that they get copied
2275         * gst/gstmessage.c: (gst_message_new_error),
2276         (gst_message_new_warning), (gst_message_parse_error),
2277         (gst_message_parse_warning):
2278           use GST_TYPE_G_ERROR for structure_new, and take copies of
2279           arguments, so that we don't mess up refcounting
2280
2281 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2282
2283         * check/Makefile.am:
2284           add per-test valgrind targets
2285         * check/gst-libs/gdp.c: (GST_START_TEST),
2286         (gst_data_protocol_suite), (main):
2287           clean up
2288
2289 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2290
2291         * check/Makefile.am:
2292           instate more valgrindable tests
2293         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2294         (GST_START_TEST), (fakesrc_suite):
2295         * check/gst/gstpad.c: (GST_START_TEST):
2296         * check/gst/gststructure.c: (GST_START_TEST):
2297           fix test leaks
2298         * docs/gst/tmpl/gstminiobject.sgml:
2299         * gst/gstpad.c: (gst_pad_finalize):
2300           fix the static mutex leak
2301
2302 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2303
2304         * check/Makefile.am:
2305           add two more tests for valgrinding
2306         * check/gst/gstvalue.c: (GST_START_TEST):
2307           test refcount of deserialized buffer, found a leak
2308         * docs/gst/gstreamer-docs.sgml:
2309         * docs/gst/gstreamer-sections.txt:
2310         * docs/gst/gstreamer.types:
2311         * docs/gst/tmpl/gstminiobject.sgml:
2312           add miniobject to docs
2313         * gst/gstminiobject.c:
2314           add some docs
2315         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2316         (gst_string_unwrap):
2317           fix a hard-to-find invalid write for one of the tests
2318           fix a leak for deserialized buffers
2319
2320 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2321
2322         * docs/pwg/advanced-events.xml:
2323         * docs/pwg/advanced-request.xml:
2324         * docs/pwg/advanced-scheduling.xml:
2325         * docs/pwg/appendix-porting.xml:
2326         * docs/pwg/building-boiler.xml:
2327         * docs/pwg/intro-preface.xml:
2328         * docs/pwg/other-ntoone.xml:
2329           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2330           of example code and explanation for pad activation, loop() and
2331           getrange() functions and a bit more. Remove old comments pointing
2332           to loop-functions.
2333         * examples/pwg/Makefile.am:
2334           Add loop/getrange examples.
2335
2336 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2337
2338         * configure.ac:
2339           check for valgrind binary + some fixes
2340         * check/gst.supp:
2341           valgrind suppressions for the tests
2342         * check/Makefile.am:
2343           add a valgrind: target that valgrinds the unit tests
2344         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2345         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2346         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2347         * check/gst/gstghostpad.c:
2348           added some cleanup
2349         * check/gst/gstdata.c:
2350           removed
2351         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2352         (thread_unref), (gst_mini_object_suite), (main):
2353           added
2354         * gst/gst.c: (gst_deinit):
2355         * gst/gst.h:
2356           add a method to clean up.
2357         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2358         (gst_system_clock_obtain):
2359           allow for disposing the system clock.
2360         * tools/gst-launch.c: (main):
2361           deinit
2362
2363 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2364
2365         * docs/gst/tmpl/gstbasesrc.sgml:
2366         * docs/gst/tmpl/gstfakesrc.sgml:
2367         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2368         (gst_base_src_init), (gst_base_src_set_property),
2369         (gst_base_src_get_property), (gst_base_src_get_range),
2370         (gst_base_src_start):
2371         * gst/base/gstbasesrc.h:
2372           add num-buffers property
2373         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2374         (gst_fakesrc_init), (gst_fakesrc_set_property),
2375         (gst_fakesrc_get_property), (gst_fakesrc_create),
2376         (gst_fakesrc_start):
2377           remove num-buffers property
2378
2379 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2380
2381         * docs/gst/gstreamer-sections.txt:
2382         * docs/gst/tmpl/gstbasesink.sgml:
2383         * docs/gst/tmpl/gstbasesrc.sgml:
2384         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2385         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2386         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2387         (gst_base_sink_set_property), (gst_base_sink_get_property),
2388         (gst_base_sink_handle_object), (gst_base_sink_event),
2389         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2390         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2391         (gst_base_sink_loop), (gst_base_sink_deactivate),
2392         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2393         (gst_base_sink_change_state):
2394         * gst/base/gstbasesink.h:
2395         * gst/base/gstbasesrc.h:
2396         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2397         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2398         (gst_filesink_init):
2399           more macro splitting
2400
2401 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2402
2403         * gst/gstelement.c: (gst_element_get_bus):
2404           add debug
2405         * tools/gst-launch.c: (check_intr), (event_loop):
2406           fix bus leaks
2407
2408 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2409
2410         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2411           fix a caps leak
2412
2413 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2414
2415         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2416         (gst_base_src_finalize):
2417           add finalize method and clean up properly
2418         * gst/gstpipeline.c: (gst_pipeline_dispose):
2419           add debug
2420
2421 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2422
2423         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2424         (gst_bin_suite):
2425           add more things to check
2426         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2427         * gst/gstelement.c:
2428           more debug
2429
2430 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2431
2432         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2433         (GST_START_TEST), (fakesrc_suite):
2434         * check/gst-libs/gdp.c: (GST_START_TEST):
2435         * check/gst/gst.c: (GST_START_TEST):
2436         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2437         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2438         * check/gst/gstbus.c: (GST_START_TEST):
2439         * check/gst/gstcaps.c: (GST_START_TEST):
2440         * check/gst/gstdata.c: (GST_START_TEST):
2441         * check/gst/gstelement.c: (GST_START_TEST):
2442         * check/gst/gstghostpad.c: (GST_START_TEST):
2443         * check/gst/gstiterator.c: (GST_START_TEST):
2444         * check/gst/gstmessage.c: (GST_START_TEST):
2445         * check/gst/gstobject.c: (GST_START_TEST):
2446         * check/gst/gstpad.c: (GST_START_TEST):
2447         * check/gst/gststructure.c: (GST_START_TEST):
2448         * check/gst/gstsystemclock.c: (GST_START_TEST),
2449         (gst_systemclock_suite):
2450         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2451         * check/gst/gstvalue.c: (GST_START_TEST):
2452         * check/pipelines/cleanup.c: (GST_START_TEST):
2453         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2454         * check/states/sinks.c: (GST_START_TEST):
2455         * check/gstcheck.c: (gst_check_init):
2456         * check/gstcheck.h:
2457           add debugging category
2458           use GST_START_TEST now, so we add a debug line
2459
2460 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2461
2462         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2463           add test for state change message on a bin
2464         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2465           add another test
2466         * gst/gstbin.c: (gst_bin_init):
2467         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2468         * gst/gstelement.c: (gst_element_post_message),
2469         (gst_element_set_state):
2470         * gst/gstelementfactory.c: (gst_element_factory_create):
2471         * gst/gstmessage.c: (gst_message_new):
2472         * gst/gstscheduler.c:
2473           various debugging additions and cleanups
2474
2475 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2476
2477         * check/Makefile.am:
2478         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2479         (main):
2480           adding tests for elements
2481         * gst/gstelement.c: (gst_element_dispose):
2482
2483 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2484
2485         * gst/registries/gstlibxmlregistry.c: (load_feature):
2486           plug more leaks.  A simple gst_init() now is leakfree, yay.
2487
2488 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2489
2490         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2491         (gst_xml_registry_load):
2492           plug another memleak
2493
2494 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2495
2496         * configure.ac:
2497           use GST_SET_ERROR_CFLAGS
2498         * docs/faq/cvs.xml:
2499           change to ERROR_CFLAGS
2500
2501 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2502
2503         * configure.ac:
2504           make GST_ERROR_CFLAGS overridable and re-enable Werror
2505         * docs/faq/cvs.xml:
2506           add a note about error CFLAGS
2507         * docs/gst/tmpl/gstfakesrc.sgml:
2508         * gst/elements/gstfakesrc.c:
2509           comment out some unused code
2510         * gst/gst.c: (split_and_iterate):
2511         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2512         (load_feature):
2513           plug some memleaks
2514
2515 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2516
2517         * common/Makefile.am:
2518         * common/gtk-doc.mak:
2519         * docs/gst/Makefile.am:
2520           factor out gtk-doc.mak
2521
2522 2005-07-07  Wim Taymans  <wim@fluendo.com>
2523
2524         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2525         (gst_thread_scheduler_dispose):
2526         Unlock the STREAM_LOCK completely.
2527
2528 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2529
2530         * check/Makefile.am:
2531         * check/elements/.cvsignore:
2532         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2533         (START_TEST), (fakesrc_suite), (main):
2534         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2535         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2536         (gst_fakesrc_create), (gst_fakesrc_start):
2537         * gst/elements/gstfakesrc.h:
2538           adding a first element test
2539
2540 2005-07-07  Andy Wingo  <wingo@pobox.com>
2541
2542         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2543         debug message.
2544
2545 2005-07-07  Wim Taymans  <wim@fluendo.com>
2546
2547         * gst/gstquery.c:
2548         * gst/gstquery.h:
2549         Remove old types
2550
2551 2005-07-07  Wim Taymans  <wim@fluendo.com>
2552
2553         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2554         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2555         Allow subclasses to implement their own negotiation.
2556
2557 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2558
2559         * docs/design/part-gstbin.txt:
2560         * docs/design/part-gstpipeline.txt:
2561           Update design notes to reflect the movement of
2562           responsibility for bus handling from GstPipeline to
2563           GstBin
2564
2565 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2566
2567         * configure.ac:
2568           Remove unnecessary queue2/3/4 examples.
2569
2570 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2571
2572         * examples/Makefile.am:
2573         * examples/helloworld/helloworld.c: (event_loop), (main):
2574         * examples/queue/queue.c: (event_loop), (main):
2575         * examples/queue2/queue2.c: (main):
2576           Update a couple of the examples to work again.
2577
2578         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2579         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2580          Spelling corrections and extra debug.
2581         
2582         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2583         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2584         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2585         * gst/gstbin.h:
2586         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2587         (gst_pipeline_change_state):
2588         * gst/gstpipeline.h:
2589           Move the bus handler for children to the GstBin, and create a
2590           separate bus for receiving messages from children to the one the
2591           bus sends 'upwards' on.
2592
2593 2005-07-06  Wim Taymans  <wim@fluendo.com>
2594
2595         * gst/base/README:
2596         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2597         (gst_base_sink_handle_object), (gst_base_sink_loop),
2598         (gst_base_sink_change_state):
2599         * gst/base/gstbasesink.h:
2600         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2601         (gst_base_src_init), (gst_base_src_setcaps),
2602         (gst_base_src_getcaps), (gst_base_src_loop),
2603         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2604         (gst_base_src_start), (gst_base_src_change_state):
2605         * gst/base/gstbasesrc.h:
2606         Make basesrc negotiate.
2607         Handle the case where preroll fails in basesink.
2608         Update README.
2609
2610 2005-07-06  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2613         Implement the fixate function.
2614         Clean up acceptcaps.
2615
2616 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2617
2618         * docs/pwg/building-filterfactory.xml:
2619         * docs/pwg/pwg.xml:
2620           Remove never-written filter-factory chapter; I'll add the various
2621           base classes to part 4 ("other element types") later on.
2622
2623 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2624
2625         * docs/pwg/advanced-negotiation.xml:
2626         * docs/pwg/building-boiler.xml:
2627         * docs/pwg/building-pads.xml:
2628         * docs/pwg/pwg.xml:
2629         * examples/pwg/Makefile.am:
2630           Add a chapter on caps negotiation, simplify the original code
2631           samples a bit w.r.t. caps negotiation, add link to the advanced
2632           section. Add a bunch of examples showing different use cases of
2633           different types of caps negotiation. Upstream renegotiation isn't
2634           fully documented yet since nobody knows how that works.
2635
2636 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2637
2638         * check/gst/gstpad.c:
2639         * check/gstcheck.c:
2640         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2641           if pad has no parent, return NULL as list of internal links
2642
2643 2005-07-05  Andy Wingo  <wingo@pobox.com>
2644
2645         * gst/elements/gstfilesrc.c:
2646         * gst/elements/gstfakesrc.c: 
2647         * gst/base/gstpushsrc.c:
2648         * gst/base/gstbasesrc.h: 
2649         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2650         
2651 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2652
2653         * Makefile.am:
2654           better report generation target (lcov needs a patch)
2655
2656 2005-07-05  Andy Wingo  <wingo@pobox.com>
2657
2658         * gst/elements, testsuite: Null if we got it...
2659
2660 2005-07-05  Wim Taymans  <wim@fluendo.com>
2661
2662         * configure.ac:
2663         * libs/gst/dataprotocol/Makefile.am:
2664         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2665         * libs/gst/dataprotocol/dataprotocol.h:
2666         * pkgconfig/Makefile.am:
2667         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2668         * pkgconfig/gstreamer-dataprotocol.pc.in:
2669         Ported dataprotol to 0.9. 
2670         Added pkgconfig files.
2671
2672 2005-07-05  Andy Wingo  <wingo@pobox.com>
2673
2674         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2675         Default to returning TRUE for the case when tranform_caps returns
2676         a fixed caps, like for identity or volume.
2677
2678         * check/gst/gstbus.c (pound_bus_with_messages): 
2679         * check/gst/gstmessage.c (START_TEST): 
2680         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2681         message API change.
2682
2683         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2684         logic weaks here: always run transform_caps, trying passthrough
2685         operation only if the original caps intersects with the transform.
2686
2687         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2688         source and sink caps.
2689
2690         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2691         Intersect the peer caps with the pad template before going into
2692         transform_caps.
2693         (gst_base_transform_transform_caps): More debugging.
2694
2695         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2696         src argument.
2697
2698 2005-07-04  Edward Hervey  <edward@fluendo.com>
2699
2700         * gst/gstutils.c:
2701         * gst/gstutils.h:
2702         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2703         in bindings.
2704
2705 2005-07-04  Andy Wingo  <wingo@pobox.com>
2706
2707         * check/gst/gstpad.c: Only set explicit caps on pads.
2708
2709 2005-07-01  Andy Wingo  <wingo@pobox.com>
2710
2711         * tests/network-clock.scm: Commentary update.
2712
2713         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2714         Didn't really make sense, not implementable with basetransform,
2715         etc.
2716         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2717         attempt at implementing the sync property, needs an unlock method.
2718
2719         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2720         New func, by default returns the same caps (the identity
2721         transformation).
2722         (gst_base_transform_getcaps): Uses transform_caps to return
2723         something sensible.
2724         (gst_base_transform_setcaps): Complicated logic to get caps on
2725         both pads, even if they are different, and to call set_caps once
2726         for every time both pads get their caps set.
2727         (gst_base_transform_handle_buffer): Give the ref to the transform
2728         function. Allows in-place modification of the buffer.
2729
2730         * gst/base/gstbasetransform.h (transform_caps): New class method.
2731         Given caps on one side, what can I do on the other.
2732         (set_caps): Take two caps, one for each side of the element.
2733
2734         * gst/gstpad.h:
2735         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2736         caps in place. This is safe because we can check the mutability of
2737         the caps, and a good idea because fixate functions are just called
2738         as a matter of last resort. (Not actually implemented.)
2739         (gst_pad_set_caps): If the caps we're setting is actually the same
2740         as the existing pad caps, just update the pointer without calling
2741         setcaps. Assert that caps is either NULL or fixed, as per the
2742         docs.
2743
2744         * gst/gstghostpad.c: Update for fixate changes.
2745
2746 2005-07-02  Andy Wingo  <wingo@pobox.com>
2747
2748         * gst/gstcaps.c:
2749         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2750         two refcounts makes it immutable, which is enough. Doc more.
2751
2752 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2753
2754         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2755           Put the mini_object into GValue as a mini_object,
2756           not a gpointer, since that's how we declared
2757           the signal.
2758
2759 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2760
2761         * examples/pwg/Makefile.am:
2762           Fix buildbot again.
2763
2764 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2765
2766         * docs/pwg/building-testapp.xml:
2767           Add extra check.
2768         * examples/pwg/Makefile.am:
2769           Fix buildbot.
2770
2771 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2772
2773         * configure.ac:
2774         * examples/Makefile.am:
2775         * examples/pwg/Makefile.am:
2776         * examples/pwg/extract.pl:
2777           Enable building the PWG examples.
2778         * docs/pwg/advanced-interfaces.xml:
2779           Add URI interface stub.
2780         * docs/pwg/advanced-types.xml:
2781         * docs/pwg/other-autoplugger.xml:
2782         * docs/pwg/appendix-porting.xml:
2783         * docs/pwg/pwg.xml:
2784           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2785         * docs/pwg/building-boiler.xml:
2786         * docs/pwg/building-chainfn.xml:
2787         * docs/pwg/building-pads.xml:
2788         * docs/pwg/building-props.xml:
2789         * docs/pwg/building-state.xml:
2790         * docs/pwg/building-testapp.xml:
2791           Update the building-*.xml parts for 0.9 changes. All examples
2792           code blocks compile in examples/pwg/*.
2793
2794 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2795
2796         * docs/manual/advanced-autoplugging.xml:
2797         * docs/manual/appendix-checklist.xml:
2798         * docs/manual/appendix-integration.xml:
2799         * docs/manual/highlevel-components.xml:
2800           Fix playbin/decodebin examples, update docs a bit, mention bus
2801           instead of signals in various places, mention kmplayer and
2802           kaffeine since they have a working GStreamer backend in the KDE
2803           section.
2804
2805 2005-06-30  Wim Taymans  <wim@fluendo.com>
2806
2807         * CHANGES-0.9:
2808         * docs/design/draft-ghostpads.txt:
2809         * docs/design/draft-push-pull.txt:
2810         * docs/design/draft-query.txt:
2811         * docs/design/part-TODO.txt:
2812         * docs/design/part-query.txt:
2813         Added CHANGES-0.9 doc, updated status of other docs.
2814         
2815         * gst/gstquery.h:
2816         Remove "hmm" macro
2817
2818 2005-06-30  Wim Taymans  <wim@fluendo.com>
2819
2820         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2821         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2822         (gst_base_sink_change_state):
2823         * gst/base/gstbasesink.h:
2824         Some tweaks, only EOS and a buffer complete a preroll.
2825
2826 2005-06-30  Andy Wingo  <wingo@pobox.com>
2827
2828         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2829         activate_push down to the internal pad as well.
2830
2831 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2832
2833         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2834
2835         * gst/gsttaginterface.c:
2836           Some documentation fixes (#307394 and #307397).
2837
2838 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2839
2840         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2841
2842         * gst/gstvalue.c: (gst_value_intersect_list):
2843           Fix memleak (#309125).
2844
2845 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2846
2847         * docs/manual/advanced-dataaccess.xml:
2848           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2849         * docs/manual/basics-pads.xml:
2850           Add reference for filtered caps to above chapter.
2851
2852 2005-06-30  Wim Taymans  <wim@fluendo.com>
2853
2854         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2855         (gst_bin_change_state):
2856         Probes are gone.
2857         Lame attempt at making the state change function a bit
2858         more readable.
2859
2860 2005-06-30  Wim Taymans  <wim@fluendo.com>
2861
2862         * docs/design/part-clocks.txt:
2863         * docs/design/part-element-sink.txt:
2864         * docs/design/part-events.txt:
2865         * docs/design/part-preroll.txt:
2866         * docs/design/part-states.txt:
2867         Some more tweeks and additions to the docs.
2868
2869 2005-06-30  Wim Taymans  <wim@fluendo.com>
2870
2871         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2872         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2873         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2874         (gst_pad_check_pull_range), (gst_pad_get_range),
2875         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2876         * gst/gstpad.h:
2877         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2878         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2879         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2880         (gst_pad_remove_buffer_probe):
2881         Removed atomic operations, use existing LOCK.
2882         Move exception handling out of main code path.
2883
2884 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2885
2886         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2887         (silly_return_true_function), (gst_pad_class_init),
2888         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2889         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2890         (gst_pad_send_event):
2891           Fix accumulator, add default value by using _emitv() instead
2892           of _emit() for signal emission.
2893
2894 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2895
2896         * docs/manual/advanced-dataaccess.xml:
2897         * examples/manual/Makefile.am:
2898           Add probe example.
2899         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2900           Make work (??).
2901
2902 2005-06-29  Tim-Philipp M??ller  <tim at centricular dot net>
2903
2904         * gst/elements/gstfilesink.c: (gst_filesink_render):
2905           Simplify code so that we don't have to handle short
2906           writes and return GST_FLOW_ERROR if an error occured.
2907
2908 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2909
2910         * docs/gst/gstreamer-docs.sgml:
2911           Remove probes more.
2912
2913 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2914
2915         * docs/gst/gstreamer-sections.txt:
2916         * docs/gst/tmpl/gstpad.sgml:
2917         * docs/gst/tmpl/gstprobe.sgml:
2918         * gst/Makefile.am:
2919         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2920         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2921         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2922         (gst_pad_push_event), (gst_pad_send_event):
2923         * gst/gstpad.h:
2924         * gst/gstutils.c: (gst_pad_add_data_probe),
2925         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2926         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2927         (gst_pad_remove_buffer_probe):
2928         * gst/gstutils.h:
2929           Remove old probes, add new g-signal-based probes and some utility
2930           functions.
2931
2932 2005-06-29  Edward Hervey  <edward@fluendo.com>
2933
2934         * gst/gstelementfactory.c:
2935         * gst/gstutils.h:
2936         * gst/gstutils.c:
2937         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2938         the definition to the header file.
2939
2940 2005-06-29  Andy Wingo  <wingo@pobox.com>
2941
2942         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2943         plugins from the source directory.
2944
2945 2005-06-29  Wim Taymans  <wim@fluendo.com>
2946
2947         * docs/gst/tmpl/gstbuffer.sgml:
2948         * docs/gst/tmpl/gstclock.sgml:
2949         Some fixings for blantently wrong text.
2950
2951 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2952
2953         * check/Makefile.am:
2954         * gst/gst.c: (add_path_func), (init_pre):
2955         * gst/gstregistry.c: (gst_registry_add_path):
2956           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2957           only scan the GST_PLUGIN_PATH locations, and not add
2958           system locations
2959
2960 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2961
2962         * docs/gst/gstreamer-sections.txt:
2963         * docs/gst/tmpl/gstbasesrc.sgml:
2964         * gst/gstelement.c:
2965         * gst/gstelement.h:
2966         * gst/gstevent.c:
2967         * gst/gstutils.c:
2968           doc fixes
2969
2970 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2971
2972         * docs/manual/advanced-autoplugging.xml:
2973           Fix autoplugging example.
2974
2975 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2976
2977         * docs/manual/advanced-autoplugging.xml:
2978         * docs/manual/mime-world.fig:
2979           Try to get autoplugging working, fix type detection. Fix text
2980           in hello-world image.
2981
2982 2005-06-29  Wim Taymans  <wim@fluendo.com>
2983
2984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2985         (gst_base_sink_change_state):
2986         Small debug line.
2987
2988         * gst/gstclock.h:
2989         map SIGNAL and BROADCAST to the right function.
2990
2991         * gst/gstobject.h:
2992         Remove redundant braces.
2993
2994         * gst/gstpad.c: (gst_pad_set_caps):
2995         Don't call setcaps function when reseting caps to NULL.
2996
2997         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2998         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2999         (gst_system_clock_id_unschedule):
3000         Use BROADCAST as this is what we do.
3001
3002 2005-06-29  Wim Taymans  <wim@fluendo.com>
3003
3004         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3005         We are actually prerolling before commiting the state
3006         change. 
3007
3008 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3009
3010         * docs/manual/advanced-clocks.xml:
3011         * docs/manual/advanced-interfaces.xml:
3012         * docs/manual/advanced-metadata.xml:
3013         * docs/manual/advanced-position.xml:
3014         * docs/manual/advanced-schedulers.xml:
3015         * docs/manual/advanced-threads.xml:
3016         * docs/manual/appendix-porting.xml:
3017         * docs/manual/basics-bins.xml:
3018         * docs/manual/basics-bus.xml:
3019         * docs/manual/basics-elements.xml:
3020         * docs/manual/basics-helloworld.xml:
3021         * docs/manual/basics-pads.xml:
3022         * docs/manual/highlevel-components.xml:
3023         * docs/manual/manual.xml:
3024         * docs/manual/thread.fig:
3025           Update (until threads/scheduling) Application Development Manual;
3026           remove GstThread, add GstBus, add simple porting checklist, add
3027           documentation for tag writing, clocks, make all examples until this
3028           part compile and run.
3029         * examples/manual/Makefile.am:
3030           Update from changes to Application Development Manual; add bus
3031           example, remove thread example.
3032
3033 2005-06-28  Wim Taymans  <wim@fluendo.com>
3034
3035         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
3036         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
3037         (gst_bus_source_dispatch):
3038         Add debugging messages.
3039         Make internal methods static.
3040         Handle the case where the bus is flushed in the handler.
3041         
3042         * gst/gstelement.c: (gst_element_get_bus):
3043         Fix refcount in _get_bus();
3044
3045         * gst/gstpipeline.c: (gst_pipeline_change_state),
3046         (gst_pipeline_get_clock_func):
3047         Clock refcounting fixes.
3048         Handle the case where preroll timed out more gracefully.
3049         
3050         * gst/gstsystemclock.c: (gst_system_clock_dispose):
3051         Clean up the internal thread in dispose. This is needed
3052         for subclasses that actually get disposed.
3053         
3054         * gst/schedulers/threadscheduler.c:
3055         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3056         (gst_thread_scheduler_dispose):
3057         Free thread pool in dispose.
3058
3059 2005-06-28  Andy Wingo  <wingo@pobox.com>
3060
3061         * tests/network-clock-utils.scm (debug, print-event): New utils.
3062
3063         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
3064         (*packet-loss*): Unified loss probability.
3065         (network-time): Report out-of-band events.
3066
3067         * tests/plot-data: Add support for out-of-band events. Hack it
3068         into this script instead of passing it down the pipe; should fix
3069         this later.
3070
3071 2005-06-28  Wim Taymans  <wim@fluendo.com>
3072
3073         * docs/gst/gstreamer.types:
3074         * docs/gst/tmpl/gstbasesrc.sgml:
3075         * docs/gst/tmpl/gstpad.sgml:
3076         Docs fixes.
3077
3078 2005-06-28  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3081         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
3082         (gst_proxy_pad_do_fixatecaps):
3083         Correctly proxy the check_pull_range function.
3084
3085 2005-06-28  Andy Wingo  <wingo@pobox.com>
3086
3087         * tests/network-clock.scm: Removed need for slib.
3088         
3089 2005-06-28  Wim Taymans  <wim@fluendo.com>
3090
3091         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
3092         (gst_basesink_preroll_queue_flush):
3093         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
3094         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
3095         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3096         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
3097         (gst_proxy_pad_set_property):
3098         * gst/gstpad.c:
3099         * gst/gstpad.h:
3100         * gst/gstqueue.c: (gst_queue_init):
3101         The deprecated pad loop function is removed now.
3102
3103 2005-06-28  Andy Wingo  <wingo@pobox.com>
3104
3105         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
3106         New parameters, simulate network packet loss.
3107
3108         * tests/network-clock-utils.scm: Initialize the RNG.
3109
3110 2005-06-28  Wim Taymans  <wim@fluendo.com>
3111
3112         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
3113         (gst_basesink_event), (gst_basesink_deactivate):
3114         Flushing the preroll queue always needs to unlock the waiters.
3115
3116 2005-06-28  Edward Hervey  <edward@fluendo.com>
3117
3118         * gst/gstpipeline.c: (gst_pipeline_send_event): 
3119         Wheen a seek was successful on a pipeline, set the stream_time to the
3120         seek offset in order to have a synchronized stream_time.
3121
3122 2005-06-28  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3125         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3126         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
3127         (gst_proxy_pad_do_fixatecaps):
3128         Call wrapper function instead of just calling the function
3129         pointers. This takes care of any locking and whatmore.
3130
3131 2005-06-28  Wim Taymans  <wim@fluendo.com>
3132
3133         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
3134         (gst_pad_pull_range):
3135         * gst/gstpad.h:
3136         CONNECTED -> LINKED.
3137
3138 2005-06-28  Andy Wingo  <wingo@pobox.com>
3139
3140         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
3141         source-munging commit!!!
3142
3143         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
3144         (gst_object_sink): Take gpointer arguments, not GstObject --
3145         avoids casts. Like GLib.
3146
3147         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
3148         activate.
3149
3150 2005-06-27  Andy Wingo  <wingo@pobox.com>
3151
3152         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
3153         remaining buffer.
3154
3155         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
3156         returns a sorted copy of the trace list.
3157         (gst_alloc_trace_print_live): New API, only prints traces with
3158         live objects. Sort the list.
3159         (gst_alloc_trace_print_all): Sort the list.
3160         (gst_alloc_trace_print): Align columns.
3161
3162         * gst/elements/gstttypefindelement.c:
3163         * gst/elements/gsttee.c:
3164         * gst/base/gstbasesrc.c:
3165         * gst/base/gstbasesink.c:
3166         * gst/base/gstbasetransform.c:
3167         * gst/gstqueue.c: Adapt for pad activation changes.
3168
3169         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
3170         sched.
3171         (gst_pipeline_dispose): Drop ref on sched.
3172
3173         * gst/gstpad.c (gst_pad_init): Set the default activate func.
3174         (gst_pad_activate_default): Push mode by default.
3175         (pre_activate_switch, post_activate_switch): New stubs, things to
3176         do before and after switching activation modes on pads.
3177         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
3178         the pad's activate function to choose which mode to activate.
3179         Shortcut on deactivation and call the right function directly.
3180         (gst_pad_activate_pull): New API, (de)activates a pad in pull
3181         mode.
3182         (gst_pad_activate_push): New API, same for push mode.
3183         (gst_pad_set_activate_function) 
3184         (gst_pad_set_activatepull_function) 
3185         (gst_pad_set_activatepush_function): Setters for new API.
3186
3187         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
3188         Trace all miniobjects.
3189         (gst_mini_object_make_writable): Unref the arg if we copy, like
3190         gst_caps_make_writable.
3191
3192         * gst/gstmessage.c (_gst_message_initialize): No trace init.
3193
3194         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
3195         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
3196         Adapt for new pad API.
3197
3198         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
3199
3200         * gst/gstelement.h:
3201         * gst/gstelement.c (gst_element_iterate_src_pads) 
3202         (gst_element_iterate_sink_pads): New API functions.
3203         
3204         * gst/gstelement.c (iterator_fold_with_resync): New utility,
3205         should fold into gstiterator.c in some form.
3206         (gst_element_pads_activate): Simplified via use of fold and
3207         delegation of decisions to gstpad->activate.
3208
3209         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
3210         help in debugging.
3211
3212         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
3213         class once in init, like gstmessage. Didn't run into this issue
3214         but it seems correct. Don't initialize a trace, gstminiobject does
3215         that.
3216
3217         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
3218         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
3219         to the bus.
3220         (assert_live_count): New util function, uses alloc traces to check
3221         cleanup.
3222
3223         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
3224         To be modified when unlink drops the internal pad.
3225
3226 2005-06-27  Wim Taymans  <wim@fluendo.com>
3227
3228         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
3229         (gst_bin_change_state):
3230         Cleanup the get_state() function a little, make sure it
3231         iterates the same set of elements.
3232         Added stub iterate_state_order().
3233
3234 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3235
3236         * docs/gst/gstreamer-docs.sgml:
3237         * docs/gst/gstreamer-sections.txt:
3238         * docs/gst/gstreamer.types:
3239         * docs/gst/tmpl/gstbasesink.sgml:
3240         * docs/gst/tmpl/gstbasesrc.sgml:
3241         * docs/gst/tmpl/gstbasetransform.sgml:
3242         * docs/gst/tmpl/gstelement.sgml:
3243         * docs/gst/tmpl/gstiterator.sgml:
3244         * gst/base/gstbasesrc.c:
3245         * gst/base/gstbasesrc.h:
3246         * gst/base/gstbasetransform.h:
3247         * gst/gstelement.c:
3248         * gst/gstiterator.h:
3249           adding basetransform and iterator docs
3250
3251 2005-06-27  Andy Wingo  <wingo@pobox.com>
3252
3253         * docs/design/part-activation.txt: Notes on how activation should
3254         work -- not quite implemented yet.
3255
3256 2005-06-25  Wim Taymans  <wim@fluendo.com>
3257
3258         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3259         At least get the chain function correct, needs more
3260         fixing.
3261
3262 2005-06-25  Wim Taymans  <wim@fluendo.com>
3263
3264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3265         (gst_basesink_handle_object), (gst_basesink_event),
3266         (gst_basesink_do_sync), (gst_basesink_handle_event),
3267         (gst_basesink_change_state):
3268         * gst/gsttask.h:
3269         Right, two problems here: ghostpads don't take locks and
3270         glib _rec_mutex_lock_full() with depth==0 still locks.
3271         Catch illegal locking and g_warn them.
3272
3273 2005-06-25  Wim Taymans  <wim@fluendo.com>
3274
3275         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3276         Have to check for completion now...
3277
3278 2005-06-25  Wim Taymans  <wim@fluendo.com>
3279
3280         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3281         (gst_basesink_handle_object), (gst_basesink_event),
3282         (gst_basesink_do_sync), (gst_basesink_handle_event),
3283         (gst_basesink_change_state):
3284         * gst/gstpad.h:
3285         Unlock STREAM_LOCK whatever the recursion was.
3286
3287 2005-06-25  Wim Taymans  <wim@fluendo.com>
3288
3289         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3290         (gst_basesink_preroll_queue_empty),
3291         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3292         (gst_basesink_event), (gst_basesink_do_sync),
3293         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3294         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3295         (gst_basesink_change_state):
3296         Reworked the base sink, handle event and buffer serialisation
3297         correctly and removed possible deadlock.
3298         Handle EOS correctly.
3299
3300 2005-06-25  Wim Taymans  <wim@fluendo.com>
3301
3302         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3303         (gst_pipeline_change_state):
3304         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3305         Allow elements to post EOS in the state change function.
3306         Fix up -launch, make it exit the poll loop when the
3307         pipeline actually changed state.
3308         Fix up warning parsing in -launch.
3309
3310 2005-06-25  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3313         (gst_tee_sink_activate):
3314         Core takes STREAM_LOCK for us now.
3315
3316 2005-06-25  Wim Taymans  <wim@fluendo.com>
3317
3318         * gst/gstelement.c: (gst_element_get_state_func),
3319         (gst_element_set_state):
3320         * gst/gstelement.h:
3321         * gst/gstmessage.c: (gst_message_parse_error),
3322         (gst_message_parse_warning):
3323         Keep track of current target state while performing a state
3324         change so that subclasses can do something interesting.
3325         Fix parsing of warning/error messages when GError is NULL.
3326
3327 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3328
3329         * docs/gst/Makefile.am:
3330         * docs/gst/gstreamer-docs.sgml:
3331         * docs/gst/gstreamer-sections.txt:
3332         * docs/gst/gstreamer.types:
3333         * docs/gst/tmpl/gstbasesink.sgml:
3334         * docs/gst/tmpl/gstbasesrc.sgml:
3335         * docs/gst/tmpl/gstbin.sgml:
3336         * docs/gst/tmpl/gstcompat.sgml:
3337         * docs/gst/tmpl/gstfakesink.sgml:
3338         * docs/gst/tmpl/gstfakesrc.sgml:
3339         * docs/gst/tmpl/gstfilesink.sgml:
3340         * docs/gst/tmpl/gstfilesrc.sgml:
3341         * docs/gst/tmpl/gstindex.sgml:
3342         * docs/manual/appendix-quotes.xml:
3343         * gst/base/gstbasesrc.h:
3344         * gst/elements/gstfakesrc.h:
3345         * gst/gstmessage.h:
3346           start pulling in base classes and elements in our docs
3347
3348 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3349
3350         * docs/gst/Makefile.am:
3351         * docs/libs/Makefile.am:
3352           fixed make distcheck with gtk-doc 1.3
3353
3354 2005-06-23  Wim Taymans  <wim@fluendo.com>
3355
3356         * gst/gstelement.c: (gst_element_get_state_func),
3357         (gst_element_set_state), (gst_element_change_state):
3358         When the state did not change, also report NO_PREROLL
3359         when it matters.
3360
3361 2005-06-23  Wim Taymans  <wim@fluendo.com>
3362
3363         * gst/gstpad.c: (gst_pad_event_default):
3364         * gst/gstqueue.c: (gst_queue_loop):
3365         No unsafe task pausing please.
3366
3367 2005-06-23  Wim Taymans  <wim@fluendo.com>
3368
3369         * gst/schedulers/threadscheduler.c:
3370         (gst_thread_scheduler_task_start),
3371         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3372         Ref the task before pushing it on the threadpool. This
3373         makes sure that we have a ref when the threadfunction is
3374         actually called.
3375
3376 2005-06-23  Andy Wingo  <wingo@pobox.com>
3377
3378         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3379         offset is greater than the file's size.
3380
3381         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3382         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3383         * gst/gstobject.c (gst_object_class_init): Make the class lock
3384         recursive. Wim won't let me drop deep_notify. Decodebin works
3385         again, whoopdy doo.
3386
3387         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3388         internal pad, and hacks accordingly. Doesn't do it on the target
3389         pad because we change its caps. Probably catches all cases of
3390         interest tho.
3391         (gst_ghost_pad_set_property): Connect to notify::caps as
3392         appropritate.
3393
3394         * tests/network-clock.scm (plot-simulation): Pipe data to the
3395         elite python skript.
3396
3397         * tests/network-clock-utils.scm (define-parameter): New macro,
3398         defines a parameter that can be set via the command line.
3399         (set-parameter!, parse-parameter-arguments): Command line args
3400         parser.
3401
3402         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3403         stdin.
3404
3405 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3406
3407         * gst/elements/gsttypefindelement.c:
3408         (gst_type_find_element_handle_event):
3409           Don't restart typefinding on a discont.
3410         * gst/gstelement.c: (gst_element_set_state):
3411           Debug spelling fix.
3412         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3413           Allow changing mode of an active pad.
3414           Debug output fixes.
3415         * gst/registries/gstlibxmlregistry.c: (load_feature):
3416           Don't cast a static pad template to a normal pad template.
3417
3418 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3419
3420         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3421         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3422           remove gst_strtoll completely, since it didn't actually do
3423           anything more than what g_ascii_strtoull already does.
3424           check for range errors when deserializing
3425           do a cast for the unsigned cases; but further fixing needs
3426           a decision on what the interpretation of "(int)" and
3427           deserialization should be for values that fall outside the
3428           type's boundaries (ie, refuse, or interpret as casting)
3429
3430 2005-06-23  Wim Taymans  <wim@fluendo.com>
3431
3432         * check/Makefile.am:
3433         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3434         * docs/design/part-live-source.txt:
3435         * docs/design/part-states.txt:
3436         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3437         (gst_basesrc_set_live), (gst_basesrc_is_live),
3438         (gst_basesrc_get_range), (gst_basesrc_activate),
3439         (gst_basesrc_change_state):
3440         * gst/base/gstbasesrc.h:
3441         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3442         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3443         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3444         * gst/gstelement.c: (gst_element_get_state_func),
3445         (gst_element_set_state):
3446         * gst/gstelement.h:
3447         * gst/gsttypes.h:
3448         * tools/gst-launch.c: (event_loop), (main):
3449         Added support for live sources and other elements that
3450         cannot do preroll.
3451         Updated design docs, added live-source design doc.
3452         Implemented live source functionality in basesrc
3453         Fix error condition in _bin_get_state()
3454         Implement live source handling in -launch.
3455         Added check for live sources.
3456         Fixed case in GstBin where elements were changed state
3457         multiple times.
3458
3459
3460 2005-06-23  Andy Wingo  <wingo@pobox.com>
3461
3462         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3463         borken refcounting.
3464
3465         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3466         gst_caps_replace takes care of this for us.
3467
3468         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3469         gst_pad_set_caps on the target, not just its setcaps() function.
3470
3471         * tests/network-clock.scm: 
3472         * tests/network-clock-utils.scm: A network clock simulator.
3473         Something of an algorithmic testbed before doing something in C.
3474
3475 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3476
3477         * check/Makefile.am:
3478         * check/gst/capslist.h:
3479           copy over from 0.8, and add two with bitmasks specified with
3480           (int) 0xFF...
3481         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3482           add test to parse everything from capslist.h
3483         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3484         (main):
3485           add test for structure deserialization
3486         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3487           add tests for deserialization of strings to int types
3488         * gst/gststructure.c: (gst_structure_nth_field_name):
3489         * gst/gststructure.h:
3490           add a way to get the name of a field referenced by index
3491         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3492           instead of checking if the resulting long long lies between
3493           min and max, we check if the long long would fit into
3494           a number of bytes for the final type.
3495           This fixes cases where a string represents 2^32 - 1, which
3496           when cast to int would be the (valid) -1, but is bigger than
3497           G_MAXINT
3498
3499 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3500
3501         * gst/parse/grammar.y:
3502           add a log line for type deserialization
3503
3504 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3505
3506         * check/gst/gstvalue.c: (START_TEST):
3507         * gst/gstvalue.c: (gst_value_deserialize):
3508           return long long, not int, so gint64 deserialization actually
3509           works.  Is there any flag that makes the compiler check this ?
3510           Fixes #308559
3511
3512 2005-06-22  Wim Taymans  <wim@fluendo.com>
3513
3514         * gst/gstbuffer.h:
3515         Added convenience macros for setting buffers in GValue.
3516
3517 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3518
3519         * check/gst/.cvsignore:
3520         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3521           add a test deserializing int64, and comment part out because
3522           it fails, yay !
3523
3524 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3525
3526         * check/Makefile.am:
3527         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3528         * testsuite/Makefile.am:
3529         * testsuite/caps/Makefile.am:
3530         * testsuite/caps/value_serialize.c:
3531         * testsuite/test_gst_init.c:
3532           move a value_serialize test over
3533
3534 2005-06-20  Wim Taymans  <wim@fluendo.com>
3535
3536         * gst/gstpad.c:
3537         Small doc updates.
3538         
3539         * gst/gstvalue.c: (gst_value_compare_buffer),
3540         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3541         (gst_value_compare_flags), (gst_value_serialize_flags),
3542         (gst_value_deserialize_flags), (_gst_value_initialize):
3543         Fix serialisation of buffers, they are not boxed types anymore
3544
3545 2005-06-20  Wim Taymans  <wim@fluendo.com>
3546
3547         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3548         Testcase to show error in buffer-on-caps serialisation.
3549
3550 2005-06-20  Andy Wingo  <wingo@pobox.com>
3551
3552         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3553         will be adding to later.
3554
3555         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3556         if its socks fill with rocks.
3557         (gst_system_clock_obtain): Set the name on object construction.
3558         Avoid double-checked locking.
3559
3560 2005-06-20  Tim-Philipp M??ller  <tim at centricular dot net>
3561
3562         * gst/gsturi.c: (gst_element_make_from_uri):
3563           Fix potential endless loop.
3564
3565 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3566
3567         * check/Makefile.am:
3568           add gsttag
3569         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3570         (main):
3571           move over from testsuite dir and clean up
3572         * configure.ac:
3573         * gst/gsttag.c:
3574         * testsuite/Makefile.am:
3575         * testsuite/tags/.cvsignore:
3576         * testsuite/tags/Makefile.am:
3577         * testsuite/tags/merge.c:
3578           remove testsuite/tags
3579
3580 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3581
3582         * docs/gst/gstreamer-sections.txt:
3583         * docs/gst/tmpl/gstenumtypes.sgml:
3584         * win32/gstenumtypes.c:
3585           clean up documentation build a little
3586
3587 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3588
3589         * check/gstcheck.h:
3590           add macros for checking refcounts on objects and caps
3591         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3592           add some more unit tests
3593         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3594         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3595           fix leaked refcounts (I hope :)) so unittest works
3596         * gst/gstpad.h:
3597           whitespace removal
3598
3599 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3600
3601         * configure.ac: back to HEAD
3602
3603 === release 0.9.1 ===
3604
3605 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3606
3607         * NEWS:
3608         * RELEASE:
3609           updated
3610
3611 2005-06-17  Andy Wingo  <wingo@pobox.com>
3612
3613         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3614         assert; it's always possible that the pad gets deactivated in
3615         between the checks in gstpad.c and the implementation. Rely on
3616         finish_preroll() to return a FLUSHING or similar instead of on the
3617         assert.
3618         
3619         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3620         clock and post an EOS message if we come out of finish_preroll in
3621         the playing state.
3622
3623 2005-06-16  David Schleef  <ds@schleef.org>
3624
3625         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3626         (gst_capsfilter_set_property): Allow NULL as possible value
3627         for filter_caps property, indicating GST_CAPS_ANY.
3628
3629 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3630
3631         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3632           fix debug output
3633         * gst/schedulers/Makefile.am:
3634           use libgst prefix
3635         * gstreamer.spec.in:
3636           fix spec for it
3637
3638 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         * gstreamer.spec.in:
3641           clean up
3642
3643 2005-06-08  Andy Wingo  <wingo@pobox.com>
3644
3645         * gst/gstutils.c: RPAD fixes all around.
3646         (gst_element_link_pads): Refcounting fixes.
3647
3648         * tools/gst-inspect.c:
3649         * tools/gst-xmlinspect.c:
3650         * parse/grammar.y:
3651         * gst/base/gsttypefindhelper.c:
3652         * gst/base/gstbasesink.c:
3653         * gst/gstqueue.c: RPAD fixes.
3654
3655         * gst/gstghostpad.h:
3656         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3657         pads. The tricky thing is they provide both source and sink
3658         interfaces, since they proxy the internal pad for the external
3659         pad, and vice versa. Implement with lower-level ProxyPad objects,
3660         with the interior proxy pad as a child of the exterior ghost pad.
3661         Should write a doc on this.
3662         
3663         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3664         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3665         gst_object API.
3666         
3667         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3668         pads are real pads. No ghost pads in this file. Not documenting
3669         the myriad s/RPAD/PAD/ and REALIZE fixes.
3670         (gst_pad_class_init): Add properties for "direction" and
3671         "template". Both are construct-only, so they can't change during
3672         the life of the pad. Fixes properly deriving from GstPad.
3673         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3674         derived objects, just set properties when creating the objects via
3675         g_object_new.
3676         (gst_pad_get_parent): Implement as a function, return NULL if the
3677         parent is not an element.
3678         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3679         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3680         
3681         * gst/gstobject.c (gst_object_class_init): Make name a construct
3682         property. Don't set it in the object init.
3683
3684         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3685         with UNKNOWN direction.
3686         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3687         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3688         (gst_element_remove_pad): Remove ghost-pad special cases.
3689         (gst_element_pads_activate): Remove rpad cruft.
3690
3691         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3692         catch the pad's-parent-not-an-element case.
3693
3694         * gst/gst.h: Include gstghostpad.h.
3695
3696         * gst/gst.c (init_post): No more real, ghost pads.
3697
3698         * gst/Makefile.am: Add gstghostpad.[ch].
3699
3700         * check/Makefile.am:
3701         * check/gst/gstbin.c:
3702         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3703         into a bin creates ghost pads, and that the refcounts are right.
3704         Partly moved from gstbin.c.
3705
3706 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3707
3708         * check/gst-libs/.cvsignore:
3709         * check/gst/.cvsignore:
3710         * check/pipelines/.cvsignore:
3711           ignore more
3712         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3713         (START_TEST), (cleanup_suite), (main):
3714           add some tests related to cleanup after running pipelines
3715
3716 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3717
3718         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3719           add a testsuite for GstBuffer
3720
3721 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3722
3723         * gst/gstminiobject.h:
3724           add defines for accessing the refcount
3725
3726 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3727
3728         * Makefile.am: added support for html unit test coverage reports
3729
3730 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3731
3732         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3733           Free existing caps if the capsfilter changes. Add a FIXME about
3734           setting those caps on the pads.
3735
3736         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3737           Before adding a ghost pad to a parent bin, check that there isn't
3738           already one for the element on the bin. Prevents infinite recursion
3739           when using decodebin in parse pipelines. Andy says he'll rewrite the
3740           way this works anyway, so ignore the hack.
3741
3742 2005-06-02  Andy Wingo  <wingo@pobox.com>
3743
3744         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3745         file size, pass it on to the type find helper.
3746
3747         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3748         segment_start and segment_end properly according to the seek
3749         method. Segment_end is still a bit flaky because offset can be
3750         negative for CUR and END cases, but it takes -1 as an "unset"
3751         value.
3752
3753 2005-06-02  Wim Taymans  <wim@fluendo.com>
3754
3755         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3756         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3757         (gst_basesink_activate):
3758         * gst/base/gstbasesink.h:
3759         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3760         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3761         (gst_pad_query), (gst_pad_start_task):
3762         * gst/gstpad.h:
3763         * gst/gstqueue.c: (gst_queue_bufferalloc),
3764         (gst_queue_handle_sink_event), (gst_queue_chain):
3765         Bufferalloc: return GstFlowReturn to more accuratly report
3766         why allocation failed.
3767
3768 2005-06-02  Wim Taymans  <wim@fluendo.com>
3769
3770         * gst/gstpipeline.c: (gst_pipeline_send_event):
3771         Take snapshot of state without blocking.
3772
3773 2005-06-02  Wim Taymans  <wim@fluendo.com>
3774
3775         * docs/design/part-TODO.txt:
3776         * docs/design/part-caps.txt:
3777         * docs/design/part-clocks.txt:
3778         * docs/design/part-negotiation.txt:
3779         * docs/design/part-preroll.txt:
3780         Small doc updates 
3781
3782 2005-05-30  Wim Taymans  <wim@fluendo.com>
3783
3784         * gst/elements/gstidentity.c: (gst_identity_event),
3785         (gst_identity_transform), (gst_identity_get_property):
3786         Protect last_message property as it is accessed from
3787         multiple threads.
3788
3789 2005-05-30  Wim Taymans  <wim@fluendo.com>
3790
3791         * gst/gstelement.c: (gst_element_init),
3792         (gst_element_pads_activate), (gst_element_change_state):
3793         Slicker pad activation code.
3794
3795 2005-05-30  Wim Taymans  <wim@fluendo.com>
3796
3797         * gst/Makefile.am:
3798         * gst/gstelement.h:
3799         * gst/gstelementfactory.h:
3800         * gst/gsttypes.h:
3801         Move elementfactory methods to separate .h file.
3802
3803 2005-05-30  Wim Taymans  <wim@fluendo.com>
3804
3805         * docs/design/part-overview.txt:
3806         * gst/gstsystemclock.h:
3807         Small typo fixes, doc updates.
3808
3809 2005-05-30  Wim Taymans  <wim@fluendo.com>
3810
3811         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3812         (init_popt_callback):
3813         Remove cpu-opt flag.
3814
3815 2005-05-30  Wim Taymans  <wim@fluendo.com>
3816
3817         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3818         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3819         * gst/gstbuffer.h:
3820         Avoid typechecking in places where not needed.
3821         Added accessor for malloc_data.
3822
3823 2005-05-30  Wim Taymans  <wim@fluendo.com>
3824
3825         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3826         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3827         (gst_pad_configure_sink), (gst_pad_configure_src),
3828         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3829         (gst_pad_start_task):
3830         Propagate errors from _set_caps() in configure_src/sink
3831         functions instead of returning TRUE.
3832         FLUSH events can travel up and downstream
3833
3834
3835 2005-05-30  Wim Taymans  <wim@fluendo.com>
3836
3837         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3838         (gst_basesink_activate):
3839         Handle EOS in preroll.
3840
3841 2005-05-30  Wim Taymans  <wim@fluendo.com>
3842
3843         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3844         (gst_queue_loop), (gst_queue_handle_src_event):
3845         Remove old pieces of code
3846         Flushing the queue in an upstream event is a very bad idea.
3847
3848 2005-05-26  Andy Wingo  <wingo@pobox.com>
3849
3850         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3851         gst_value_set_mini_object so as to add a ref on the object (which
3852         will be removed when the value is unset).
3853
3854         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3855         arg type in ::handoff.
3856
3857         * gst/gstelement.c (gst_element_change_state): Also deactivate
3858         pads in READY->NULL, just in case the element didn't make it to
3859         PAUSED. Wingo tested, Wim approved.
3860
3861 2005-05-26  Wim Taymans  <wim@fluendo.com>
3862
3863         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3864         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3865         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3866         A flushing pad cannot be used to alloc_buffer from.
3867
3868 2005-05-26  Wim Taymans  <wim@fluendo.com>
3869
3870         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3871         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3872         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3873         (gst_bus_create_watch), (gst_bus_add_watch_full):
3874         * gst/gstbus.h:
3875         Implement a real GSource and use g_main_context_wakeup() to
3876         signal new messages instead of the socketpair.
3877
3878 2005-05-25  Wim Taymans  <wim@fluendo.com>
3879
3880         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3881         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3882         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3883         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3884         (gst_pad_send_event), (gst_pad_start_task):
3885         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3886         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3887         (gst_queue_sink_activate), (gst_queue_src_activate),
3888         (gst_queue_change_state):
3889         * gst/gstqueue.h:
3890         Fix state changes for non sinks. We now change sinks, then elements
3891         with unconnected srcpads, then the rest.
3892         More efficient queue unlocking in flush and state changes.
3893         Set the pad activate mode even if it does not have an activate
3894         function.
3895
3896 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3897
3898         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3899           Don't go in pull mode for non-seekable sources.
3900         * gst/elements/gsttypefindelement.h:
3901         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3902         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3903         (free_entry), (stop_typefinding),
3904         (gst_type_find_element_handle_event), (find_peek),
3905         (gst_type_find_element_chain), (do_pull_typefind),
3906         (gst_type_find_element_change_state):
3907           Allow typefinding (w/o seeking) in push-mode, simplified version
3908           of what was in 0.8.
3909         * gst/gstutils.c: (gst_buffer_join):
3910         * gst/gstutils.h:
3911           gst_buffer_join() from 0.8.
3912
3913 2005-05-25  Wim Taymans  <wim@fluendo.com>
3914
3915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3916         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3917         (gst_pad_send_event), (gst_pad_start_task):
3918         Disable attempt at mode switching until it is figured out.
3919
3920 2005-05-25  Wim Taymans  <wim@fluendo.com>
3921
3922         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3923         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3924         (gst_basesink_finish_preroll), (gst_basesink_chain),
3925         (gst_basesink_loop), (gst_basesink_activate),
3926         (gst_basesink_change_state):
3927         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3928         (gst_basesrc_get_range), (gst_basesrc_loop),
3929         (gst_basesrc_activate):
3930         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3931         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3932         (gst_real_pad_init), (gst_real_pad_set_property),
3933         (gst_real_pad_get_property), (gst_pad_set_active),
3934         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3935         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3936         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3937         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3938         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3939         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3940         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3941         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3942         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3943         (gst_pad_stop_task):
3944         * gst/gstpad.h:
3945         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3946         (gst_queue_loop), (gst_queue_src_activate):
3947         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3948         (gst_task_get_state):
3949         * gst/gsttask.h:
3950         * gst/schedulers/threadscheduler.c:
3951         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3952         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3953         in task function.
3954         Remove ACTIVE pad flag, use FLUSHING everywhere
3955         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3956         functions.
3957         Add locks around IS_FLUSHING when reading.
3958         Take STREAM lock in chain(), get_range() functions so plugins
3959         don't need to take it anymore.
3960         
3961
3962
3963 2005-05-25  Wim Taymans  <wim@fluendo.com>
3964
3965         * tools/gst-launch.c: (event_loop):
3966         Unref message after using its contents instead of
3967         before.
3968
3969 2005-05-24  Wim Taymans  <wim@fluendo.com>
3970
3971         * docs/design/draft-ghostpads.txt:
3972         * docs/design/draft-push-pull.txt:
3973         * docs/design/draft-query.txt:
3974         * docs/design/part-overview.txt:
3975         Docs updates, added general overview doc.
3976
3977 2005-05-21  David Schleef  <ds@schleef.org>
3978
3979         * docs/gst/tmpl/old/GstBin.sgml:
3980         * docs/gst/tmpl/old/GstBuffer.sgml:
3981         * docs/gst/tmpl/old/GstCaps.sgml:
3982         * docs/gst/tmpl/old/GstClock.sgml:
3983         * docs/gst/tmpl/old/GstCompat.sgml:
3984         * docs/gst/tmpl/old/GstData.sgml:
3985         * docs/gst/tmpl/old/GstElement.sgml:
3986         * docs/gst/tmpl/old/GstEvent.sgml:
3987         * docs/gst/tmpl/old/GstIndex.sgml:
3988         * docs/gst/tmpl/old/GstStructure.sgml:
3989         * docs/gst/tmpl/old/GstTag.sgml:
3990         * docs/gst/tmpl/old/cothreads.sgml:
3991         * docs/gst/tmpl/old/cothreads_compat.sgml:
3992         * docs/gst/tmpl/old/gettext.sgml:
3993         * docs/gst/tmpl/old/gobject2gtk.sgml:
3994         * docs/gst/tmpl/old/grammar.tab.sgml:
3995         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3996         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3997         * docs/gst/tmpl/old/gst_private.sgml:
3998         * docs/gst/tmpl/old/gstaggregator.sgml:
3999         * docs/gst/tmpl/old/gstarch.sgml:
4000         * docs/gst/tmpl/old/gstatomic_impl.sgml:
4001         * docs/gst/tmpl/old/gstbufferstore.sgml:
4002         * docs/gst/tmpl/old/gstdata_private.sgml:
4003         * docs/gst/tmpl/old/gstdisksink.sgml:
4004         * docs/gst/tmpl/old/gstdisksrc.sgml:
4005         * docs/gst/tmpl/old/gstelementfactory.sgml:
4006         * docs/gst/tmpl/old/gstextratypes.sgml:
4007         * docs/gst/tmpl/old/gstfakesink.sgml:
4008         * docs/gst/tmpl/old/gstfakesrc.sgml:
4009         * docs/gst/tmpl/old/gstfdsink.sgml:
4010         * docs/gst/tmpl/old/gstfdsrc.sgml:
4011         * docs/gst/tmpl/old/gstfilesink.sgml:
4012         * docs/gst/tmpl/old/gstfilesrc.sgml:
4013         * docs/gst/tmpl/old/gsthttpsrc.sgml:
4014         * docs/gst/tmpl/old/gstidentity.sgml:
4015         * docs/gst/tmpl/old/gstindexfactory.sgml:
4016         * docs/gst/tmpl/old/gstmarshal.sgml:
4017         * docs/gst/tmpl/old/gstmd5sink.sgml:
4018         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
4019         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
4020         * docs/gst/tmpl/old/gstpadtemplate.sgml:
4021         * docs/gst/tmpl/old/gstpipefilter.sgml:
4022         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
4023         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
4024         * docs/gst/tmpl/old/gstshaper.sgml:
4025         * docs/gst/tmpl/old/gstspider.sgml:
4026         * docs/gst/tmpl/old/gstspideridentity.sgml:
4027         * docs/gst/tmpl/old/gststatistics.sgml:
4028         * docs/gst/tmpl/old/gsttee.sgml:
4029         * docs/gst/tmpl/old/gsttimecache.sgml:
4030         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
4031         * docs/gst/tmpl/old/gstxmlregistry.sgml:
4032         * docs/gst/tmpl/old/gthread-cothreads.sgml:
4033         * docs/gst/tmpl/old/types.sgml:
4034           I didn't intend to add these or check them in.
4035
4036 2005-05-19  David Schleef  <ds@schleef.org>
4037
4038         * configure.ac: Use -no-common everywhere.  In a sane world, it
4039           would be the default in libtool, because without it, you can't
4040           build DLLs on Windows.
4041         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
4042         * docs/gst/gstreamer-sections.txt:
4043         * docs/gst/tmpl/gstcpu.sgml:
4044         * docs/gst/tmpl/gstdata.sgml:
4045         * docs/gst/tmpl/gstthread.sgml:
4046
4047 2005-05-19  David Schleef  <ds@schleef.org>
4048
4049         * gst/gstminiobject.c: (gst_value_set_mini_object),
4050         (gst_value_take_mini_object), (gst_value_get_mini_object):
4051         * gst/gstminiobject.h: Add GValue set/get functions.
4052
4053 2005-05-19  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
4056         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
4057         (gst_subbuffer_init), (gst_buffer_is_span_fast):
4058         * gst/gstbuffer.h:
4059         * gst/gstbus.c: (gst_bus_post):
4060         * gst/gstelement.c: (gst_element_get_random_pad):
4061         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
4062         Make subbufer unref the parent in finalize.
4063         some more debugging info.
4064
4065
4066 2005-05-19  Wim Taymans  <wim@fluendo.com>
4067
4068         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4069         (gst_basesink_init), (gst_basesink_finalize),
4070         (gst_basesink_activate), (gst_basesink_change_state):
4071         Don't free preroll queue too early.
4072
4073 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4074
4075         * gst/Makefile.am:
4076         * gst/ROADMAP:
4077           Hi, I'm outdated. Please shoot me.
4078
4079 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4080
4081         * gst/gstpipeline.c: (gst_pipeline_send_event):
4082           Do not access variables after they have been deleted.
4083
4084 2005-05-19  Wim Taymans  <wim@fluendo.com>
4085
4086         * tools/gst-inspect.c: (print_plugin_features):
4087         A plugin feature does unfortunatly not use the
4088         object name yet...
4089
4090 2005-05-18  Wim Taymans  <wim@fluendo.com>
4091
4092         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
4093         Port _span() functions to new subbuffers.
4094
4095 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4096
4097         * gst/gstbin.c: (gst_bin_add_func):
4098           Fix clock settery in bins when adding kids after the clock has
4099           been selected.
4100
4101 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4102
4103         * gst/elements/gstidentity.c: (gst_identity_class_init):
4104           Workaround until signals support GstMiniObject.
4105
4106 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
4107
4108         * gst/gstbuffer.c:
4109         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
4110
4111 2005-05-18  Wim Taymans  <wim@fluendo.com>
4112
4113         * gst/base/Makefile.am:
4114         * gst/base/gstadapter.c: (gst_adapter_base_init),
4115         (gst_adapter_class_init), (gst_adapter_init),
4116         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
4117         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
4118         (gst_adapter_flush), (gst_adapter_available),
4119         (gst_adapter_available_fast):
4120         * gst/base/gstadapter.h:
4121         Ported and added adapter to the base classes.
4122
4123 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4124
4125         * gst/gst.c:
4126         * gst/gstmessage.c:
4127           Make sure the class is reffed/unreffed once before threads can be
4128           used.  Fixes #304551.
4129
4130 2005-05-17  Wim Taymans  <wim@fluendo.com>
4131
4132         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
4133         (gst_basesink_chain_unlocked), (gst_basesink_activate):
4134         * gst/gstminiobject.c: (gst_mini_object_get_type),
4135         (gst_mini_object_free):
4136         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
4137         (gst_pad_push), (gst_pad_push_event):
4138         * gst/gstqueue.c: (gst_queue_change_state):
4139         Don't queue buffers in basesink when we are flushing.
4140         Unref buffer when flushing in basesink.
4141         Flush queue when going to READY
4142         Unref buffer when _push() returns an error.
4143         Don't free MiniObject instance when refcount is incremented
4144         in _finalize() so that we can recover objects.
4145
4146 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4147
4148         * docs/manual/advanced-schedulers.xml:
4149         * docs/manual/appendix-checklist.xml:
4150         * docs/pwg/advanced-clock.xml:
4151         * docs/pwg/advanced-interfaces.xml:
4152         * docs/pwg/advanced-request.xml:
4153         * docs/pwg/advanced-types.xml:
4154         * docs/pwg/intro-preface.xml:
4155         * examples/plugins/example.c: (gst_example_get_type),
4156         (gst_example_class_init), (gst_example_chain),
4157         (gst_example_set_property), (gst_example_get_property),
4158         (gst_example_change_state), (plugin_init):
4159         * examples/plugins/example.h:
4160           small doc fixes
4161
4162 2005-05-17  Wim Taymans  <wim@fluendo.com>
4163
4164         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
4165         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
4166         * gst/gstqueue.c: (gst_queue_change_state):
4167         Clear queue when going to READY.
4168         Remove IN_SETCAPS flag too.
4169
4170 2005-05-17  Tim-Philipp M??ller  <tim at centricular dot net>
4171
4172         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
4173           Remove implicit cast from gboolean to GstElementStateReturn;
4174           make sure we still return failure in paused => ready case if
4175           the parent class fails to change state and our own stop 
4176           vfunc succeeds.
4177
4178 2005-05-17  Wim Taymans  <wim@fluendo.com>
4179
4180         * tools/gst-launch.c: (event_loop):
4181         Message was unreffed too soon.
4182
4183 2005-05-16  Andy Wingo  <wingo@pobox.com>
4184
4185         * gst/gstbin.c (sink_iterator_filter): Err... um...
4186
4187         * check/gst/gstbin.c (test_ghost_pads): New test for the
4188         ghosting-if-elements-not-in-same-bin behavior.
4189
4190 2005-05-16  David Schleef  <ds@schleef.org>
4191
4192         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
4193         accessing refcount directly.
4194
4195 2005-05-15  David Schleef  <ds@schleef.org>
4196
4197         * check/Makefile.am: remove GstData checks
4198         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
4199         * gst/Makefile.am: add miniobject, remove data
4200         * gst/gst.h: add miniobject, remove data
4201         * gst/gstdata.c: remove
4202         * gst/gstdata.h: remove
4203         * gst/gstdata_private.h: remove
4204         * gst/gsttypes.h: remove GstEvent and GstMessage
4205         * gst/gstelement.c: (gst_element_post_message): fix for API changes
4206         * gst/gstmarshal.list: change BOXED -> OBJECT
4207
4208         Implement GstMiniObject.
4209         * gst/gstminiobject.c:
4210         * gst/gstminiobject.h:
4211
4212         Modify to be subclasses of GstMiniObject.
4213         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
4214         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
4215         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
4216         (gst_subbuffer_get_type), (gst_subbuffer_init),
4217         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
4218         (gst_buffer_span):
4219         * gst/gstbuffer.h:
4220         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
4221         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
4222         (_gst_event_copy), (gst_event_new):
4223         * gst/gstevent.h:
4224         * gst/gstmessage.c: (_gst_message_initialize),
4225         (gst_message_get_type), (gst_message_class_init),
4226         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
4227         (gst_message_new), (gst_message_new_error),
4228         (gst_message_new_warning), (gst_message_new_tag),
4229         (gst_message_new_state_changed), (gst_message_new_application):
4230         * gst/gstmessage.h:
4231         * gst/gstprobe.c: (gst_probe_perform),
4232         (gst_probe_dispatcher_dispatch):
4233         * gst/gstprobe.h:
4234         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4235         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4236         (_gst_query_copy), (gst_query_new):
4237
4238         Update elements for GstData -> GstMiniObject changes
4239         * gst/gstquery.h:
4240         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4241         (gst_queue_chain), (gst_queue_loop):
4242         * gst/elements/gstbufferstore.c:
4243         (gst_buffer_store_add_buffer_func),
4244         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4245         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4246         (gst_fakesink_render):
4247         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4248         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4249         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4250         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4251         (gst_filesrc_create_read):
4252         * gst/elements/gstidentity.c: (gst_identity_class_init):
4253         * gst/elements/gsttypefindelement.c:
4254         (gst_type_find_element_src_event), (free_entry_buffers),
4255         (gst_type_find_element_handle_event):
4256         * libs/gst/dataprotocol/dataprotocol.c:
4257         (gst_dp_header_from_buffer):
4258         * libs/gst/dataprotocol/dataprotocol.h:
4259         * libs/gst/dataprotocol/dp-private.h:
4260
4261 2005-05-15  David Schleef  <ds@schleef.org>
4262
4263         * gst/elements/gstelements.c: Don't include headers that were
4264         just removed.
4265
4266 2005-05-15  David Schleef  <ds@schleef.org>
4267
4268         * gst/elements/Makefile.am: Remove some elements that don't
4269         need to be in the core (or even exist at all).
4270         * gst/elements/gstaggregator.c:
4271         * gst/elements/gstaggregator.h:
4272         * gst/elements/gstmd5sink.c:
4273         * gst/elements/gstmd5sink.h:
4274         * gst/elements/gstmultifilesrc.c:
4275         * gst/elements/gstmultifilesrc.h:
4276         * gst/elements/gstpipefilter.c:
4277         * gst/elements/gstpipefilter.h:
4278         * gst/elements/gstshaper.c:
4279         * gst/elements/gstshaper.h:
4280         * gst/elements/gststatistics.c:
4281         * gst/elements/gststatistics.h:
4282         * po/POTFILES.in: Remove above files.
4283
4284 2005-05-14  Andy Wingo  <wingo@pobox.com>
4285
4286         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4287         so as to get the refs right.
4288         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4289         unreffing objects that don't pass the filter.
4290
4291         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4292         gst_element_set_bus.
4293         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4294         normal cases, this will destroy the bus.
4295
4296         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4297         object.
4298
4299         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4300         has no sinks.
4301
4302 2005-05-13  Andy Wingo  <wingo@pobox.com>
4303
4304         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4305         gst_pad_link, call pad_link_maybe_ghosting,
4306         (pad_link_maybe_ghosting): Links pads, making sure that the
4307         elements being linked are in the same bin.
4308         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4309         Helpers for pad_link_maybe_ghosting.
4310
4311 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
4312
4313         * configure.ac:
4314           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4315
4316 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
4317
4318         * docs/design/part-element-source.txt:
4319           Mention GstPushSrc
4320
4321 2005-05-12  Wim Taymans  <wim@fluendo.com>
4322
4323         * gst/base/gstbasesink.c: (gst_basesink_init),
4324         (gst_basesink_activate):
4325         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4326         (gst_basesrc_is_seekable):
4327         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4328         (bin_element_is_sink), (gst_bin_change_state):
4329         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4330         * gst/gstelement.h:
4331         Identify sinks by their flag to avoid overly complicated
4332         checks (fow now).
4333         Do state changes even for elements not reachable from the
4334         sinks.
4335         BaseSink is a sink now :)
4336         Some more debugging info in the basesrc.
4337
4338
4339 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4340
4341         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4342           Implement _query on a bin, similar to _send_event.
4343
4344 2005-05-12  Tim-Philipp M??ller  <tim at centricular dot net>
4345
4346         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4347           Discont event offset format should be GST_FORMAT_BYTES,
4348           not GST_FORMAT_TIME.
4349
4350 2005-05-12  Wim Taymans  <wim@fluendo.com>
4351
4352         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4353         Same fix as Ronald's but without the signal. 
4354
4355 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4356
4357         * gst/gstutils.c: (gst_element_query_position):
4358           No, an element is not a pad.
4359
4360 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4361
4362         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4363         (gst_bin_get_state):
4364           If a child is removed from a bin while we remove the child from
4365           the bin and while we're retrieving its state, signal this to the
4366           get_state function so we abort the wait (instead of waiting for
4367           a timeout) and can immediately re-iterate over all other elements.
4368
4369 2005-05-12  Wim Taymans  <wim@fluendo.com>
4370
4371         * gst/base/Makefile.am:
4372         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4373         (gst_basesrc_start):
4374         * gst/base/gstbasesrc.h:
4375         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4376         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4377         (gst_pushsrc_init), (gst_pushsrc_create):
4378         * gst/base/gstpushsrc.h:
4379         Added is_seekable to BaseSrc
4380         Added simple PushSrc.
4381
4382 2005-05-11  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4385         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4386         (gst_element_link_pads), (gst_element_query_position),
4387         (gst_element_query_convert), (intersect_caps_func),
4388         (gst_pad_query_position), (gst_pad_query_convert):
4389         Fix refcounting in utils function.
4390         No point in trying to activate a pad when it's added, it could
4391         be added from the state change function and then we deadlock, the
4392         element has to decide what to do.
4393
4394 2005-05-10  Andy Wingo  <wingo@pobox.com>
4395
4396         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4397         *all* the arguments.
4398
4399         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4400         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4401         lock (according to the docs -- if this is wrong change the docs).
4402
4403         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4404         flush messages in the NULL state.
4405
4406         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4407         message immediately and return.
4408         (gst_bus_set_flushing): New function. If a bus is flushing, it
4409         flushes out any queued messages and immediately unrefs new
4410         messages. This is so when an element goes to NULL, all of the
4411         unhandled messages coming from it can be freed, and their
4412         references to the element dropped. In other words: message source
4413         ref considered harmful :P
4414
4415         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4416         we're finished with it.
4417
4418         * gst/gstmessage.c (gst_message_new_state_changed): 
4419
4420 2005-05-10  Wim Taymans  <wim@fluendo.com>
4421
4422         * gst/gstvalue.c: (gst_value_compare_flags),
4423         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4424         (_gst_value_initialize):
4425         Added flags serialize/deserialize/compare code.
4426
4427 2005-05-09  Andy Wingo  <wingo@pobox.com>
4428
4429         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4430         Intersect the peer's caps with our caps.
4431
4432 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4433
4434         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4435         * gst/elements/gsttypefindelement.c: (find_peek):
4436           Handle negative offsets better. Fixes decodebin.
4437
4438 2005-05-09  Wim Taymans  <wim@fluendo.com>
4439
4440         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4441         (gst_base_transform_event):
4442         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4443         Implement accept_caps.
4444         Fix silly lock/unlock mismatch in base class.
4445
4446 2005-05-09  Wim Taymans  <wim@fluendo.com>
4447
4448         * docs/design/draft-push-pull.txt:
4449         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4450         * gst/elements/gstfilesink.c: (gst_filesink_init),
4451         (gst_filesink_query):
4452         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4453         (gst_type_find_handle_src_query), (find_element_get_length):
4454         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4455         * gst/gstelement.h:
4456         * gst/gstmessage.c:
4457         * gst/gstmessage.h:
4458         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4459         (gst_real_pad_get_caps_unlocked),
4460         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4461         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4462         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4463         (gst_real_pad_dispose), (gst_real_pad_finalize),
4464         (gst_pad_load_and_link), (gst_pad_save_thyself),
4465         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4466         (gst_pad_check_pull_range), (gst_pad_pull_range),
4467         (gst_pad_template_get_type), (gst_pad_template_class_init),
4468         (gst_pad_template_init), (gst_pad_template_dispose),
4469         (name_is_valid), (gst_static_pad_template_get),
4470         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4471         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4472         (gst_pad_get_element_private), (gst_pad_start_task),
4473         (gst_pad_pause_task), (gst_pad_stop_task),
4474         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4475         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4476         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4477         (gst_ghost_pad_new):
4478         * gst/gstpad.h:
4479         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4480         (gst_query_new_position), (gst_query_set_position),
4481         (gst_query_parse_position), (gst_query_new_convert),
4482         (gst_query_set_convert), (gst_query_parse_convert):
4483         * gst/gstquery.h:
4484         * gst/gstqueryutils.c:
4485         * gst/gstqueryutils.h:
4486         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4487         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4488         (gst_queue_handle_src_query):
4489         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4490         (gst_element_query_position), (gst_element_query_convert),
4491         (intersect_caps_func), (gst_pad_query_position),
4492         (gst_pad_query_convert):
4493         * gst/gstutils.h:
4494         * tools/gst-inspect.c: (print_pad_info):
4495         * tools/gst-xmlinspect.c: (print_element_info):
4496         Remove old query functions. Ported old code.
4497         Added position/convert helper functions to gstutils.
4498         Reordered gstpad.c code, grouping relevant things.
4499         Remove gst_message_new(), always need to speficy a specific
4500         message.
4501
4502
4503 2005-05-09  Andy Wingo  <wingo@pobox.com>
4504
4505         * gst/gstiterator.h: Add some includes.
4506
4507         * gst/gstqueryutils.h: Include more headers.
4508
4509         * gst/gstpad.h:
4510         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4511         some uses of gst_pad_query.
4512
4513         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4514         NULL out parameters.
4515         (gst_query_new_position): New proc, allocates a new position
4516         query.
4517
4518         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4519         gstqueryutils.c to the build.
4520
4521         * gst/gststructure.c (gst_structure_set_valist): Implement with
4522         the generic G_VALUE_COLLECT.
4523         
4524 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4525
4526         * gst/Makefile.am: (gst_headers):
4527         Added gstqueryutils.h to the list of headers to install, that was
4528         a 'nachty' move wingo :)
4529
4530 2005-05-06  Andy Wingo  <wingo@pobox.com>
4531
4532         * gst/gstquery.h
4533         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4534         GstData, init a memchunk.
4535         (standard_definitions): Add a few query types, deprecate a few.
4536         (gst_query_get_type): New proc.
4537         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4538         implementation.
4539         (gst_query_new_application, gst_query_get_structure): New public
4540         procs.
4541
4542         * docs/design/draft-query.txt: Removed LINKS from the query types,
4543         because all the rest can be dispatched to other pads -- seemed
4544         ugly to have a query that couldn't be dispatched. internal_links
4545         is fine as a pad method.
4546
4547         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4548         in gstpad.c, but maintain binary compatibility for the moment.
4549         Will fix before 0.9 is out.
4550
4551         * gst/gstqueryutils.c: 
4552         * gst/gstqueryutils.h: New files, implement 3 methods for each
4553         query type: parse_query, parse_response, and set. Probably need an
4554         allocator as well.
4555
4556         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4557
4558         * gst/elements/gstfilesink.c (gst_filesink_query2):
4559         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4560         query_types, and formats methods.
4561
4562         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4563         (gst_pad_set_query2_function): New functions.
4564         (gst_real_pad_init): Set query2_default as the default query2
4565         function. Basically just dispatches to internally linked pads.
4566
4567         Needs review!
4568         
4569         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4570         without using the atomic operations. Only one thread can possibly
4571         be accessing the data at this point. Changed so as to avoid
4572         gst_atomic operations.
4573
4574 2005-05-06  Wim Taymans  <wim@fluendo.com>
4575
4576         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4577         Also set caps if we use the fallback buffer alloc.
4578
4579 2005-05-06  Tim-Philipp M??ller  <tim at centricular dot net>
4580
4581         * docs/gst/Makefile.am:
4582         * docs/gst/gstreamer-docs.sgml:
4583         * docs/gst/gstreamer-sections.txt:
4584         * docs/gst/tmpl/gstatomic.sgml:
4585         * docs/gst/tmpl/gstmemchunk.sgml:
4586         * testsuite/elements/struct_i386.h:
4587         * win32/GStreamer.vcproj:
4588         * win32/Makefile:
4589           Purge GstAtomic stuff from docs and win32 makefiles as well
4590
4591 2005-05-06  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4594         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4595         * gst/gstpad.c: (gst_pad_peer_get_caps):
4596         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4597         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4598         (gst_queue_src_activate), (gst_queue_change_state):
4599         * gst/gstqueue.h:
4600         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4601         (intersect_caps_func):
4602         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4603         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4604         Some fixes for the peer_get_caps() change.
4605
4606 2005-05-06  Wim Taymans  <wim@fluendo.com>
4607
4608         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4609         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4610         (gst_basesink_activate):
4611         Actually do something with error codes returned from the push
4612         functions.
4613
4614 2005-05-06  Wim Taymans  <wim@fluendo.com>
4615
4616         * docs/design/part-element-sink.txt:
4617         * docs/design/part-element-source.txt:
4618         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4619         (gst_basesink_event), (gst_basesink_activate):
4620         * gst/base/gstbasesink.h:
4621         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4622         (gst_basesrc_activate):
4623         * gst/base/gstbasesrc.h:
4624         * gst/gstelement.c: (gst_element_pads_activate):
4625         Some more documentation.
4626         Fixed scheduling decision in _pads_activate().
4627
4628 2005-05-05  Andy Wingo  <wingo@pobox.com>
4629
4630         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4631         the test suite.
4632
4633 2005-05-05  Wim Taymans  <wim@fluendo.com>
4634
4635         * gst/base/Makefile.am:
4636         * gst/base/gstbasesink.h:
4637         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4638         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4639         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4640         (gst_collectpads_class_init), (gst_collectpads_init),
4641         (gst_collectpads_finalize), (gst_collectpads_new),
4642         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4643         (find_pad), (gst_collectpads_remove_pad),
4644         (gst_collectpads_is_active), (gst_collectpads_collect),
4645         (gst_collectpads_collect_range), (gst_collectpads_start),
4646         (gst_collectpads_stop), (gst_collectpads_peek),
4647         (gst_collectpads_pop), (gst_collectpads_available),
4648         (gst_collectpads_read), (gst_collectpads_flush),
4649         (gst_collectpads_chain):
4650         * gst/base/gstcollectpads.h:
4651         * gst/elements/Makefile.am:
4652         * gst/elements/gstelements.c:
4653         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4654         (gst_fakesink_get_times), (gst_fakesink_event),
4655         (gst_fakesink_preroll), (gst_fakesink_render):
4656         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4657         (gst_filesink_init), (gst_filesink_set_location),
4658         (gst_filesink_open_file), (gst_filesink_close_file),
4659         (gst_filesink_pad_query), (gst_filesink_event),
4660         (gst_filesink_render), (gst_filesink_change_state):
4661         * gst/elements/gstfilesink.h:
4662         Added object to help in making collect pad based elements.
4663         Ported filesink.
4664         Make event function in sink baseclass return gboolean.
4665
4666 2005-05-05  Wim Taymans  <wim@fluendo.com>
4667
4668         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4669         (gst_bin_get_by_name):
4670         * gst/gstbuffer.h:
4671         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4672         (gst_clock_finalize):
4673         * gst/gstdata.c: (gst_data_replace):
4674         * gst/gstdata.h:
4675         * gst/gstelement.c: (gst_element_request_pad),
4676         (gst_element_pads_activate):
4677         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4678         (gst_object_unref):
4679         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4680         (gst_pad_set_checkgetrange_function),
4681         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4682         (gst_pad_check_pull_range), (gst_pad_pull_range),
4683         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4684         (gst_pad_pause_task), (gst_pad_stop_task):
4685         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4686         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4687         Fix name lookup in GstBin.
4688         Added _data_replace() function and _buffer_replace()
4689         Use finalize method to clean up clock.
4690         Fix refcounting on request pads.
4691         Fix pad schedule mode error.
4692         Some more object refcounting debug info,
4693
4694
4695 2005-05-04  Andy Wingo <wingo@pobox.com>
4696
4697         * check/Makefile.am:
4698         * docs/gst/tmpl/gstatomic.sgml:
4699         * docs/gst/tmpl/gstplugin.sgml:
4700         * gst/base/gstbasesink.c: (gst_basesink_activate):
4701         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4702         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4703         (gst_basesrc_query), (gst_basesrc_set_property),
4704         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4705         (gst_basesrc_activate):
4706         * gst/base/gstbasesrc.h:
4707         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4708         (gst_base_transform_src_activate):
4709         * gst/elements/gstelements.c:
4710         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4711         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4712         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4713         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4714         (gst_type_find_element_checkgetrange),
4715         (gst_type_find_element_activate):
4716         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4717         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4718         (gst_caps_load_thyself):
4719         * gst/gstelement.c: (gst_element_pads_activate),
4720         (gst_element_save_thyself), (gst_element_restore_thyself):
4721         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4722         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4723         * gst/gstpad.h:
4724         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4725         (gst_xml_parse_file), (gst_xml_parse_memory),
4726         (gst_xml_get_element), (gst_xml_make_element):
4727         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4728         (_file_index_id_save_xml), (gst_file_index_commit):
4729         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4730         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4731         (load_paths):
4732         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4733         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4734         * tools/gst-complete.c: (main):
4735         * tools/gst-compprep.c: (main):
4736         * tools/gst-inspect.c: (print_element_properties_info):
4737         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4738         * tools/gst-xmlinspect.c: (print_element_properties):
4739         GCC 4 fixen.
4740         
4741 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * gst/gstplugin.c: (gst_plugin_check_module),
4744         (gst_plugin_check_file), (gst_plugin_load_file):
4745             apply patch from #172526 to make register work on MacOSX
4746
4747 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4748
4749         * docs/gst/tmpl/gstconfig.sgml:
4750         * gst/gstconfig.h.in:
4751           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4752         * testsuite/debug/printf_extension.c: (main):
4753           Do not use GST_PTR_FORMAT on pointers to types with
4754           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4755         * testsuite/elements/property.h:
4756           use correct printf format
4757
4758 2005-05-02  Wim Taymans  <wim@fluendo.com>
4759
4760         * docs/design/draft-push-pull.txt:
4761         * docs/design/draft-query.txt:
4762         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4763         (gst_basesrc_start):
4764         Added draft for new query API.
4765         Added draft for better selecting scheduling methods.
4766         Make basesrc ignore length if the subclass does not support
4767         it.
4768
4769 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4770
4771         * gst/Makefile.am:
4772           possible fixes for automake-1.5 - _LIBADD is reserved
4773
4774 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4775
4776         * docs/faq/Makefile.am:
4777         * docs/manual/Makefile.am:
4778         * docs/manuals.mak:
4779         * docs/pwg/Makefile.am:
4780         * gst/Makefile.am:
4781           possible fixes for automake-1.5
4782
4783 2005-04-28  Wim Taymans  <wim@fluendo.com>
4784
4785         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4786         (gst_basesink_pad_getcaps), (gst_basesink_init),
4787         (gst_basesink_do_sync):
4788         * gst/gstclock.c: (gst_clock_entry_new):
4789         * gst/gstevent.c: (gst_event_discont_get_value):
4790         * gst/gstpipeline.c: (pipeline_bus_handler),
4791         (gst_pipeline_change_state):
4792         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4793         Better debugging of clocking info.
4794         Allow NULL values when getting discont values.
4795
4796 2005-04-27  Wim Taymans  <wim@fluendo.com>
4797
4798         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4799         * check/gst/gstpad.c: (gst_pad_suite):
4800         Increase timeout for checks.
4801
4802 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4803
4804         * check/Makefile.am:
4805           fix the broken rule for cleanup.  Apparently this rule is
4806           only needed on FC2, so maybe this warrants further autotool
4807           inspection.
4808
4809 2005-04-26  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gsttrashstack.h:
4812         Ooohh. a nasty one! After having a failed pop() from the stack,
4813         it's possible that the stack is empty. In that case, don't
4814         follow the NULL pointer.
4815
4816 2005-04-25  Wim Taymans  <wim@fluendo.com>
4817
4818         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4819         (gst_pad_set_checkgetrange_function),
4820         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4821         (gst_pad_check_pull_range), (gst_pad_pull_range),
4822         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4823         (gst_pad_pause_task), (gst_pad_stop_task):
4824         * gst/gstplugin.c: (gst_plugin_load):
4825         * gst/gstplugin.h:
4826         Remove gst_library_load as it does more harm than good with
4827         the new g_module flags.
4828         Revert bogus caps template check in pad linking, pad caps
4829         are important when linking not the template, which is more
4830         general than the current caps.
4831
4832 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4833
4834         * gst/autoplug/.cvsignore:
4835         * gst/autoplug/Makefile.am:
4836         * gst/autoplug/gstsearchfuncs.c:
4837         * gst/autoplug/gstsearchfuncs.h:
4838         * gst/autoplug/gstspider.c:
4839         * gst/autoplug/gstspider.h:
4840         * gst/autoplug/gstspideridentity.c:
4841         * gst/autoplug/gstspideridentity.h:
4842         * gst/autoplug/spidertest.c:
4843           Die, spider, die.
4844
4845 2005-04-25  Wim Taymans  <wim@fluendo.com>
4846
4847         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4848         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4849         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4850         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4851         * gst/gstpad.h:
4852         Added stubs for unimplemented functions. 
4853
4854 2005-04-24  David Schleef  <ds@schleef.org>
4855
4856         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4857         please fix.
4858
4859 2005-04-24  David Schleef  <ds@schleef.org>
4860
4861         Convert everything from GstAtomicInt to g_atomic_int_*, and
4862         remove gstatomic.
4863         * gst/Makefile.am:
4864         * gst/gstatomic.c:
4865         * gst/gstatomic.h:
4866         * gst/gstatomic_impl.h:
4867         * gst/gstbuffer.c:
4868         * gst/gstcaps.c:
4869         * gst/gstcaps.h:
4870         * gst/gstclock.c:
4871         * gst/gstclock.h:
4872         * gst/gstdata.c:
4873         * gst/gstdata.h:
4874         * gst/gstdata_private.h:
4875         * gst/gstevent.c:
4876         * gst/gstinfo.c:
4877         * gst/gstinfo.h:
4878         * gst/gstmessage.c:
4879         * gst/gstobject.c:
4880         * gst/gstobject.h:
4881         * gst/gststructure.c:
4882         * gst/gststructure.h:
4883         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4884         * gst/gstutils.h:
4885
4886 2005-04-24  David Schleef  <ds@schleef.org>
4887
4888         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4889         make the regressions tests work.  Remove some code that is no
4890         longer true.
4891         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4892         Disable warning for pads without templates.
4893
4894 2005-04-24  David Schleef  <ds@schleef.org>
4895
4896         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4897         functions that handle filtered links.
4898         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4899         removed functions.
4900         * gst/gstutils.c: Fix/remove utility functions that handle
4901         filtered caps.
4902         * gst/gstutils.h:
4903         * gst/gstvalue.c: Add serialization/deserialization of caps
4904         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4905         requires fixing so that the filter caps notation creates
4906         a capsfilter element and sets the filter_caps property.  I
4907         think everyone probably wants to keep the shorthand notation.
4908         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4909         * docs/gst/tmpl/gstpad.sgml:
4910
4911         * gst/elements/gstelements.c: Register capsfilter element.
4912         * gst/Makefile.am: fix spacing
4913         * docs/random/ds/0.9-suggested-changes: random
4914
4915 2005-04-23  David Schleef  <ds@schleef.org>
4916
4917         * gst/elements/Makefile.am:
4918         * gst/elements/gstcapsfilter.c: New element that acts like an
4919         identity, but filters caps.  Will eventually replace filtered
4920         caps in pad linking.
4921         * gst/gstutils.c: (gst_element_create_all_pads): New function
4922         to create all the ALWAYS pads that are registered with an
4923         element class.  This functionality should eventually be
4924         merged in with GstElement initialization.
4925         * gst/gstutils.h:
4926         * testsuite/trigger/README: part of trigger test code that should
4927         have been checked in a long time ago.
4928
4929 2005-04-23  David Schleef  <ds@schleef.org>
4930
4931         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4932         needed with new versions of libtool (nobody will confirm this),
4933         and hard to carry around.
4934         * gst/autoplug/Makefile.am:
4935         * gst/base/Makefile.am:
4936         * gst/elements/Makefile.am:
4937         * gst/indexers/Makefile.am:
4938         * gst/schedulers/Makefile.am:
4939         * libs/gst/bytestream/Makefile.am:
4940         * libs/gst/control/Makefile.am:
4941         * libs/gst/dataprotocol/Makefile.am:
4942         * libs/gst/getbits/Makefile.am:
4943
4944 2005-04-21  Wim Taymans  <wim@fluendo.com>
4945
4946         * docs/design/draft-push-pull.txt:
4947         * docs/design/part-MT-refcounting.txt:
4948         * docs/design/part-TODO.txt:
4949         * docs/design/part-caps.txt:
4950         * docs/design/part-events.txt:
4951         * docs/design/part-gstbus.txt:
4952         * docs/design/part-gstpipeline.txt:
4953         * docs/design/part-messages.txt:
4954         * docs/design/part-push-pull.txt:
4955         * docs/design/part-query.txt:
4956         Some more docs.
4957
4958 2005-04-21  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4961         (gst_message_new), (gst_message_new_error),
4962         (gst_message_new_warning), (gst_message_new_tag),
4963         (gst_message_new_state_changed), (gst_message_new_application),
4964         (gst_message_get_structure):
4965         * gst/gstmessage.h:
4966         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4967         (gst_structure_copy_conditional):
4968         Use parent refcount in GstMessage to ensure GstStructure
4969         consistency.
4970         Cleaned up headers a bit.
4971         
4972
4973 2005-04-20  Wim Taymans  <wim@fluendo.com>
4974
4975         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4976         (gst_basesink_pad_getcaps), (gst_basesink_init),
4977         (gst_basesink_chain_unlocked):
4978         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4979         (gst_type_find_helper):
4980         * gst/elements/gsttypefindelement.c:
4981         (gst_type_find_element_have_type), (gst_type_find_element_init),
4982         (stop_typefinding), (gst_type_find_element_handle_event),
4983         (find_suggest), (gst_type_find_element_chain),
4984         (gst_type_find_element_checkgetrange),
4985         (gst_type_find_element_getrange), (do_typefind),
4986         (gst_type_find_element_activate):
4987         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4988         (gst_buffer_default_free), (gst_buffer_default_copy),
4989         (gst_buffer_set_caps):
4990         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4991         (gst_caps_replace):
4992         * gst/gstmessage.c: (gst_message_new),
4993         (gst_message_new_state_changed):
4994         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4995         (gst_pad_set_checkgetrange_function),
4996         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4997         (gst_pad_set_caps), (gst_pad_check_pull_range),
4998         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4999         * gst/gstpad.h:
5000         * gst/gsttypefind.c: (gst_type_find_register):
5001         Make gst_caps_replace() work like other _replace() functions.
5002         Use _caps_replace() where possible.
5003         Make sure _message_new() initialises its field.
5004         Add gst_static_pad_template_get_caps()
5005
5006
5007 2005-04-18  Andy Wingo  <wingo@pobox.com>
5008
5009         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
5010         on the peer, not the pad. I think that was a typo. Pass an extra
5011         arg to see if random access is possible. Activate the pads as
5012         PULL_RANGE if possible.
5013
5014         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
5015
5016         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
5017         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
5018         to PROP_....
5019
5020 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5021
5022         * docs/faq/using.xml:
5023           Add note on gstreamer-properties (#154996).
5024
5025 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5026
5027         * docs/random/bbb/optional-properties:
5028           Some analysis on optional properties.
5029
5030 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5031
5032         * docs/gst/tmpl/gstelementfactory.sgml:
5033         * gst/gstelement.h:
5034         * gst/gstelementfactory.c: (gst_element_factory_init),
5035         (gst_element_factory_cleanup), (gst_element_register),
5036         (__gst_element_factory_add_static_pad_template),
5037         (gst_element_factory_get_static_pad_templates),
5038         (gst_element_factory_can_src_caps),
5039         (gst_element_factory_can_sink_caps):
5040         * gst/registries/Makefile.am:
5041         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
5042         (gst_xml_registry_class_init), (gst_xml_registry_init),
5043         (gst_xml_registry_new), (gst_xml_registry_set_property),
5044         (gst_xml_registry_get_property), (get_time), (make_dir),
5045         (gst_xml_registry_get_perms_func),
5046         (plugin_times_older_than_recurse), (plugin_times_older_than),
5047         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
5048         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
5049         (add_to_char_array), (read_string), (read_uint), (read_enum),
5050         (load_pad_template), (load_feature), (load_plugin), (load_paths),
5051         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
5052         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
5053         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
5054         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
5055         (gst_xml_registry_rebuild):
5056         * gst/registries/gstlibxmlregistry.h:
5057         * tools/gst-compprep.c: (main):
5058         * tools/gst-inspect.c: (print_pad_templates_info):
5059         * tools/gst-xmlinspect.c: (print_element_info):
5060           Use libxml2 for registry parsing, use staticpadtemplates in
5061           elementfactories. Makes gst_init() +/- 10x faster.
5062
5063 2005-04-12  Wim Taymans  <wim@fluendo.com>
5064
5065         * gst/base/Makefile.am:
5066         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5067         (gst_basesink_pad_getcaps), (gst_basesink_init),
5068         (gst_basesink_event), (gst_basesink_change_state):
5069         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5070         (gst_basesrc_init), (gst_basesrc_query),
5071         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5072         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5073         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5074         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5075         (gst_basesrc_stop), (gst_basesrc_activate),
5076         (gst_basesrc_change_state):
5077         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5078         (helper_find_suggest), (gst_type_find_helper):
5079         * gst/base/gsttypefindhelper.h:
5080         * gst/elements/Makefile.am:
5081         * gst/elements/gstelements.c:
5082         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
5083         (gst_fakesink_get_times), (gst_fakesink_event),
5084         (gst_fakesink_preroll), (gst_fakesink_render):
5085         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5086         (gst_fakesrc_init), (gst_fakesrc_event_handler),
5087         (gst_fakesrc_get_property), (gst_fakesrc_create),
5088         (gst_fakesrc_start), (gst_fakesrc_stop):
5089         * gst/elements/gstfakesrc.h:
5090         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
5091         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5092         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5093         (gst_filesrc_create_read), (gst_filesrc_create),
5094         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
5095         (gst_filesrc_start):
5096         * gst/elements/gsttypefindelement.c:
5097         (gst_type_find_element_have_type), (gst_type_find_element_init),
5098         (start_typefinding), (stop_typefinding), (push_buffer_store),
5099         (gst_type_find_element_handle_event),
5100         (gst_type_find_element_chain),
5101         (gst_type_find_element_checkgetrange),
5102         (gst_type_find_element_getrange), (do_typefind),
5103         (gst_type_find_element_activate),
5104         (gst_type_find_element_change_state):
5105         * gst/elements/gsttypefindelement.h:
5106         * gst/gstpipeline.c: (pipeline_bus_handler):
5107         Added typefind helper.
5108         Small preroll fix in the base sink.
5109         Disable typefind code in basesrc.
5110         Crude port of typefindelement.
5111         Fakesrc cleanups.
5112
5113
5114 2005-04-11  Wim Taymans  <wim@fluendo.com>
5115
5116         * check/gst/gstbus.c: (gstbus_suite):
5117         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
5118         * check/gstcheck.h:
5119           Fix up the timeout so that the test does not fail.
5120
5121 2005-04-06  Wim Taymans  <wim@fluendo.com>
5122
5123         * gst/base/README:
5124         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5125         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
5126         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5127         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5128         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5129         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5130         (gst_basesrc_stop), (gst_basesrc_activate),
5131         (gst_basesrc_change_state), (basesrc_find_peek),
5132         (basesrc_find_suggest), (gst_basesrc_type_find):
5133         * gst/base/gstbasesrc.h:
5134         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5135         (gst_filesrc_class_init), (gst_filesrc_init),
5136         (gst_filesrc_finalize), (gst_filesrc_set_location),
5137         (gst_filesrc_set_property), (gst_filesrc_get_property),
5138         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5139         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5140         (gst_filesrc_create_read), (gst_filesrc_create),
5141         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
5142         * gst/elements/gstfilesrc.h:
5143         * gst/gstelement.c: (gst_element_get_state_func),
5144         (gst_element_lost_state), (gst_element_pads_activate):
5145         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5146         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
5147         (gst_pad_pull_range):
5148         * gst/gstpad.h:
5149         More work on the generic source base class, implement seeking,
5150         query.
5151         Make filesrc extend the base source class.
5152         Added gst_pad_set_checkgetrange_function to GstPad.
5153
5154 2005-04-06  Andy Wingo  <wingo@pobox.com>
5155
5156         * pkgconfig/gstreamer-base.pc.in:
5157         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
5158
5159         * pkgconfig/Makefile.am:
5160         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
5161
5162 2005-04-04  Wim Taymans  <wim@fluendo.com>
5163
5164         * gst/base/Makefile.am:
5165         * gst/base/README:
5166         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5167         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5168         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5169         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
5170         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5171         (gst_basesrc_base_init), (gst_basesrc_class_init),
5172         (gst_basesrc_init), (gst_basesrc_get_formats),
5173         (gst_basesrc_get_query_types), (gst_basesrc_query),
5174         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
5175         (gst_basesrc_set_property), (gst_basesrc_get_property),
5176         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
5177         (gst_basesrc_loop), (gst_basesrc_activate),
5178         (gst_basesrc_change_state):
5179         * gst/base/gstbasesrc.h:
5180         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5181         (gst_fakesrc_class_init), (gst_fakesrc_init),
5182         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
5183         (gst_fakesrc_get_property), (gst_fakesrc_create):
5184         * gst/elements/gstfakesrc.h:
5185         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
5186         (gst_filesrc_open_file), (gst_filesrc_loop),
5187         (gst_filesrc_activate), (filesrc_find_peek),
5188         (gst_filesrc_type_find):
5189         Made base source class, make fakesrc extend it.
5190         Add comments to basesink class.
5191         Some filesrc cleanup.
5192
5193 2005-03-31  David Schleef  <ds@schleef.org>
5194
5195         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5196         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
5197         expected to link against libgstreamer.
5198         * gst/base/Makefile.am: link against libgstreamer
5199         * gst/elements/Makefile.am: same
5200
5201 2005-03-31  Andy Wingo  <wingo@pobox.com>
5202
5203         * tests/instantiate/Makefile.am:
5204         * tests/instantiate/caps.c: Add test to test speed of caps copy
5205         and free.
5206
5207         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
5208         GMemChunk to be fair.
5209
5210         * gst/gsttrashstack.h: Remove warning about using the fallback
5211         trash stack implementation, it's still faster than malloc.
5212
5213 2005-03-30  Andy Wingo  <wingo@pobox.com>
5214
5215         * tests/complexity.c: Add a copyright.
5216
5217 2005-03-31  Wim Taymans  <wim@fluendo.com>
5218
5219         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
5220         (gst_base_transform_class_init), (gst_base_transform_init),
5221         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5222         (gst_base_transform_get_property),
5223         (gst_base_transform_sink_activate),
5224         (gst_base_transform_src_activate),
5225         (gst_base_transform_change_state):
5226         * gst/base/gstbasetransform.h:
5227         * gst/elements/gstidentity.c: (gst_identity_class_init),
5228         (gst_identity_event), (gst_identity_check_perfect),
5229         (gst_identity_transform), (gst_identity_start),
5230         (gst_identity_stop):
5231         Added start/stop methods to transform base class so subclasses 
5232         don't need to deal with state changes even.
5233
5234 2005-03-31  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5237         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5238         * gst/gstevent.h:
5239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5240         (gst_pad_pull_range):
5241         Added rate to the discont event to prepare for variable speed
5242         and reverse playback.
5243
5244 2005-03-29  David Schleef  <ds@schleef.org>
5245
5246         * configure.ac:
5247         * testsuite/trigger/Makefile.am:
5248         * testsuite/trigger/trigger.c: A little example program to show
5249         how trigger-based elements can work.
5250
5251 2005-03-29  Wim Taymans  <wim@fluendo.com>
5252
5253         * gst/base/Makefile.am:
5254         * gst/base/README:
5255         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5256         (gst_basesink_base_init), (gst_basesink_class_init),
5257         (gst_basesink_pad_getcaps), (gst_basesink_init),
5258         (gst_basesink_activate), (gst_basesink_change_state):
5259         * gst/base/gstbasesink.h:
5260         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5261         (gst_base_transform_base_init), (gst_base_transform_finalize),
5262         (gst_base_transform_class_init), (gst_base_transform_init),
5263         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5264         (gst_base_transform_event), (gst_base_transform_getrange),
5265         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5266         (gst_base_transform_set_property),
5267         (gst_base_transform_get_property),
5268         (gst_base_transform_sink_activate),
5269         (gst_base_transform_src_activate),
5270         (gst_base_transform_change_state):
5271         * gst/base/gstbasetransform.h:
5272         * gst/elements/gstidentity.c: (gst_identity_finalize),
5273         (gst_identity_class_init), (gst_identity_init),
5274         (gst_identity_event), (gst_identity_check_perfect),
5275         (gst_identity_transform), (gst_identity_set_property),
5276         (gst_identity_get_property), (gst_identity_change_state):
5277         * gst/elements/gstidentity.h:
5278         * gst/gstelement.c: (gst_element_get_state_func),
5279         (gst_element_lost_state), (gst_element_pads_activate):
5280         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5281         (gst_pad_check_pull_range), (gst_pad_pull_range):
5282         * gst/gstpad.h:
5283         Simplify pad activation.
5284         Added function to check if pull_range can be performed.
5285         Error out when pulling inactive or flushing pads.
5286         Removed const from refcounted types as it does not make sense.
5287         Simplify pad templates in basesink
5288         Added base class for simple 1-to-1 transforms.
5289         Make identity subclass the base transform.
5290
5291 2005-03-29  Andy Wingo  <wingo@pobox.com>
5292
5293         * docs/libs/gstreamer-libs-overrides.txt: 
5294         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5295         really don't understand what's going on, but like whatever. I want
5296         green buildbot!
5297
5298         * docs/gst/Makefile.am:
5299         * docs/libs/Makefile.am: Dist the overrides files.
5300
5301         * check/Makefile.am (clean-local): Remove .libs directories.
5302
5303         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5304         elements to EXTRA_DIST, so po/ files are happy.
5305
5306         * po/POTFILES.in: Er, remove it here.
5307
5308         * po/POTFILES: Remove gstspider.c.
5309
5310         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5311
5312         * docs/libs/gstreamer-libs-docs.sgml: 
5313         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5314         bytestream.
5315
5316         * tests/complexity.c (main): Set the length of the preroll queue
5317         on the sinks to prevent a lockup.
5318
5319         * libs/gst/dataprotocol/Makefile.am: 
5320         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5321         the same as the one in check/gst-libs/gdp.c.
5322
5323         * po/, docs/gst/: Commit automatic changes to docs and po files.
5324
5325         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5326         the versioned libgstbase.
5327
5328         * check/Makefile.am: Depend on an unversioned gst-register, seems
5329         to make autoconf happier.
5330
5331         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5332
5333 2005-03-28  Wim Taymans  <wim@fluendo.com>
5334
5335         * configure.ac:
5336         * docs/design/part-gstelement.txt:
5337         * docs/design/part-negotiation.txt:
5338         * docs/design/part-preroll.txt:
5339         * docs/design/part-scheduling.txt:
5340         * docs/design/part-states.txt:
5341         * gst/Makefile.am:
5342         * gst/base/Makefile.am:
5343         * gst/base/README:
5344         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5345         (gst_basesink_base_init), (gst_basesink_class_init),
5346         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5347         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5348         (gst_basesink_set_pad_functions),
5349         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5350         (gst_basesink_set_property), (gst_basesink_get_property),
5351         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5352         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5353         (gst_basesink_preroll_queue_push),
5354         (gst_basesink_preroll_queue_empty),
5355         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5356         (gst_basesink_event), (gst_basesink_get_times),
5357         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5358         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5359         (gst_basesink_loop), (gst_basesink_activate),
5360         (gst_basesink_change_state):
5361         * gst/base/gstbasesink.h:
5362         * gst/elements/Makefile.am:
5363         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5364         (gst_fakesink_class_init), (gst_fakesink_init),
5365         (gst_fakesink_set_property), (gst_fakesink_get_property),
5366         (gst_fakesink_get_times), (gst_fakesink_event),
5367         (gst_fakesink_preroll), (gst_fakesink_render),
5368         (gst_fakesink_change_state):
5369         * gst/elements/gstfakesink.h:
5370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5371         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5372         * gst/gstelement.c: (gst_element_add_pad),
5373         (gst_element_get_state_func), (gst_element_abort_state),
5374         (gst_element_commit_state), (gst_element_lost_state),
5375         (gst_element_set_state), (gst_element_pads_activate):
5376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5377         * gst/gstpipeline.c: (gst_pipeline_send_event),
5378         (gst_pipeline_change_state):
5379         Added state change code.
5380         Added/updated docs.
5381         Added sink base class, make fakesink extend the base class.
5382         Small cleanups in GstPipeline.
5383
5384 2005-03-26  David Schleef  <ds@schleef.org>
5385
5386         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5387         is broken and should be implemented in a different library.
5388         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5389         * gst/gst.h: remove gstcpu.h
5390         * gst/gstcpu.c: remove
5391         * gst/gstcpu.h: remove
5392         * gst/Makefile.am.future: Remove this file.  It's ancient.
5393
5394 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5395
5396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5397         (gst_bin_send_event):
5398           Add default event/set_manager handlers. The set_manager handler
5399           takes care that the manager is distributed over kids that were
5400           already in the bin before the manager was set. The event handler
5401           is a utility virtual function that sends the event over all sinks,
5402           so that gst_element_send_event (bin, event); has the expected
5403           behaviour.
5404         * gst/gstpad.c: (gst_pad_event_default):
5405           Re-install default event handling for discontinuities, so that
5406           seeking works without requiring hacks in applications or extra
5407           code in sinks.
5408         * gst/gstpipeline.c: (gst_pipeline_class_init),
5409         (gst_pipeline_send_event):
5410           Half hack, half utility: set a pipeline to PAUSED for seek events,
5411           since that is the only way we can guarantee a/v sync. Means that
5412           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5413           and it "just works".
5414
5415 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5416
5417         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5418           Lock/unlock mismatch.
5419
5420 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5421
5422         * docs/faq/gst-uninstalled:
5423           add gst-plugins-base
5424         * docs/gst/Makefile.am:
5425           don't error out until docs are fixed
5426         * docs/gst/gstreamer.types:
5427           remove thread
5428
5429 2005-03-22  Wim Taymans  <wim@fluendo.com>
5430
5431         * check/Makefile.am:
5432         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5433         * gst/gststructure.c: (gst_structure_set_valist),
5434         (gst_structure_copy_conditional):
5435         Activated more tests.
5436         Added message test.
5437         Added G_TYPE_POINTER to GstStructure.
5438         
5439
5440 2005-03-22  Wim Taymans  <wim@fluendo.com>
5441
5442         * docs/design/part-TODO.txt:
5443         * docs/design/part-events.txt:
5444         * docs/design/part-gstbin.txt:
5445         * docs/design/part-gstbus.txt:
5446         * docs/design/part-gstpipeline.txt:
5447         * docs/design/part-messages.txt:
5448         * gst/gstbus.c:
5449         * gst/gstmessage.c:
5450         Docs updates
5451
5452 2005-03-21  Wim Taymans  <wim@fluendo.com>
5453
5454         * gst/gstbus.c: (gst_bus_post):
5455         Fix copy-and-paste error.
5456
5457 2005-03-21  Wim Taymans  <wim@fluendo.com>
5458
5459         * check/Makefile.am:
5460         * gst/Makefile.am:
5461         * gst/elements/Makefile.am:
5462         * gst/elements/gstelements.c:
5463         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5464         (gst_fakesink_event), (gst_fakesink_chain):
5465         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5466         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5467         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5468         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5469         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5470         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5471         (gst_fakesrc_loop), (gst_fakesrc_activate),
5472         (gst_fakesrc_change_state):
5473         * gst/elements/gstfakesrc.h:
5474         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5475         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5476         (gst_filesrc_open_file), (gst_filesrc_loop),
5477         (gst_filesrc_activate), (gst_filesrc_change_state),
5478         (filesrc_find_peek), (filesrc_find_suggest),
5479         (gst_filesrc_type_find):
5480         * gst/elements/gstidentity.c: (gst_identity_finalize),
5481         (gst_identity_class_init), (gst_identity_init),
5482         (gst_identity_proxy_getcaps), (identity_queue_push),
5483         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5484         (gst_identity_getrange), (gst_identity_chain),
5485         (gst_identity_sink_loop), (gst_identity_src_loop),
5486         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5487         (gst_identity_set_property), (gst_identity_get_property),
5488         (gst_identity_change_state):
5489         * gst/elements/gstidentity.h:
5490         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5491         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5492         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5493         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5494         (gst_tee_sink_activate):
5495         * gst/elements/gsttee.h:
5496         * gst/gst.c: (gst_register_core_elements), (init_post):
5497         * gst/gst.h:
5498         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5499         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5500         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5501         (gst_bin_change_state):
5502         * gst/gstbin.h:
5503         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5504         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5505         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5506         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5507         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5508         (bus_watch_callback), (bus_watch_destroy),
5509         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5510         (poll_timeout), (gst_bus_poll):
5511         * gst/gstbus.h:
5512         * gst/gstcaps.h:
5513         * gst/gstdata.h:
5514         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5515         (gst_element_post_message), (gst_element_message_full),
5516         (gst_element_get_state_func), (gst_element_get_state),
5517         (gst_element_abort_state), (gst_element_commit_state),
5518         (gst_element_lost_state), (gst_element_set_state),
5519         (gst_element_pads_activate), (gst_element_change_state),
5520         (gst_element_dispose), (gst_element_set_manager_func),
5521         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5522         (gst_element_set_manager), (gst_element_get_manager),
5523         (gst_element_set_bus), (gst_element_get_bus),
5524         (gst_element_set_scheduler), (gst_element_get_scheduler):
5525         * gst/gstelement.h:
5526         * gst/gstevent.c: (gst_event_new_segment_seek),
5527         (gst_event_new_flush):
5528         * gst/gstevent.h:
5529         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5530         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5531         (gst_message_new_eos), (gst_message_new_error),
5532         (gst_message_new_warning), (gst_message_new_tag),
5533         (gst_message_new_state_changed), (gst_message_new_application),
5534         (gst_message_get_structure), (gst_message_parse_tag),
5535         (gst_message_parse_state_changed), (gst_message_parse_error),
5536         (gst_message_parse_warning):
5537         * gst/gstmessage.h:
5538         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5539         (gst_real_pad_set_property), (gst_pad_set_active),
5540         (gst_pad_is_active), (gst_pad_set_blocked_async),
5541         (gst_pad_set_blocked), (gst_pad_is_blocked),
5542         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5543         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5544         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5545         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5546         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5547         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5548         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5549         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5550         (gst_pad_set_caps), (gst_pad_configure_sink),
5551         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5552         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5553         (gst_real_pad_dispose), (gst_real_pad_finalize),
5554         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5555         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5556         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5557         * gst/gstpad.h:
5558         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5559         (pipeline_bus_handler), (gst_pipeline_change_state),
5560         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5561         * gst/gstpipeline.h:
5562         * gst/gstprobe.h:
5563         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5564         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5565         (gst_queue_link_src), (gst_queue_bufferalloc),
5566         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5567         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5568         (gst_queue_loop), (gst_queue_handle_src_event),
5569         (gst_queue_handle_src_query), (gst_queue_src_activate),
5570         (gst_queue_change_state):
5571         * gst/gstqueue.h:
5572         * gst/gstscheduler.c: (gst_scheduler_init),
5573         (gst_scheduler_dispose), (gst_scheduler_create_task),
5574         (gst_scheduler_factory_create):
5575         * gst/gstscheduler.h:
5576         * gst/gststructure.c: (gst_structure_get_type),
5577         (gst_structure_copy_conditional):
5578         * gst/gststructure.h:
5579         * gst/gsttaginterface.h:
5580         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5581         (gst_task_init), (gst_task_dispose), (gst_task_create),
5582         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5583         (gst_task_pause):
5584         * gst/gsttask.h:
5585         * gst/gstthread.c:
5586         * gst/gstthread.h:
5587         * gst/gsttypes.h:
5588         * gst/schedulers/Makefile.am:
5589         * gst/schedulers/cothreads_compat.h:
5590         * gst/schedulers/entryscheduler.c:
5591         * gst/schedulers/faircothreads.c:
5592         * gst/schedulers/faircothreads.h:
5593         * gst/schedulers/fairscheduler.c:
5594         * gst/schedulers/gstbasicscheduler.c:
5595         * gst/schedulers/gstoptimalscheduler.c:
5596         * gst/schedulers/gthread-cothreads.h:
5597         * gst/schedulers/threadscheduler.c:
5598         (gst_thread_scheduler_task_get_type),
5599         (gst_thread_scheduler_task_class_init),
5600         (gst_thread_scheduler_task_init),
5601         (gst_thread_scheduler_task_start),
5602         (gst_thread_scheduler_task_stop),
5603         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5604         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5605         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5606         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5607         (plugin_init):
5608         * libs/gst/Makefile.am:
5609         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5610         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5611         (gst_file_pad_parent_set):
5612         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5613         (gst_dp_event_from_packet):
5614         * tests/complexity.c: (main):
5615         * tests/mass_elements.c: (main):
5616         * testsuite/states/locked.c: (message_received), (main):
5617         * testsuite/states/parent.c: (main):
5618         * tools/gst-inspect.c: (print_element_flag_info),
5619         (print_implementation_info), (print_pad_info):
5620         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5621         (main):
5622         * tools/gst-md5sum.c: (event_loop), (main):
5623         * tools/gst-typefind.c: (main):
5624         * tools/gst-xmlinspect.c: (print_element_info):
5625         Next big merge.
5626         Added GstBus for mainloop integration.
5627         Added GstMessage for sending notifications on the bus.
5628         Added GstTask as an abstraction for pipeline entry points.
5629         Removed GstThread.
5630         Removed Schedulers.
5631         Simplified GstQueue for multithreaded core.
5632         Made _link threadsafe, removed old capsnego.
5633         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5634         Added pad blocking functions.
5635         Reworked scheduling functions in GstPad to prepare for
5636         scheduling updates soon.
5637         Moved events out of data stream.
5638         Simplified GstEvent types.
5639         Added return values to push/pull.
5640         Removed clocking from GstElement.
5641         Added prototypes for state change function for next merge.
5642         Removed iterate from bins and state change management.
5643         Fixed some elements, disabled others for now.
5644         Fixed -inspect and -launch.
5645         Added check for GstBus.
5646
5647 2005-03-10  Wim Taymans  <wim@fluendo.com>
5648
5649         * docs/design/part-MT-refcounting.txt:
5650         * docs/design/part-clocks.txt:
5651         * docs/design/part-gstelement.txt:
5652         * docs/design/part-gstobject.txt:
5653         * docs/design/part-standards.txt:
5654         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5655         (gst_bin_remove_func), (gst_bin_remove):
5656         * gst/gstbin.h:
5657         * gst/gstbuffer.c:
5658         * gst/gstcaps.h:
5659         * testsuite/clock/clock1.c: (main):
5660         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5661         (main):
5662         * testsuite/dlopen/loadgst.c: (do_test):
5663         * testsuite/refcounting/bin.c: (add_remove_test1),
5664         (add_remove_test2), (main):
5665         * testsuite/refcounting/element.c: (main):
5666         * testsuite/refcounting/element_pad.c: (main):
5667         * testsuite/refcounting/pad.c: (main):
5668         * tools/gst-launch.c: (sigint_handler_sighandler):
5669         * tools/gst-typefind.c: (main):
5670         Doc updates.
5671         Added doc about clock.
5672         removed gst_bin_iterate_recurse_up(), marked methods
5673         for removal.
5674         Fix more testsuites.
5675
5676 2005-03-09  Wim Taymans  <wim@fluendo.com>
5677
5678         * gst/gstpad.c: (gst_pad_get_direction),
5679         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5680         (gst_pad_collect_valist):
5681         * testsuite/bins/interface.c: (main):
5682         * testsuite/caps/audioscale.c: (test_caps):
5683         * testsuite/caps/caps.c: (test1), (test2), (test3):
5684         * testsuite/caps/deserialize.c: (main):
5685         * testsuite/caps/enumcaps.c: (main):
5686         * testsuite/caps/filtercaps.c: (main):
5687         * testsuite/caps/intersect2.c: (main):
5688         * testsuite/caps/random.c: (main):
5689         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5690         * testsuite/caps/sets.c: (check_caps):
5691         * testsuite/caps/simplify.c: (check_caps), (main):
5692         * testsuite/caps/subtract.c: (check_caps):
5693         Fix _pad_get_direction wrt ghostpads.
5694         Fix caps testsuite.
5695
5696 2005-03-09  Wim Taymans  <wim@fluendo.com>
5697
5698         * check/Makefile.am:
5699         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5700         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5701         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5702         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5703         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5704         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5705         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5706         (bin_element_is_sink), (gst_bin_iterate_sinks),
5707         (gst_bin_iterate_all_by_interface):
5708         * gst/gstbin.h:
5709         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5710         (gst_element_change_state), (gst_element_dispose),
5711         (gst_element_finalize), (gst_element_set_loop_function):
5712         * gst/gstelement.h:
5713         * gst/gstiterator.c: (find_custom_fold_func):
5714         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5715         (gst_pad_collectv), (gst_pad_collect_valist),
5716         (gst_pad_template_new):
5717         * gst/gstpipeline.c: (gst_pipeline_class_init),
5718         (gst_pipeline_dispose), (gst_pipeline_set_property),
5719         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5720         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5721         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5722         * gst/gstutils.h:
5723         * gst/schedulers/entryscheduler.c:
5724         * gst/schedulers/gstbasicscheduler.c:
5725         (gst_basic_scheduler_cothreaded_chain),
5726         (gst_basic_scheduler_chain_add_element):
5727         * testsuite/bins/interface.c: (main):
5728         Added GstBin test.
5729         Added GstSystemClock test.
5730         Implemented clock distribution code in GstBin.
5731         Implemented iterate sinks method for future use.
5732         Rearranged gstelement.h
5733         Fix GstIterator comparison bug.
5734         Moved some code to GstPipeline, mostly clocking related.
5735
5736 2005-03-09  Wim Taymans  <wim@fluendo.com>
5737
5738         * configure.ac:
5739         * gst/gst_private.h:
5740         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5741         (gst_bin_remove_func), (gst_bin_remove),
5742         (gst_bin_get_by_name_recurse_up):
5743         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5744         (gst_clock_id_compare_func), (gst_clock_id_wait),
5745         (gst_clock_id_wait_async), (gst_clock_init),
5746         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5747         * gst/gstelement.h:
5748         * gst/gstinfo.c: (_gst_debug_init):
5749         * gst/gstobject.h:
5750         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5751         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5752         * gst/gstpad.h:
5753         Bump version number, we're now 0.9.0
5754         Add future debugging category.
5755         Fix NULL _unref() in _get_by_name_recurse_up
5756         Rearrange gstpad.h.
5757         Update some docs.
5758
5759 2005-03-08  Wim Taymans  <wim@fluendo.com>
5760
5761         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5762         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5763         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5764         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5765         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5766         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5767         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5768         * gst/elements/gstidentity.c: (gst_identity_class_init):
5769         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5770         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5771         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5772         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5773         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5774         (gst_tee_link):
5775         * gst/gstelement.c: (gst_element_class_init),
5776         (gst_element_base_class_init), (gst_element_init),
5777         (gst_element_get_random_pad), (gst_element_wait_state_change),
5778         (gst_element_change_state), (gst_element_dispose),
5779         (gst_element_finalize), (gst_element_set_loop_function):
5780         * gst/gstelement.h:
5781         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5782         * gst/gstthread.c: (gst_thread_class_init),
5783         (gst_thread_release_children_locks), (gst_thread_change_state):
5784         * gst/schedulers/gstbasicscheduler.c:
5785         (gst_basic_scheduler_loopfunc_wrapper),
5786         (gst_basic_scheduler_chain_wrapper),
5787         (gst_basic_scheduler_src_wrapper),
5788         (gst_basic_scheduler_remove_element):
5789         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5790         Remove threadsafe properties. Fix elements because GObject
5791         complains when installing a property before declaring a
5792         set/get_property handler.
5793         Rearrange gstelement.h file, use STATE macros for state locks.
5794         Free mutexes in the finalize method instead of dispose.
5795
5796 2005-03-08  Wim Taymans  <wim@fluendo.com>
5797
5798         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5799         * gst/gstthread.c: (gst_thread_release_children_locks):
5800         Added parentage check.
5801         Fix build og GstThread again.
5802
5803 2005-03-08  Wim Taymans  <wim@fluendo.com>
5804
5805         * docs/design/part-MT-refcounting.txt:
5806         * docs/design/part-conventions.txt:
5807         * docs/design/part-gstobject.txt:
5808         * docs/design/part-relations.txt:
5809         * docs/design/part-standards.txt:
5810         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5811         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5812         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5813         (gst_bin_iterate_all_by_interface):
5814         * gst/gstbuffer.h:
5815         * gst/gstclock.h:
5816         * gst/gstelement.c: (gst_element_class_init),
5817         (gst_element_change_state), (gst_element_set_loop_function):
5818         * gst/gstelement.h:
5819         * gst/gstiterator.c:
5820         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5821         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5822         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5823         (gst_object_set_parent), (gst_object_unparent),
5824         (gst_object_check_uniqueness):
5825         * gst/gstobject.h:
5826         Docs updates, clean up some headers.
5827
5828 2005-03-07  Wim Taymans  <wim@fluendo.com>
5829
5830         * check/.cvsignore:
5831         * check/Makefile.am:
5832         * check/gst-libs/.cvsignore:
5833         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5834         * check/gst/.cvsignore:
5835         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5836         (START_TEST), (gstbus_suite), (main):
5837         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5838         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5839         (gst_data_suite), (main):
5840         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5841         (add_fold_func), (gstiterator_suite), (main):
5842         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5843         (thread_name_object), (thread_name_object_default),
5844         (gst_object_name_compare), (gst_object_suite), (main):
5845         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5846         (gst_pad_suite), (main):
5847         * check/gstcheck.c: (gst_check_log_message_func),
5848         (gst_check_log_critical_func), (gst_check_init):
5849         * check/gstcheck.h:
5850         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5851         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5852         Added checks.
5853
5854 2005-03-07  Wim Taymans  <wim@fluendo.com>
5855
5856         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5857         (gst_list_iterator_next), (gst_list_iterator_resync),
5858         (gst_list_iterator_free), (gst_iterator_new_list),
5859         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5860         (gst_iterator_free), (gst_iterator_push), (filter_next),
5861         (filter_resync), (filter_uninit), (filter_free),
5862         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5863         (gst_iterator_foreach), (find_custom_fold_func),
5864         (gst_iterator_find_custom):
5865         * gst/gstiterator.h:
5866         Added missing files.
5867
5868 2005-03-07  Wim Taymans  <wim@fluendo.com>
5869
5870         * Makefile.am:
5871         * configure.ac:
5872         * docs/design/part-MT-refcounting.txt:
5873         * docs/design/part-conventions.txt:
5874         * docs/design/part-gstobject.txt:
5875         * docs/design/part-relations.txt:
5876         * examples/mixer/mixer.c: (main):
5877         * examples/thread/thread.c: (eos), (main):
5878         * gst/Makefile.am:
5879         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5880         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5881         (gst_spider_plug_from_srcpad):
5882         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5883         (gst_spider_identity_change_state),
5884         (gst_spider_identity_sink_loop_type_finding):
5885         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5886         * gst/elements/gstidentity.c: (gst_identity_init):
5887         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5888         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5889         * gst/elements/gsttypefindelement.c: (free_entry):
5890         * gst/gst.c:
5891         * gst/gst.h:
5892         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5893         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5894         (gst_bin_set_index), (gst_bin_set_element_sched),
5895         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5896         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5897         (gst_bin_iterate_elements), (iterate_child_recurse),
5898         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5899         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5900         (compare_interface), (gst_bin_get_by_interface),
5901         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5902         * gst/gstbin.h:
5903         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5904         (gst_buffer_default_free), (gst_buffer_default_copy),
5905         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5906         (gst_buffer_create_sub):
5907         * gst/gstbuffer.h:
5908         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5909         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5910         (gst_caps_unref), (gst_static_caps_get),
5911         (gst_caps_remove_and_get_structure), (gst_caps_append),
5912         (gst_caps_append_structure), (gst_caps_remove_structure),
5913         (gst_caps_copy_nth), (gst_caps_set_simple),
5914         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5915         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5916         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5917         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5918         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5919         (gst_caps_structure_figure_out_union),
5920         (gst_caps_switch_structures), (gst_caps_do_simplify),
5921         (gst_caps_replace), (gst_caps_from_string),
5922         (gst_caps_copy_conditional):
5923         * gst/gstcaps.h:
5924         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5925         (_gst_clock_id_free), (gst_clock_id_unref),
5926         (gst_clock_id_compare_func), (gst_clock_id_wait),
5927         (gst_clock_id_wait_async), (gst_clock_class_init),
5928         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5929         (gst_clock_get_time), (gst_clock_set_time_adjust),
5930         (gst_clock_set_property), (gst_clock_get_property):
5931         * gst/gstclock.h:
5932         * gst/gstcompat.h:
5933         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5934         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5935         * gst/gstdata.h:
5936         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5937         (gst_element_requires_clock), (gst_element_provides_clock),
5938         (gst_element_set_clock), (gst_element_clock_wait),
5939         (gst_element_wait), (gst_element_set_time_delay),
5940         (gst_element_is_indexable), (gst_element_add_pad),
5941         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5942         (pad_compare_name), (gst_element_get_static_pad),
5943         (gst_element_request_pad), (gst_element_get_request_pad),
5944         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5945         (gst_element_class_get_pad_template_list),
5946         (gst_element_class_get_pad_template), (gst_element_error_func),
5947         (gst_element_get_random_pad), (gst_element_get_event_masks),
5948         (gst_element_send_event), (gst_element_seek),
5949         (gst_element_get_query_types), (gst_element_query),
5950         (gst_element_get_formats), (gst_element_convert),
5951         (gst_element_is_locked_state), (gst_element_set_locked_state),
5952         (gst_element_sync_state_with_parent), (gst_element_change_state),
5953         (gst_element_finalize), (gst_element_yield),
5954         (gst_element_interrupt), (gst_element_set_scheduler),
5955         (gst_element_get_scheduler), (gst_element_set_loop_function):
5956         * gst/gstelement.h:
5957         * gst/gstevent.h:
5958         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5959         (gst_format_get_by_nick), (gst_format_get_details),
5960         (gst_format_iterate_definitions):
5961         * gst/gstformat.h:
5962         * gst/gstindex.c: (gst_index_gtype_resolver):
5963         * gst/gstinfo.c:
5964         * gst/gstinfo.h:
5965         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5966         (gst_mem_chunk_free):
5967         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5968         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5969         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5970         (gst_object_dispatch_properties_changed),
5971         (gst_object_set_name_default), (gst_object_set_name),
5972         (gst_object_get_name), (gst_object_set_name_prefix),
5973         (gst_object_get_name_prefix), (gst_object_set_parent),
5974         (gst_object_get_parent), (gst_object_unparent),
5975         (gst_object_check_uniqueness), (gst_object_save_thyself),
5976         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5977         (gst_object_set_property), (gst_object_get_property),
5978         (gst_object_get_path_string):
5979         * gst/gstobject.h:
5980         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5981         (gst_real_pad_init), (gst_real_pad_get_property),
5982         (gst_pad_custom_new), (gst_pad_get_direction),
5983         (gst_pad_set_active), (gst_pad_is_active),
5984         (gst_pad_set_event_function), (gst_pad_is_linked),
5985         (gst_pad_link_free), (gst_pad_link_intersect),
5986         (gst_pad_link_fixate), (gst_pad_set_caps),
5987         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5988         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5989         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5990         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5991         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5992         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5993         (gst_pad_realize), (gst_pad_get_allowed_caps),
5994         (gst_real_pad_dispose), (gst_real_pad_finalize),
5995         (gst_pad_collectv), (gst_pad_collect_valist),
5996         (gst_pad_template_dispose), (gst_pad_template_new),
5997         (gst_pad_get_internal_links):
5998         * gst/gstpad.h:
5999         * gst/gstpipeline.c: (gst_pipeline_dispose),
6000         (gst_pipeline_change_state):
6001         * gst/gstpipeline.h:
6002         * gst/gstplugin.c:
6003         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
6004         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
6005         * gst/gstpluginfeature.h:
6006         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6007         * gst/gstquery.c: (_gst_query_type_initialize),
6008         (gst_query_type_register), (gst_query_type_get_by_nick),
6009         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
6010         * gst/gstquery.h:
6011         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
6012         * gst/gstscheduler.c: (gst_scheduler_add_element),
6013         (gst_scheduler_factory_create):
6014         * gst/gststructure.c: (gst_structure_set_parent_refcount),
6015         (gst_structure_free), (gst_structure_set_name),
6016         (gst_structure_id_set_value), (gst_structure_set_value),
6017         (gst_structure_set_valist), (gst_structure_remove_field),
6018         (gst_structure_remove_fields),
6019         (gst_structure_remove_fields_valist),
6020         (gst_structure_remove_all_fields), (gst_structure_foreach),
6021         (gst_structure_map_in_place),
6022         (gst_caps_structure_fixate_field_nearest_int),
6023         (gst_caps_structure_fixate_field_nearest_double):
6024         * gst/gststructure.h:
6025         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6026         (gst_system_clock_init), (gst_system_clock_dispose),
6027         (gst_system_clock_async_thread),
6028         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
6029         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
6030         * gst/gstsystemclock.h:
6031         * gst/gsttag.c: (gst_tag_list_add_value_internal),
6032         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
6033         * gst/gsttaginterface.c:
6034         * gst/gstthread.c: (gst_thread_dispose),
6035         (gst_thread_release_children_locks), (gst_thread_change_state),
6036         (gst_thread_main_loop):
6037         * gst/gsttrashstack.h:
6038         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
6039         * gst/gsttypes.h:
6040         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6041         (gst_element_request_pad), (gst_element_get_pad_from_template),
6042         (gst_element_request_compatible_pad),
6043         (gst_element_get_compatible_pad_filtered),
6044         (gst_element_get_compatible_pad), (gst_element_state_get_name),
6045         (gst_element_link_pads_filtered), (gst_element_link_filtered),
6046         (gst_element_link_many), (gst_element_link),
6047         (gst_element_link_pads), (gst_element_unlink_pads),
6048         (gst_element_unlink_many), (gst_element_unlink),
6049         (gst_pad_can_link_filtered), (gst_pad_can_link),
6050         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
6051         (gst_object_default_error), (gst_bin_add_many),
6052         (gst_bin_remove_many), (gst_element_populate_std_props),
6053         (gst_element_class_install_std_props), (gst_buffer_merge),
6054         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
6055         (link_fold_func), (gst_pad_proxy_setcaps):
6056         * gst/gstutils.h:
6057         * gst/gstvalue.c: (gst_value_deserialize_string):
6058         * gst/parse/grammar.y:
6059         * gst/schedulers/gstbasicscheduler.c:
6060         (gst_basic_scheduler_cothreaded_chain),
6061         (gst_basic_scheduler_chain_recursive_add),
6062         (gst_basic_scheduler_pad_link):
6063         * gst/schedulers/gstoptimalscheduler.c:
6064         (get_group_schedule_function),
6065         (gst_opt_scheduler_state_transition),
6066         (gst_opt_scheduler_add_element), (element_get_reachables_func):
6067         * libs/gst/bytestream/bytestream.c:
6068         * libs/gst/dataprotocol/dataprotocol.c:
6069         (gst_dp_header_from_buffer):
6070         * po/nb.po:
6071         * po/ru.po:
6072         * tests/threadstate/threadstate2.c: (eos):
6073         * tools/gst-compprep.c: (main):
6074         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
6075         (print_pad_info), (print_children_info):
6076         * tools/gst-launch.c: (idle_func), (main):
6077         * tools/gst-md5sum.c: (idle_func), (main):
6078         * tools/gst-xmlinspect.c: (print_element_info):
6079         First THREADED backport attempt, focusing on adding locks and
6080         making sure the API is threadsafe. Needs more work. More docs
6081         follow this week.
6082
6083 2005-02-24  Andy Wingo  <wingo@pobox.com>
6084
6085         * tests/bench-complexity.scm:
6086         * tests/complexity.gnuplot: New files, good for running complexity
6087         benchmarks.
6088
6089         * tests/Makefile.am:
6090         * tests/complexity.c: New test, sets up N elements, at each level
6091         teeing into M streams per element. Eeeenteresting.
6092
6093         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
6094         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
6095         running bench-mass_elements.scm.
6096
6097         * tests/bench-mass_elements.scm: New script, runs mass_elements
6098         for various numbers of identities, outputting the results to a
6099         file. Requires guile 1.6. Just for testing.
6100
6101 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * gst/schedulers/fairscheduler.c:
6104           compile with debug disabled
6105
6106 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6107
6108         * configure.ac:
6109           hunting season on 0.9 is now OPEN
6110
6111 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * docs/libs/tmpl/gstcontrol.sgml:
6114         * docs/libs/tmpl/gstdparam.sgml:
6115         * docs/libs/tmpl/gstdplinint.sgml:
6116         * docs/libs/tmpl/gstdpman.sgml:
6117         * docs/libs/tmpl/gstdpsmooth.sgml:
6118         * docs/libs/tmpl/gstunitconvert.sgml:
6119           more docs for the state of dparams
6120
6121 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6122
6123         * gst/gstelementfactory.c: (gst_element_factory_create):
6124         * gst/gstobject.c: (gst_object_init),
6125         (gst_object_set_name_default), (gst_object_set_name):
6126           name objects by default, not in gst_element_factory_create. Allows
6127           using elements created with g_object_new. (fixes #167283)
6128
6129 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6130
6131         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
6132           make the time that debugging functions print relative to when
6133           gst_init was called
6134
6135 2005-02-18  Tim-Philipp M??ller  <tim at centricular dot net>
6136
6137         * gst/gsttaginterface.c:
6138           Fix inline docs: tag setter vararg functions are NULL-terminated,
6139           GST_TAG_INVALID doesn't exist any more.
6140
6141 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6142
6143         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
6144         Allocate the 1 byte more memory that was forgotten!!!!!
6145         fixes memory corruption on 64bit platforms
6146
6147 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
6148
6149         * docs/pwg/building-pads.xml:
6150         * docs/pwg/intro-basics.xml:
6151           fixed a few typos, relabeled introductionary list of types
6152         * docs/random/ensonic/dparams.txt:
6153           more notes abut dparam changes
6154         * libs/gst/control/dparam.c: (gst_dparam_attach):
6155         * libs/gst/control/dparammanager.c:
6156         * libs/gst/control/dparammanager.h:
6157           - many comments and notes on dparam implementation
6158           - new dparams are were not initialized to the default value
6159             from param spec
6160
6161 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6162
6163         submitted by: Peter Astakhov
6164
6165         * po/LINGUAS:
6166         * po/ru.po:
6167           adding Russian translation
6168
6169 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6170
6171         * configure.ac:
6172         * docs/gst/Makefile.am:
6173         * docs/libs/Makefile.am:
6174           make sure popt is added to gtk-doc flags.  Fixes #147782.
6175
6176 2005-02-09  Tim-Philipp M??ller  <tim at centricular dot net>
6177
6178         * docs/faq/using.xml:
6179           Fix typo in FAQ (artssink => artsdsink)
6180
6181 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6182
6183         * tools/gst-launch.1.in:
6184           Fix typo (#166699).
6185
6186 2005-02-08  Tim-Philipp M??ller  <tim at centricular dot net>
6187
6188         * docs/faq/using.xml:
6189           Add -v argument to fakesrc/fakesink gst-launch line,
6190           so that the promised output will actually show up.
6191
6192 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6193
6194         * gst/gstthread.c: (gst_thread_change_state):
6195           Implement state-change error handling (#166073).
6196
6197 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6198
6199         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6200           Release interrupt after handling (#166250).
6201
6202 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * configure.ac:
6205           back to HEAD
6206
6207 === release 0.8.9 ===
6208
6209 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * NEWS:
6212         * RELEASE:
6213         * configure.ac:
6214           releasing 0.8.9, "Like Eating Glass"
6215
6216 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6217
6218         submitted by: Clytie Siddall
6219
6220         * po/vi.po: Added Vietnamese translation
6221
6222 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6223
6224         patch by: Tim Philipp-M??ller
6225
6226         * configure.ac:
6227         * gst/gstpad.c:
6228           unref data when probe function returns FALSE.  Fixes #166362
6229
6230 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6231
6232         * gst/gst.c: (gst_init_get_popt_table):
6233           Fix typo (#166269).
6234
6235 2005-02-04  Andy Wingo  <wingo@pobox.com>
6236
6237         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6238         the debugging on whether the caps are compatible.
6239
6240 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6241
6242         * docs/manual/basics-elements.xml:
6243           Fix two typos.
6244
6245 2005-02-02  Wim Taymans  <wim@fluendo.com>
6246
6247         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6248         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6249         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6250         Remove some FIXMEs after analysing and commenting why they
6251         are not issues.
6252
6253 2005-02-02  Wim Taymans  <wim@fluendo.com>
6254
6255         * gst/schedulers/gstoptimalscheduler.c:
6256         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6257         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6258         (get_invalid_call), (chain_invalid_call),
6259         (get_group_schedule_function), (loop_group_schedule_function),
6260         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6261         (gst_opt_scheduler_state_transition),
6262         (gst_opt_scheduler_add_element),
6263         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6264         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6265         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6266         (gst_opt_scheduler_show):
6267         Added lock to protect scheduler data structures.
6268
6269 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6270
6271         * testsuite/threads/threadi.c: (cb_data):
6272           Fix buglet in test.
6273
6274 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6275
6276         * testsuite/threads/Makefile.am:
6277         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6278           On Wim's request, split the test in three separately-compiled
6279           tests that each test a very specific bug. Two of them still fail,
6280           will create bugs for those. threadi.c indicates why they fail.
6281
6282 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6283
6284         * gst/schedulers/gstoptimalscheduler.c:
6285         (get_group_schedule_function):
6286           Try to work with the threading mess that queue_link is.
6287
6288 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6289
6290         * gst/gstbin.c: (gst_bin_remove_func):
6291           Explicitely make an element release locks in a group when being
6292           remove from a bin.
6293         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6294           If there's no scheduler, always return immediately (similar to
6295           gst_element_interrupt).
6296
6297 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6298
6299         * gst/gstbin.c: (gst_bin_child_state_change_func):
6300           Remove a piece of code that could never be reached.
6301         * docs/gst/gstreamer-sections.txt:
6302         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6303         (gst_pad_call_get_function):
6304         * gst/gstpad.h:
6305         * testsuite/pad/Makefile.am:
6306           Fix #150546, enable tests.
6307
6308 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6309
6310         * docs/pwg/advanced-types.xml:
6311           Fix description for buffer-frames=0.
6312         * docs/gst/tmpl/gstbin.sgml:
6313         * gst/gstbin.c: (gst_bin_child_state_change_func),
6314         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6315         * gst/gstbin.h:
6316         * testsuite/threads/Makefile.am:
6317         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6318         (cb_state), (cb_play), (main):
6319           Fix non-recursive state changes to *really* change the state
6320           of the object, and not just call parent_class->state_change.
6321           Fix a lot of lockups caused by this. Fixes #132775. Add test
6322           for the problem. Also enable test to show #142588 (fixed).
6323         * gst/gstthread.c: (gst_thread_change_state),
6324         (gst_thread_child_state_change):
6325           Don't exit the thread if we go to NULL and are inside thread
6326           context. Instead, return control to the main thread context
6327           and exit from there.
6328         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6329           Don't unset virtual functions, since those may still be used.
6330           That's not necessarily correct, but suffices for now.
6331         * configure.ac:
6332         * testsuite/Makefile.am:
6333         * testsuite/pad/Makefile.am:
6334         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6335         (gst_test_sink_base_init), (gst_test_sink_chain),
6336         (gst_test_sink_init), (main):
6337         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6338         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6339         (main):
6340         * testsuite/pad/link.c: (gst_test_element_class_init),
6341         (gst_test_element_base_init), (gst_test_src_get),
6342         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6343         (gst_test_filter_loop), (gst_test_filter_init),
6344         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6345         (cb_error), (main):
6346           Add tests to show #150546. Pass, but should fail (currently
6347           disabled from the testsuite).
6348         * gst/gstscheduler.c: (gst_scheduler_dispose):
6349           Dereference child schedulers on dispose (#94464).
6350         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6351           Fix typo.
6352         * testsuite/threads/thread.c: (main):
6353           Add more debug.
6354
6355 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6356
6357         * gst/gstpad.c: (gst_pad_push):
6358           Oops, revert previous commit, broke testsuite...
6359
6360 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6361
6362         * gst/gstpad.c: (gst_pad_push):
6363           Add check that the pad on which the push is performed is not a
6364           get-based pad (#150546).
6365
6366 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6367
6368         * gst/elements/gsttypefindelement.c:
6369         (gst_type_find_element_handle_event):
6370           Fix buffer pushing if stream EOSes during typefinding.
6371
6372 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6373
6374         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6375
6376         * gst/gstvalue.c: (gst_string_wrap):
6377           Allow NULL-strings as argument (#165365).
6378
6379 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6380
6381         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6382
6383         * gst/schedulers/faircothreads.c:
6384         (gst_fair_scheduler_cothread_queue_show):
6385           Fix build without debug enabled.
6386
6387 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * docs/gst/gstreamer-sections.txt:
6390         * docs/libs/gstreamer-libs-docs.sgml:
6391         * docs/libs/gstreamer-libs-sections.txt:
6392         * docs/libs/tmpl/gstcontrol.sgml:
6393         * docs/libs/tmpl/gstdparam.sgml:
6394         * docs/libs/tmpl/gstdplinint.sgml:
6395         * docs/libs/tmpl/gstdpman.sgml:
6396         * docs/libs/tmpl/gstdpsmooth.sgml:
6397         * docs/libs/tmpl/gstputbits.sgml:
6398         * docs/libs/tmpl/gstunitconvert.sgml:
6399         * libs/gst/control/dparam.c:
6400         * libs/gst/control/dparam.h:
6401         * libs/gst/control/dparammanager.c:
6402         (gst_dpman_add_required_dparam_callback),
6403         (gst_dpman_add_required_dparam_direct),
6404         (gst_dpman_add_required_dparam_array),
6405         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6406         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6407         (gst_dpman_get_manager)
6408           restructured DParam docs
6409
6410 2005-01-25  Tim-Philipp M??ller  <tim at centricular dot net>
6411
6412         * gst-element-check.m4:
6413           Only check for gst-inspect if we haven't already
6414           found it in previous element check runs
6415
6416 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6417
6418         * docs/gst/Makefile.am:
6419         * docs/libs/Makefile.am:
6420           fixed install rules to treat style.css as optional
6421
6422 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * docs/gst/Makefile.am:
6425         * docs/libs/Makefile.am:
6426           install style.css along with docs
6427         * docs/gst/tmpl/gstbin.sgml:
6428         * docs/gst/tmpl/gstclock.sgml:
6429         * docs/gst/tmpl/gstdata.sgml:
6430         * docs/gst/tmpl/gstelement.sgml:
6431         * gst/gstbin.h:
6432         * gst/gstelement.c: (gst_element_class_init):
6433         * gst/gstelement.h:
6434           fixing incomplete docs
6435
6436 2005-01-24  Tim-Philipp M??ller  <tim at centricular dot net>
6437
6438         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6439           Don't unref seek event twice when fflush() fails
6440           
6441 2005-01-22  David Schleef  <ds@schleef.org>
6442
6443         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6444
6445 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6446
6447         * docs/gst/Makefile.am:
6448         * docs/libs/Makefile.am:
6449           added params for deprecation guards
6450         * gst/gst.c:
6451         * gst/gst.h:
6452         * gst/gsterror.c: (_gst_resource_errors_init),
6453         (_gst_stream_errors_init):
6454         * gst/gsterror.h:
6455           documented some more enums
6456
6457 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6458         * gst/autoplug/gstspideridentity.c:
6459         Cosmetic fix - spider_find_peek should be static
6460         * gst/parse/parse.l:
6461         Applying fix for #164261
6462
6463 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * docs/gst/gstreamer-sections.txt:
6466         * docs/gst/tmpl/gstplugin.sgml:
6467         * docs/libs/gstreamer-libs-sections.txt:
6468         * docs/libs/tmpl/gstcontrol.sgml:
6469         * gst/gstbuffer.h:
6470         * gst/gsttag.h:
6471         * gst/gstvalue.c:
6472           added docs for the TAG defines
6473
6474 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6475
6476         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6477           Only unref entry if there is an entry.
6478
6479 2005-01-17  Wim Taymans  <wim@fluendo.com>
6480
6481         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6482         (remove_from_group), (schedule_group), (normalize_group),
6483         (gst_opt_scheduler_iterate):
6484         Also ref/unref decoupled elements before iterating the
6485         group since they are not added to the list of elements.
6486
6487 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6488
6489         * docs/manual/highlevel-components.xml:
6490           Add subtitle/streamselection as new features to playbin.
6491
6492 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6493
6494         * docs/manual/manual.xml:
6495           Re-enable dataaccess docs (oops).
6496
6497 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6498
6499         * docs/pwg/advanced-types.xml:
6500         * docs/random/mimetypes:
6501           Add documentation on libsndfile types (#163309), by Steve Baker
6502           <steve@stevebaker.org>.
6503         * gst/gstelement.c: (gst_element_release_request_pad):
6504           If an element has no explicit function, just remove the pad.
6505
6506 2005-01-17  Luca Ognibene  <luogni@tin.it>
6507
6508         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6509
6510         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6511           Fix memleak (#163801).
6512
6513 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6514
6515         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6516           I think this is actually more correct...
6517
6518 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6519
6520         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6521           Another workaround for memory access while destroyed in callback.
6522           Please, someone with refcount knowledge, have a look at this.
6523
6524 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6525
6526         * docs/faq/faq.xml:
6527         * docs/faq/legal.xml:
6528           move the legal Q&A here
6529
6530 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6531
6532         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6533         (gst_tee_request_new_pad):
6534           Fix negotiation.
6535
6536 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6537
6538         * docs/random/omega/caps2:
6539         * testsuite/caps/caps_strings:
6540           replace framerate aproximations by their real value
6541           (24000/1001, 30000/1001, 60000/1001)
6542           Partially fixes bug #164049
6543
6544 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6545
6546         * docs/gst/Makefile.am:
6547           don't fail on the stupid GstPoptOption
6548
6549 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6550
6551         * gst/gstpad.h:
6552         * gst/gstprobe.c:
6553           allow probes to work on ghost pads by realizing the pad
6554           probe debugging
6555
6556 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6557
6558         * docs/gst/gstreamer-sections.txt:
6559         * docs/gst/tmpl/gstpad.sgml:
6560         * gst/gstpad.c: (gst_pad_set_active_recursive):
6561         * gst/gstpad.h:
6562           Add gst_pad_set_active_recursive().
6563
6564 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * docs/random/release:
6567           updates
6568         * gst/gst_private.h:
6569         * gst/gstinfo.c:
6570         * gst/gstobject.c:
6571           move deep_notify logging to a new category
6572         * gst/gstprobe.c:
6573         * gst/gstprobe.h:
6574           add stuff so bindings can wrap probes
6575
6576 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6577
6578         * gst/gstplugin.c: (gst_plugin_load):
6579           Fix plugin loading if plugin/lib was already loaded. Fixes
6580           #163383
6581
6582 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6583
6584         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6585
6586         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6587           Protect plugin loading by a mutex so it's threadsafe. Fixes
6588           #163234.
6589
6590 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6591
6592         * gst/gstevent.c: (_gst_event_copy):
6593           Reference source object when copying events, since it'll be
6594           dereferenced on event dereferencing as well.
6595
6596 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6597
6598         * docs/gst/gstreamer-sections.txt:
6599         * docs/gst/tmpl/gstevent.sgml:
6600         * gst/gstevent.c: (gst_event_new_filler_stamped),
6601         (gst_event_filler_get_duration):
6602         * gst/gstevent.h:
6603           Add two new functions for filler events (which are used to
6604           synchronize streams if one of them is not having any data
6605           for a while) without interrupting the actual data-stream.
6606           Basically a no-op.
6607         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6608         (gst_queue_link_sink), (gst_queue_link_src),
6609         (gst_queue_change_state):
6610           Allow for renegotiation while filled. Required for stream
6611           switching while playing.
6612
6613 2005-01-08  Benjamin Otte  <otte@gnome.org>
6614
6615         * gst/gstelement.c: (gst_element_link_many):
6616           fix up g_return_if_fail's
6617         * po/LINGUAS:
6618         * po/de.po:
6619           add German translation, that was somehow not included
6620
6621 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6622
6623         * docs/random/mimetypes:
6624           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6625           do not add them to riff-lib as they are not common
6626
6627 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6628
6629         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6630           Check for existence of probe after performing the probe before
6631           re-accessing it to prevent segfaults caused by removal of the
6632           probe in the callback.
6633
6634 2005-01-05  David Schleef  <ds@schleef.org>
6635
6636         * testsuite/registry/Makefile.am:
6637         * testsuite/registry/gst-print-formats.c:
6638         (print_pad_templates_info), (print_element_list),
6639         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6640         (g_list_uniqify), (get_pad_templates_info),
6641         (get_element_mime_list), (print_mime_list), (main): A little
6642         program that looks through the registry to find elements of
6643         a given type.  Not particularly interesting as a test, except
6644         that there's no other test covering the same area.
6645
6646 2005-01-05  David Schleef  <ds@schleef.org>
6647
6648         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6649         (fault_handler_sigaction), (fault_spin),
6650         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6651         in signal.h-type signal handlers by not calling forbidden functions,
6652         including gst_element_set_state().
6653
6654 2005-01-05  David Schleef  <ds@schleef.org>
6655
6656         * gst/gstvalue.h: Mark _gst_reserved[] as private
6657
6658 2005-01-05  David Schleef  <ds@schleef.org>
6659
6660         * gst/gstvalue.c: Fix doc build problem.
6661
6662 2005-01-05  David Schleef  <ds@schleef.org>
6663
6664         * gst/gstvalue.c: Add some documentation
6665
6666 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6667
6668         * docs/README:
6669           another shell oneliner for empty return value docs
6670         * gst/gstcaps.c:
6671         * gst/gstvalue.c:
6672         * libs/gst/control/dparam.c:
6673           more doc fixes (parameters and return values)
6674
6675 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6676
6677         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6678
6679         * gst/gstregistry.h:
6680         * gst/registries/gstxmlregistry.c:
6681           Fix macro's for Mingw (fixes #162276).
6682
6683 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6684
6685         * docs/README:
6686           quick shell oneliner to find undocumented members
6687         * docs/gst/tmpl/gstplugin.sgml:
6688         * docs/gst/tmpl/gstscheduler.sgml:
6689         * docs/gst/tmpl/gstthread.sgml:
6690           more enumtypes cleanup
6691         * gst/gsterror.h:
6692           activated documentation comments, now someone needs to document
6693           the enums :(
6694
6695 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6696
6697         * docs/manual/manual.xml:
6698           Add dataaccess part (doh!).
6699
6700 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6701
6702         * docs/manual/advanced-autoplugging.xml:
6703           Fix typo (intiate -> initiate).
6704
6705 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6706
6707         * docs/random/bbb/streamselection:
6708           Add some notes on how to handle multi-subtitle/-audio streams.
6709
6710 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6711
6712         * docs/gst/gstreamer-docs.sgml:
6713         * docs/gst/gstreamer-sections.txt:
6714         * docs/gst/tmpl/gstenumtypes.sgml:
6715         * docs/gst/tmpl/gsterror.sgml:
6716         * docs/gst/tmpl/gstevent.sgml:
6717         * docs/gst/tmpl/gstpad.sgml:
6718         * docs/gst/tmpl/gstpadtemplate.sgml:
6719         * docs/gst/tmpl/gstthread.sgml:
6720           removed gstenumtypes section from docs and put all the enums into
6721           their sections
6722
6723 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6724
6725         * gst/gstplugin.c:
6726           document gst_library_load a bit more (riff special case + return
6727           value if already loaded)
6728         * testsuite/bytestream/filepadsink.c:
6729           plugin name is 'gstbytestream', not 'bytestream'
6730
6731 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6732
6733         * docs/random/bbb/subtitles:
6734           Add some first mind rumblings on proper subtitle support.
6735
6736 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6737
6738         * po/ca.po:
6739         * po/sv.po:
6740           updated translations
6741
6742 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6743
6744         * docs/manual/advanced-dataaccess.xml:
6745           Add section on how to use fakesrc/fakesink/identity in your
6746           application, plus section on how to embed plugins. Also mention
6747           probes.
6748         * docs/manual/appendix-checklist.xml:
6749         * docs/manual/appendix-debugging.xml:
6750         * docs/manual/appendix-gnome.xml:
6751         * docs/manual/appendix-integration.xml:
6752           Debug -> checklist, GNOME -> integration, add sections on Linux,
6753           KDE integration and add other things useful for application
6754           development.
6755         * docs/manual/manual.xml:
6756           Remove some fixmes, update some file pointers.
6757         * docs/pwg/appendix-checklist.xml:
6758           Fix typo.
6759         * docs/pwg/building-boiler.xml:
6760           Remove ugly header and add commented fixme.
6761         * docs/pwg/pwg.xml:
6762           Add fixme.
6763         * examples/manual/Makefile.am:
6764           Add example for added docs.
6765
6766 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6767
6768         * configure.ac:
6769           back to HEAD
6770
6771 === release 0.8.8 ===
6772
6773 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6774
6775         * NEWS:
6776         * RELEASE:
6777         * configure.ac:
6778           Releasing 0.8.8, "I'll Take Care Of You"
6779
6780 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6781
6782         * configure.ac:
6783           second prerelease
6784
6785 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         patch by: Wim Taymans
6788
6789         * gst/gstbin.c:
6790           Fix for #159852 - make iterate emission threadsafe
6791
6792 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6793
6794         * docs/faq/cvs.xml:
6795           notes about new fdo account request
6796
6797 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6798
6799         * docs/gst/gstreamer-docs.sgml:
6800         * docs/gst/tmpl/gstenumtypes.sgml:
6801         * docs/gst/tmpl/gstplugin.sgml:
6802         * docs/libs/gstreamer-libs-docs.sgml:
6803           Added missing short docs. Added ids for navigation.
6804
6805 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6806
6807         * docs/manual/advanced-autoplugging.xml:
6808         * docs/manual/advanced-schedulers.xml:
6809         * docs/manual/advanced-threads.xml:
6810           Rewrites. Remove cothreads, go a bit into opt specifically,
6811           document threads and their gotchas, and do some technical stuff
6812           on autoplugging plus add some working examples. Fixes #157395.
6813         * examples/manual/Makefile.am:
6814           Add typefind/autoplugger example (one that actually works).
6815           Remove queue example since it's a duplicate of the thread one.
6816
6817 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6818
6819         * gst/gstvalue.c: (gst_value_deserialize_string):
6820           use deprecated g_value_set_string_take_ownership to keep compatible
6821           with glib 2.2
6822
6823 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6824
6825         * gst/gstvalue.c: (gst_value_deserialize_string):
6826           revert last patch, only dom a g_utf8_validate now before accepting
6827           the string - caps parsing strips " from strings so we can't rely on
6828           them
6829         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6830           disable a test that tested the above and comment it
6831
6832 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6833
6834         Patch reviewed by David Schleef  <ds@schleef.org>
6835
6836         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6837         bug #153882)
6838         * win32/gstenumtypes.h: same
6839
6840 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6841
6842         * gst/gstpad.c: (gst_pad_query):
6843           Do query on realized pad, similar to how convert/send_event handle
6844           this. Also makes sense, since this pad belongs to the function to
6845           which this query will be sent. Fixes #158163.
6846
6847 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6848
6849         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6850
6851 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6852
6853         * docs/faq/general.xml: fix pipeline to actually work
6854
6855 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6856
6857         * gst/gstvalue.c: (gst_value_deserialize_string):
6858           check that a simple string that gets deserialized does not contain
6859           invalid characters
6860         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6861           remove a test that tested a wring behaviour
6862
6863 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6864
6865         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6866
6867         * docs/manual/intro-motivation.xml:
6868           Fix typos.
6869
6870 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6871
6872         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6873
6874         * docs/gst/tmpl/gstprobe.sgml:
6875           Fix documentation of probe callback - it is supposed to return
6876           FALSE, not TRUE, to remove data from the stream (#159087).
6877
6878 2004-12-16  Daniel Gazard  <dany42@free.fr>
6879
6880         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6881
6882         * gst/gstelementfactory.c: (gst_element_factory_create):
6883           Fix compile failure if compiling without libxml2 support (#149936).
6884
6885 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6886
6887         * docs/manual/advanced-autoplugging.xml:
6888         * docs/manual/highlevel-components.xml:
6889           Move spider from autoplugging to components. Autoplugging is for
6890           internals, not for solutions. ;-).
6891
6892 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6893
6894         * docs/random/ds/0.9-suggested-changes:
6895           Make note on device/location/uri property names.
6896
6897 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6898
6899         * docs/manual/advanced-autoplugging.xml:
6900         * docs/manual/advanced-clocks.xml:
6901         * docs/manual/advanced-interfaces.xml:
6902         * docs/manual/advanced-metadata.xml:
6903         * docs/manual/advanced-position.xml:
6904         * docs/manual/advanced-schedulers.xml:
6905         * docs/manual/advanced-threads.xml:
6906         * docs/manual/appendix-gnome.xml:
6907         * docs/manual/appendix-programs.xml:
6908         * docs/manual/appendix-quotes.xml:
6909         * docs/manual/autoplugging.xml:
6910         * docs/manual/basics-bins.xml:
6911         * docs/manual/basics-data.xml:
6912         * docs/manual/basics-elements.xml:
6913         * docs/manual/basics-helloworld.xml:
6914         * docs/manual/basics-init.xml:
6915         * docs/manual/basics-pads.xml:
6916         * docs/manual/basics-plugins.xml:
6917         * docs/manual/bins-api.xml:
6918         * docs/manual/bins.xml:
6919         * docs/manual/buffers-api.xml:
6920         * docs/manual/buffers.xml:
6921         * docs/manual/clocks.xml:
6922         * docs/manual/components.xml:
6923         * docs/manual/cothreads.xml:
6924         * docs/manual/debugging.xml:
6925         * docs/manual/dparams-app.xml:
6926         * docs/manual/dynamic.xml:
6927         * docs/manual/elements-api.xml:
6928         * docs/manual/elements.xml:
6929         * docs/manual/factories.xml:
6930         * docs/manual/gnome.xml:
6931         * docs/manual/goals.xml:
6932         * docs/manual/helloworld.xml:
6933         * docs/manual/helloworld2.xml:
6934         * docs/manual/highlevel-components.xml:
6935         * docs/manual/highlevel-xml.xml:
6936         * docs/manual/init-api.xml:
6937         * docs/manual/intro-basics.xml:
6938         * docs/manual/intro-motivation.xml:
6939         * docs/manual/intro-preface.xml:
6940         * docs/manual/intro.xml:
6941         * docs/manual/links-api.xml:
6942         * docs/manual/links.xml:
6943         * docs/manual/manual.xml:
6944         * docs/manual/motivation.xml:
6945         * docs/manual/pads-api.xml:
6946         * docs/manual/pads.xml:
6947         * docs/manual/plugins-api.xml:
6948         * docs/manual/plugins.xml:
6949         * docs/manual/programs.xml:
6950         * docs/manual/queues.xml:
6951         * docs/manual/quotes.xml:
6952         * docs/manual/schedulers.xml:
6953         * docs/manual/states-api.xml:
6954         * docs/manual/states.xml:
6955         * docs/manual/threads.xml:
6956         * docs/manual/typedetection.xml:
6957         * docs/manual/win32.xml:
6958         * docs/manual/xml.xml:
6959           Try 2. This time, include a short preface as a "general
6960           introduction", also add code blocks around all code samples
6961           so they get compiled. We still need a way to tell readers
6962           the filename of the code sample. In some cases, don't show
6963           all code in the documentation, but do include it in the generated
6964           code. This allows for focussing on specific bits in the docs,
6965           while still having a full test application available.
6966         * examples/manual/Makefile.am:
6967           Fix up examples for new ADM. Add several of the new examples that
6968           were either added or were missing from the build system.
6969         * examples/manual/extract.pl:
6970           Allow nameless blocks.
6971
6972 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * docs/manual/elements-api.xml:
6975         * docs/manual/helloworld.xml:
6976         * examples/manual/extract.pl:
6977           fix last example.  Add example of adding code blocks that are not
6978           shown in docbook output.
6979
6980 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6981
6982         * docs/manual/dynamic.xml:
6983         * docs/manual/elements-api.xml:
6984         * docs/manual/gnome.xml:
6985         * docs/manual/helloworld2.xml:
6986         * docs/manual/init-api.xml:
6987         * docs/manual/queues.xml:
6988         * docs/manual/threads.xml:
6989         * docs/manual/xml.xml:
6990         * examples/manual/extract.pl:
6991           Make it possible to extract example code from separate blocks.
6992           Should make Ronald happy.
6993
6994 2004-12-15  Wim Taymans  <wim@fluendo.com>
6995
6996         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6997         (remove_from_group), (group_elements_set_visited),
6998         (normalize_group), (gst_opt_scheduler_iterate):
6999         Fix bug where a flag was not updated on a decoupled entry point 
7000         because we were just checking the group element list and decoupled
7001         elements are not in that list..
7002
7003 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7004
7005         * docs/manual/advanced-autoplugging.xml:
7006         * docs/manual/advanced-clocks.xml:
7007         * docs/manual/advanced-dparams.xml:
7008         * docs/manual/advanced-interfaces.xml:
7009         * docs/manual/advanced-metadata.xml:
7010         * docs/manual/advanced-position.xml:
7011         * docs/manual/advanced-schedulers.xml:
7012         * docs/manual/advanced-threads.xml:
7013         * docs/manual/appendix-debugging.xml:
7014         * docs/manual/appendix-gnome.xml:
7015         * docs/manual/appendix-programs.xml:
7016         * docs/manual/appendix-quotes.xml:
7017         * docs/manual/appendix-win32.xml:
7018         * docs/manual/autoplugging.xml:
7019         * docs/manual/basics-bins.xml:
7020         * docs/manual/basics-data.xml:
7021         * docs/manual/basics-elements.xml:
7022         * docs/manual/basics-helloworld.xml:
7023         * docs/manual/basics-init.xml:
7024         * docs/manual/basics-pads.xml:
7025         * docs/manual/basics-plugins.xml:
7026         * docs/manual/bins-api.xml:
7027         * docs/manual/bins.xml:
7028         * docs/manual/buffers-api.xml:
7029         * docs/manual/buffers.xml:
7030         * docs/manual/clocks.xml:
7031         * docs/manual/components.xml:
7032         * docs/manual/cothreads.xml:
7033         * docs/manual/debugging.xml:
7034         * docs/manual/dparams-app.xml:
7035         * docs/manual/dynamic.xml:
7036         * docs/manual/elements-api.xml:
7037         * docs/manual/elements.xml:
7038         * docs/manual/factories.xml:
7039         * docs/manual/gnome.xml:
7040         * docs/manual/goals.xml:
7041         * docs/manual/helloworld.xml:
7042         * docs/manual/helloworld2.xml:
7043         * docs/manual/highlevel-components.xml:
7044         * docs/manual/highlevel-xml.xml:
7045         * docs/manual/init-api.xml:
7046         * docs/manual/intro-motivation.xml:
7047         * docs/manual/intro-preface.xml:
7048         * docs/manual/intro.xml:
7049         * docs/manual/links-api.xml:
7050         * docs/manual/links.xml:
7051         * docs/manual/manual.xml:
7052         * docs/manual/motivation.xml:
7053         * docs/manual/pads-api.xml:
7054         * docs/manual/pads.xml:
7055         * docs/manual/plugins-api.xml:
7056         * docs/manual/plugins.xml:
7057         * docs/manual/programs.xml:
7058         * docs/manual/queues.xml:
7059         * docs/manual/quotes.xml:
7060         * docs/manual/schedulers.xml:
7061         * docs/manual/states-api.xml:
7062         * docs/manual/states.xml:
7063         * docs/manual/threads.xml:
7064         * docs/manual/typedetection.xml:
7065         * docs/manual/win32.xml:
7066         * docs/manual/xml.xml:
7067           First try at rewriting the ADM. Needs lotsamore work, but some
7068           parts might already be somewhat useful.
7069         * docs/pwg/advanced-interfaces.xml:
7070           Remove properties interface, it never actually existed (except for
7071           on my HD...).
7072
7073 2004-12-13  David Schleef  <ds@schleef.org>
7074
7075         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
7076         be NULL (bug #160220).
7077
7078 2004-12-13  David Schleef  <ds@schleef.org>
7079
7080         * configure.ac: remove all mmx stuff, because it's not used.
7081         * docs/random/ds/0.9-suggested-changes: additional notes
7082         * include/Makefile.am: we don't use these anymore
7083         * include/mmx.h: remove
7084         * include/sse.h: remove
7085
7086 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7087
7088         * docs/random/mimetypes:
7089           Add FOURCC code for h264 codec (VSSH)
7090           Add alternate FOURCC codes for h263 related codecs
7091
7092 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
7093
7094         * docs/manual/programs.xml:
7095           Added more gst-launch examples.
7096
7097 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7098
7099         * gst/gstqueue.c: (gst_queue_handle_src_query):
7100           Check for availability again.
7101
7102 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7103
7104         * gst/gstcaps.c: (gst_caps_compare_structures):
7105           Simple caps go first. This has the nice side-effect of fixing an
7106           obscure warning.
7107
7108 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7109
7110         * gst/gstversion.h.in:
7111           Protect header.
7112
7113 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7114
7115         * gst/schedulers/gstoptimalscheduler.c:
7116         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
7117         (gst_opt_scheduler_get_wrapper):
7118           When we're recursing into a chain run, only run the directly
7119           related group, not all queued ones. This will fix a possible
7120           deadlock in chains with more than two groups.
7121
7122 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7123
7124         * autogen.sh:
7125           remove patch if autopoint fails
7126
7127 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7128
7129         * docs/gst/gstreamer-sections.txt:
7130           Document Thomas' addition, fix build, make Luis the sheriff happy.
7131
7132 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7133
7134         * gst/gstplugin.c:
7135         * gst/gstplugin.h:
7136           add accessor for version field
7137
7138 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7139
7140         submitted by: Luca Ferretti <elle.uca@infinito.it>
7141
7142         * po/LINGUAS:
7143         * po/it.po:
7144           New tranlation added: Italian
7145
7146 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7147
7148         * gst/gstpad.c: (gst_pad_is_negotiated),
7149         (gst_pad_get_negotiated_caps):
7150           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
7151           it doesn't actually check the contents), so be sure to hand it
7152           a RealPad else we'll crash.
7153
7154 2004-12-03  Wim Taymans  <wim@fluendo.com>
7155
7156         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7157         (gst_queue_link), (gst_queue_handle_src_query):
7158         Reverted to 1.110 until this makes the testsuite and various
7159         apps work.
7160
7161 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
7162
7163         * docs/upload.mak: fix included CVS conflict strings
7164
7165 2004-12-01  William Jon McCann  <mccann@jhu.edu>
7166
7167         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7168
7169         * gst/gstelement.c: (gst_element_error_full):
7170           Use g_error_new_literal because error text may have
7171           percentage signs in it. Fixes #160019.
7172
7173 2004-12-01  Benjamin Otte  <otte@gnome.org>
7174
7175         * gst/elements/gstbufferstore.c:
7176         (gst_buffer_store_add_buffer_func):
7177           don't try to make subbuffers bigger than they can be. (fixes
7178           #159970)
7179
7180 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7181
7182         * docs/gst/gstreamer-sections.txt:
7183         * docs/gst/tmpl/gstvalue.sgml:
7184           Add new function to docs to fix build.
7185
7186 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7187
7188         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7189         * gst/gstpad.c: (_gst_pad_default_fixate_value),
7190         (_gst_pad_default_fixate_foreach):
7191         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
7192         * gst/gstvalue.h:
7193           Deprecate _type_is_fixed, use _value_is_fixed instead, since
7194           in some cases (arrays), the fixedness depends on the content.
7195         * gst/gstqueue.c: (gst_queue_handle_src_query):
7196           Check for availability before doing something.
7197
7198 2004-11-29  Wim Taymans  <wim@fluendo.com>
7199
7200         * testsuite/threads/Makefile.am:
7201         * testsuite/threads/signals.c: (gst_test_get_type),
7202         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
7203         (gst_test_set_property), (gst_test_get_property),
7204         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
7205         (gst_test_do_prop), (run_thread), (main):
7206         Added a bunch of testcases that show threadsafety bugs in glib.
7207
7208 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
7209
7210         * docs/manual/programs.xml:
7211           Added a first batch of gst-launch examples, as provided by Ronald
7212           and others from the devel-mlist
7213
7214 2004-11-28  Benjamin Otte  <otte@gnome.org>
7215
7216         * gst/gstelement.c: (gst_element_negotiate_pads):
7217           simplify
7218         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
7219         (gst_value_serialize_string), (gst_value_deserialize_string):
7220           add unwrapping of previously wrapped strings. Fix bug in wrapping
7221           while at it.
7222         * testsuite/caps/value_serialize.c: (test1),
7223         (test_string_serialization), (test_string_deserialization), (main):
7224           add tests for string (de)serialization
7225
7226 2004-11-26  Wim Taymans  <wim@fluendo.com>
7227
7228         * testsuite/threads/159566.c: (object_deep_notify), (main):
7229         * testsuite/threads/Makefile.am:
7230         Added testsuite to show bug #159566
7231
7232 2004-11-25  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7235         (gst_thread_child_state_change), (gst_thread_main_loop):
7236         Ref the thread object in the GThread mainloop. Break out of the
7237         thread mainloop if it holds the last ref. This properly exits
7238         the threads when disposing the thread from its own context. It
7239         also avoids possible deadlocks in the dispose function.
7240
7241 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7242
7243         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7244         it is necessary to wait.
7245
7246 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7247
7248         * docs/pwg/building-boiler.xml:
7249           Make description somewhat clearer.
7250
7251 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7252
7253         * docs/upload.mak:
7254           Apparently docs changed location on FDO's server.
7255
7256 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7257
7258         * docs/pwg/appendix-checklist.xml:
7259           Add some random notes on things to check when writing an element.
7260           This list can be extended as people see fit.
7261
7262 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7263
7264         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7265         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7266         pad. The queue will now wait until it is empty and forward the new
7267         caps to the source.
7268         * gst/gstbin.c (gst_bin_set_element_sched)
7269         (gst_bin_unset_element_sched): Make sure that all elements and
7270         links are registered and unregistered with the scheduler exactly
7271         once. This elaborates on a fix by Benjamin Otte, but
7272         guarantees that decoupled elements are also registered.
7273
7274 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7275
7276         * docs/manual/quotes.xml:
7277           add a quote
7278         * configure.ac:
7279         * gst/gst.c:
7280         * gst/gstinfo.c:
7281           add LIBDIR and move init message higher up so it's at the start
7282
7283 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7284
7285         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7286         * gstreamer.spec.in: add fair
7287
7288 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7289
7290         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7291         * gst/elements/gstidentity.c: (gst_identity_class_init):
7292           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7293           <teuf@gnome.org> (#157263).
7294         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7295         (gst_type_find_handle_src_query):
7296           Subtract size of internally stored data from position queries.
7297
7298 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7299
7300         * gst/schedulers/fairscheduler.c:
7301         * gst/schedulers/faircothreads.c:
7302         * gst/schedulers/faircothreads.h:
7303         New cothread based scheduler: Fair scheduler.
7304         * gst/schedulers/gthread-cothreads.h: 
7305         Add the standard #if around the whole file.
7306         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7307         compilation of the functions defined in this file. This is
7308         necessary to be able to use this file as a normal header.
7309         * gst/schedulers/Makefile.am: Add compiling support for fair
7310         scheduler.
7311         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7312         scheduler cothreads layer from documentation generation.
7313
7314 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7315
7316         * gst/autoplug/gstspideridentity.c:
7317         (gst_spider_identity_sink_loop_type_finding):
7318           Don't crash if that function is not implemented.
7319
7320 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7321
7322         * docs/pwg/advanced-types.xml:
7323           Another typo.
7324
7325 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7326
7327         * docs/pwg/intro-preface.xml:
7328           Hm, ok, so the brackets weren't really useful...
7329         * docs/pwg/other-ntoone.xml:
7330           Fix embarassing typo.
7331
7332 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7333
7334         * docs/pwg/intro-preface.xml:
7335           Rewrite preface.
7336
7337 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7338
7339         * docs/pwg/advanced-scheduling.xml:
7340         * docs/pwg/advanced-tagging.xml:
7341         * docs/pwg/advanced-types.xml:
7342         * docs/pwg/building-boiler.xml:
7343         * docs/pwg/building-chainfn.xml:
7344         * docs/pwg/building-signals.xml:
7345         * docs/pwg/building-state.xml:
7346         * docs/pwg/building-testapp.xml:
7347         * docs/pwg/intro-basics.xml:
7348         * docs/pwg/other-manager.xml:
7349         * docs/pwg/other-source.xml:
7350           Typo fixes.
7351         * docs/pwg/other-manager.xml:
7352           Add some first content. No example code yet.
7353         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7354           Remove double newlines.
7355
7356 2004-11-04  Wim Taymans  <wim@fluendo.com>
7357
7358         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7359         (remove_from_group), (normalize_group), (group_migrate_connected),
7360         (gst_opt_scheduler_iterate):
7361         * testsuite/schedulers/.cvsignore:
7362         * testsuite/schedulers/Makefile.am:
7363         * testsuite/schedulers/queue_link.c: (main):
7364         Added testcase for scheduler segfault.
7365         Fix scheduler segfault when removing a decoupled
7366         entry point as the last element from a group.
7367
7368 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7369
7370         * gst/gstmarshal.list: add missing marshaller, fixes build
7371
7372 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7373
7374         * docs/random/signal: added notes about using BOXED for GstBuffer
7375         signal marshallers, not POINTER
7376
7377 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7378
7379         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7380         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7381         POINTER=>BOXED changes to marshal GstBuffers
7382
7383 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7384
7385         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7386         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7387
7388 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7389
7390         * docs/gst/gstreamer-sections.txt:
7391         * docs/gst/tmpl/gstcaps.sgml:
7392         * docs/gst/tmpl/gsterror.sgml:
7393         * docs/gst/tmpl/gstinfo.sgml:
7394         * docs/gst/tmpl/gstmacros.sgml:
7395         * docs/gst/tmpl/gstutils.sgml:
7396         * docs/random/ensonic/interfaces.txt:
7397         * gst/gstinfo.h:
7398           added some more docs, removed two obsolete defines
7399
7400 2004-11-02  Kjartan Maraas <as at gnome.org>
7401
7402         reviewed by: Wim Taymans, Ronald Bultje.
7403
7404         * gst/cothreads.c: (cothread_create):
7405         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7406         (gst_bin_child_state_change_func):
7407         * gst/gstbuffer.c: (gst_buffer_span):
7408         * gst/gstelement.c: (gst_element_get_index),
7409         (gst_element_get_event_masks), (gst_element_get_query_types),
7410         (gst_element_get_formats):
7411         * gst/gsterror.c: (_gst_core_errors_init),
7412         (_gst_library_errors_init), (_gst_resource_errors_init),
7413         (_gst_stream_errors_init):
7414         * gst/gstobject.c: (gst_object_default_deep_notify):
7415         * gst/gstpad.c: (gst_pad_get_event_masks),
7416         (gst_pad_get_internal_links_default):
7417         * gst/gstplugin.c: (gst_plugin_register_func),
7418         (gst_plugin_get_module):
7419         * gst/gststructure.c: (gst_structure_get_string),
7420         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7421         (gst_structure_to_abbr):
7422         * gst/gstutils.c: (gst_print_element_args):
7423         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7424         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7425         Aplied part of patch #157127: Cleanup of issues reported by 
7426         sparse.
7427         Also do not try to use cothreads when there is no cothread
7428         context yet.
7429
7430 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7431
7432         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7433         (gst_opt_scheduler_iterate):
7434         Applied patch #154061. Running a pipeline in which an element 
7435         calls GST_ELEMENT_ERROR in the chain function, the opt 
7436         scheduler doesn't unref the chain so it never gets freed.
7437
7438 2004-11-02  Wim Taymans  <wim@fluendo.com>
7439
7440         * gst/gststructure.c: (gst_structure_get_abbrs),
7441         (gst_structure_from_abbr), (gst_structure_to_abbr):
7442         Remove that ugly if-then thing in the code that converts
7443         between strings and types.
7444
7445 2004-11-02  Wim Taymans  <wim@fluendo.com>
7446
7447         * gst/gstscheduler.c: (gst_scheduler_add_element),
7448         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7449         Aplied clock distribution patch, this should fix bug
7450         #148787.
7451
7452 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7455
7456         * po/LINGUAS:
7457         * po/nb.po:
7458           Added Norwegian Bokmaal translation
7459
7460 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7461
7462         * tools/gst-inspect.c: (print_signal_info):
7463           print signal arguments as pointers if they are
7464
7465 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7466
7467         * docs/pwg/building-boiler.xml:
7468           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7469
7470 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7471
7472         * gst/parse/parse.l:
7473         * testsuite/parse/parse1.c: (main):
7474         Since parse can do 'element name=a:b' make 'a:b.' work as
7475         well. 
7476         Added testcase to verify fix.
7477
7478 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7479
7480         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7481         Use the realpad when printing the direction.
7482         Add extra \n when printing extensions of typefind factories.
7483
7484 2004-10-13  David Schleef  <ds@schleef.org>
7485
7486         * examples/manual/Makefile.am: $< isn't portable in Makefile
7487         rules.
7488
7489 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7490
7491         * docs/gst/tmpl/gstobject.sgml:
7492         * docs/gst/tmpl/gstplugin.sgml:
7493         * docs/gst/tmpl/gstpluginfeature.sgml:
7494         * docs/gst/tmpl/gstregistry.sgml:
7495         * docs/gst/tmpl/gstversion.sgml:
7496         * gst/gstbin.c:
7497           more api documentation
7498         * gst/gstplugin.c: (gst_plugin_register_func),
7499         (gst_plugin_check_file), (gst_plugin_load_file):
7500           better error signaling and logging
7501
7502 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7503
7504         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7505           Subtract current queue contents from position queries.
7506
7507 2004-10-11  Johan Dahlin  <johan@gnome.org>
7508
7509         * gst/gsturi.c (gst_uri_get_location): unescape string
7510         (gst_uri_construct): escape string.
7511
7512 2004-10-11  Benjamin Otte  <otte@gnome.org>
7513
7514         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7515         (gst_pad_try_set_caps_nonfixed):
7516           allow renegotiation of unconnected pads (as inside spider). Simply
7517           return OK if unconnected - mimic try_set_caps there.
7518
7519 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7520
7521         * gst/gstbin.c: (gst_bin_sync_children_state):
7522           Add missing break.
7523
7524 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7525
7526         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7527         Set element to EOS before sending EOS event
7528
7529 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7530
7531         * gst/elements/gsttypefindelement.c:
7532         (gst_type_find_element_handle_event):
7533         Handle EOS events when doing the transition from
7534         typefind to data passing. This should fix the
7535         infinite loops in short files.
7536
7537 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7538
7539         * gst/gstthread.c: (gst_thread_change_state),
7540         (gst_thread_child_state_change):
7541         Make sure no iteration happens while performing
7542         the state change as it could mess up the internal
7543         consistency of the thread state.
7544
7545 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7546
7547         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7548         (gst_thread_change_state), (gst_thread_child_state_change):
7549         Do not try to grab the iterate lock in the state change method
7550         when we are in the same thread as the iterate or else we
7551         could deadlock. Some other cleanups.
7552
7553 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7554
7555         * configure.ac:
7556           bump nano to cvs
7557
7558 === release 0.8.7 ===
7559
7560 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * configure.ac:
7563         * NEWS:
7564         * RELEASE:
7565         * configure.ac:
7566           releasing 0.8.7, "A Cruise"
7567
7568 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7569
7570         * docs/random/mimetypes:
7571         Add an entry for Sony ATRAC3 audio format with mime-type
7572         used by rmdemux et riff-read
7573
7574 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7575
7576         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7577         Push the buffer store instead of clearing it in case that
7578         the stream is not seekable.
7579
7580 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7581
7582         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7583         (gst_thread_main_loop):
7584         Lock the iteration and the state change so that automatic
7585         negotiation and fixation does not happen at the same time
7586         as the in stream negotiation.
7587
7588 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7589
7590         * configure.ac:
7591           bump nano to cvs
7592
7593 === release 0.8.6 ===
7594
7595 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * configure.ac:
7598         * NEWS:
7599         * RELEASE:
7600         * configure.ac:
7601           releasing 0.8.6, "Narc"
7602
7603 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7604
7605         * configure.ac:
7606           prerel bump
7607
7608 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7609
7610         patch by: Steve Lhomme
7611
7612         * gst/elements/gstfakesrc.c:
7613         * gst/elements/gstidentity.c:
7614         * gst/gstthread.c:
7615           Fix for #153881
7616
7617 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7618
7619         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7620         Fix threadsafety of the crc checking function.
7621
7622 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         patch by: Ronald Bultje
7625
7626         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7627         (gst_type_find_element_handle_event),
7628         (gst_type_find_element_chain):
7629         * gst/elements/gsttypefindelement.h:
7630          #153657.
7631          Filter out discont event from seekable sources when typefind
7632          asks them to seek.  Fixes typefind with demuxers for
7633          avi, asf and matroska.
7634
7635 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7636
7637         * docs/gst/gstreamer-sections.txt:
7638         * gst/gstcaps.c:
7639         * gst/gstcaps.h:
7640         * gst/gstpad.c:
7641           Revert preferred caps: (#147789)
7642
7643 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7644
7645         * win32/dirent.c:
7646           fix a memory leak
7647
7648 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7649
7650         * configure.ac:
7651           bump for prerelease
7652
7653 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7654
7655         * docs/Makefile.am:
7656         * docs/manual/elements-api.xml:
7657           restructure so that common stuff is shown first
7658         * docs/manual/init-api.xml:
7659           convert to examples
7660         * docs/manual/manual.xml:
7661         * docs/manuals.mak:
7662         * docs/url.entities:
7663           link to API on the website, possibly override later in build
7664         * examples/manual/.cvsignore:
7665           ignore more
7666         * examples/manual/Makefile.am:
7667           add more examples
7668         * examples/manual/extract.pl:
7669           error out on failure
7670
7671 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7672
7673         * docs/gst/tmpl/gstthread.sgml:
7674         * docs/manual/init-api.xml:
7675         * examples/manual/Makefile.am:
7676           convert two code bits to examples
7677
7678 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7679
7680         * gst/gstelement.c: (gst_element_change_state):
7681           Well, actually, I was about to remove this insane assert when
7682           I noticed Wim already did that. A warning is nice so we can
7683           fix actual ugs (using --g-fatal-warnings and backtraces), so
7684           I added that instead.
7685
7686 2004-09-06  Wim Taymans  <wim@fluendo.com>
7687
7688         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7689         (gst_element_threadsafe_properties_post_run),
7690         (gst_element_set_state), (gst_element_change_state):
7691         Added extra refcounting around various places. 
7692
7693 2004-09-06  Wim Taymans  <wim@fluendo.com>
7694
7695         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7696         Fix debug info.
7697
7698 2004-09-06  Wim Taymans  <wim@fluendo.com>
7699
7700         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7701         (remove_from_group):
7702         Some more debug info.
7703
7704 2004-09-03  Wim Taymans  <wim@fluendo.com>
7705
7706         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7707         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7708         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7709         (gst_fakesrc_get), (gst_fakesrc_change_state):
7710         * gst/elements/gstfakesrc.h:
7711         * gst/elements/gstidentity.c: (gst_identity_class_init),
7712         (gst_identity_init), (gst_identity_chain),
7713         (gst_identity_set_property), (gst_identity_get_property),
7714         (gst_identity_change_state):
7715         * gst/elements/gstidentity.h:
7716         Added datarate properties to limit the datarate.
7717
7718 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7719
7720         * gst/autoplug/gstspider.c: (plugin_init):
7721           don't set a rank. We don't want to autoplug by inserting spiders.
7722
7723 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7724
7725         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7726         (gst_spider_identity_plug):
7727           add a template for spider's sink
7728         * gst/gst.c: (gst_register_core_elements):
7729           queue's rank should be NULL, we don't want spider to add it.
7730
7731 2004-08-18  David Schleef  <ds@schleef.org>
7732
7733         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7734         * docs/libs/Makefile.am: same
7735         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7736         * docs/random/ds/0.9-planning: random additions
7737         * docs/random/ds/0.9-suggested-changes: same
7738         * gst/gstxml.h: remove vestigal GstXMLNs definition
7739
7740         Preferred caps: (#147789)
7741         * docs/gst/gstreamer-sections.txt: Add symbols
7742         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7743         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7744         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7745         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7746         (gst_caps_get_preferred), (gst_caps_set_preferred),
7747         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7748         (gst_caps_use_preferred): Handle caps preferences
7749         * gst/gstcaps.h: Add caps preferences
7750         * gst/gstpad.c: (gst_pad_link_get_preferred),
7751         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7752         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7753         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7754         negotiation.
7755
7756 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7757
7758         * gst/autoplug/gstspideridentity.c:
7759         (gst_spider_identity_request_new_pad):
7760         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7761         (gst_aggregator_init):
7762         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7763         (gst_fakesink_init):
7764         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7765         (gst_fakesrc_init):
7766         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7767         (gst_fdsink_init):
7768         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7769         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7770         (gst_filesink_init):
7771         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7772         (gst_filesrc_init):
7773         * gst/elements/gstidentity.c: (gst_identity_base_init),
7774         (gst_identity_init):
7775         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7776         (gst_multifilesrc_init):
7777         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7778         (gst_pipefilter_init):
7779         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7780         (gst_statistics_init):
7781         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7782         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7783           s/gst_pad_new/&_from_template/
7784           register pad templates in the base_init function
7785           add static pad template definitions
7786
7787 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7788
7789         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7790         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7791         * testsuite/refcounting/pad.c: (main):
7792         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7793           s/gst_pad_new/&_from_template/
7794           prepare deprecation of gst_pad_new
7795
7796 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         patch by: Luca Ognibene <skaboy81@virgilio.it>
7799
7800         * gst/gstcaps.c:
7801         * gst/gstelement.c:
7802         * gst/gstpad.c:
7803         * gst/gstxml.c:
7804           fix memleaks.  Fixes #150001
7805
7806 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7807
7808         * docs/random/ds/0.9-suggested-changes:
7809           add notes - mostly about pad templates
7810
7811 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7812
7813         * win32/GStreamer.vcproj:
7814           temporary locale files are .gmo not .mo
7815
7816 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7817
7818         * configure.ac: bump nano to cvs
7819
7820 === release 0.8.5 ===
7821
7822 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * configure.ac:
7825           releasing 0.8.5, "Stuttgart"
7826         * NEWS:
7827         * RELEASE:
7828         * configure.ac:
7829         * docs/random/release:
7830           updates for release
7831
7832 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7833
7834         patch by: Wim Taymans (wim@fluendo.com)
7835
7836         * gst/gstbuffer.c:
7837         * gst/gstindex.h:
7838         * libs/gst/dataprotocol/dataprotocol.c:
7839           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7840
7841 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7842
7843         * Makefile.am:
7844         * win32/MANIFEST:
7845           add win32 dir to the build.  Fixes #149981.
7846
7847 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7848
7849         * configure.ac:
7850           bump libtool versioning
7851         * gst/gststructure.c:
7852           mark function as static
7853         * po/af.po:
7854         * po/az.po:
7855         * po/ca.po:
7856         * po/cs.po:
7857         * po/en_GB.po:
7858         * po/fr.po:
7859         * po/nl.po:
7860         * po/sq.po:
7861         * po/sr.po:
7862         * po/sv.po:
7863         * po/tr.po:
7864         * po/uk.po:
7865           translations update
7866         * win32/README.txt:
7867           trademark protection
7868
7869 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7870
7871         * configure.ac:
7872           fix GST_ORIGIN
7873           set GST_PACKAGE to source, and distinguish between release and other
7874         * tools/gst-inspect.c:
7875           print out plugin an element factory is part of so we see this info
7876
7877 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7878
7879         * docs/gst/gstreamer-sections.txt:
7880         * docs/gst/tmpl/gstbuffer.sgml:
7881         * docs/gst/tmpl/gstschedulerfactory.sgml:
7882           reorder docs a little, make GstBuffer's more sensible.
7883         * gst/gstbuffer.h:
7884           API: added GST_BUFFER_FLAG_DELTA_UNIT
7885         * gst/gstscheduler.c:
7886           comment API addition
7887
7888 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7889
7890         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7891           work with non-regular files that can be mmapped (like /dev/zero)
7892         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7893           get rid of typefinds that require a seek when we can't seek instead
7894           of trying them over and over again
7895         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7896           return non-zero failure value when the pipeline was interrupted or
7897           an error occurred
7898
7899 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7900
7901         * win32/config.h:
7902         * win32/GStreamer.vcproj:
7903           compile and install the locales
7904
7905 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7906
7907         * gst/gstvalue.c:
7908           fix a possible memory leak under Windows
7909
7910 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7911
7912         * win32/GStreamer.vcproj:
7913           fix a memory leak that occured under Windows
7914         * win32/gstreamer.def:
7915           add gst_scheduler_register
7916
7917 2004-08-11  Benjamin Otte  <otte@gnome.org>
7918
7919         * docs/gst/gstreamer-sections.txt:
7920         * gst/gstscheduler.c: (gst_scheduler_register):
7921         * gst/gstscheduler.h:
7922           API:
7923           add gst_scheduler_register shortcut similar to gst_element_register
7924         * gst/schedulers/entryscheduler.c: (plugin_init):
7925         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7926         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7927           use it
7928
7929 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7930
7931         * gst/gstvalue.h:
7932           fix a memory leak that occured under Windows
7933
7934 2004-08-10  Colin Walters  <walters@redhat.com>
7935
7936         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7937         Don't use O_EXCL to open temporary registry.  It will prevent
7938         registry creation if a temporary one already exists, which
7939         is unnecessary.
7940
7941 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7942
7943         * docs/gst/gstreamer-sections.txt:
7944         * docs/gst/tmpl/gstvalue.sgml:
7945           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7946
7947 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7948
7949         * win32/gstbytestream.vcproj:
7950         * win32/gstelements.vcproj:
7951         * win32/gstgetbits.vcproj:
7952         * win32/gst-inspect.vcproj:
7953         * win32/gst-launch.vcproj:
7954         * win32/gstoptimalscheduler.vcproj:
7955         * win32/GStreamer.vcproj:
7956         * win32/gst-register.vcproj:
7957         * win32/gstspider.vcproj:
7958           update the include and lib dirs to fit standard libraries as
7959           described in the Win32 manual
7960
7961 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7962
7963         * win32/config.h:
7964         * win32/gstversion.h:
7965           enable NLS again, push the version number for the coming 0.8.5 release
7966
7967 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7968
7969         * gst/gstvalue.h:
7970           export gst_type_XXX for windows DLLs
7971
7972 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7973
7974         * docs/faq/gst-uninstalled:
7975           fix PKG_CONFIG_PATH and PYTHONPATH
7976         * gst/schedulers/Makefile.am:
7977           cleanup
7978         * libs/gst/bytestream/bytestream.c:
7979           remove newline
7980         * po/LINGUAS:
7981         * po/sq.po:
7982           adding Albanian translation (Laurent Dhima)
7983         * po/cs.po:
7984           updated
7985
7986 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * po/ca.po:
7989         * po/sv.po:
7990           updated translations
7991
7992 2004-08-04  Benjamin Otte  <otte@gnome.org>
7993
7994         * tests/mass_elements.c: (main):
7995           allow specifying src and sink element explicitly, so I can test
7996           videotestsrc instead of fakesrc
7997
7998 2004-08-04  Benjamin Otte  <otte@gnome.org>
7999
8000         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
8001         (gst_structure_id_empty_new), (gst_structure_empty_new),
8002         (gst_structure_copy):
8003           add gst_structure_id_empty_new_with_size to allow preallocating
8004           value array sizes. Use this in gst_structure_copy to get rid of
8005           reallocs.
8006           don't do quark=>string=>quark when copying structures
8007
8008 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
8009
8010         * docs/manual/win32.xml:
8011         * win32/README.txt:
8012           update documentation with the clean version of dependencies
8013
8014 2004-08-03  Benjamin Otte  <otte@gnome.org>
8015
8016         * gst/schedulers/entryscheduler.c:
8017         (gst_entry_scheduler_remove_element):
8018           fix for GST_DISABLE_DEBUG
8019         * tools/gst-launch.c: (print_tag):
8020           fixes for G_DISABLE_ASSERT
8021
8022 2004-08-03  Benjamin Otte  <otte@gnome.org>
8023
8024         * gst/gst.c: (gst_register_core_elements):
8025           fix for G_DISABLE_ASSERT
8026         * gst/gstinfo.c: (__gst_in_valgrind):
8027           add for GST_DISABLE_DEBUG
8028
8029 2004-08-03  Benjamin Otte  <otte@gnome.org>
8030
8031         * gst/parse/parse.l:
8032           fix for G_DISABLE_ASSERT
8033
8034 2004-08-03  Wim Taymans  <wim@fluendo.com>
8035
8036         * gst/gstbin.c: (gst_bin_get_type),
8037         (gst_bin_child_state_change_func):
8038         * gst/gstthread.c: (gst_thread_change_state):
8039         Backported some debug logging from a reverted patch
8040         Don't try to destroy the thread twice. Added some more
8041         debugging in GstThread. Unlock and signal even if we
8042         are in the thread context.
8043
8044 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8045
8046         * po/uk.po:
8047           updated translation
8048
8049 2004-07-30  David Schleef  <ds@schleef.org>
8050
8051         * gst/gstatomic_impl.h: Enable atomic code for x86_64
8052
8053 2004-07-29  David Schleef  <ds@schleef.org>
8054
8055         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
8056         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
8057
8058 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8059
8060         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8061         (gst_bin_add_func), (gst_bin_remove_func),
8062         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
8063         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
8064         (gst_bin_change_state_norecurse), (gst_bin_dispose),
8065         (gst_bin_sync_children_state):
8066         * gst/gstbin.h:
8067         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
8068         (gst_thread_change_state):
8069         * testsuite/states/Makefile.am:
8070           revert state change patches as agreed so we can rework them
8071           gradually
8072
8073 2004-07-29  Benjamin Otte  <otte@gnome.org>
8074
8075         * libs/gst/control/Makefile.am:
8076           link to libgstreamer (fixes Debian bug 262019, see
8077           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
8078
8079 2004-07-29  Wim Taymans  <wim@fluendo.com>
8080
8081         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8082         (check_from_fraction_convert), (transform_test), (main):
8083         Make the test less pedantic about float roundoff errors.
8084
8085 2004-07-29  Benjamin Otte  <otte@gnome.org>
8086
8087         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
8088         (gst_filesrc_srcpad_event):
8089           make seek events to before start/after end of file not fail, but
8090           seek to start/end instead
8091         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
8092           add more output
8093
8094 2004-07-29  Benjamin Otte  <otte@gnome.org>
8095
8096         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8097           check that caps are fixed
8098         * gst/gstpad.c: (gst_pad_template_new):
8099           don't try to simplify caps, costs too much time on gst_init
8100         * gst/gstplugin.c: (gst_plugin_add_feature):
8101           G_ERROR if features are added twice
8102         * gst/gsttypefind.c: (gst_type_find_register):
8103         * gst/gstelementfactory.c: (gst_element_register):
8104           don't add features twice
8105         * docs/random/ds/0.9-suggested-changes:
8106           add note about possible gst_init optimization
8107
8108 2004-07-28  David Schleef  <ds@schleef.org>
8109
8110         * testsuite/elements/Makefile.am:
8111         * testsuite/elements/struct_i386.h:
8112         * testsuite/elements/struct_size.c: (main):  A little test
8113         to keep distcheck from working if someone changes a structure
8114         size accidentally.
8115
8116 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8117
8118         * docs/libs/Makefile.am:
8119         * docs/libs/gstreamer-libs-docs.sgml:
8120         * docs/libs/gstreamer-libs-sections.txt:
8121         * docs/libs/tmpl/gstbytestream.sgml:
8122         * docs/libs/tmpl/gstcontrol.sgml:
8123         * docs/libs/tmpl/gstdataprotocol.sgml:
8124         * docs/libs/tmpl/gstgetbits.sgml:
8125         * libs/gst/bytestream/Makefile.am:
8126         * libs/gst/bytestream/bytestream.c:
8127         * libs/gst/bytestream/bytestream.h:
8128         * libs/gst/control/Makefile.am:
8129         * libs/gst/dataprotocol/Makefile.am:
8130         * libs/gst/getbits/Makefile.am:
8131         * libs/gst/getbits/getbits.h:
8132           various doc and style fixes, adding bytestream to libs docs.
8133
8134 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8135
8136         * docs/gst/gstreamer-docs.sgml:
8137         * docs/libs/Makefile.am:
8138         * docs/libs/gstreamer-libs-docs.sgml:
8139         * docs/libs/gstreamer-libs-sections.txt:
8140         * libs/gst/control/dparam.c:
8141           more doc fixes.  gst-libs docs now build the same way as gst.
8142
8143 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8144
8145         * configure.ac:
8146         * testsuite/Makefile.am:
8147         * testsuite/bins/Makefile.am:
8148         * testsuite/caps/Makefile.am:
8149         * testsuite/cleanup/Makefile.am:
8150         * testsuite/clock/Makefile.am:
8151         * testsuite/debug/Makefile.am:
8152         * testsuite/dlopen/Makefile.am:
8153         * testsuite/dynparams/Makefile.am:
8154         * testsuite/elements/.cvsignore:
8155         * testsuite/elements/Makefile.am:
8156         * testsuite/enumcaps/Makefile.am:
8157         * testsuite/enumcaps/enumcaps.c:
8158         * testsuite/ghostpads/Makefile.am:
8159         * testsuite/indexers/Makefile.am:
8160         * testsuite/negotiation/Makefile.am:
8161         * testsuite/parse/Makefile.am:
8162         * testsuite/plugin/Makefile.am:
8163         * testsuite/refcounting/Makefile.am:
8164         * testsuite/schedulers/.cvsignore:
8165         * testsuite/states/Makefile.am:
8166         * testsuite/tags/Makefile.am:
8167         * testsuite/threads/Makefile.am:
8168           fold enumcaps into caps dir
8169           clean up Makefile.am's for testsuite
8170
8171 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         * docs/gst/Makefile.am:
8174         * docs/libs/Makefile.am:
8175           clean up docs build.  Fixes needless rebuilding of template files.
8176
8177 2004-07-28  Wim Taymans  <wim@fluendo.com>
8178
8179         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
8180         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
8181         Make sure that a bin state change tries to keep the children
8182         in sync. 
8183         Added debug logging to the thread.
8184
8185 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8186
8187         * win32/GStreamer.vcproj:
8188         * win32/gstreamer.def:
8189           more exports for the plugins
8190
8191 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8192
8193         * win32/gstgetbits.vcproj:
8194         * win32/gstgetbits.def:
8195         * win32/msvc71.sln:
8196           add support for the getbits plugin
8197
8198 2004-07-27  Wim Taymans  <wim@fluendo.com>
8199
8200         * gst/gstvalue.c: (gst_value_transform_double_fraction),
8201         (gst_value_transform_fraction_double), (_gst_value_initialize):
8202         * testsuite/caps/Makefile.am:
8203         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8204         (check_from_fraction_convert), (transform_test), (main):
8205         Added transform functions between double and fraction.
8206         Added testcase to verify transforms
8207
8208 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8209
8210         * win32/GStreamer.vcproj:
8211           rename GStreamer-0.8.lib to libgstreamer.lib
8212
8213 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8214
8215         * win32/gstelements.vcproj:
8216         * win32/gstoptimalscheduler.vcproj:
8217           fixes for the Release build
8218
8219 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8220
8221         * win32/config.h:
8222           update the version number
8223
8224 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8225
8226         * win32/GStreamer.vcproj:
8227           add gstinterface to the build
8228
8229 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8230
8231         * win32/gstreamer.def:
8232           add many definitions needed by plugins,
8233           GST_CAT_DEFAULT only available in the Debug build ?
8234
8235 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * gst/gstelement.c: (gst_element_set_eos_recursive):
8238           various whitespace fixes.
8239           doc fix, fixes #148497
8240
8241 2004-07-25  Benjamin Otte  <otte@gnome.org>
8242
8243         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8244           don't delay links on the sink elements, it causes unnegotiated
8245           links.
8246         * gst/elements/gsttypefindelement.c:
8247         (gst_type_find_element_base_init):
8248           add our padtemplates, we indeed do have some.
8249         * gst/elements/gsttypefindelement.c:
8250         (gst_type_find_element_handle_event),
8251         (gst_type_find_element_chain):
8252           don't push data when typefinding failed.
8253         * gst/gstpad.c: (gst_pad_link_fixate):
8254           check that no fixate function returns empty caps.
8255         * gst/gstpad.c: (gst_pad_push):
8256           check that the link is negotiated before data gets pushed.
8257         * tools/gst-register.c: (main):
8258           don't assert (fixes #148283)
8259
8260 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8261
8262         * docs/gst/gstreamer-sections.txt:
8263         * docs/gst/tmpl/gstconfig.sgml:
8264           add GST_PLUGIN_EXPORT definition
8265
8266 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8267
8268         * gst/gstplugin.h:
8269         * gst/gstconfig.h.in:
8270         * win32/gstconfig.h:
8271         * win32/gstelements.def:
8272         * win32/gstelements.vcproj:
8273         * win32/gstoptimalscheduler.def:
8274         * win32/gstoptimalscheduler.vcproj:
8275         * win32/gstspider.def:
8276         * win32/gstspider.vcproj:
8277           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8278
8279 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8280
8281         * docs/gst/gstreamer-sections.txt:
8282           remove GST_CAT_DEFAULT because the type has changed
8283
8284 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8285
8286         * win32/gstbytestream.vcproj:
8287         * win32/gstelements.vcproj:
8288         * win32/gst-inspect.vcproj:
8289         * win32/gst-launch.vcproj:
8290         * win32/gstoptimalscheduler.vcproj:
8291         * win32/GStreamer.vcproj:
8292         * win32/gst-register.vcproj:
8293         * win32/gstspider.vcproj:
8294         * win32/msvc71.sln:
8295           Copy the files where needed after building, The testsuite will be
8296           built separately
8297
8298 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8299
8300         * win32/config.h:
8301         * win32/README.txt:
8302         * docs/manual/win32.xml:
8303         Fixed the plugin and GStreamer location
8304
8305 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8306
8307         * win32/gstreamer.def:
8308         More exports for the plugins
8309
8310 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8311
8312         * gst/gstinfo.h:
8313         Marc was right, we need to export literally GST_CAT_DEFAULT
8314
8315 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8316
8317         * win32/config.h:
8318         NLS crashes in gettext, disabled until this is solved
8319
8320 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8321
8322         * win32/gst-inspect.vcproj:
8323         * win32/gst-launch.vcproj:
8324         Should use NLS when available
8325
8326 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8327
8328         * gst/registries/gstxmlregistry.c:
8329         removing the file doesn't seem to be a good idea on Linux
8330
8331 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8332
8333         * gst/registries/gstxmlregistry.c:
8334         Remove the registry before renaming the tempfile (needed for Windows)
8335
8336 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8337
8338         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8339         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8340         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8341         * gst/elements/gstmultifilesrc.h:
8342         Added newmedia property so it generates newmedia events between each
8343         file when property is set, as well as fixed eos handling
8344
8345 2004-07-22  David Schleef  <ds@schleef.org>
8346
8347         * gst/gststructure.c: (gst_structure_id_empty_new),
8348         (gst_structure_empty_new):  Set type field correctly.
8349         * gst/gststructure.h: Check type field correctly.
8350         * testsuite/caps/Makefile.am:
8351         * testsuite/caps/structure.c: (test1), (main): Add a very small
8352         test for structures.
8353
8354 2004-07-22  David Schleef  <ds@schleef.org>
8355
8356         * docs/random/ds/0.9-suggested-changes: more comments
8357         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8358
8359 2004-07-22  Benjamin Otte  <otte@gnome.org>
8360
8361         * gst/gstelementfactory.c: (gst_element_register):
8362           set the factory in the class struct, so gst_element_get_factory
8363           actually works
8364         * gst/parse/grammar.y:
8365           set element to playing when it gets unlocked as we can't rely on the
8366           bin state - all elements in the bin state might still be locked in
8367           NULL)
8368
8369 2004-07-22  Benjamin Otte  <otte@gnome.org>
8370
8371         * gst/gstelement.c: (gst_element_set_state_func):
8372           make this a static function
8373
8374 2004-07-22  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8377         (gst_opt_scheduler_pad_link):
8378         fix 147894-2 and the group_link problem.
8379
8380 2004-07-22  Wim Taymans  <wim@fluendo.com>
8381
8382         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8383         (handoff_identity), (main):
8384         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8385         (handoff_identity), (main):
8386         * testsuite/schedulers/Makefile.am:
8387         * testsuite/schedulers/group_link.c: (main):
8388         Show bug in scheduler when linking chain and loop based element 
8389         where the chain based element was not yet in a group.
8390
8391 2004-07-21  Benjamin Otte  <otte@gnome.org>
8392
8393         * gst/.cvsignore:
8394         * gst/autoplug/.cvsignore:
8395         * gst/elements/.cvsignore:
8396         * gst/indexers/.cvsignore:
8397         * libs/gst/bytestream/.cvsignore:
8398         * libs/gst/control/.cvsignore:
8399         * libs/gst/getbits/.cvsignore:
8400         * testsuite/states/.cvsignore:
8401         * testsuite/threads/.cvsignore:
8402           keep this up to date, since I seem to be the only one who cares
8403           about not missing files on commits (editor's note: no you don't,
8404           but feel free to change them at the time you add stuff instead
8405           of later on)
8406
8407 2004-07-21  Benjamin Otte  <otte@gnome.org>
8408
8409         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8410         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8411         (gst_bin_child_state_change_func), (set_kid_state_func),
8412         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8413           make state changes work correctly and reentrant (so removing
8414           elements from bins during state changes of bins doesn't cause
8415           segfaults or even wrong states)
8416           add debugging category and debugging output to print children states
8417         * gst/gstbin.c: (gst_bin_dispose): 
8418           add some assertion checks
8419         * gst/gstbin.h:
8420         * gst/gstbin.c: (gst_bin_sync_children_state):
8421           deprecate this function - it just does gst_bin_set_state (bin,
8422           GST_STATE (bin)) 
8423         * testsuite/threads/queue.c: (main):
8424           don't use gst_bin_sync_children_state anymore
8425         * testsuite/states/Makefile.am:
8426         * testsuite/states/bin.c:
8427           test that the state changes of bins work as expected
8428         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8429           some adjustments to change states correctly, too
8430         * gst/gstthread.c: (gst_thread_change_state):
8431           don't enable/disable "threadsafe" properties, they're unused and
8432           cause random segfaults
8433         * testsuite/threads/Makefile.am:
8434           the queue check randomly passes now, ignore it
8435
8436 2004-07-21  Benjamin Otte  <otte@gnome.org>
8437
8438         * gst/gstpad.c:
8439           check if data is NULL before outputting debug info. (fixes #145100)
8440
8441 2004-07-21  Benjamin Otte  <otte@gnome.org>
8442
8443         * gst/schedulers/entryscheduler.c:
8444         (gst_entry_scheduler_loop_wrapper),
8445         (gst_entry_scheduler_chain_wrapper),
8446         (gst_entry_scheduler_get_wrapper):
8447           reset the state when the cothread starts, so we don't get assertion
8448           failures on restarting of cothreads
8449
8450 2004-07-20  Benjamin Otte  <otte@gnome.org>
8451
8452         * gst/gstelement.c: (gst_element_link_pads_filtered):
8453           use correct sinkpad, if only sinkpad is specified, but not srcpad
8454           (fixes #147889)
8455         * gst/gstelement.c: (gst_element_set_state_func),
8456         (gst_element_change_state): ref/unref the element, signal handlers
8457         could get rid of the element otherwise
8458
8459 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8460
8461         * docs/random/ds/0.9-suggested-changes:
8462           Make note about renaming fixed-list to array.
8463         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8464         (_gst_value_initialize):
8465           Add array intersections.
8466         * testsuite/caps/intersect2.c: (main):
8467           Add test for array intersections.
8468
8469 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * configure.ac: back to cvs
8472
8473 === release 0.8.4 ===
8474
8475 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8476
8477         * configure.ac:
8478           releasing 0.8.4, "Paella"
8479           bump libtool versioning
8480
8481 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * po/LINGUAS:
8484         * po/ca.po:
8485           adding Catalan translation (Jordi Mallach)
8486
8487 2004-07-20  Wim Taymans  <wim@fluendo.com>
8488
8489         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8490         (handoff_identity), (main):
8491         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8492         (handoff_identity), (main):
8493         * testsuite/schedulers/Makefile.am:
8494         Added failing testcase for variant of #147894
8495
8496 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         patch by: David Moore
8499
8500         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8501         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8502         (group_migrate_connected):
8503         * testsuite/schedulers/Makefile.am:
8504           fix for #142813 (Deadlock in optimal scheduler)
8505
8506 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8507
8508         patch by: Wim Taymans
8509
8510         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8511         (gst_opt_scheduler_schedule_run_queue),
8512         (gst_opt_scheduler_get_wrapper), (get_group),
8513         (group_migrate_connected):
8514         * testsuite/schedulers/Makefile.am:
8515           fix for #147819 (Add some checks in the opt scheduler)
8516
8517 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8518
8519         patch by: Benjamin Otte
8520
8521         * gst/gstelementfactory.c: (__gst_element_details_set):
8522           fix for #147929: running gst-register in non-utf8 locale can cause
8523           invalid registry
8524
8525 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8526
8527         patch by: Wim Taymans
8528
8529         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8530         (group_has_element), (element_get_reachables_func),
8531         (group_migrate_connected):
8532           fix for #147894 (opt scheduler decoupled elements mismanagement)
8533         * testsuite/schedulers/Makefile.am:
8534           testsuite app now passes
8535
8536 2004-07-19  Wim Taymans  <wim@fluendo.com>
8537
8538         * testsuite/schedulers/147819.c: (handoff_identity1),
8539         (handoff_identity2), (main):
8540         * testsuite/schedulers/Makefile.am:
8541         Added testcase for bug 147819
8542
8543 2004-07-19  Wim Taymans  <wim@fluendo.com>
8544
8545         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8546         (handoff_identity), (main):
8547         * testsuite/schedulers/Makefile.am:
8548         Added testcase for bug 147894
8549
8550 2004-07-16  Wim Taymans  <wim@fluendo.com>
8551
8552         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8553         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8554         * testsuite/schedulers/Makefile.am:
8555         Added testsuite for bug 142183 in its two incarnations. Refcount
8556         is not increased for scheduled elements and threadsafe properties
8557         mutexes are not properly unlocked.
8558
8559 2004-07-16  Wim Taymans  <wim@fluendo.com>
8560
8561         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8562         (create_chain), (destroy_chain), (create_group), (destroy_group),
8563         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8564         (group_dec_link), (gst_opt_scheduler_pad_link),
8565         (group_inc_links_for_element), (group_migrate_connected):
8566         Call group_inc_link with the proper src->sink ordering -- 
8567         break this, and we break sort_chain. patch from wingo for bug
8568         147713.
8569         Partially revert patch 1.89. When adding a loop based element to 
8570         the scheduler, the links to other groups are automatically followed
8571         and incremented. This should not happen because the bin will call
8572         pad_link explicitly for those connection, resulting in them counted 
8573         twice. Results in assertion failure on pipeline cleanup.
8574
8575 2004-07-16  Wim Taymans  <wim@fluendo.com>
8576
8577         * testsuite/schedulers/143777-2.c: (main):
8578         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8579         (main):
8580         * testsuite/schedulers/Makefile.am:
8581         Added cleanup code to testcase 143777-2.
8582         Added testcase to show bug 147713, does not really show the
8583         deadlock as I can't figure out how to trigger it, but it does
8584         demonstrate bad ordering in the scheduler.
8585
8586 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8589           change strndup to g_strndup.  Fixes #147707
8590
8591 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * po/af.po:
8594         * po/az.po:
8595         * po/cs.po:
8596         * po/en_GB.po:
8597         * po/fr.po:
8598         * po/nl.po:
8599         * po/sr.po:
8600         * po/sv.po:
8601         * po/tr.po:
8602         * po/uk.po:
8603           updated translations
8604
8605 2004-07-16  Benjamin Otte  <otte@gnome.org>
8606
8607         * gst/gstvalue.c: (gst_greatest_common_divisor):
8608           use ints and return ints, fractions only use ints, too, so this
8609           avoids accidently casting multiplications to unsigned
8610         (gst_value_lcopy_fraction): it's ints, not uint32
8611         (gst_value_set_fraction): disallow minint, multiplying and negation
8612           are broken with it
8613         (gst_value_fraction_multiply): fix to make large numbers work and get
8614         rid of the assumption that the multiplication of two ints fits an
8615         int64 - dunno if that's true for all systems
8616         * testsuite/caps/Makefile.am:
8617         * testsuite/caps/fraction-multiply-and-zero.c:
8618         (check_multiplication), (check_equal), (zero_test), (main):
8619           add tests for all the stuff above
8620         * testsuite/caps/value_compare.c: (test1):
8621           fix comment
8622         * tests/.cvsignore:
8623         * testsuite/caps/.cvsignore:
8624         * testsuite/debug/.cvsignore:
8625         * testsuite/dlopen/.cvsignore:
8626         * testsuite/states/.cvsignore:
8627           get up to date
8628
8629 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8630
8631         * docs/manual/bins-api.xml:
8632         * docs/manual/factories.xml:
8633         * docs/manual/helloworld.xml:
8634         * docs/manual/links-api.xml: 
8635           fixes for out of date info, incorrect info and grammar
8636
8637 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8638
8639         * docs/manual/pads.xml:
8640         * docs/manual/pads-api.xml: grammar fix
8641
8642 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8643
8644         * docs/manual/pads-api.xml: typo + grammar fix
8645
8646 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8647
8648         * docs/gst/gstreamer-sections.txt:
8649           add new symbols
8650         * docs/gst/tmpl/gstelement.sgml:
8651         * docs/gst/tmpl/gstpad.sgml:
8652         * docs/gst/tmpl/gsttypes.sgml:
8653         * docs/gst/tmpl/gstvalue.sgml:
8654           update docs
8655         * gst/gststructure.c: (gst_structure_set_valist),
8656         (gst_structure_from_abbr), (gst_structure_to_abbr):
8657         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8658         (gst_greatest_common_divisor), (gst_value_init_fraction),
8659         (gst_value_copy_fraction), (gst_value_collect_fraction),
8660         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8661         (gst_value_get_fraction_numerator),
8662         (gst_value_get_fraction_denominator),
8663         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8664         (gst_value_deserialize_fraction),
8665         (gst_value_transform_fraction_string),
8666         (gst_value_transform_string_fraction),
8667         (gst_value_compare_fraction), (_gst_value_initialize):
8668         * gst/gstvalue.h:
8669           adding GstFraction GValue type, get/set, and multiply
8670         * testsuite/caps/Makefile.am:
8671         * testsuite/caps/fraction.c: (test), (main):
8672         * testsuite/caps/string-conversions.c: (main):
8673         * testsuite/caps/value_compare.c: (test1), (main):
8674           add regression tests for GstFraction
8675
8676 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8677         
8678         * docs/manual/init-api.xml: Grammar fix
8679
8680 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8681
8682         * docs/manual/states.xml: Fix inconsistent information
8683
8684 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * gst/gstelement.c: (gst_element_set_state):
8687         * gst/gstpad.c: (gst_pad_try_set_caps):
8688         * gst/gststructure.c:
8689         * gst/gstthread.c: (gst_thread_child_state_change):
8690         * gst/gstvalue.c: (gst_value_compare_double):
8691         * gst/gstvalue.h:
8692         * testsuite/parse/parse1.c: (main):
8693           debugging additions and style cleanups
8694
8695 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8696
8697         * docs/manual/states.xml: Grammar fix
8698
8699 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8700
8701         * docs/manual/pads.xml: Grammar fix
8702
8703 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8704
8705         * docs/manual/elements.xml: Fixed image reference
8706
8707 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8708
8709         * docs/manual/goals.xml: Grammar fix
8710
8711 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8712
8713         * docs/manual/motivation.xml:
8714         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8715
8716 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8717
8718         * docs/manual/motivation.xml: Fix spelling
8719
8720 2004-07-15  Benjamin Otte  <otte@gnome.org>
8721
8722         * gst/gstelement.h: 
8723           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8724           strings.
8725         * gst/gstelement.c (gst_element_class_init):
8726           GError's are boxed, not objects
8727         * gst/gstmarshal.list:
8728           update list for the fixed error signal
8729
8730 2004-07-14  Andy Wingo  <wingo@pobox.com>
8731
8732         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8733         there all along, but the function wasn't. (guile-gstreamer's build
8734         system uses the address of the function -- I wasn't actually
8735         trying to use this.)
8736
8737 2004-07-14  Andy Wingo  <wingo@pobox.com>
8738
8739         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8740         as gst_pad_proxy_pad_link) just link to every other pad when they
8741         are called. In the case where the graph has cycles, this will mean
8742         that a call to try_set_caps will recurse. Allow this recursion
8743         and return OK, while we wait for the first try_set_caps to give a
8744         proper return value.
8745         (gst_pad_link_call_link_functions): Since this function is the
8746         only one to set the NEGOTIATING flag on a pad, if the flag is set
8747         it means that the link functions have indirectly recursed. If this
8748         happens, error out to avoid infinite recursion and an eventual
8749         SEGV.
8750         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8751         (gst_pad_proxy_getcaps): Intersect the result with the template
8752         caps to ensure that the return value is valid.
8753
8754 2004-07-14  Andy Wingo  <wingo@pobox.com>
8755
8756         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8757         one refcount, the calling function is the owner of the buffer.
8758
8759 2004-07-14  Wim Taymans  <wim@fluendo.com>
8760
8761         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8762         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8763         Fix stupid warning when an element is to be migrated but
8764         is already migrated.
8765
8766 2004-07-14  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8769         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8770         Make sure that a single non-loop-based element does not 
8771         end up in a group. This fixes the testsuite again.
8772
8773 2004-07-14  Wim Taymans  <wim@fluendo.com>
8774
8775         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8776         (add_to_group), (merge_groups), (schedule_group),
8777         (gst_opt_scheduler_get_wrapper), (group_elements),
8778         (group_dec_link), (gst_opt_scheduler_pad_link),
8779         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8780         (gst_opt_scheduler_iterate):
8781         move isolated groups to a new chain.
8782         Emit a warning instead of segfaulting in some error cases.
8783         Fix a bug where the link count between groups was not calculated 
8784         correctly. Fixes #144510.
8785
8786 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8787         * gst/elements/gstfilesrc.c:
8788           Binary files support under Windows now OK
8789       
8790 2004-07-13  Benjamin Otte  <otte@gnome.org>
8791
8792           compatibility fixes for Solaris 8/gcc 2.95
8793         * configure.ac:
8794           include libintl libs in LDFLAGS
8795         * gstvalue.c (gst_value_deserialize_buffer):
8796           cast isxdigit stuff to int to silence compiler warning
8797
8798 2004-07-12  Benjamin Otte  <otte@gnome.org>
8799
8800         * gst/gsttypes.h:
8801           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8802           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8803           just causes support madness
8804         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8805           make it work without this
8806         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8807         (gst_file_index_commit):
8808           glib IO channels don't want binary mode
8809         * testsuite/bytestream/filepadsink.c: (main):
8810         * testsuite/bytestream/test1.c: (read_param_file):
8811           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8812
8813 2004-07-12  Benjamin Otte  <otte@gnome.org>
8814
8815         * gst/gstelement.c: (gst_element_class_init),
8816         (gst_element_set_state), (gst_element_set_state_func):
8817           virutalize gst_element_set_state, use set_state member in class
8818           struct that was already added in 0.7 for this.
8819         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8820         (gst_bin_change_state):
8821           make gst_bin_foreach works similar to other foreach functions, plug
8822           memleaks in it. Make functions using it work with the new approach.
8823           Document gst_bin_foreach, so it can be exported if we want to
8824         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8825           use virtualized set_state to make set_state on bins set the state of
8826           all its children.
8827
8828 2004-07-12  Benjamin Otte  <otte@gnome.org>
8829
8830         * configure.ac:
8831           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8832           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8833         * gst/gstpad.c: (gst_pad_alloc_buffer):
8834           allow buffer_alloc functions to return NULL and allocate a normal
8835           buffer in that case
8836
8837 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8838         * gst/elements/gstfilesink.c:
8839         * gst/elements/gstfilesrc.c:
8840         * gst/indexers/gstfileindex.c:
8841         * gst/gsttypes.h:
8842         * testsuite/bytestream/filepadsink.c:
8843         * testsuite/bytestream/test1.c:
8844           Handle binary files under Windows
8845
8846 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8847         * docs/manual/win32.xml:
8848         * win32/config.h:
8849         * win32/gst-register.vcproj:
8850         * win32/gstreamer.def:
8851           Update to another gettext public build
8852
8853 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8854         * gst/gstplugin.c:
8855           Fix an impossible C syntax
8856         * win32/config.h:
8857           Disable i18n under Windows for the moment
8858         * win32/gst-register.vcproj:
8859           Use this configuration
8860
8861 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8862         * docs/manual/quotes.xml:
8863           Keep the quotes file alive
8864         * docs/random/ds/0.9-suggested-changes:
8865           Add the suggestion of including a 'rowstride' as part of video
8866           format caps
8867
8868 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8869
8870         * gst/gstelement.c: (gst_element_set_state),
8871         (gst_element_change_state):
8872           d'oh.  Set PENDING state correctly before forcing bin to change.
8873         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8874         (gst_structure_parse_fixed_list):
8875         * gst/schedulers/gstoptimalscheduler.c:
8876         (gst_opt_scheduler_state_transition):
8877         * testsuite/states/parent.c: (main):
8878           remove comment now that it's fixed.
8879
8880 2004-07-11  Benjamin Otte  <otte@gnome.org>
8881
8882         * gst/gstclock.h:
8883           GST_SECOND shouldn't cause a conversion to unsigned.
8884         * testsuite/clock/.cvsignore:
8885         * testsuite/clock/Makefile.am:
8886         * testsuite/clock/signedness.c: (main):
8887           make sure it never will again
8888
8889 2004-07-11  Andy Wingo  <wingo@pobox.com>
8890
8891         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8892         whose state is higher than the bin state, raise the bin state to
8893         ensure that bin state := highest child state.
8894         
8895 2004-07-11  Andy Wingo  <wingo@pobox.com>
8896
8897         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8898         procedure on the children of a bin. Assumes that the procedure can
8899         change the set of children.
8900         (set_kid_state_func): New static function.
8901         (gst_bin_change_state): Use gst_bin_foreach to call
8902         set_kid_state_func. Fixes a bug: if a child had a state-change
8903         handler that removes it from the bin, there would be a segfault.
8904         Hopefully it should also work in the case where the state-change
8905         handler on one child adds or removes other children. In any case,
8906         fixes should go to gst_bin_foreach.
8907
8908 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8909
8910         * gst/gstelement.c: (gst_element_set_state):
8911           compatibility fix for latest plugins release.  Change loop back
8912           to while {}
8913
8914 2004-07-09  Wim Taymans  <wim@fluendo.com>
8915
8916         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8917         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8918         (gst_thread_main_loop):
8919         Since remove is virtual in GstBin we must not assume the 
8920         elements GList to have anothing useful.
8921         Add some more logging to GstThread and be a bit more paranoid
8922         when resetting the scheduler.
8923         Set the state of the bin to NULL before removing the children.
8924
8925 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8926
8927         * testsuite/threads/Makefile.am:
8928         * testsuite/threads/threadg.c:
8929           added test to check if problem when removing all elements from a
8930           GstThread before setting GstThread state to NULL
8931
8932 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8933
8934         * docs/gst/tmpl/gstelement.sgml:
8935         * docs/gst/tmpl/gsttypes.sgml:
8936         * gst/gstbin.c: (gst_bin_change_state):
8937         * gst/gstelement.c: (gst_element_set_state),
8938         (gst_element_change_state):
8939           rework so that for bins we try to set the state on all children
8940           as well even if the bin is in the correct state already.
8941           change while to do so at least one iteration is done.
8942           For regular elements, we fall back to the previous behaviour for
8943           now since we first need a new plugins release.
8944         * testsuite/states/parent.c: (main):
8945           test for this case
8946           Fixes #123774
8947
8948 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8949
8950         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8951         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8952         (gst_queue_release_locks), (gst_queue_change_state),
8953         (gst_queue_set_property):
8954           add proper lock debugging.  Change dispose to finalize, since
8955           we're freeing mutexes and other stuff which should happen only once.
8956
8957 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8958
8959         * docs/gst/tmpl/gstelement.sgml:
8960         * docs/gst/tmpl/gstplugin.sgml:
8961         * docs/gst/tmpl/gsttypes.sgml:
8962         * docs/pwg/building-state.xml:
8963         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8964         * gst/gstelement.c: (gst_element_change_state):
8965         * gst/gstthread.c: (gst_thread_change_state):
8966           catch wrong state changes in element base class.
8967
8968 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8969
8970         * gst/gstinfo.h:
8971           clean up layout a little.
8972
8973 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8974
8975         * configure.ac:
8976         * testsuite/Makefile.am:
8977         * testsuite/states/Makefile.am:
8978         * testsuite/states/parent.c: (main):
8979           re-enable states testsuite dir.  Add test for state changes and
8980           parent behaviour
8981
8982 2004-07-09  Wim Taymans  <wim@fluendo.com>
8983
8984         * gst/schedulers/gstoptimalscheduler.c:
8985         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8986         (element_get_reachables_func), (element_get_reachables),
8987         (debug_element), (rechain_group), (group_migrate_connected),
8988         (gst_opt_scheduler_pad_unlink):
8989         Do not try to migrate decoupled elements to a new group since
8990         they are not added to groups.
8991
8992 2004-07-08  Benjamin Otte  <otte@gnome.org>
8993
8994         * gst/gstelement.c: (gst_element_error_func):
8995           make reentrant (= allow removing elements in error handler)
8996
8997 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8998
8999         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9000         (gst_pad_send_event), (gst_pad_call_chain_function):
9001           events sent to elements below PAUSED cannot be handled, so
9002           don't try to
9003
9004 2004-07-08  Wim Taymans  <wim@fluendo.com>
9005
9006         * gst/schedulers/gstoptimalscheduler.c:
9007         (chain_recursively_migrate_group), (create_group),
9008         (schedule_group), (gst_opt_scheduler_pad_link),
9009         (group_elements_set_visited), (element_get_reachables_func),
9010         (element_get_reachables), (group_can_reach_group), (debug_element),
9011         (rechain_group), (group_migrate_connected),
9012         (gst_opt_scheduler_pad_unlink):
9013         * testsuite/schedulers/Makefile.am:
9014         Implemented group splitting and rechaining.
9015         Fixes 143777 and 143777-2 in the testsuite.
9016
9017 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9018
9019         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
9020           extra debugging
9021         * gst/gstevent.h:
9022         * gst/gstinfo.c: (gst_debug_log_default):
9023           print time nicely.  add thread pointer until someone figures out
9024           a completely portable way of getting at thread id's.
9025         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
9026         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
9027         (gst_pad_call_chain_function):
9028           extra debugging
9029         * gst/schedulers/gstoptimalscheduler.c:
9030         (get_group_schedule_function), (loop_group_schedule_function),
9031         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
9032         (pad_clear_queued), (gst_opt_scheduler_iterate):
9033           rename BUFPEN and friends to DATAPEN since that's what they are.
9034
9035 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9036
9037         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
9038         * gst/gstbuffer.h:
9039         * gst/gstpad.c:
9040           cleanups and debugging
9041
9042 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9043
9044         * configure.ac:
9045         * gst/gstvalue.c: (gst_value_compare_enum),
9046         (gst_value_serialize_enum), (gst_value_deserialize_enum),
9047         (gst_value_can_compare), (gst_value_compare):
9048         * testsuite/Makefile.am:
9049         * testsuite/enumcaps/Makefile.am:
9050         * testsuite/enumcaps/enumcaps.c:
9051           Fix enum serialization, deserialization, comparison in caps, add
9052           a test to ensure that this continues working in the future.
9053
9054 2004-07-06  David Schleef  <ds@schleef.org>
9055
9056         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9057         Fix memleak.
9058
9059 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9060
9061         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
9062         * gst/gstplugin.h:
9063         * gst/registries/gstxmlregistry.c:
9064         (plugin_times_older_than_recurse), (plugin_times_older_than),
9065         (gst_xml_registry_parse_padtemplate):
9066           only rebuild registry when actual plugins have a newer time than
9067           the registry.  Fixes #145520
9068
9069 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9070
9071         * docs/manual/manual.xml:
9072         * docs/manual/win32.xml:
9073           add chapter on win32 building.  fixes #142422
9074
9075 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9076
9077         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
9078
9079         * gst/autoplug/gstspider.c: (gst_spider_init),
9080         (gst_spider_dispose):
9081           fix spider memleaks.  fixes #137863
9082
9083 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9084
9085         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
9086
9087         * gst/schedulers/gstoptimalscheduler.c:
9088         (gst_opt_scheduler_pad_unlink):
9089           fix SIGBUS error, fixes #145338
9090
9091 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9092
9093         * gst/gstobject.c: (gst_object_replace):
9094         * gst/gstscheduler.c: (gst_scheduler_get_clock):
9095         * gst/gstsystemclock.c: (gst_system_clock_obtain):
9096           clean up clock lifecycle.  Fixes #109831
9097
9098 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9099
9100         * po/LINGUAS:
9101         * po/cs.po:
9102           added Czech translation (Miloslav Trmac)
9103
9104 2004-07-04  David Schleef  <ds@schleef.org>
9105
9106         * tools/Makefile.am:
9107         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
9108
9109 2004-07-04  David Schleef  <ds@schleef.org>
9110
9111         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
9112
9113 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * gst/gstbin.c: (gst_bin_restore_thyself):
9116           chain to parent restore so the bins get restored correctly
9117           in the editor
9118
9119 2004-07-03  David Schleef  <ds@schleef.org>
9120
9121         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9122         Actually do something in these functions, like before the big
9123         caps change.  (bug #145137)
9124
9125 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
9128         (gst_element_get_compatible_pad_filtered):
9129         * gst/gstthread.c: (gst_thread_main_loop):
9130           more debugging
9131
9132 2004-07-02  David Schleef  <ds@schleef.org>
9133
9134         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
9135         * gst/gstobject.h:
9136         * gst/gstparse.h:
9137         * gst/gsttrace.h:
9138         * gst/gstxml.h:
9139
9140 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9141
9142         * gst/gstpad.c: (gst_pad_check_schedulers),
9143         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9144         (gst_pad_link_prepare):
9145           revert until testsuite is fixed
9146
9147 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9148
9149         * testsuite/Makefile.am:
9150         * testsuite/caps/filtercaps.c: (main):
9151         * testsuite/clock/clock1.c: (main):
9152         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
9153           fix some more tests
9154
9155 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9156
9157         * testsuite/cleanup/cleanup1.c: (create_pipeline):
9158         * testsuite/cleanup/cleanup2.c: (create_pipeline):
9159         * testsuite/cleanup/cleanup4.c: (main):
9160           fix testsuite
9161
9162 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9163
9164         * libs/gst/control/control.c:
9165         * libs/gst/control/dparam.c:
9166         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
9167         * libs/gst/control/dparammanager.c:
9168         * libs/gst/control/dparammanager.h:
9169         * testsuite/dynparams/Makefile.am:
9170         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
9171         (gst_dptest_change_state), (gst_dptest_chain), (main):
9172           fix testcase for dparams
9173           add debugging category
9174
9175 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9176
9177         * testsuite/Rules:
9178           change path
9179
9180 2004-07-02  Benjamin Otte  <otte@gnome.org>
9181
9182         * tests/.cvsignore:
9183         * tests/Makefile.am:
9184         * tests/mass_elements.c: (gst_get_current_time), (main):
9185           add simple benchmark to test various speeds of fakesrc ! identity !
9186           identity ! ... ! fakesink.
9187           Usage: mass_elements [num_identities] [num_buffers]
9188           If not specified they default to 1000.
9189
9190 2004-07-02  Benjamin Otte  <otte@gnome.org>
9191
9192         * gst/gstpad.c: (gst_pad_check_schedulers),
9193         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9194         (gst_pad_link_prepare):
9195           check that pads that get linked belong to the same manager. The old
9196           code allowed linking elements before putting them into bins, so it
9197           worked to link them and then put them in different threads, which
9198           lead to weird behaviour.
9199           Since this effectively disallows linking elements before putting
9200           them in a bin, some applications might not work after this and error
9201           out. If these applications are too critical, we might need to revert
9202           that patch. Please test this before the next release...
9203
9204 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9205
9206         * gst/gstpad.c: (gst_pad_get_caps):
9207           throw an error if the getcaps function does not return a subset of
9208           the template caps.
9209         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
9210           make disconts without position info an error in debugging
9211         * tests/spidey_bench.c: (handoff), (main):
9212           don't count first try when averaging
9213
9214 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9215
9216         * gst/gstplugin.c: (gst_plugin_load_file):
9217           figure out problem with dynamic test
9218
9219 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * docs/gst/Makefile.am:
9222           fix docs build
9223
9224 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9225
9226         * po/POTFILES.in:
9227         * po/af.po:
9228         * po/az.po:
9229         * po/en_GB.po:
9230         * po/fr.po:
9231         * po/nl.po:
9232         * po/sr.po:
9233         * po/sv.po:
9234         * po/tr.po:
9235         * po/uk.po:
9236         * tools/gst-register.c: (plugin_added_func), (main):
9237           i18n-ize -register, fix plural
9238
9239 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9240
9241         * gst/elements/gstidentity.c: (gst_identity_class_init),
9242         (gst_identity_init), (gst_identity_chain),
9243         (gst_identity_set_property), (gst_identity_get_property):
9244         * gst/elements/gstidentity.h:
9245           check for perfect stream
9246
9247 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9248
9249         * gst/elements/gstidentity.c: (gst_identity_chain):
9250           print offset_end
9251
9252 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * docs/gst/Makefile.am:
9255         * docs/gst/gstreamer-docs.sgml:
9256           doc fixes
9257
9258 2004-06-24  David Schleef  <ds@schleef.org>
9259
9260         * autogen.sh:  Remove call to env, since the buildbot isn't
9261         broken anymore.
9262
9263 2004-06-24  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/elements/Makefile.am:
9266         * gst/elements/gstelements.c:
9267         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9268         (gst_multifdsink_class_init), (gst_multifdsink_init),
9269         (gst_multifdsink_add), (gst_multifdsink_remove),
9270         (gst_multifdsink_clear), (gst_multifdsink_chain),
9271         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9272         * gst/elements/gstmultifdsink.h:
9273         Added an element that writes to multiple filedescriptors at once.
9274
9275 2004-06-24  Benjamin Otte  <otte@gnome.org>
9276
9277         * gst/parse/grammar.y:
9278           don't try to link elements before they have been added to bins
9279
9280 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9281
9282         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9283         (gst_file_pad_get_length):
9284         * libs/gst/bytestream/filepad.h:
9285           add 2 new functions
9286
9287 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9288
9289         * docs/gst/gstreamer-sections.txt:
9290         remove from docs, the define that Benjamin removed from gstelement.h
9291
9292 2004-06-22  Benjamin Otte  <otte@gnome.org>
9293
9294         * gst/gstelement.h:
9295           remove define that referenced a nonexisting GstElement struct member
9296
9297 2004-06-20  Benjamin Otte  <otte@gnome.org>
9298
9299         * gst/gstdata.c: (gst_data_is_writable):
9300           whoops, return values were wrong, so writable data was marked as
9301           non-writable and vice versa. (fixes #143953, spotted by Francis
9302           Labonte)
9303           Shows how rarely we need to copy data ;)
9304
9305 2004-06-20  Benjamin Otte  <otte@gnome.org>
9306
9307         * testsuite/schedulers/.cvsignore:
9308         * testsuite/schedulers/Makefile.am:
9309         * testsuite/schedulers/143777-2.c: (main):
9310           add test for opt breakage in bug #143777
9311
9312 2004-06-20  Benjamin Otte  <otte@gnome.org>
9313
9314         * gst/gstpad.c: (gst_pad_call_chain_function):
9315           check for if we were unlinked while inside the chainfunction (fixes
9316           entrygthread having issues with #143777)
9317         * testsuite/schedulers/143777.c: (main):
9318         * testsuite/schedulers/Makefile.am:
9319           add a test for that fix
9320
9321 2004-06-20  Benjamin Otte  <otte@gnome.org>
9322
9323         * gst/gstvalue.c: (gst_value_set_int_range):
9324           test that start is smaller then end
9325         * libs/gst/bytestream/Makefile.am:
9326         * libs/gst/bytestream/filepad.c: 
9327         * libs/gst/bytestream/filepad.h:
9328           add GstFilePad - a pad that behaves like a FILE*
9329         * testsuite/bytestream/.cvsignore:
9330         * testsuite/bytestream/Makefile.am:
9331         * testsuite/bytestream/filepadsink.c: 
9332           test for the GstFilePad
9333
9334 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9335
9336         * gst/elements/gstidentity.c: (gst_identity_class_init),
9337         (gst_identity_init), (gst_identity_set_clock),
9338         (gst_identity_chain), (gst_identity_set_property),
9339         (gst_identity_get_property):
9340         * gst/elements/gstidentity.h:
9341         * gst/gstclock.c: (gst_clock_id_wait):
9342           add a "sync" property to sync to the clock
9343
9344 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9345
9346         * gst/gstelementfactory.c: (gst_element_factory_create):
9347           make the freakin "elementfactory bla has no type" message more
9348           useful. So we actually can do something when someone shows up
9349           complaining about it.
9350
9351 2004-06-15  Johan Dahlin  <johan@gnome.org>
9352
9353         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9354         found. This matches the old behavior better. Thanks to Thomas for
9355         pointing out.
9356
9357 2004-06-14  David Schleef  <ds@schleef.org>
9358
9359         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9360         -fomit-frame-pointer.  Appears to generate correct code in
9361         other cases as well.
9362
9363 2004-06-14  Johan Dahlin  <johan@gnome.org>
9364
9365         * tools/gst-inspect.c (main): Add two new command line options: -a
9366         to print all elements and -n to print the name on each line. Also
9367         fix some error reporting.
9368         (main): Simplify, remove -n and always print names if -a is specified
9369
9370 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9371
9372         * win32/gstconfig.h:
9373         * win32/GSTreamer.vcproj:
9374         * win32/Makefile:
9375         * gst/gstconfig.h.in:
9376         * gst/gst.h:
9377         * gst/gstbin.h:
9378         * gst/gstelement.h:
9379         * gst/gstevent.h:
9380         * gst/gstobject.h:
9381         * gst/gstpad.h:
9382         * docs/gst/gstreamer-sections.txt:
9383         * docs/gst/tmpl/gstconfig.sgml:
9384           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9385
9386 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9387         * docs/gst/gstreamer-sections.txt:
9388         * docs/gst/tmpl/gstconfig.sgml:
9389         Add the GSTREAMER_EXPORT macro to the docs
9390
9391 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9392
9393         * tools/gst-compprep.c: (handle_xmlerror), (main):
9394         Add a check for the version that introduced SetStructuredError to fix
9395         the build on FC1
9396
9397 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9398
9399         * win32/msvc71.sln:
9400         * win32/testsuite/:
9401           prepare to compile the testsuite with MSVC
9402
9403 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9404
9405         * docs/manual/win32.xml:
9406           attempt to transform the Win32 README into an XML doc
9407
9408 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9409
9410         * gst/gst.c:
9411         * gst/gstbin.*:
9412         * gst/config.h.in:
9413         * gst/gstelement.*:
9414         * gst/gstevent.h:
9415         * gst/gstobject.*:
9416         * gst/gstpad.h:
9417         * tools/gst-register.c:
9418         * win32/gstreamer.def:
9419           extern symbols are now exported for the Windows DLL
9420
9421 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9422
9423         * gst/gstinfo.h:
9424           fix a problem to enable/disable DEBUG under MSVC
9425
9426 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9427
9428         * win32/:
9429           enable more debug code in DEBUG build
9430
9431 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9432
9433         * win32/config.h:
9434         * gst/gst-i18n-app.h:
9435           enable NLS under Windows
9436
9437 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9438         * tools/gst-compprep.c: (handle_xmlerror), (main):
9439           Make an error that baffled me a bit clearer
9440
9441 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9442
9443         * gst/gstqueue.c:
9444           don't use g_queue_get_length () because it's 2.4, use ->length
9445
9446 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9447
9448         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9449
9450         * tools/gst-inspect.c: (print_signal_info):
9451           don't free random data twice. (fixes #144185)
9452
9453 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9454
9455         * gst/gstqueue.c:
9456         * gst/gstqueue.h:
9457           fix removing from the wrong queue on event timeout
9458           fix disposing of the event queue by casting correctly
9459           add mutexes for handling the event queue
9460           someone was sleeping when fixing queue last time around :)
9461
9462 2004-06-10  Johan Dahlin  <johan@gnome.org>
9463
9464         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9465         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9466
9467 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9468
9469         * docs/random/gdp:
9470         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9471         * libs/gst/dataprotocol/dataprotocol.c:
9472         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9473         (gst_dp_buffer_from_header):
9474         * libs/gst/dataprotocol/dataprotocol.h:
9475         * libs/gst/dataprotocol/dp-private.h:
9476           rev version to 0.1, add buffer flags and copy them
9477
9478 2004-06-09  Johan Dahlin  <johan@gnome.org>
9479
9480         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9481         the flags from the buffer we're copying.
9482
9483 2004-06-09  Wim Taymans  <wim@fluendo.com>
9484
9485         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9486         * gst/elements/gstidentity.c: (gst_identity_init),
9487         (gst_identity_chain):
9488         Print more buffer info in fakesink.
9489         Make identity output similar to fakesink.
9490
9491 2004-06-07  Daniel Gazard  <dany42@free.fr>
9492
9493         reviewed by Benjamin Otte  <otte@gnome.org>
9494
9495         * configure.ac:
9496           fix cross compiling not working. (fixes #143741)
9497
9498 2004-06-07  Benjamin Otte  <otte@gnome.org>
9499
9500         * gst/gstelement.c: (gst_element_set_time_delay):
9501           add failure check
9502         * gst/gstinfo.h:
9503           put brackets around macro arguments of GST_TIME_ARGS, add note to
9504           move it to correct header in 0.9
9505
9506 2004-06-07  Benjamin Otte  <otte@gnome.org>
9507
9508         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9509         (gst_file_index_load), (_file_index_id_save_entries),
9510         (gst_file_index_commit), (gst_file_index_add_association),
9511         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9512         (gst_file_index_plugin_init):
9513           make debugging use a default category
9514
9515 2004-06-06  David Moore  <dcm@acm.org>
9516
9517         reviewed by Benjamin Otte  <otte@gnome.org>
9518
9519         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9520         (gst_fdsrc_change_state):
9521           reset offset counter when going READY => PAUSED. (fixes #142903)
9522
9523 2004-06-06  ed@catmur.co.uk
9524
9525         reviewed by Benjamin Otte  <otte@gnome.org>
9526
9527         * gst/registries/gstxmlregistry.c:
9528         (gst_xml_registry_rebuild_recurse):
9529           don't rely on g_dir_open to figure out if a file is a directory, use
9530           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9531           directories. (fixes #142850)
9532
9533 2004-06-06  Benjamin Otte  <otte@gnome.org>
9534
9535         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9536           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9537         * libs/gst/bytestream/adapter.c:
9538         * libs/gst/bytestream/adapter.h:
9539           fix copyright in header and typo in debugging category name
9540
9541 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9542
9543         * configure.ac:
9544           bump nano to cvs
9545
9546 === release 0.8.3 ===
9547
9548 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * configure.ac:
9551           update libtool versioning
9552           do a new release
9553         * docs/gst/tmpl/gstelement.sgml:
9554         * docs/gst/tmpl/gsttypes.sgml:
9555         * gst/gstinfo.c: (_gst_debug_init):
9556           put back GST_CAT_DATAFLOW to fix API breakage
9557
9558 2004-06-04  David Schleef  <ds@schleef.org>
9559
9560         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9561
9562 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9563
9564         * configure.ac:
9565           bump nano to cvs
9566
9567 === release 0.8.2 ===
9568
9569 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9570
9571         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9572           check GST_DEBUG environment variable which is parsed the same way
9573           as --gst-debug=
9574
9575 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9576
9577         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9578                             gstmd5sink.c gstshaper.c gsttee.c
9579                             gsttypefindelement.c
9580         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9581
9582           - removing trailing commas at end of enums
9583             it is correct C99 code but C90 compilers would complain
9584             (AIX, Forte, ...)
9585             ('should' fix #143290, at least partially)
9586
9587 2004-05-27  Wim Taymans  <wim@fluendo.com>
9588
9589         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9590         (chain_group_set_enabled), (create_group), (add_to_group),
9591         (merge_groups), (setup_group_scheduler), (group_elements),
9592         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9593         Don't try to follow the pad connections with other groups
9594         when a loop based element is added to the scheduler because
9595         the bin will inform the scheduler about the pad links a little
9596         later.
9597
9598 2004-05-27  Wim Taymans  <wim@fluendo.com>
9599
9600         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9601         (remove_from_chain), (chain_group_set_enabled),
9602         (setup_group_scheduler), (group_element_set_enabled),
9603         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9604         (gst_opt_scheduler_show):
9605         Elements without a group can do a state change as well, just wait
9606         with the setup of the scheduling function when it is added to a
9607         chain.
9608
9609 2004-05-27  Wim Taymans  <wim@fluendo.com>
9610
9611         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9612         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9613         (merge_groups), (setup_group_scheduler),
9614         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9615         (gst_opt_scheduler_show):
9616         Fixes to maintain internal consistency of the scheduler data
9617         structures. 
9618          - adding an enabled group to a chain should increment the
9619            number of enabled elements in that chain.
9620          - removing an enabled group from a chain could disable the
9621            chain.
9622          - removing a disabled group from a chain could enable the
9623            chain.
9624          - add g_assert when internal inconsistency is detected.
9625          - adding an element to a group could increase the number of
9626            links this group has with other groups.
9627          - merging two groups also merges the chains.
9628          - also show group links in the _show method.
9629            
9630
9631 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9632
9633         * gst/gstcaps.c: (gst_caps_structure_simplify):
9634           don't print error messages when there is no error
9635         * gst/gstvalue.c: (gst_value_compare_int_range):
9636           compare the second value, too
9637         * testsuite/caps/Makefile.am:
9638         * testsuite/caps/random.c: (assert_on_error), (main):
9639           add tests to make sure the two things above are checked for
9640
9641 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9642
9643         * configure.ac:
9644         * libs/gst/dataprotocol/Makefile.am:
9645         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9646         * libs/gst/dataprotocol/dataprotocol.h:
9647           wrap header in GST_ENABLE_NEW.  make code use it
9648
9649 2004-05-23  Johan Dahlin  <johan@gnome.org>
9650
9651         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9652         so verbose and print GstElement signal names all the time.
9653
9654 2004-05-22  David Schleef  <ds@schleef.org>
9655
9656         * gst/registries/gstxmlregistry.c:
9657         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9658         (bug #142957)
9659
9660 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * configure.ac:
9663           scrub cflags for glib2 so gcc doesn't complain when glib is in
9664           /usr/local
9665
9666 2004-05-21  Johan Dahlin  <johan@gnome.org>
9667
9668         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9669         __GNUC__, patch from Brian Cameron, fixes bug #142804
9670
9671 2004-05-20  David Schleef  <ds@schleef.org>
9672
9673         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9674         comparison code.  (bug #142819)
9675
9676 2004-05-20  Wim Taymans  <wim@fluendo.com>
9677
9678         * gst/gstbuffer.c: (gst_buffer_default_copy):
9679         * gst/gstbuffer.h:
9680         Added Comment to a flag.
9681         copy relevant flags in _buffer_copy.
9682
9683 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         reviewed by: Wim Taymans <wim at fluendo dot com>
9686
9687         * gst/gstbuffer.h:
9688           add GST_BUFFER_IN_CAPS buffer flag
9689         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9690         (gst_structure_parse_any_list), (gst_structure_parse_list),
9691         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9692         * gst/gstvalue.c: (gst_value_serialize_any_list),
9693         (gst_value_transform_any_list_string),
9694         (gst_value_list_prepend_value), (gst_value_list_append_value),
9695         (gst_value_list_get_size), (gst_value_list_get_value),
9696         (gst_value_transform_list_string),
9697         (gst_value_transform_fixed_list_string),
9698         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9699         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9700         (_gst_value_initialize):
9701         * gst/gstvalue.h:
9702           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9703           < , > as a format.
9704         * testsuite/caps/string-conversions.c: (main):
9705           add regression tests for < >
9706
9707 2004-05-20  Johan Dahlin  <johan@gnome.org>
9708
9709         * docs/gst/Makefile.am (all-local): Re-add
9710
9711 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9712
9713         * docs/gst/Makefile.am:
9714         * docs/gst/gstreamer-docs.sgml:
9715         * docs/libs/Makefile.am:
9716         * docs/libs/gstreamer-libs-docs.sgml:
9717           fix distcheck issues
9718
9719 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * libs/gst/dataprotocol/Makefile.am:
9722           add to autotest
9723
9724 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         * libs/gst/dataprotocol/Makefile.am:
9727         * libs/gst/dataprotocol/dataprotocol.c:
9728         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9729         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9730         * libs/gst/dataprotocol/dp-private.h:
9731           use GST macros to read/write fixed length ints
9732           add some more asserts
9733
9734 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9735
9736         * docs/libs/gstreamer-libs-docs.sgml:
9737         * docs/libs/gstreamer-libs-sections.txt:
9738           remove idct and putbits
9739         * configure.ac:
9740         * docs/libs/tmpl/gstdataprotocol.sgml:
9741         * libs/gst/Makefile.am:
9742         * libs/gst/dataprotocol/Makefile.am:
9743         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9744         (buffer_test), (caps_test), (event_test), (main):
9745         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9746         (gst_dp_dump_byte_array), (gst_dp_init),
9747         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9748         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9749         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9750         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9751         (gst_dp_validate_header), (gst_dp_validate_payload),
9752         (gst_dp_validate_packet), (plugin_init):
9753         * libs/gst/dataprotocol/dataprotocol.h:
9754         * libs/gst/dataprotocol/dp-private.h:
9755           add dataprotocol
9756
9757 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9758
9759         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9760           fix int variable deserialization and add a helper so we can actually
9761           debug this.
9762
9763 2004-05-18  David Schleef  <ds@schleef.org>
9764
9765         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9766           argv[0].  Calling yourself is probably not the best way to
9767           construct a test like this, btw.
9768
9769 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9770
9771         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9772           don't claim to be more intelligent than a scheduler when the
9773           scheduler claims the pipeline is stopped
9774         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9775         (safe_cothread_destroy),
9776         (gst_entry_scheduler_remove_all_cothreads),
9777         (gst_entry_scheduler_reset), (_remove_cothread),
9778         (gst_entry_scheduler_state_transition):
9779           hold off cothread destruction if we're not in main cothread
9780         * configure.ac:
9781         * testsuite/Makefile.am:
9782           add new test dir
9783         * testsuite/schedulers/.cvsignore:
9784         * testsuite/schedulers/Makefile.am:
9785           add tests
9786         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9787           check relinking and adding/removing elements from a running pipeline
9788         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9789           check unlinking in a running pipeline
9790         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9791           check unreffing a running pipeline
9792         * testsuite/schedulers/useless_iteration.c: (main):
9793           check iterating a pipeline that contains running threads works
9794
9795 2004-05-18  David Schleef  <ds@schleef.org>
9796
9797         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9798           is false.
9799
9800 2004-05-18  Wim Taymans  <wim@fluendo.com>
9801
9802         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9803         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9804         Fixed an error introduced with patch for 1.63. When setting
9805         a get based element as the entry point in a group, make sure
9806         to mark the group as GET based.
9807
9808 2004-05-18  Wim Taymans  <wim@fluendo.com>
9809
9810         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9811         (setup_group_scheduler), (loop_group_schedule_function),
9812         (gst_opt_scheduler_pad_link):
9813         Added some more debug info and fixed a bug where the group
9814         type was set to LOOP but it was in fact unknown.
9815
9816 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9817
9818         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9819           make resetting scheduler work twice in a row
9820
9821 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9822
9823         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9824         (CREATE_USERIALIZATION), (_gst_value_initialize),
9825         (gst_value_compare_float), (gst_value_serialize_float),
9826         (gst_value_deserialize_float), (gst_value_compare_enum),
9827         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9828           add serialization and comparison functions for long, int64, enum and
9829           float values
9830         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9831           use best serialization function in type hierarchy instead of only a
9832           matching one. This is required for enums to work.
9833         * gst/parse/grammar.y:
9834           use gst_caps_deserialize
9835         * testsuite/parse/Makefile.am:
9836           parse1 now works
9837         * testsuite/parse/parse1.c: (main):
9838           remove aggregator check, aggregator is broken, this test works now
9839           but fails because of bug #138012
9840         * testsuite/parse/parse2.c: (main):
9841           s/xvideosink/xvimagesink - this test looks a lot like we should
9842           disable it
9843
9844 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9845
9846         * gst/gstelement.c: (gst_element_class_init):
9847           whoops, store the signal id correctly
9848         * gst/schedulers/gstbasicscheduler.c:
9849         (gst_basic_scheduler_chain_wrapper):
9850           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9851           chain function isn't linked
9852
9853 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9854         * configure.ac:
9855         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9856         support until we decide where the flags should be used
9857         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9858         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9859         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9860         Output refused caps in the debug info
9861
9862 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * gst/elements/gstidentity.c: (gst_identity_chain):
9865           add duration debug
9866         * gst/gstinfo.c: (gst_debug_log_default):
9867           add timestamp
9868
9869 2004-05-13  Benjamin Otte  <otte@gnome.org>
9870
9871         * gst/gstpipeline.c: (gst_pipeline_dispose),
9872         (gst_pipeline_change_state):
9873           call gst_scheduler_reset on dispose (fixes #141416)
9874
9875 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9876
9877         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9878           compute mapsize correctly
9879         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9880           use correct datatypes when calling a varargs function
9881         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9882           push a DISCONT event as first thing
9883         * gst/gst_private.h:
9884         * gst/gstinfo.c: (_gst_debug_init):
9885           remove GST_DATAFLOW debugging category
9886         * gst/gstbin.c: (gst_bin_iterate):
9887           use GST_SCHEDULING category
9888         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9889         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9890         (gst_pad_call_get_function):
9891           add GST_DATAFLOW to easily track flow of buffers or events.
9892         * gst/gstqueue.c: (gst_queue_get_type),
9893         (gst_queue_handle_pending_events), (gst_queue_chain),
9894         (gst_queue_get), (gst_queue_handle_src_event):
9895           use own static debugging category GST_DATAFLOW for dataflow,
9896           use DEBUG category for showing which path events go, use LOG
9897           category for buffers.
9898
9899 2004-05-10  David Schleef  <ds@schleef.org>
9900
9901         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9902
9903 2004-05-10  David Schleef  <ds@schleef.org>
9904
9905         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9906         symbols, because otherwise we don't know what they are.  Thanks,
9907         the GStreamer team.
9908         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9909
9910 2004-05-10  David Schleef  <ds@schleef.org>
9911
9912         (from Steve Lhomme)
9913         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9914         are deleted.  Fix.
9915         * win32/Makefile.inspect:
9916         * win32/Makefile.launch:
9917         * win32/Makefile.register:
9918
9919 2004-05-10  David Schleef  <ds@schleef.org>
9920
9921         * gst/gstinfo.h: Add missing inline function.
9922         * gst/gsttrace.c: add include
9923         * gst/parse/grammar.y: remove unused code
9924         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9925         more portable.
9926         * tools/gst-register.c: wrap unistd.h
9927         
9928         More additions/fixes from Steve for the MSVC build.
9929         * win32/GStreamer.vcproj:
9930         * win32/Makefile:
9931         * win32/Makefile.inspect:
9932         * win32/Makefile.launch:
9933         * win32/Makefile.register:
9934         * win32/README.txt:
9935         * win32/gst-inspect.vcproj:
9936         * win32/gst-launch.vcproj:
9937         * win32/gst-register.vcproj:
9938         * win32/gstbytestream.def:
9939         * win32/gstbytestream.vcproj:
9940         * win32/gstconfig.h:
9941         * win32/gstelements.def:
9942         * win32/gstelements.vcproj:
9943         * win32/gstenumtypes.c:
9944         * win32/gstenumtypes.h:
9945         * win32/gstoptimalscheduler.def:
9946         * win32/gstoptimalscheduler.vcproj:
9947         * win32/gstreamer.def:
9948         * win32/gstspider.def:
9949         * win32/gstspider.vcproj:
9950         * win32/gstversion.h:
9951         * win32/msvc71.sln:
9952
9953 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9954
9955         * gst/gstelement.c: (gst_element_class_init),
9956         (gst_element_no_more_pads):
9957         * gst/gstelement.h:
9958           add gst_element_no_more_pads and the "no-more-pads" signal
9959
9960 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9961
9962         * gst/gstregistry.c: (gst_registry_add_plugin):
9963           refuse to add plugins when a plugin with same name is already
9964           registered. Fixes a bunch of "How to remove plugins?" issues.
9965           May lead to other problems though, let's test
9966
9967 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9968
9969         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9970         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9971         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9972
9973 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9974
9975         * tests/Makefile.am: fix am16 issue
9976
9977 2004-05-09  Benjamin Otte  <otte@gnome.org>
9978
9979         * libs/gst/bytestream/Makefile.am:
9980           we should indeed add .c files to makefiles or they won't be built
9981           (d'oh)
9982
9983 2004-05-08  Benjamin Otte  <otte@gnome.org>
9984
9985         * gst/gstpad.c: (gst_pad_proxy_fixate):
9986           really reduce the set of caps
9987
9988 2004-05-08  Benjamin Otte  <otte@gnome.org>
9989
9990         * tests/Makefile.am:
9991         * tests/spidey_bench.c: (handoff), (main):
9992           add benchmark to test how long spider needs to create a pipeline
9993
9994 2004-05-08  Benjamin Otte  <otte@gnome.org>
9995
9996         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9997           mark links as unengaged when unnegotiating instead of deactivating.
9998           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9999
10000 2004-05-08  Benjamin Otte  <otte@gnome.org>
10001
10002         * docs/manual/helloworld.xml:
10003           s/audiosink/osssink (patch by Patrick Guimond)
10004
10005 2004-05-07  David Schleef  <ds@schleef.org>
10006
10007         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
10008         since it contains important stuff.
10009
10010 2004-05-07  David Schleef  <ds@schleef.org>
10011
10012         * testsuite/caps/caps.c: (test3), (main): A check for appending
10013         ANY caps.
10014
10015 2004-05-07  David Schleef  <ds@schleef.org>
10016
10017         * common/m4/as-compiler-flag.m4: Properly quote arguments,
10018         which may contain commas.  Fixes detection of -Wa,-mregnames
10019
10020 2004-05-06  David Schleef  <ds@schleef.org>
10021
10022         Changes to handle compilers that don't have variadic macro
10023         support.  In particular, glib headers define some inlines
10024         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
10025         builds.
10026         * gst/Makefile.am:
10027         * gst/cothreads.c:
10028         * gst/elements/gstfdsink.c:
10029         * gst/elements/gstfdsrc.c:
10030         * gst/elements/gstfilesink.c:
10031         * gst/elements/gstfilesrc.c:
10032         * gst/gst_private.h:
10033         * gst/gstatomic.c:
10034         * gst/gstcaps.c: (gst_caps_append):
10035         * gst/gstcpu.c: (gst_cpuid_i386):
10036         * gst/gstelement.c:
10037         * gst/gsterror.c:
10038         * gst/gstfilter.c:
10039         * gst/gstinfo.h:
10040         * gst/gstprobe.c:
10041         * gst/gstquery.c:
10042         * gst/gstregistry.c:
10043         * gst/gststructure.c:
10044         * gst/gsttaginterface.c:
10045         * gst/gsttrace.c: (gst_trace_new):
10046         * gst/gsttrashstack.c:
10047         * gst/gsturi.c:
10048         * gst/gstvalue.c:
10049         * gst/parse/grammar.y:
10050         * gst/parse/parse.l:
10051         * tools/gst-inspect.c: (main):
10052         * tools/gst-launch.c: (main):
10053         * tools/gst-xmlinspect.c: (PUT_STRING):
10054
10055 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10056
10057         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10058         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10059         * gst/elements/gstfilesrc.h:
10060           send NEW_MEDIA events correctly
10061         * gst/elements/gsttypefindelement.c: (start_typefinding),
10062         (gst_type_find_element_handle_event):
10063           restart typefinding when we get a NEW_MEDIA event
10064         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
10065         (gst_bin_dispose):
10066           don't die when someone removes elements in callbacks
10067         * gst/gstelement.c: (gst_element_change_state):
10068           improve debugging
10069         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
10070           we need a NEW_MEDIA event to engage a link
10071         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
10072           don't g_print debugging stuff
10073         * testsuite/caps/simplify.c: (check_caps):
10074
10075 2004-05-04  Benjamin Otte  <otte@gnome.org>
10076
10077         * gst/parse/grammar.y:
10078           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
10079
10080 2004-05-04  Benjamin Otte  <otte@gnome.org>
10081
10082         * testsuite/caps/renegotiate.c: (main):
10083           improve output in error case
10084
10085 2004-05-04  Benjamin Otte  <otte@gnome.org>
10086
10087         * gst/parse/grammar.y:
10088           fix assert to not trigger when there's no error argument
10089         * gst/parse/parse.l:
10090           fix definition of caps to allow more than two structures
10091         * testsuite/caps/Makefile.am:
10092         * testsuite/caps/renegotiate.c: (main):
10093           it's sinesrc and works in that case
10094
10095 2004-05-04  Wim Taymans  <wim@fluendo.com>
10096
10097         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
10098         (group_dec_link), (gst_opt_scheduler_pad_unlink):
10099         when removing an element from a group, we always need to
10100         decrement the link count that this group had with other 
10101         groups through the element.
10102         added an extra assert to catch inconsistencies when decrementing
10103         the link count.
10104
10105 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10106
10107         * configure.ac:
10108         * docs/gst/Makefile.am:
10109         * docs/gst/gstreamer-sections.txt:
10110         * docs/gst/tmpl/gstcompat.sgml:
10111         * examples/appreader/Makefile.am:
10112         * examples/cutter/Makefile.am:
10113         * examples/events/Makefile.am:
10114         * examples/helloworld/Makefile.am:
10115         * examples/helloworld2/Makefile.am:
10116         * examples/launch/Makefile.am:
10117         * examples/manual/Makefile.am:
10118         * examples/mixer/Makefile.am:
10119         * examples/pingpong/Makefile.am:
10120         * examples/plugins/Makefile.am:
10121         * examples/queue/Makefile.am:
10122         * examples/queue2/Makefile.am:
10123         * examples/queue3/Makefile.am:
10124         * examples/queue4/Makefile.am:
10125         * examples/retag/Makefile.am:
10126         * examples/thread/Makefile.am:
10127         * examples/typefind/Makefile.am:
10128         * examples/xml/Makefile.am:
10129         * gst/Makefile.am:
10130         * gst/autoplug/Makefile.am:
10131         * gst/elements/Makefile.am:
10132         * gst/gstcompat.h:
10133         * gst/indexers/Makefile.am:
10134         * gst/parse/Makefile.am:
10135         * gst/registries/Makefile.am:
10136         * gst/schedulers/Makefile.am:
10137         * libs/gst/bytestream/Makefile.am:
10138         * libs/gst/control/Makefile.am:
10139         * libs/gst/getbits/Makefile.am:
10140         * po/af.po:
10141         * po/az.po:
10142         * po/en_GB.po:
10143         * po/fr.po:
10144         * po/nl.po:
10145         * po/sr.po:
10146         * po/sv.po:
10147         * po/tr.po:
10148         * po/uk.po:
10149         * tests/Makefile.am:
10150         * tests/bufspeed/Makefile.am:
10151         * tests/instantiate/Makefile.am:
10152         * tests/memchunk/Makefile.am:
10153         * tests/muxing/Makefile.am:
10154         * tests/negotiation/Makefile.am:
10155         * tests/probes/Makefile.am:
10156         * tests/sched/Makefile.am:
10157         * tests/seeking/Makefile.am:
10158         * tests/threadstate/Makefile.am:
10159         * testsuite/caps/Makefile.am:
10160         * testsuite/cleanup/Makefile.am:
10161         * testsuite/dlopen/Makefile.am:
10162         * testsuite/dynparams/Makefile.am:
10163         * testsuite/plugin/Makefile.am:
10164         * testsuite/states/Makefile.am:
10165         * tools/Makefile.am:
10166           reorganize compile/link flags to be consistent
10167           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
10168
10169 2004-05-04  David Schleef  <ds@schleef.org>
10170
10171         The "once more, with feeling" check-in.
10172         * testsuite/caps/Makefile.am: dist caps_strings
10173         * testsuite/caps/renegotiate.c: (main): This test triggers a
10174           segfault in the core.  Marking as failing.
10175
10176 2004-05-03  David Schleef  <ds@schleef.org>
10177
10178         * testsuite/caps/deserialize.c: (main): Fix problems noticed
10179           by the build bots.
10180         * testsuite/caps/renegotiate.c: (main): Same.
10181
10182 2004-05-03  David Schleef  <ds@schleef.org>
10183
10184         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
10185
10186 2004-05-03  David Schleef  <ds@schleef.org>
10187
10188         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
10189           variable to find our source file.
10190
10191 2004-05-03  David Schleef  <ds@schleef.org>
10192
10193         * configure.ac:  Link plugins with libgstreamer and dependent
10194           libraries
10195         * testsuite/caps/Makefile.am:
10196         * testsuite/caps/caps_strings:
10197         * testsuite/caps/deserialize.c: (main): Add a little test to slog
10198           through a file of caps strings and test each one
10199
10200 2004-05-04  Benjamin Otte  <otte@gnome.org>
10201
10202         * libs/gst/bytestream/Makefile.am:
10203         * libs/gst/bytestream/adapter.c: 
10204         * libs/gst/bytestream/adapter.h:
10205           add GstAdapter, similar to bytestream, but doesn't require ugly event
10206           handling or uglier loopbased elements
10207
10208 2004-05-03  David Schleef  <ds@schleef.org>
10209
10210         * testsuite/caps/Makefile.am: Fix spelling of ??????????????????????
10211         * testsuite/caps/erathostenes.c:
10212         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
10213
10214 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10215
10216         * docs/pwg/pwg.xml:
10217           remove hardcoded stylesheet path (duh)
10218         * docs/random/release:
10219         * docs/gst/gstreamer-sections.txt:
10220         * gst/Makefile.am:
10221         * gst/gst.h:
10222         * gst/gst_private.h:
10223         * gst/gstcaps.c:
10224         * gst/gstevent.c:
10225         * gst/gstformat.c:
10226         * gst/gstinfo.c:
10227         * gst/gstinfo.h:
10228         * gst/gstinterface.c:
10229         * gst/gstmemchunk.c:
10230         * gst/gstprobe.c:
10231         * gst/gstquery.c:
10232         * gst/gstregistry.c:
10233         * gst/gstregistrypool.c:
10234         * gst/gststructure.c:
10235         * gst/gsttaginterface.c:
10236         * gst/gstthread.c:
10237         * gst/gsttrace.c:
10238         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10239         * gst/gsturi.c:
10240         * gst/gstvalue.c:
10241           deprecate gst_info; remove gstlog.h
10242    
10243
10244 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10245
10246         * Makefile.am:
10247         * po/en_GB.po:
10248         * po/sv.po:
10249         * po/uk.po:
10250           updated translations
10251
10252 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10253
10254         * gst/gstbin.c: (gst_bin_dispose):
10255           better debugging
10256
10257 2004-05-03  Johan Dahlin  <johan@gnome.org>
10258
10259         * gst/schedulers/gstoptimalscheduler.c
10260         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10261         really is a GstElement. Avoids critical when running gst-launch -v
10262         and a oggdemux/decoding pipeline.
10263
10264 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10265
10266         * docs/gst/tmpl/gstpipeline.sgml :
10267         * docs/manual/elements-api.xml :
10268                 doc fix by Patrick Guimond (Protector) from devel ML
10269                 reviewed by ronald
10270
10271 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10272
10273         * docs/gst/Makefile.am :
10274         * docs/libs/Makefile.am :
10275                 apply a patch from Arwed v. Merkatz so that gtk-doc
10276                 generated docs install (same for .devhelp file)
10277                 (fixes part 1 of #138836)
10278
10279 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10280
10281         * docs/faq/dependencies.xml: typo
10282         * docs/faq/getting.xml :
10283             - fix download URL for new gstreamer site
10284             - hide sf.net download page as latest version aren't there
10285             - fix apt URLs
10286             - fill "get via CVS" paragraph (link to dev page on the site)
10287         * docs/faq/general.xml:
10288             hide status tables as they no more exists
10289             change case on plugins license file to reflect reality
10290         * docs/faq/troubleshooting.xml:
10291             remove the wiki question/answer as there is no more wiki
10292
10293 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10294
10295         * gst/gsterror.h:
10296           include the headers needed for declarations used in this header
10297
10298 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10299
10300         * docs/random/uraeus/gstreamer_and_midi.txt :
10301           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10302           (fixes #132288)
10303
10304 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10305
10306         reviewed by Benjamin Otte  <otte@gnome.org>
10307
10308         * gst/schedulers/gthread-cothreads.h:
10309           free allocated data for main cothread, too when destroying context
10310           (fixes #141417)
10311
10312 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10313
10314         * docs/manual/goals.xml : remove duplicated paragraph at end 
10315         of doc page (fixes #141448)
10316
10317 2004-04-29  David Schleef  <ds@schleef.org>
10318
10319         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10320         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10321
10322 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10325           fix property
10326         * gst/gstcaps.c:
10327           fix doc string
10328         * po/POTFILES.in:
10329           rename typefind source file
10330
10331 2004-04-28  David Schleef  <ds@schleef.org>
10332
10333         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10334         * win32/GStreamer.vcproj:
10335         * win32/Makefile:
10336         * win32/config.h:
10337         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10338         (_trewinddir), (_ttelldir), (_tseekdir):
10339         * win32/dirent.h:
10340         * win32/gst-inspect.vcproj:
10341         * win32/gst-launch.vcproj:
10342         * win32/gst-register.vcproj:
10343         * win32/gstbytestream.vcproj:
10344         * win32/gstelements.vcproj:
10345         * win32/gstoptimalscheduler.vcproj:
10346         * win32/gstspider.vcproj:
10347         * win32/gtchar.h:
10348         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10349         * win32/mman.h:
10350         * win32/mman.inl:
10351         * win32/msvc71.sln:
10352
10353 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10354
10355         * gst/gst.c: (init_post):
10356         * gst/gstinfo.c:
10357           remove useless _gst_progname stuff
10358         * tools/gst-inspect.c: (print_field), (print_caps):
10359           improve caps output
10360
10361 2004-04-28  David Schleef  <ds@schleef.org>
10362
10363         Disable parsing of a lot of files that aren't part of the
10364         exported API.  Move corresponding template files to old/,
10365         waiting for removal when they don't contain anything
10366         interesting.
10367         * docs/gst/Makefile.am:
10368         * docs/gst/gstreamer-sections.txt:
10369         * docs/gst/tmpl/cothreads.sgml:
10370         * docs/gst/tmpl/cothreads_compat.sgml:
10371         * docs/gst/tmpl/gettext.sgml:
10372         * docs/gst/tmpl/gobject2gtk.sgml:
10373         * docs/gst/tmpl/grammar.tab.sgml:
10374         * docs/gst/tmpl/gst-i18n-app.sgml:
10375         * docs/gst/tmpl/gst-i18n-lib.sgml:
10376         * docs/gst/tmpl/gst_private.sgml:
10377         * docs/gst/tmpl/gstaggregator.sgml:
10378         * docs/gst/tmpl/gstarch.sgml:
10379         * docs/gst/tmpl/gstatomic_impl.sgml:
10380         * docs/gst/tmpl/gstbufferstore.sgml:
10381         * docs/gst/tmpl/gstdata_private.sgml:
10382         * docs/gst/tmpl/gstdisksink.sgml:
10383         * docs/gst/tmpl/gstdisksrc.sgml:
10384         * docs/gst/tmpl/gstelementfactory.sgml:
10385         * docs/gst/tmpl/gstextratypes.sgml:
10386         * docs/gst/tmpl/gstfakesink.sgml:
10387         * docs/gst/tmpl/gstfakesrc.sgml:
10388         * docs/gst/tmpl/gstfdsink.sgml:
10389         * docs/gst/tmpl/gstfdsrc.sgml:
10390         * docs/gst/tmpl/gstfilesink.sgml:
10391         * docs/gst/tmpl/gstfilesrc.sgml:
10392         * docs/gst/tmpl/gsthttpsrc.sgml:
10393         * docs/gst/tmpl/gstidentity.sgml:
10394         * docs/gst/tmpl/gstindexfactory.sgml:
10395         * docs/gst/tmpl/gstmarshal.sgml:
10396         * docs/gst/tmpl/gstmd5sink.sgml:
10397         * docs/gst/tmpl/gstmultidisksrc.sgml:
10398         * docs/gst/tmpl/gstmultifilesrc.sgml:
10399         * docs/gst/tmpl/gstpadtemplate.sgml:
10400         * docs/gst/tmpl/gstpipefilter.sgml:
10401         * docs/gst/tmpl/gstschedulerfactory.sgml:
10402         * docs/gst/tmpl/gstsearchfuncs.sgml:
10403         * docs/gst/tmpl/gstshaper.sgml:
10404         * docs/gst/tmpl/gstspider.sgml:
10405         * docs/gst/tmpl/gstspideridentity.sgml:
10406         * docs/gst/tmpl/gststatistics.sgml:
10407         * docs/gst/tmpl/gsttee.sgml:
10408         * docs/gst/tmpl/gsttimecache.sgml:
10409         * docs/gst/tmpl/gsttypefind.sgml:
10410         * docs/gst/tmpl/gsttypefindfactory.sgml:
10411         * docs/gst/tmpl/gstxmlregistry.sgml:
10412         * docs/gst/tmpl/gthread-cothreads.sgml:
10413         * docs/gst/tmpl/old/cothreads.sgml:
10414         * docs/gst/tmpl/old/cothreads_compat.sgml:
10415         * docs/gst/tmpl/old/gettext.sgml:
10416         * docs/gst/tmpl/old/gobject2gtk.sgml:
10417         * docs/gst/tmpl/old/grammar.tab.sgml:
10418         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10419         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10420         * docs/gst/tmpl/old/gst_private.sgml:
10421         * docs/gst/tmpl/old/gstaggregator.sgml:
10422         * docs/gst/tmpl/old/gstarch.sgml:
10423         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10424         * docs/gst/tmpl/old/gstbufferstore.sgml:
10425         * docs/gst/tmpl/old/gstdata_private.sgml:
10426         * docs/gst/tmpl/old/gstdisksink.sgml:
10427         * docs/gst/tmpl/old/gstdisksrc.sgml:
10428         * docs/gst/tmpl/old/gstelementfactory.sgml:
10429         * docs/gst/tmpl/old/gstextratypes.sgml:
10430         * docs/gst/tmpl/old/gstfakesink.sgml:
10431         * docs/gst/tmpl/old/gstfakesrc.sgml:
10432         * docs/gst/tmpl/old/gstfdsink.sgml:
10433         * docs/gst/tmpl/old/gstfdsrc.sgml:
10434         * docs/gst/tmpl/old/gstfilesink.sgml:
10435         * docs/gst/tmpl/old/gstfilesrc.sgml:
10436         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10437         * docs/gst/tmpl/old/gstidentity.sgml:
10438         * docs/gst/tmpl/old/gstindexfactory.sgml:
10439         * docs/gst/tmpl/old/gstmarshal.sgml:
10440         * docs/gst/tmpl/old/gstmd5sink.sgml:
10441         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10442         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10443         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10444         * docs/gst/tmpl/old/gstpipefilter.sgml:
10445         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10446         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10447         * docs/gst/tmpl/old/gstshaper.sgml:
10448         * docs/gst/tmpl/old/gstspider.sgml:
10449         * docs/gst/tmpl/old/gstspideridentity.sgml:
10450         * docs/gst/tmpl/old/gststatistics.sgml:
10451         * docs/gst/tmpl/old/gsttee.sgml:
10452         * docs/gst/tmpl/old/gsttimecache.sgml:
10453         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10454         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10455         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10456         * docs/gst/tmpl/old/types.sgml:
10457         * docs/gst/tmpl/types.sgml:
10458
10459         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10460         gtkdoc-scan doesn't like files with the same name in different
10461         directories.
10462         * gst/elements/Makefile.am:
10463         * gst/elements/gstelements.c:
10464         * gst/elements/gsttypefind.c: 
10465         * gst/elements/gsttypefind.h:
10466         * gst/elements/gsttypefindelement.c:
10467         * gst/elements/gsttypefindelement.h:
10468
10469 2004-04-28  David Schleef  <ds@schleef.org>
10470
10471         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10472         patch (bug #141317):
10473         * gst/gst-i18n-lib.h: Allow disabling gettext.
10474         * gst/gstatomic_impl.h: disable warning when it's dumb.
10475         * gst/gstclock.c: fix include
10476         * gst/gstcompat.h: fix variadic macro
10477         * gst/gstinfo.c: fix include
10478         * gst/gstmacros.h: add defines for inlines on MSVC
10479         * gst/gstplugin.c: fix includes
10480         * gst/gstregistry.c: fix includes
10481         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10482         * gst/gstsystemclock.c: fix include
10483         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10484         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10485         * gst/registries/gstxmlregistry.c:
10486         (gst_xml_registry_parse_element_factory): fix use of non-portable
10487         functions
10488         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10489         * libs/gst/control/dparammanager.h: same
10490
10491 2004-04-28  David Schleef  <ds@schleef.org>
10492
10493         Move a bunch of unused files to old/ with names that are
10494         not case-insensitive-unique.  These files still contain some
10495         useful information that needs to be merged into gstbin.sgml,
10496         etc., so they shouldn't be deleted yet.
10497         * docs/gst/tmpl/GstBin.sgml:
10498         * docs/gst/tmpl/GstBuffer.sgml:
10499         * docs/gst/tmpl/GstCaps.sgml:
10500         * docs/gst/tmpl/GstClock.sgml:
10501         * docs/gst/tmpl/GstCompat.sgml:
10502         * docs/gst/tmpl/GstData.sgml:
10503         * docs/gst/tmpl/GstElement.sgml:
10504         * docs/gst/tmpl/GstEvent.sgml:
10505         * docs/gst/tmpl/GstIndex.sgml:
10506         * docs/gst/tmpl/GstStructure.sgml:
10507         * docs/gst/tmpl/GstTag.sgml:
10508         * docs/gst/tmpl/old/GstBin.sgml:
10509         * docs/gst/tmpl/old/GstBuffer.sgml:
10510         * docs/gst/tmpl/old/GstCaps.sgml:
10511         * docs/gst/tmpl/old/GstClock.sgml:
10512         * docs/gst/tmpl/old/GstCompat.sgml:
10513         * docs/gst/tmpl/old/GstData.sgml:
10514         * docs/gst/tmpl/old/GstElement.sgml:
10515         * docs/gst/tmpl/old/GstEvent.sgml:
10516         * docs/gst/tmpl/old/GstIndex.sgml:
10517         * docs/gst/tmpl/old/GstStructure.sgml:
10518         * docs/gst/tmpl/old/GstTag.sgml:
10519
10520 2004-04-28  David Schleef  <ds@schleef.org>
10521
10522         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10523         (gst_caps_append), (gst_caps_append_structure),
10524         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10525         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10526         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10527         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10528         (gst_caps_intersect), (gst_caps_normalize),
10529         (gst_caps_transform_to_string):  Patch from Tim-Philipp M??ller
10530         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10531         * gst/gstcaps.h: use GST_IS_CAPS().
10532
10533 2004-04-26  David Schleef  <ds@schleef.org>
10534
10535         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10536         assembly.  gcc doesn't handle it correctly. (bug #141083)
10537         * gst/gsttrashstack.h: same
10538
10539 2004-04-25  Benjamin Otte  <otte@gnome.org>
10540
10541         * gst/gstelement.c: (gst_element_change_state):
10542           fix assertion to do an int comparison
10543
10544 2004-04-25  Benjamin Otte  <otte@gnome.org>
10545
10546         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10547           better debugging output on error
10548
10549 2004-04-25  Benjamin Otte  <otte@gnome.org>
10550
10551         * gst/gstcaps.c: (gst_caps_subtract):
10552           fix memleak
10553
10554 2004-04-23  Benjamin Otte  <otte@gnome.org>
10555
10556         * gst/gstvalue.c: (gst_value_compare_buffer),
10557         (_gst_value_initialize):
10558           add comparison function for buffers
10559
10560 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10561
10562         * docs/pwg/pwg.xml:
10563           Just found out that this so-called "ima-wav" format is really
10564           just "dvi adpcm" (according to the MS WAV documentation). So
10565           renaming it. We didn't use it yet anyway.
10566
10567 2004-04-23  Benjamin Otte  <otte@gnome.org>
10568
10569         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10570           call gst_caps_is_subset
10571
10572 2004-04-23  Benjamin Otte  <otte@gnome.org>
10573
10574         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10575         (gst_caps_is_subset):
10576           add documentation
10577
10578 2004-04-23  Benjamin Otte  <otte@gnome.org>
10579           
10580         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10581         (gst_caps_structure_subtract), (gst_caps_subtract),
10582         (gst_caps_structure_figure_out_union),
10583         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10584           fix simplifying and subtracting not working correctly with optional
10585           properties
10586           solve assorted problems that make it now simplify ebven more
10587         * docs/gst/tmpl/gstcaps.sgml:
10588         * gst/gstcaps.h:
10589           make gst_caps_do_simplify return a bool to indicate if it simplified
10590         * testsuite/caps/simplify.c: (main):
10591           add more checks. The tests is quite a bit useless right now because
10592           the core is heavily simplifying itself.
10593         * testsuite/caps/caps.h:
10594           fix caps to contain all optional properties
10595
10596 2004-04-22  Benjamin Otte  <otte@gnome.org>
10597
10598         * docs/gst/tmpl/gstcaps.sgml:
10599         * docs/gst/tmpl/gstfilesrc.sgml:
10600         * docs/gst/tmpl/gststructure.sgml:
10601         * docs/gst/tmpl/gstvalue.sgml:
10602           update for recent API changes
10603         * gst/gstcaps.c: (gst_caps_do_simplify):
10604           fix to stop trying with a freed structure
10605         * gst/gstpad.c: (gst_pad_link_fixate):
10606           simplify caps
10607         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10608           remove C++ comment
10609         * gst/gstpad.h:
10610           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10611         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10612         (gst_structure_to_string):
10613           keep the correct type when using lists of ranges
10614         * gst/gstvalue.c: (gst_value_list_prepend_value),
10615         (gst_value_list_append_value):
10616           copy the value before adding to the list (d'oh)
10617         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10618         (gst_value_subtract_int_range_int_range):
10619           handle overflows correctly
10620         * gst/gstvalue.c: (gst_value_subtract_from_list):
10621           fix memleak
10622         * testsuite/caps/caps.h:
10623           add a caps that caused segfaults
10624
10625 2004-04-22  Benjamin Otte  <otte@gnome.org>
10626
10627         * testsuite/refcounting/pad.c: (main):
10628           fix test
10629
10630 2004-04-22  Benjamin Otte  <otte@gnome.org>
10631
10632         * gst/gstcaps.c: (gst_caps_subtract):
10633           allow subtracting ANY and EMPTY from ANY caps
10634
10635 2004-04-22  Benjamin Otte  <otte@gnome.org>
10636
10637         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10638         (gst_caps_union):
10639           only simplify in functions that create new caps. Simplifying in
10640           gst_caps_append breaks tests.
10641
10642 2004-04-22  Benjamin Otte  <otte@gnome.org>
10643
10644         * gst/gstcaps.c: (gst_caps_structure_simplify):
10645           unset GValue after use
10646         * gst/gstcaps.c: (gst_caps_append), 
10647         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10648           use gst_caps_simplify (reduces registry size by 30%)
10649         * gst/gstpad.c: (gst_pad_template_new):
10650           don't allow NULL caps
10651
10652 2004-04-22  Benjamin Otte  <otte@gnome.org>
10653
10654         * docs/gst/gstreamer-sections.txt:
10655           add gst_caps_do_simplify
10656         * gst/gstcaps.c:
10657           add documentation for gst_caps_do_simplify
10658         * gst/gstvalue.h:
10659           fix typo in gst_value_register_subtract_func declaration for gst-doc
10660
10661 2004-04-22  Benjamin Otte  <otte@gnome.org>
10662
10663         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10664           fix bug when converting from empty string.
10665         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10666         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10667           use gst_caps_new_empty to allocate a new caps. Only that function
10668           allocates memory for caps now.
10669         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10670         (gst_caps_remove_structure):
10671           add ability to remove one structure (but not to header yet)
10672         * gst/gstcaps.c: (gst_caps_compare_structures),
10673         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10674         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10675         * gst/gstcaps.h:
10676           add gst_caps_do_simplify that tries to simplify a caps in place.
10677           Deprecate old gst_caps_simplify function.
10678         * testsuite/caps/caps.h:
10679           add caps.h containing a common set of caps to test against.
10680         * testsuite/caps/sets.c: (check_caps), (main):
10681           use it.
10682         * testsuite/caps/.cvsignore:
10683         * testsuite/caps/Makefile.am:
10684         * testsuite/caps/simplify.c: (check_caps), (main):
10685           add test to check correctness and efficency of caps simplification.
10686
10687 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10688
10689         reviewed by Benjamin Otte  <otte@gnome.org>
10690
10691         * gst/gstparse.c: (_gst_parse_escape):
10692           Free the GString used in _gst_parse_escape()
10693
10694 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10695
10696         * gst/gstpad.c: (gst_pad_link_negotiate):
10697           refuse to link if the link is not possible
10698         * configure.ac:
10699         * testsuite/Makefile.am:
10700         * testsuite/negotiation/.cvsignore:
10701         * testsuite/negotiation/Makefile.am:
10702         * testsuite/negotiation/pad_link.c: (main):
10703           add test that checks the above behaviour
10704
10705 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10706
10707         * docs/gst/gstreamer-sections.txt:
10708           add newly added API
10709
10710 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10711
10712         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10713         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10714         (gst_filesrc_open_file), (gst_filesrc_close_file),
10715         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10716         * gst/elements/gstfilesrc.h:
10717           add support for non-regular files (#140734)
10718
10719 2004-04-21  Benjamin Otte  <otte@gnome.org>
10720
10721         * gst/gstpad.c: (gst_pad_link_fixate):
10722           add sophisticated error checking code to see if fixation functions
10723           did their fixation right
10724
10725 2004-04-21  Benjamin Otte  <otte@gnome.org>
10726
10727         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10728           check for ANY caps before appending/unioning
10729         * gst/gstcaps.c: (gst_caps_is_subset),
10730         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10731         (gst_caps_structure_subtract), (gst_caps_subtract):
10732         * gst/gstcaps.h:
10733           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10734           the API. deprecate gst_caps_is_equal_fixed
10735         * gst/gstpad.c: (gst_pad_try_set_caps):
10736         * gst/gstqueue.c: (gst_queue_link):
10737           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10738         * gst/gststructure.c: (gst_structure_get_name_id):
10739         * gst/gststructure.h:
10740           add function gst_structure_get_name_id
10741         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10742         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10743         (gst_value_subtract_int_range_int_range),
10744         (gst_value_subtract_double_double_range),
10745         (gst_value_subtract_double_range_double),
10746         (gst_value_subtract_double_range_double_range),
10747         (gst_value_subtract_from_list), (gst_value_subtract_list),
10748         (gst_value_can_intersect), (gst_value_subtract),
10749         (gst_value_can_subtract), (gst_value_register_subtract_func),
10750         (_gst_value_initialize):
10751         * gst/gstvalue.h:
10752           add support for subtracting values from each other. Note that
10753           subtracting means subtracting as in set theory. Required for caps
10754           stuff above.
10755         * testsuite/caps/.cvsignore:
10756         * testsuite/caps/Makefile.am:
10757         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10758         * testsuite/caps/sets.c: (check_caps), (main):
10759         * testsuite/caps/subtract.c: (check_caps), (main):
10760           add tests for subtraction and equality code.
10761
10762 2004-04-20  David Schleef  <ds@schleef.org>
10763
10764         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10765         * gst/indexers/Makefile.am:
10766         * gst/schedulers/Makefile.am:
10767         * libs/gst/bytestream/Makefile.am:
10768         * libs/gst/control/Makefile.am:
10769         * libs/gst/getbits/Makefile.am:
10770
10771 2004-04-20  David Schleef  <ds@schleef.org>
10772
10773         * common/as-libtool.mak: Fine-tune DLL building.
10774         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10775         (like gst-plugins)
10776         * examples/plugins/Makefile.am: remove plugindir
10777         * gst/autoplug/Makefile.am: DLL building fixes
10778         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10779         Windows.
10780         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10781         * gst/indexers/Makefile.am: DLL building fixes
10782         * gst/schedulers/Makefile.am: DLL building fixes.
10783         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10784         * libs/gst/control/Makefile.am: same
10785         * libs/gst/getbits/Makefile.am: same
10786         * testsuite/Makefile.am: New dlopen directory
10787         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10788         when dlopened.
10789         * testsuite/dlopen/dlopen_gst.c: (main): same
10790         * testsuite/dlopen/loadgst.c: (do_test): same
10791
10792 2004-04-20  David Schleef  <ds@schleef.org>
10793
10794         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10795         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10796
10797 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10798
10799         * gst/gstelement.c: (gst_element_wait),
10800         (gst_element_set_time_delay), (gst_element_change_state):
10801           Use GST_TIME_*
10802
10803 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10804
10805         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10806         (gst_spider_identity_plug):
10807           improve debugging messages
10808         * gst/gstbin.c: (gst_bin_remove_func):
10809           make sure the state_change function is only called with simple state
10810           transitions
10811
10812 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10813
10814         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10815         (gst_fakesink_set_property), (gst_fakesink_chain):
10816         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10817         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10818         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10819         * gst/elements/gstidentity.c: (gst_identity_chain),
10820         (gst_identity_set_property):
10821         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10822         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10823           add warnings to _set_property for unknown arguments
10824           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10825
10826 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10827
10828         * Makefile.am:
10829         * docs/manuals.mak:
10830           add .po file download snippet
10831           fix a bug in the doc makefile
10832
10833 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10834
10835         * Makefile.am:
10836         * po/LINGUAS:
10837         * po/en_GB.po:
10838           Added en_GB translation (Gareth Owen)
10839
10840 2004-04-20  Johan Dahlin  <johan@gnome.org>
10841
10842         * gst/gstpad.c (_invent_event): Clean up
10843
10844 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10845
10846         * testsuite/caps/filtercaps.c: (main):
10847           fix test to test things correctly (caps are complicated)
10848
10849 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10850
10851         * testsuite/caps/Makefile.am:
10852         * testsuite/caps/filtercaps.c: (main):
10853           add test (that doesn't work right now, but should)
10854
10855 2004-04-19  David Schleef  <ds@schleef.org>
10856
10857         * configure.ac: Add test for allowing unaligned access.  Add define
10858         to put in gstconfig.h.
10859         * docs/gst/gstreamer-sections.txt: New symbols
10860         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10861         * docs/gst/tmpl/gstfilesrc.sgml:
10862         * docs/gst/tmpl/gstparse.sgml:
10863         * docs/gst/tmpl/gsttypes.sgml:
10864         * docs/gst/tmpl/gstutils.sgml:
10865         * docs/gst/tmpl/gstvalue.sgml:
10866         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10867         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10868         on most !i386/!powerpc architectures.  From Daniel Gazard
10869         <daniel.gazard@free.fr>.  (bug #140156)
10870         * po/af.po: Check in changes made by gettext.
10871         * po/az.po:
10872         * po/fr.po:
10873         * po/nl.po:
10874         * po/sr.po:
10875         * po/sv.po:
10876
10877 2004-04-20  Benjamin Otte  <otte@gnome.org>
10878
10879         * gst/schedulers/entryscheduler.c: 
10880         (gst_entry_scheduler_yield):
10881           refuse to yield when decoupled elements insist on doing that.
10882           At least it's better than crashing
10883
10884 2004-04-19  David Schleef  <ds@schleef.org>
10885
10886         * docs/libs/Makefile.am: Change sinclude to include
10887         * docs/gst/Makefile.am: same
10888         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10889
10890 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10891
10892         * po/LINGUAS:
10893         * po/uk.po:
10894           Added Ukrainian translation (Maxim V. Dziumanenko)
10895
10896 2004-04-19  Johan Dahlin  <johan@gnome.org>
10897
10898         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10899         checking here, do it before calling the function.
10900         Clean up, use for loops instead of while loops while iterating
10901         over lists.
10902
10903         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10904         in debug message.
10905         (gst_spider_create_and_plug): Improve debug message.
10906         General: Replace while loops which iterates over GLists with for
10907         loops. Which are much cleaner, improves readability, especially
10908         for gst_spider_identity_plug
10909
10910         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10911         fixes bug 140477
10912
10913 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * po/LINGUAS:
10916         * po/tr.po:
10917           Added Turkish translation (Baris Cicek)
10918
10919 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10920
10921         * docs/faq/troubleshooting.xml:
10922           Mention gst-register in the FAQ (fixes 139045).
10923
10924 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * docs/gst/gstreamer-sections.txt:
10927
10928 2004-04-17  Benjamin Otte  <otte@gnome.org>
10929
10930         * gst/gstelement.c: (gst_element_dispose):
10931           simplify
10932         * gst/gstpad.c: (gst_pad_call_chain_function):
10933           don't create loads of events due to bad macro usage
10934
10935 2004-04-16  David Schleef  <ds@schleef.org>
10936
10937         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10938         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10939         * gst/gstvalue.c: (gst_value_serialize_buffer),
10940         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10941         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10942         to indicate types that are fixed wrt caps or not.  Switching to
10943         this function fixes (bug #140298).
10944         * gst/gstvalue.h:
10945
10946 2004-04-16  David Schleef  <ds@schleef.org>
10947
10948         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10949         for GST_UNALIGNED_ACESS, since we essentially know which archs
10950         are ok.
10951
10952 2004-04-17  Benjamin Otte  <otte@gnome.org>
10953
10954         * docs/gst/Makefile.am:
10955           ignore gst/parse directory when building docs (fixes #140205)
10956
10957 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10958
10959         * testsuite/refcounting/mem.c: (vmsize):
10960           do error checking
10961
10962 2004-04-16  Johan Dahlin  <johan@gnome.org>
10963
10964         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10965         and gst_pad_call_get_function.
10966
10967 2004-04-15  David Schleef  <ds@schleef.org>
10968
10969         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10970         checks if we can access unaligned memory.
10971         * configure.ac: Use it.
10972
10973 2004-04-16  Benjamin Otte  <otte@gnome.org>
10974
10975         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10976         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10977         * gst/elements/gstfilesrc.h:
10978           s/seek_happened/need_discont/ and require discont before sending any
10979           data
10980
10981 2004-04-15  David Schleef  <ds@schleef.org>
10982
10983         * gst/gstvalue.c: (gst_value_serialize_buffer),
10984         (gst_value_deserialize_buffer), (_gst_value_initialize):
10985         Register these types as fundamental types. (bug #140015)
10986
10987 2004-04-16  Benjamin Otte  <otte@gnome.org>
10988
10989         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10990         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10991         (gst_pad_pull):
10992           implement enforcing discont events before buffers are passed. This
10993           allows state changes of only some elements and later correctly going
10994           on where they left off (or in short: you can now set audio sinks to
10995           NULL to release the device when the pipeline is paused)
10996         * gst/gstpad.c: (gst_pad_call_chain_function),
10997         (gst_pad_call_get_function):
10998         * gst/gstpad.h:
10999           add gst_pad_call_chain_function and gst_pad_call_get_function for
11000           scheduler interaction. They are required because of the changes
11001           above.
11002         * gst/schedulers/entryscheduler.c: (get_buffer),
11003         (gst_entry_scheduler_chain_wrapper),
11004         (gst_entry_scheduler_get_wrapper),
11005         (gst_entry_scheduler_state_transition),
11006         (gst_entry_scheduler_pad_link):
11007         * gst/schedulers/gstbasicscheduler.c:
11008         (gst_basic_scheduler_chain_wrapper),
11009         (gst_basic_scheduler_src_wrapper),
11010         (gst_basic_scheduler_chainhandler_proxy),
11011         (gst_basic_scheduler_gethandler_proxy),
11012         (gst_basic_scheduler_cothreaded_chain),
11013         (gst_basic_scheduler_chain_elements):
11014         * gst/schedulers/gstoptimalscheduler.c:
11015         (get_group_schedule_function), (pad_clear_queued),
11016         (gst_opt_scheduler_pad_link):
11017           use the new functions instead of calling get/chain-functions
11018           directly.
11019
11020 2004-04-15  David Schleef  <ds@schleef.org>
11021
11022         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
11023         * docs/gst/tmpl/gstinfo.sgml: same
11024         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
11025         gtk-doc put here.
11026         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
11027         * examples/queue/queue.c: (main):  We iterate pipelines, not
11028         bins.  (bug #139996)
11029
11030 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11031
11032         * docs/pwg/advanced-types.xml:
11033           Add MS RLE support. Also document Qt RLE although I have no sample
11034           files for that yet. And document an extra property for ADPCM.
11035
11036 2004-04-15  David Schleef  <ds@schleef.org>
11037
11038         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
11039         (_gst_plugin_fault_handler_setup):  Disable more stuff on
11040         Windows.
11041
11042 2004-04-15  David Schleef  <ds@schleef.org>
11043
11044         * gst/gstinfo.c: (_gst_debug_init): Change some internal
11045         symbol names to not conflict with new gstinfo.h symbols.
11046         * gst/gstinfo.h: Add inline functions for all those crazy
11047         compilers that don't know how to handle variadic macros (MSVC).
11048
11049 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11050
11051         * configure.ac: bump nano to 1
11052
11053 === release 0.8.1 ===
11054
11055 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11056
11057         * NEWS:
11058         * RELEASE:
11059         * configure.ac:
11060           releasing 0.8.1, "Snow Brigade"
11061
11062 2004-04-14  David Schleef  <ds@schleef.org>
11063
11064         * testsuite/Makefile.am: define tests_ignore
11065         * testsuite/Rules: Added new tests_ignore, which get compiled,
11066         but not run (generally because they're inconsistent or have
11067         heisenbugs).  Now we can ensure all the .c files compile in
11068         testsuite/.
11069         * testsuite/bins/Makefile.am: define tests_ignore
11070         * testsuite/bytestream/Makefile.am:
11071         * testsuite/caps/Makefile.am:
11072         * testsuite/clock/Makefile.am:
11073         * testsuite/debug/Makefile.am:
11074         * testsuite/debug/global.c: (gst_debug_log_one),
11075         (gst_debug_log_two): Fix compilation problem.
11076         * testsuite/dynparams/Makefile.am:
11077         * testsuite/elements/Makefile.am:
11078         * testsuite/ghostpads/Makefile.am:
11079         * testsuite/indexers/Makefile.am:
11080         * testsuite/parse/Makefile.am:
11081         * testsuite/plugin/Makefile.am:
11082         * testsuite/refcounting/Makefile.am:
11083         * testsuite/refcounting/element_pad.c: (main): Don't return leak
11084         results, because it's not calculated correctly.
11085         * testsuite/refcounting/pad.c: (main): same
11086         * testsuite/states/Makefile.am:
11087         * testsuite/tags/Makefile.am:
11088         * testsuite/threads/Makefile.am:
11089
11090 2004-04-14  David Schleef  <ds@schleef.org>
11091
11092         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
11093         generating bad code around the cpu detection asm code.
11094
11095 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11096
11097         * tools/gst-inspect.c: (print_element_info):
11098           print numeric version of rank as well, since we added some - 1
11099           rank values to elements
11100
11101 2004-04-13  David Schleef  <ds@schleef.org>
11102
11103         * configure.ac:  Disable various code when compiling for MinGW.
11104         * gst/elements/Makefile.am:
11105         * gst/elements/gstelements.c:
11106         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11107         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
11108         * gst/registries/gstxmlregistry.c: (make_dir):
11109
11110 2004-04-13  David Schleef  <ds@schleef.org>
11111
11112         * gst/Makefile.am:
11113         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
11114         assembly.
11115         * gst/gstcpuid_i386.s: remove
11116
11117 2004-04-13  David Schleef  <ds@schleef.org>
11118
11119         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
11120         seems to think it needs to be done.
11121         * docs/gst/tmpl/gstfakesink.sgml:
11122         * docs/gst/tmpl/gstfakesrc.sgml:
11123         * docs/gst/tmpl/gstfdsink.sgml:
11124         * docs/gst/tmpl/gstfdsrc.sgml:
11125         * docs/gst/tmpl/gstfilesink.sgml:
11126         * docs/gst/tmpl/gstfilesrc.sgml:
11127         * docs/gst/tmpl/gstidentity.sgml:
11128         * docs/gst/tmpl/gstmd5sink.sgml:
11129         * docs/gst/tmpl/gstmultifilesrc.sgml:
11130         * docs/gst/tmpl/gstpipefilter.sgml:
11131         * docs/gst/tmpl/gstshaper.sgml:
11132         * docs/gst/tmpl/gstspider.sgml:
11133         * docs/gst/tmpl/gstspideridentity.sgml:
11134         * docs/gst/tmpl/gststatistics.sgml:
11135         * docs/gst/tmpl/gsttee.sgml:
11136         * docs/gst/tmpl/gsttypefind.sgml:
11137         * docs/gst/tmpl/gstutils.sgml:
11138
11139 2004-04-13  David Schleef  <ds@schleef.org>
11140
11141         * configure.ac: Changes to remove POSIXisms (mmap in this case)
11142         and to build DLLs on Windows.
11143         * gst/Makefile.am:
11144         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11145         (gst_filesrc_open_file):
11146         * gst/schedulers/Makefile.am:
11147
11148 2004-04-13  David Schleef  <ds@schleef.org>
11149
11150         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
11151         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
11152         fixating lists.
11153
11154 2004-04-12  David Schleef  <ds@schleef.org>
11155
11156         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11157         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
11158         to using it.
11159         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
11160         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
11161         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
11162         * gst/gststructure.c: (gst_structure_set_valist),
11163         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
11164         support for buffers.
11165         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
11166         intended to be const.
11167         * gst/gsttag.h: same
11168         * gst/gstvalue.c: (gst_value_serialize_buffer),
11169         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
11170         to (de)serialize buffers.
11171         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
11172         * testsuite/caps/string-conversions.c: (main):
11173         * testsuite/caps/value_serialize.c: add new test
11174
11175 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11176
11177         * docs/pwg/advanced-types.xml:
11178           Document MS video 1 (video/x-msvideocodec) mimetype/format.
11179
11180 2004-04-11  Benjamin Otte  <otte@gnome.org>
11181
11182         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
11183           rename categories to basic_*
11184         * gst/schedulers/gstbasicscheduler.c: 
11185         (gst_basic_scheduler_chain_wrapper),
11186         (gst_basic_scheduler_chainhandler_proxy),
11187         (gst_basic_scheduler_gethandler_proxy),
11188         (gst_basic_scheduler_eventhandler_proxy):
11189           debugging category fixes - put common stuff in log category
11190         * gst/schedulers/gstbasicscheduler.c: 
11191         (gst_basic_scheduler_chain_elements):
11192           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
11193           active and linking two active chains
11194
11195 2004-04-10  Benjamin Otte  <otte@gnome.org>
11196
11197         * docs/pwg/intro-preface.xml:
11198           fix dead links and remove reference to Wiki
11199
11200 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11201
11202         * gst/schedulers/gstbasicscheduler.c:
11203           make sure we can switch back to the main function if we're still in
11204           the main function (supposed to fix #139617)
11205         * gst/schedulers/gthread-cothreads.h:
11206           don't throw an error when switching to the same cothread
11207
11208 2004-04-09  Benjamin Otte  <otte@gnome.org>
11209
11210         * gst/gstbin.c: (gst_bin_get_type):
11211         * gst/gstclock.c: (gst_clock_get_type):
11212         * gst/gstindex.c: (gst_index_get_type):
11213         * gst/gstobject.c: (gst_object_get_type),
11214         (gst_signal_object_get_type):
11215         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
11216         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
11217         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
11218         * gst/gstqueue.c: (gst_queue_get_type):
11219         * gst/gstregistry.c: (gst_registry_get_type):
11220         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11221         * gst/gstthread.c: (gst_thread_get_type):
11222           don't use memchunks for these objects, use malloc instead
11223
11224 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * docs/gst/.cvsignore:
11227         * docs/gst/Makefile.am:
11228         * docs/gst/gstreamer-sections.txt:
11229         * docs/gst/tmpl/gstaggregator.sgml:
11230         * docs/gst/tmpl/gstbuffer.sgml:
11231         * docs/gst/tmpl/gstclock.sgml:
11232         * docs/gst/tmpl/gstelement.sgml:
11233         * docs/gst/tmpl/gstfakesink.sgml:
11234         * docs/gst/tmpl/gstfakesrc.sgml:
11235         * docs/gst/tmpl/gstfdsink.sgml:
11236         * docs/gst/tmpl/gstfdsrc.sgml:
11237         * docs/gst/tmpl/gstfilesink.sgml:
11238         * docs/gst/tmpl/gstfilesrc.sgml:
11239         * docs/gst/tmpl/gstidentity.sgml:
11240         * docs/gst/tmpl/gstindex.sgml:
11241         * docs/gst/tmpl/gstinfo.sgml:
11242         * docs/gst/tmpl/gstmd5sink.sgml:
11243         * docs/gst/tmpl/gstmultifilesrc.sgml:
11244         * docs/gst/tmpl/gstpad.sgml:
11245         * docs/gst/tmpl/gstpipefilter.sgml:
11246         * docs/gst/tmpl/gstpipeline.sgml:
11247         * docs/gst/tmpl/gstpluginfeature.sgml:
11248         * docs/gst/tmpl/gstqueue.sgml:
11249         * docs/gst/tmpl/gstregistry.sgml:
11250         * docs/gst/tmpl/gstscheduler.sgml:
11251         * docs/gst/tmpl/gstshaper.sgml:
11252         * docs/gst/tmpl/gstspider.sgml:
11253         * docs/gst/tmpl/gstspideridentity.sgml:
11254         * docs/gst/tmpl/gststatistics.sgml:
11255         * docs/gst/tmpl/gstsystemclock.sgml:
11256         * docs/gst/tmpl/gsttee.sgml:
11257         * docs/gst/tmpl/gstthread.sgml:
11258         * docs/gst/tmpl/gsttypefind.sgml:
11259         * docs/gst/tmpl/gstutils.sgml:
11260           further doc build fixes
11261
11262 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11263
11264         * docs/gst/Makefile.am:
11265           make docs exit on scanning problems
11266           fix nonsrcdir build issues
11267         * docs/gst/gstreamer-sections.txt:
11268           adding stuff from -unused
11269         * gst/gstqueue.h:
11270           create GstQueueSize
11271         * gst/schedulers/cothreads_compat.h:
11272           fix cothread warnings
11273
11274 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11275
11276         * docs/gst/gstreamer-sections.txt:
11277           remove defines deprecated by Benjamin
11278
11279 2004-04-07  Benjamin Otte  <otte@gnome.org>
11280
11281         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11282           when the buffer is complete, don't check if other buffers are needed
11283         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11284           check that the offset is >0 so we don't try to read before the
11285           beginning of the file
11286         * gst/gstpad.c: (gst_pad_set_pad_template):
11287           sink the template, so we don't end up with 130k pad templates
11288
11289 2004-04-06  Benjamin Otte  <otte@gnome.org>
11290
11291         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11292           don't ref the element, adding already reffed it. And we didn't unref
11293           it later anyway... (huge memleak when you used many spider elements)
11294         * gst/gstelement.c: (gst_element_base_class_finalize):
11295         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11296         (gst_element_register):
11297         * gst/gsturi.c: (gst_element_make_from_uri):
11298           use gst_object_(un)ref instead of g_object(un)ref
11299
11300 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11301
11302         * gst/gstbuffer.h:
11303           remove macro that wouldn't work anymore because struct member has
11304           been removed.
11305         * gst/schedulers/entryscheduler.c: (schedule_forward):
11306           fix segfault for unconnected pads
11307         
11308 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11309
11310         reviewed by David Schleef <ds@schleef.org>
11311
11312         * gst/gstinfo.h:
11313           *_FORMAT modifiers should require putting a % in front of them for
11314           consistency reasons.
11315
11316 2004-04-05  Colin Walters  <walters@redhat.com>
11317
11318         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11319         space.
11320
11321 2004-04-05  Benjamin Otte  <otte@gnome.org>
11322
11323         * configure.ac:
11324         * gst/Makefile.am:
11325         * gst/gst_private.h:
11326         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11327           add support for detecting if GStreamer runs inside valgrind.
11328           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11329           print a big message in valgrind that GStreamer has detected it's
11330           running inside and might now use different code.
11331         * gst/gstmemchunk.c: (populate), (free_area),
11332         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11333         (gst_mem_chunk_free):
11334           flag memchunks for valgrind, so it can detect leaking of chunks.
11335           This allows detecting leaks of GstBuffer and GstEvent correctly
11336           inside valgrind.
11337
11338 2004-04-05  David Schleef  <ds@schleef.org>
11339
11340         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11341           jensgr@gmx.net (Jens Granseuer)
11342
11343 2004-04-05  David Schleef  <ds@schleef.org>
11344
11345         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11346         (gst_buffer_default_free), (gst_buffer_default_copy),
11347         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11348         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11349         structures in one place.
11350
11351 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11352
11353         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11354           (GST_TIME_FORMAT, GST_TIME_ARGS)
11355
11356 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11357
11358         * testsuite/elements/Makefile.am:
11359           disable test until it stops breaking make distcheck
11360
11361 2004-04-05  Johan Dahlin  <johan@gnome.org>
11362
11363         * po/sv.po: Updated translation
11364
11365 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11366
11367         * gst/gstplugin.c: (gst_plugin_load_file):
11368           fix segfault for when original plugin was loaded statically
11369
11370 2004-04-05  Benjamin Otte  <otte@gnome.org>
11371
11372         * testsuite/debug/category.c: (main):
11373         * testsuite/debug/commandline.c: (main):
11374         * testsuite/debug/output.c: (main):
11375           fix tests to work again with debugging enabled
11376
11377 2004-04-05  Benjamin Otte  <otte@gnome.org>
11378
11379         * gst/schedulers/gstbasicscheduler.c:
11380         (gst_basic_scheduler_pad_link):
11381           fix to work with recent scheduling changes
11382
11383 2004-04-05  Benjamin Otte  <otte@gnome.org>
11384
11385         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11386         prepareChangeLog doesn't work when cvs indents):
11387           don't throw an error when no element can be scheduled, there's too
11388           many weird reasons why it doesn't work. Return STOPPED instead.
11389           decoupled elemts' schedulability doesn't depend on bufpens.
11390
11391 2004-04-04  Benjamin Otte  <otte@gnome.org>
11392
11393         * gst/schedulers/gstbasicscheduler.c:
11394         (gst_basic_scheduler_pad_select):
11395           fix uninitialized variable warnings
11396
11397 2004-04-04  Benjamin Otte  <otte@gnome.org>
11398
11399         * gst/gstpad.c: (gst_pad_collect_valist):
11400           fix uninitialized variable warning
11401         * gst/schedulers/entryscheduler.c: (schedule_forward):
11402           fix shadowed variable
11403
11404 2004-04-04  Benjamin Otte  <otte@gnome.org>
11405
11406         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11407         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11408         (gst_pad_select):
11409         * gst/gstpad.h:
11410         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11411         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11412         * gst/gstscheduler.h:
11413           implement gst_pad_collect as replacement for gst_pad_select.
11414           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11415           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11416           new pad_select, lock and unlock calls.
11417         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11418         * gst/cothreads.h:
11419         * gst/schedulers/cothreads_compat.h:
11420         * gst/schedulers/gthread-cothreads.h:
11421           remove unused cothread_lock and cothread_unlock calls
11422         * gst/schedulers/entryscheduler.c:
11423         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11424         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11425         (gst_entry_scheduler_pad_select):
11426           update to new API
11427         * gst/schedulers/gstbasicscheduler.c:
11428         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11429         (gst_basic_scheduler_pad_select):
11430           remove useless lock and unlock calls, update pad_select to new API
11431           (untested)
11432         * gst/schedulers/gstoptimalscheduler.c:
11433         (gst_opt_scheduler_class_init):
11434           remove useless select, lock and unlock function calls
11435         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11436           use gst_pad_collect instead of gst_pad_select
11437
11438 2004-04-04  Benjamin Otte  <otte@gnome.org>
11439
11440         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11441         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11442         (schedule_next_element), (print_entry):
11443           add can_schedule_pad to handle element states.
11444           add schedule_forward to select the correct entry to schedule next
11445
11446 2004-04-03  Benjamin Otte  <otte@gnome.org>
11447
11448         * gst/schedulers/entryscheduler.c: 
11449           remove unused variable, fix error inside Rb, fix compile warning in
11450           unreachable code
11451
11452 2004-04-03  Benjamin Otte  <otte@gnome.org>
11453
11454         * gst/schedulers/entryscheduler.c:
11455           completely revamp the inner workings, so it's a lot easier to
11456           understand and extend
11457
11458 2004-04-03  Andy Wingo  <wingo@pobox.com>
11459
11460         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11461         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11462         This allows better introspection of pipeline topology.
11463         (add_to_chain): Don't do trickery to put loop elements first;
11464         rather, queue a chain sort by marking the chain as dirty.
11465         (remove_from_chain): Mark the chain dirty.
11466         (sort_chain): New function. Sorts the group list so that terminal
11467         sinks are first. This means elements on the sink side will be
11468         preferentially sscheduled before elements on the src side of the
11469         pipeline.
11470         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11471         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11472         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11473         (group_inc_link): Change argument and variable names to match the
11474         new link structure member names (src and sink).
11475         (group_dec_link): Add some description
11476
11477 2004-04-03  Benjamin Otte  <otte@gnome.org>
11478
11479         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11480         * gst/gstinfo.h:
11481         * testsuite/debug/category.c: (main):
11482         * testsuite/debug/commandline.c: (main):
11483         * testsuite/debug/output.c: (main):
11484         * testsuite/debug/printf_extension.c: (main):
11485           fix to successfully build and test with --disable-gst-debug
11486           configure switch (fixes #138705)
11487
11488 2004-04-03  Benjamin Otte  <otte@gnome.org>
11489
11490         * docs/pwg/building-boiler.xml:
11491           add cvs login line and s/anonymous/anoncvs/
11492
11493 2004-04-03  Tim-Phillip M??ller  <t.i.m@zen.co.uk>
11494
11495         reviewed by Benjamin Otte  <otte@gnome.org>
11496
11497         * gst/gststructure.c: (gst_structure_free):
11498           memleak fix: free fields array (partial fix for #134839)
11499
11500 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11501
11502         * docs/random/ds/0.9-suggested-changes:
11503           Add a note to change handoff use in fakesrc to be usable in
11504           a more generic way (fakesrc should be renamed to appsrc or so).
11505         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11506           Change signal type to scope, so we can fill the buffer in the
11507           handoff handler (that's the whole use of this signal...).
11508
11509 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11510
11511         * docs/pwg/other-ntoone.xml:
11512           Document muxers and n-to-1 elements.
11513
11514 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11515
11516         * gst/registries/gstxmlregistry.c
11517         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11518         determine if a file is a G_MODULE. The old one discards paths
11519         containing "so" somewhere in the middle. My home directory is
11520         called "soto". Go figure...
11521
11522 2004-03-31  David Schleef  <ds@schleef.org>
11523
11524         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11525         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11526         * gst/gstbuffer.h:
11527
11528 2004-03-31  David Schleef  <ds@schleef.org>
11529
11530         * gst/gstvalue.c: (gst_value_union_int_int_range),
11531         (gst_value_union_int_range_int_range), (gst_value_can_union),
11532         (gst_value_union), (_gst_value_initialize):  Add some union
11533         implementations.  We didn't have any previously.
11534         * testsuite/caps/Makefile.am:
11535         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11536         (gst_audioscale_getcaps), (test_caps), (main): A little test
11537         that is the same as the caps manipulation in audioscale.
11538
11539 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11540
11541         * docs/faq/general.xml:
11542           add entry about "does gst support format X?"
11543
11544 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11545
11546         * gst/gstthread.c:
11547           fix docs
11548         * gst/gstutils.h:
11549           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11550
11551 2004-03-30  Benjamin Otte  <otte@gnome.org>
11552
11553         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11554           set the offset of the buffer to the requested offset
11555         * gst/elements/gsttypefind.c: (stop_typefinding):
11556           revert patch 1.18 (which I unfortunately don't know the reason for).
11557           This is needed to allow downstream elements to seek. Otherwise
11558           typefind might overwrite a previous seek by downstream elements.
11559           This lead to errors with id3tag and typefind on some mp3s.
11560         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11561         (gst_entry_scheduler_iterate):
11562           be more verbose when debugging
11563
11564 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11565
11566         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11567           make sure we don't get NULL strings
11568
11569 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11570
11571         * gst/gstcaps.c:
11572         * gst/gstelement.c:
11573         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11574         * gst/gstindex.c: (gst_index_resolver_get_type),
11575         (gst_index_get_type), (gst_index_factory_get_type):
11576         * gst/gstinfo.c:
11577         * gst/gstpad.c:
11578         * gst/gstplugin.c:
11579         * gst/gsturi.c: (gst_uri_handler_get_type):
11580         * gst/gstvalue.c:
11581           first batch of documentation fixes
11582
11583 2004-03-29  David Schleef  <ds@schleef.org>
11584
11585         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11586         * docs/gst/gstreamer-docs.sgml:  More hacking
11587         * docs/gst/gstreamer-sections.txt:
11588         * docs/gst/tmpl/cothreads_compat.sgml:
11589         * docs/gst/tmpl/gstcaps.sgml:
11590         * docs/gst/tmpl/gstclock.sgml:
11591         * docs/gst/tmpl/gstelement.sgml:
11592         * docs/gst/tmpl/gstevent.sgml:
11593         * docs/gst/tmpl/gstpad.sgml:
11594         * docs/gst/tmpl/gstutils.sgml:
11595         * docs/gst/tmpl/gstxml.sgml:
11596         * docs/gst/tmpl/gthread-cothreads.sgml:
11597         * docs/random/ds/0.9-suggested-changes:
11598         * gst/elements/gstfakesink.h: doc fixes
11599         * gst/elements/gstfakesrc.h: doc fixes
11600         * gst/gstcaps.c: doc fixes
11601         * gst/gstcaps.h: doc fixes
11602         * gst/gstelement.c: doc fixes
11603         * gst/gstelement.h: doc fixes
11604         * gst/gstindex.c: doc fixes
11605         * gst/gstinfo.c: doc fixes
11606         * gst/gstpad.c: doc fixes
11607         * gst/gstpad.h: doc fixes
11608         * gst/gstplugin.c: doc fixes
11609         * gst/gsttypefind.h: doc fixes
11610         * gst/gsturi.c: doc fixes
11611         * gst/gstvalue.c: doc fixes
11612
11613 2004-03-29  Colin Walters  <walters@redhat.com>
11614
11615         * gst/registries/gstxmlregistry.c (get_time)
11616         (plugin_times_older_than_recurse):
11617         Use the result of stat to determine whether a path is a file,
11618         so we don't attempt to opendir() files.
11619
11620 2004-03-29  Benjamin Otte  <otte@gnome.org>
11621
11622         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11623           print caps in debugging output when setting caps failed
11624         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11625         (schedule_next_element), (get_buffer), (run_chainhandler),
11626         (element_may_start), (gst_entry_scheduler_chain_handler),
11627         (gst_entry_scheduler_get_handler),
11628         (gst_entry_scheduler_state_transition),
11629         (gst_entry_scheduler_pad_link):
11630           make this scheduler a testcase for mandatory
11631           discont-before-first-buffer which is needed if we want to allow apps
11632           to release the sound device.
11633           add SCHED_ASSERT macro to print scheduler state before an assertion
11634           triggers.
11635
11636 2004-03-29  Benjamin Otte  <otte@gnome.org>
11637
11638         * COPYING:
11639           replace by LGPL (former COPYING.LIB). The core is completely
11640           licensed LGPL.
11641         * COPYING.LIB:
11642           remove
11643
11644 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11645
11646         * po/af.po:
11647         * po/sv.po:
11648           updated Afrikaans and Swedish
11649
11650 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * po/LINGUAS:
11653         * po/az.po:
11654           adding Azerbaijani (M??tin ??mirov)
11655
11656 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11657
11658         * gst/gstelement.h: 
11659         * gst/gstelement.c (gst_element_set_time_delay): New function for
11660         setting element time taking into account a hardware buffering
11661         delay.
11662         (gst_element_set_time): Now just an invocation of
11663         gst_element_set_time_delay.
11664         * gst/gstclock.h: 
11665         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11666         allowing to set event times in the future.
11667         (gst_clock_get_event_time): Now just an invocation of
11668         gst_clock_get_event_time_delay.
11669
11670 2004-03-28  Benjamin Otte  <otte@gnome.org>
11671
11672         * gst/gstbin.c: (gst_bin_set_element_sched),
11673         (gst_bin_unset_element_sched):
11674           don't add decoupled elements to schedulers - otherwise it's
11675           impossible to control if a link to a decoupled element was already
11676           removed from a scheduler or not.
11677         * gst/schedulers/cothreads_compat.h:
11678         * gst/schedulers/gthread-cothreads.h:
11679           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11680           is no "unused" warning.
11681         * gst/schedulers/Makefile.am:
11682         * gst/schedulers/entryscheduler.c:
11683           add new scheduler, based on ideas from talking to David and Martin.
11684           It's supposed to be small and correct. Currently it's also slow (but
11685           it's not noticable)
11686         * examples/retag/retag.c: (main):
11687         * testsuite/bytestream/test1.c: (main):
11688           fix missing NULLs at end of variadic functions
11689         * testsuite/elements/.cvsignore:
11690           update
11691
11692 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11693
11694         * gst/gstevent.h:
11695         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11696
11697 2004-03-25  David Schleef  <ds@schleef.org>
11698
11699         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11700         * docs/gst/tmpl/gstaggregator.sgml:
11701         * docs/gst/tmpl/gstautoplugfactory.sgml:
11702         * docs/gst/tmpl/gstbin.sgml:
11703         * docs/gst/tmpl/gstbuffer.sgml:
11704         * docs/gst/tmpl/gstbufferstore.sgml:
11705         * docs/gst/tmpl/gstfakesink.sgml:
11706         * docs/gst/tmpl/gstfakesrc.sgml:
11707         * docs/gst/tmpl/gstmd5sink.sgml:
11708         * docs/gst/tmpl/gstreamer-unused.sgml:
11709         * docs/gst/tmpl/gstsearchfuncs.sgml:
11710         * docs/gst/tmpl/gstshaper.sgml:
11711         * docs/gst/tmpl/gstspider.sgml:
11712         * docs/gst/tmpl/gsttee.sgml:
11713         * docs/gst/tmpl/gstutils.sgml:
11714         * docs/gst/tmpl/gstvalue.sgml:
11715         * docs/gst/tmpl/gstxml.sgml:
11716         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11717         and we don't support it.
11718         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11719         (gst_use_threads), (gst_has_threads): same
11720         * gst/gstthreaddummy.c: same
11721         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11722         * gst/autoplug/gstspider.h: same
11723         * gst/elements/gstaggregator.h: Remove bogus function from header
11724         * gst/elements/gstfakesink.h: same
11725         * gst/elements/gstfakesrc.h: same
11726         * gst/elements/gstmd5sink.h: same
11727         * gst/elements/gstshaper.h: same
11728         * gst/elements/gsttee.h: same
11729         * gst/gstbin.c: doc fixes
11730         * gst/gstbin.h: Remove unused definition.
11731         * gst/gstbuffer.c: doc fixes
11732         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11733         * gst/gstfilter.c: doc fixes
11734         * gst/gsttag.c: doc fixes
11735         * gst/gstvalue.c: doc fixes
11736
11737 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11738
11739         * docs/pwg/advanced-types.xml:
11740           Document typefinding.
11741         * docs/pwg/other-oneton.xml:
11742           Document one-to-n elements, demuxers and parsers.
11743
11744 2004-03-25  Tim-Philipp M??ller <t.i.m@zen.co.uk>
11745
11746         reviewed by: David Schleef  <ds@schleef.org>
11747
11748         * configure.ac: Check bison version (bug #127838)
11749
11750 2004-03-25  David Schleef  <ds@schleef.org>
11751
11752         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11753         * docs/gst/gstreamer-sections.txt:
11754         * docs/gst/tmpl/gstautoplug.sgml:
11755         * docs/gst/tmpl/gststaticautoplug.sgml:
11756         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11757         * docs/gst/tmpl/gstutils.sgml:
11758         * docs/gst/tmpl/gstxml.sgml:
11759
11760 2004-03-24  David Schleef  <ds@schleef.org>
11761
11762         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11763         manual being such complete crap, that I decided to do major
11764         hacking of it.  This checkin replaces any fine tuning that
11765         may have been done previously, with the benefit of actually
11766         being complete for much of the API that was changed since
11767         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11768         * docs/gst/gstreamer-sections.txt:
11769         * docs/gst/tmpl/GstBin.sgml:
11770         * docs/gst/tmpl/GstBuffer.sgml:
11771         * docs/gst/tmpl/GstCaps.sgml:
11772         * docs/gst/tmpl/GstClock.sgml:
11773         * docs/gst/tmpl/GstCompat.sgml:
11774         * docs/gst/tmpl/GstData.sgml:
11775         * docs/gst/tmpl/GstElement.sgml:
11776         * docs/gst/tmpl/GstEvent.sgml:
11777         * docs/gst/tmpl/GstIndex.sgml:
11778         * docs/gst/tmpl/GstStructure.sgml:
11779         * docs/gst/tmpl/GstTag.sgml:
11780         * docs/gst/tmpl/cothreads.sgml:
11781         * docs/gst/tmpl/cothreads_compat.sgml:
11782         * docs/gst/tmpl/gettext.sgml:
11783         * docs/gst/tmpl/grammar.tab.sgml:
11784         * docs/gst/tmpl/gst-i18n-app.sgml:
11785         * docs/gst/tmpl/gst-i18n-lib.sgml:
11786         * docs/gst/tmpl/gst.sgml:
11787         * docs/gst/tmpl/gst_private.sgml:
11788         * docs/gst/tmpl/gstaggregator.sgml:
11789         * docs/gst/tmpl/gstarch.sgml:
11790         * docs/gst/tmpl/gstatomic.sgml:
11791         * docs/gst/tmpl/gstatomic_impl.sgml:
11792         * docs/gst/tmpl/gstbin.sgml:
11793         * docs/gst/tmpl/gstbuffer.sgml:
11794         * docs/gst/tmpl/gstbufferstore.sgml:
11795         * docs/gst/tmpl/gstcaps.sgml:
11796         * docs/gst/tmpl/gstclock.sgml:
11797         * docs/gst/tmpl/gstcompat.sgml:
11798         * docs/gst/tmpl/gstconfig.sgml:
11799         * docs/gst/tmpl/gstcpu.sgml:
11800         * docs/gst/tmpl/gstdata.sgml:
11801         * docs/gst/tmpl/gstdata_private.sgml:
11802         * docs/gst/tmpl/gstelement.sgml:
11803         * docs/gst/tmpl/gstenumtypes.sgml:
11804         * docs/gst/tmpl/gsterror.sgml:
11805         * docs/gst/tmpl/gstevent.sgml:
11806         * docs/gst/tmpl/gstfakesink.sgml:
11807         * docs/gst/tmpl/gstfakesrc.sgml:
11808         * docs/gst/tmpl/gstfilesink.sgml:
11809         * docs/gst/tmpl/gstfilter.sgml:
11810         * docs/gst/tmpl/gstindex.sgml:
11811         * docs/gst/tmpl/gstinfo.sgml:
11812         * docs/gst/tmpl/gstinterface.sgml:
11813         * docs/gst/tmpl/gstlog.sgml:
11814         * docs/gst/tmpl/gstmacros.sgml:
11815         * docs/gst/tmpl/gstmarshal.sgml:
11816         * docs/gst/tmpl/gstmd5sink.sgml:
11817         * docs/gst/tmpl/gstmultifilesrc.sgml:
11818         * docs/gst/tmpl/gstobject.sgml:
11819         * docs/gst/tmpl/gstpad.sgml:
11820         * docs/gst/tmpl/gstparse.sgml:
11821         * docs/gst/tmpl/gstpipeline.sgml:
11822         * docs/gst/tmpl/gstplugin.sgml:
11823         * docs/gst/tmpl/gstpluginfeature.sgml:
11824         * docs/gst/tmpl/gstqueue.sgml:
11825         * docs/gst/tmpl/gstreamer-unused.sgml:
11826         * docs/gst/tmpl/gstregistry.sgml:
11827         * docs/gst/tmpl/gstregistrypool.sgml:
11828         * docs/gst/tmpl/gstscheduler.sgml:
11829         * docs/gst/tmpl/gstsearchfuncs.sgml:
11830         * docs/gst/tmpl/gstshaper.sgml:
11831         * docs/gst/tmpl/gstspider.sgml:
11832         * docs/gst/tmpl/gstspideridentity.sgml:
11833         * docs/gst/tmpl/gststructure.sgml:
11834         * docs/gst/tmpl/gstsystemclock.sgml:
11835         * docs/gst/tmpl/gsttag.sgml:
11836         * docs/gst/tmpl/gsttaginterface.sgml:
11837         * docs/gst/tmpl/gsttee.sgml:
11838         * docs/gst/tmpl/gstthread.sgml:
11839         * docs/gst/tmpl/gsttrace.sgml:
11840         * docs/gst/tmpl/gsttrashstack.sgml:
11841         * docs/gst/tmpl/gsttypefind.sgml:
11842         * docs/gst/tmpl/gsttypes.sgml:
11843         * docs/gst/tmpl/gsturi.sgml:
11844         * docs/gst/tmpl/gsturitype.sgml:
11845         * docs/gst/tmpl/gstutils.sgml:
11846         * docs/gst/tmpl/gstvalue.sgml:
11847         * docs/gst/tmpl/gstversion.sgml:
11848         * docs/gst/tmpl/gstxml.sgml:
11849         * docs/gst/tmpl/gstxmlregistry.sgml:
11850         * docs/gst/tmpl/gthread-cothreads.sgml:
11851         * docs/gst/tmpl/types.sgml:
11852
11853 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11854
11855         * docs/pwg/other-sink.xml:
11856         * docs/pwg/other-source.xml:
11857           Documentation on how to write source and sink elements. Other
11858           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11859           manager, autoplugger) are all still pending.
11860
11861 2004-03-25  Benjamin Otte  <otte@gnome.org>
11862
11863         * testsuite/elements/Makefile.am:
11864         * testsuite/elements/gst-compprep-check:
11865           add check to make sure gst-compprep works
11866         * testsuite/elements/gst-inspect-check.in:
11867           improve initialization output
11868         * testsuite/Makefile.am:
11869         * testsuite/gst-inspect-check:
11870           remove old file
11871
11872 2004-03-24  David Schleef  <ds@schleef.org>
11873
11874         * testsuite/elements/Makefile.am:
11875         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11876         to the testsuite.
11877
11878 2004-03-24  Benjamin Otte  <otte@gnome.org>
11879
11880         * libs/gst/control/dparam.c: (gst_dparam_attach),
11881         (gst_dparam_detach):
11882         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11883           fix lvalue casts for real
11884
11885 2004-03-24  Benjamin Otte  <otte@gnome.org>
11886
11887         * gst/schedulers/gstbasicscheduler.c:
11888         (gst_basic_scheduler_src_wrapper):
11889         * gst/schedulers/gstoptimalscheduler.c:
11890         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11891         (pad_clear_queued), (gst_opt_scheduler_add_element),
11892         (gst_opt_scheduler_remove_element):
11893           fix GStreamer to not have issues with lvalue casts anymore (fixes
11894           #136841)
11895
11896 2004-03-24  Benjamin Otte  <otte@gnome.org>
11897
11898         * gst/gstelement.c:
11899           add documentation about a gobject quirk where the object hasn't the
11900           correct class pointer set on initialization
11901         * gst/schedulers/gstbasicscheduler.c:
11902         (gst_basic_scheduler_src_wrapper):
11903           make sure to not run into an infinite loop
11904
11905 2004-03-22  Benjamin Otte  <otte@gnome.org>
11906
11907         * gst/gstutils.c: (gst_util_dump_mem):
11908         * gst/gstutils.h:
11909           first argument of gst_util_dump_mem should be const
11910
11911 2004-03-22  Johan Dahlin  <johan@gnome.org>
11912
11913         * gst/gstvalue.h: Clean up a little bit.
11914
11915 2004-03-21  Tim-Philipp M??ller <t.i.m@zen.co.uk>
11916
11917         reviewed by Benjamin Otte  <otte@gnome.org>
11918
11919         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11920         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11921         (gst_aggregator_class_init), (gst_aggregator_init):
11922         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11923         (gst_filesrc_dispose), (gst_filesrc_set_location):
11924         * gst/elements/gstidentity.c: (gst_identity_finalize),
11925         (gst_identity_class_init), (gst_identity_chain):
11926         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11927         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11928         (gst_statistics_class_init):
11929         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11930         (gst_tee_get_property):
11931           clean up used memory in this elements correctly on teardown (closes
11932           #137279)
11933
11934 2004-03-20  Colin Walters  <walters@redhat.com>
11935
11936         * gst/registries/gstxmlregistry.c:
11937         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11938         registry saving atomic.
11939
11940 2004-03-20  Colin Walters  <walters@redhat.com>
11941
11942         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11943         Just use
11944         access() instead of actually creating and deleting files.
11945
11946 2004-03-18  David Schleef  <ds@schleef.org>
11947
11948         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11949         (bug #137625)
11950
11951 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11952
11953         * po/sv.po: updated translation (Christian Rose)
11954
11955 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11956
11957         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11958         (gst_filesink_get_query_types), (_do_init),
11959         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11960           return FALSE silently
11961         * po/af.po: updated translation (Petri Jooste)
11962
11963 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11964
11965         * Makefile.am:
11966         * configure.ac:
11967           dist common properly
11968         * po/af.po:
11969         * po/fr.po:
11970         * po/nl.po:
11971         * po/sr.po:
11972         * po/sv.po:
11973           refreshing translations
11974
11975 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11976
11977         * po/LINGUAS:
11978         * po/sv.po:
11979         * po/af.po:
11980           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11981
11982 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11983
11984         * Makefile.am: use common/release.mak
11985
11986 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11987
11988         * docs/faq/gst-uninstalled:
11989           adding gst-monkeysaudio to the list of possible plugin dirs
11990
11991 2004-03-16  David Schleef  <ds@schleef.org>
11992
11993         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11994         (gst_init_check_with_popt_table):  Fix some gettext strings to
11995         make them easier to translate.  Required making the strings
11996         non-const.
11997
11998 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11999
12000         * configure.ac: bump nano to 1
12001
12002 === release 0.8.0 ===
12003
12004 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12005
12006         * configure.ac: release 0.8.0, "Executive Slacks"
12007
12008 2004-03-16  Johan Dahlin  <johan@gnome.org>
12009
12010         * gst/schedulers/gstoptimalscheduler.c
12011         (gst_opt_scheduler_pad_unlink): Remove double ;,
12012         spotted by Scott Wheeler
12013
12014 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12015
12016         * configure.ac: bump libtool version
12017
12018 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * gst/gstcaps.h:
12021         * gst/gststructure.h:
12022           add reserved padding
12023
12024 2004-03-15  Benjamin Otte  <otte@gnome.org>
12025
12026         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
12027           set the first parameter for select call correctly.
12028           (fixes #137230)
12029
12030 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12031
12032         * *.c,*.h: don't mix tabs and spaces
12033
12034 2004-03-15  Johan Dahlin  <johan@gnome.org>
12035
12036         * gst/schedulers/gstoptimalscheduler.c
12037         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
12038         crash on MPEG playback. My boolean arithmetic is a bit rusty.
12039
12040         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
12041         
12042 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12043
12044         * testsuite/Rules:
12045           fix gst-register rules
12046
12047 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12048
12049         * testsuite/Rules:
12050           use versioned gst-register
12051
12052 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12053
12054         * docs/libs/gstreamer-libs-sections.txt:
12055           remove </SUBSECTION>
12056         * gst/gstplugin.c:
12057         * gst/gstregistry.c: (gst_registry_add_plugin):
12058         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
12059         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
12060           add debugging and fix some comment blocks
12061
12062 2004-03-15  Johan Dahlin  <johan@gnome.org>
12063
12064         * *.h: Revert indent changes.
12065         
12066 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12067
12068         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
12069           g_error_free the g_error
12070         * tools/gst-feedback-m.m:
12071           check for other versions of gstreamer
12072         * tools/gst-indent:
12073           use sh, not bash
12074
12075 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * tools/gst-register.c: do not spill paths when registries are not
12078           writable, until we fix the "user running gst-register" case.
12079
12080 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12081
12082         * *.c, *.h: commit of gst-indent run on core
12083
12084 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12085
12086         * tools/gst-indent:
12087         * tools/Makefile.am:
12088           add our indentation style as a script
12089
12090 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12091
12092         * po/sr.po:
12093         * po/LINGUAS:
12094           added Serbian translation
12095
12096 2004-03-13  Benjamin Otte  <otte@gnome.org>
12097
12098         * gst/gstelement.c:
12099           add documentation note about gst_element_found_tags_for_pad not
12100           being usable in getfunctions. (see #137042)
12101
12102 2004-03-12  David Schleef  <ds@schleef.org>
12103
12104         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
12105         change API right now!  Readd gst_caps_is_simple() macro.
12106         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
12107         uninitialized variable.  I'd bet this caused crashes.
12108         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
12109
12110 2004-03-12  Johan Dahlin  <johan@gnome.org>
12111
12112         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
12113         * gst/gstcaps.h: Clean up
12114
12115         * gst/gst.c (init_post): call gst_caps_get_type() instead of
12116         _gst_caps_initalize()
12117
12118         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
12119         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
12120
12121         * gst/gststructure.c (gst_structure_get_type): Ditto
12122
12123         * gst/gststructure.h: Ditto
12124         
12125 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12126
12127         * gst/gstqueue.c: (gst_queue_init):
12128           Reset default max. values in queues. Reason is simply to avoid
12129           braindead use. If you want wider values, use the properties. The
12130           default is supposed to always work. Wider values would make this
12131           beast a memory hog by default (250 full-PAL RGB32 video frames?
12132           That's 440 MB! No thank you).
12133
12134 2004-03-10  David Schleef  <ds@schleef.org>
12135
12136         * tools/gst-run.c: (main):  Fix crash when no relevant tools
12137         were found.  (bug #136793)
12138
12139 2004-03-10  Johan Dahlin  <johan@gnome.org>
12140
12141         * gst/schedulers/gstoptimalscheduler.c
12142         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
12143         links to elements within the same group, so we can finally remove
12144         that annoying warning. Refactor the code a little bit
12145         (group_dec_links_for_element): Split out
12146
12147 2004-03-09  David Schleef  <ds@schleef.org>
12148
12149         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
12150         (bug #134863)
12151
12152 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12153
12154         * configure.ac: first bug fix due to major/minor bump
12155
12156 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12157
12158         * configure.ac: bump nano to 1
12159
12160 === release 0.7.6 ===
12161
12162 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12163
12164         * NEWS:
12165         * RELEASE:
12166         * configure.ac:
12167           releasing 0.7.6, "Almost"
12168         * po/fr.po:
12169         * po/nl.po:
12170         * tools/Makefile.am:
12171         * tools/gst-feedback-m.m:
12172           unversioned source
12173
12174 2004-03-09  Johan Dahlin  <johan@gnome.org>
12175
12176         Reviewed by: Thomas Vander Stichele
12177
12178         * gst/gstelement.c (gst_element_class_init): register second
12179         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
12180         language bindings can (de)marshall correctly.
12181
12182         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
12183
12184         * gst/gsterror.c (gst_g_error_get_type): New function
12185
12186         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
12187         with VOID:OBJECT,OBJECT,STRING 
12188
12189 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
12190
12191         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
12192         Free a leaked g_timer on early returns.
12193
12194 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12195
12196         * docs/pwg/advanced-types.xml:
12197           Add cinepak description.
12198
12199 2004-03-07  David Schleef  <ds@schleef.org>
12200
12201         * docs/random/mimetypes:  Added cinepak description
12202
12203 2004-03-07  Andy Wingo  <wingo@pobox.com>
12204
12205         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
12206
12207         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
12208         there are no links to other groups when a group is destroyed.
12209         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
12210         removed from a group, make sure the link count to elements linked
12211         to other pads is appropriately decremented. This really fixes
12212         #135672.
12213
12214         The 1.60->1.61 patch has been reapplied in light of this fix.
12215
12216         * gst/gstelement.c (gst_element_dispose): Really protect against
12217         multiple invocations this time.
12218
12219 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12220
12221         * docs/gst/gstreamer-sections.txt:
12222         * docs/gst/tmpl/gsttag.sgml:
12223           remove some deprecated functions, document some existing ones
12224         * gst/gsttag.c: (gst_tag_get_flag):
12225         * gst/gsttag.h:
12226           add accessor function
12227
12228 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12229
12230         * docs/gst/gstreamer-sections.txt:
12231         * docs/gst/tmpl/gsttag.sgml:
12232         * docs/gst/tmpl/gstxml.sgml:
12233         * gst/gsttag.c: (gst_tag_get_flag):
12234         * gst/gsttag.h:
12235
12236 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12237
12238         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12239         leak
12240
12241 2004-03-05  David Schleef  <ds@schleef.org>
12242
12243         * REQUIREMENTS: Add bison and flex.
12244         * configure.ac: Fix comment about bison.
12245         * docs/random/ds/0.9-suggested-changes: yer ma
12246         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12247
12248 2004-03-05  Benjamin Otte  <otte@gnome.org>
12249
12250         * gst/gstelement.c: (gst_element_error_full):
12251           revert recent recursive state changing commit - messing with other
12252           elements' states is evil and should be done by apps only.
12253
12254 2004-03-05  Benjamin Otte  <otte@gnome.org>
12255
12256         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12257           check for empty intersection instead of NULL caps
12258         (gst_element_get_compatible_pad_filtered):
12259           remove old workaround that is only a bug nowadays
12260
12261 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * gst/gstelement.c: (gst_element_error_full):
12264           make elements try to recursively change state to PAUSED on all
12265           parents after an error to suppress ensuing warnings
12266         * gst/parse/grammar.y:
12267           make it check if it was able to sync the state, and throw an error
12268           if not, so stuff like
12269           oggdemux ! vorbisdec ! osssink gets caught
12270
12271 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12272
12273         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12274           it contains lib64; use AS_AC_EXPAND to handle it properly
12275
12276 2004-03-05  David Schleef  <ds@schleef.org>
12277
12278         * gst/gstcpuid_i386.s:  Remove unused code
12279         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12280         (gst_getbits_newbuf): Remove MMX code
12281         * libs/gst/getbits/getbits.h: Remove MMX code
12282
12283 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12284
12285         * debian/.cvsignore:
12286         * debian/README.Debian:
12287         * debian/changelog:
12288         * debian/control:
12289         * debian/control.in:
12290         * debian/copyright:
12291         * debian/gstreamer-core-libs-dev.files:
12292         * debian/gstreamer-core-libs.files:
12293         * debian/gstreamer-core.files:
12294         * debian/gstreamer-core.postinst:
12295         * debian/gstreamer-core.postrm:
12296         * debian/gstreamer-doc.files:
12297         * debian/gstreamer-doc.links:
12298         * debian/gstreamer-doc.lintian:
12299         * debian/gstreamer-runtime.files:
12300         * debian/gstreamer-runtime.manpages:
12301         * debian/gstreamer-runtime.postinst:
12302         * debian/gstreamer-runtime.postrm:
12303         * debian/gstreamer-tools.files:
12304         * debian/gstreamer-tools.manpages:
12305         * debian/libgstreamer-dev.files:
12306         * debian/libgstreamer0.4.1.files:
12307         * debian/libgstreamerVERSION.files:
12308         * debian/rules:
12309         Debian package info not maintained here.
12310
12311 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12312
12313         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12314         * gst/gstbin.c: (gst_bin_class_init):
12315         * gst/gstelement.c: (gst_element_class_init):
12316         * gst/gstindex.c: (gst_index_class_init):
12317         * gst/gstobject.c: (gst_object_class_init),
12318         (gst_signal_object_class_init):
12319         * gst/gstpad.c: (gst_pad_template_class_init):
12320         * gst/gstregistry.c: (gst_registry_class_init):
12321         * gst/gsturi.c: (gst_uri_handler_base_init):
12322         * gst/gstxml.c: (gst_xml_class_init):
12323         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12324         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12325           make all signal names use dashes instead of underscore
12326
12327 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12330
12331 2004-03-03  Benjamin Otte  <otte@gnome.org>
12332
12333         * gst/schedulers/gstoptimalscheduler.c:
12334           revert last commit by Andy Wingo. It causes segfaults on unreffing
12335           in Rhythmbox. (see bug #135672)
12336
12337 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12338
12339         * po/fr.po: fix typo
12340
12341 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12342
12343         * tools/gst-inspect.c: (main): 
12344         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12345
12346 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * configure.ac:
12349           get GLIB_ONLY and POPT flags for the nonversioned binaries
12350         * tools/Makefile.am:
12351           use them
12352
12353 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12354
12355         * gst/gst.c: (init_post):
12356           change so that GST_REGISTRY now is where the global registry gets
12357           saved, since that is where plugins now get attached to first, and
12358           spilled over to the user registry.  Note that in the case of using
12359           GST_REGISTRY env var, we don't want to affect any real registries
12360           beyond the one given by this var, and thus we don't set a user
12361           registry to spill to.  So make sure GST_REGISTRY is writable.
12362
12363 2004-03-01  David Schleef  <ds@schleef.org>
12364
12365         * AUTHORS:  Added some names.  Add yourself if you're missing.
12366
12367 2004-03-01  David Schleef  <ds@schleef.org>
12368
12369         * MAINTAINERS: Add
12370
12371 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12372
12373         * configure.ac:
12374           remove whitespace
12375         * docs/gst/tmpl/gstbuffer.sgml:
12376         * docs/gst/tmpl/gstdata.sgml:
12377         * docs/gst/tmpl/gstreamer-unused.sgml:
12378         * docs/gst/tmpl/gstxml.sgml:
12379           doc update
12380         * docs/manuals.mak:
12381           add a FIXME
12382         * docs/pwg/intro-preface.xml:
12383         * docs/pwg/pwg.xml:
12384           remove GNOME
12385         * gst/gst.c: (init_post):
12386           try GST_PLUGIN_PATH paths for the _global_registry first
12387         * gst/gstelement.h:
12388           add the error message as well, otherwise (null) debug info doesn't
12389           make much sense
12390         * tools/gst-register.c: (main):
12391           spill paths to next registry if this registry is not writable
12392         * po/fr.po:
12393         * po/nl.po:
12394           translation updates
12395
12396 2004-03-01  Johan Dahlin  <johan@gnome.org>
12397
12398         * gst/gstbuffer.c (_gst_buffer_initialize): 
12399         * gst/gstdata.c (gst_data_get_type): 
12400         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12401         instead of ref, since some applications that uses GBoxed
12402         routines depends on a function that actually returns a copy.
12403
12404 2004-02-27  Benjamin Otte  <otte@gnome.org>
12405
12406         * gst/gstbuffer.h:
12407           remove gst_buffer_free, use gst_data_unref
12408         * gst/gstdata.c: (gst_data_get_type):
12409           use refcounting in GstData GBoxed registration
12410         * gst/gstdata.h:
12411           remove gst_data_free, use gst_data_unref
12412
12413 2004-02-27  Johan Dahlin  <johan@gnome.org>
12414
12415         * gst/gstdata.c (gst_data_get_type): New function, register
12416         GstData as a GBoxed type.
12417
12418         * gst/gstdata.h (GST_TYPE_DATA): New macro
12419
12420 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12421
12422         * Makefile.am:
12423         * gstreamer.spec.in:
12424           put back RELEASE
12425         * gst/Makefile.am:
12426           clean up non-disting of built files
12427         * testsuite/debug/commandline.c:
12428           test fix for option rename
12429
12430 2004-02-26  David Schleef  <ds@schleef.org>
12431
12432         * configure.ac:  We don't really need glib-2.3.  Also remove
12433         some unneeded checks for library functions.
12434         * gst/Makefile.am:  Instead, we need to not dist files created
12435         by glib-genmarshal.
12436
12437 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12438
12439         * configure.ac:
12440           bump glib required version to 2.3.0 for g_value_takes_boxed
12441
12442  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12443
12444         * common/m4/gst-docs.m4
12445         change flavour text from enable to disable as enable is our default
12446         closes bug Bug 135304
12447
12448 === release 0.7.5 ===
12449  
12450  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12451  
12452         * NEWS:
12453           instate NEWS file
12454         * Makefile.am:
12455         * gstreamer.spec.in:
12456         * RELEASE:
12457           put back release
12458         * configure.ac:
12459         * docs/random/release:
12460           more updates
12461
12462 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12463
12464         * gst/gsttag.c: (_gst_tag_initialize):
12465         * po/fr.po:
12466         * po/nl.po:
12467           remove hyphen from codec tags
12468
12469 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * gst/parse/Makefile.am:
12472           fix dependency so that a make from a clean build works the first
12473           time
12474
12475 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12476
12477         * docs/random/release:
12478           update release strategy
12479         * po/fr.po:
12480           auto-update po file
12481         * po/nl.po:
12482           update dutch translation
12483
12484 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12485
12486         * docs/manual/debugging.xml:
12487         fix manual for new debugging system
12488
12489 2004-02-25  Andy Wingo  <wingo@pobox.com>
12490
12491         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12492         gst_pad_link_prepare. Please email the list with specific reasons
12493         for reverting.
12494
12495 2004-02-24  Andy Wingo  <wingo@pobox.com>
12496
12497         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12498         invocations.
12499
12500         * gst/schedulers/gstoptimalscheduler.c:
12501         I added a mess of prototypes at the top of the file by way of
12502         documentation. Some of the operations on chains and groups were
12503         re-organized.
12504
12505         (create_group): Added a type argument so if the group is enabled,
12506         the setup_group_scheduler knows what to do.
12507         (group_elements): Added a type argument here, too, to be passed on
12508         to create_group.
12509         (group_element_set_enabled): If an unlinked PLAYING element is
12510         added to a bin, we have to create a new group to hold the element,
12511         and this function will be called before the group is added to the
12512         chain. Thus we have a valid case for group->chain==NULL. Instead
12513         of calling chain_group_set_enabled, just set the flag on the group
12514         (the chain's status will be set when the group is added to it).
12515         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12516         Setup the group scheduler when the group is enabled, not
12517         specifically when an element goes PAUSED->PLAYING. This means
12518         PLAYING elements can be added, linked, and scheduled into a
12519         PLAYING pipeline, as was intended.
12520         (add_to_group): Don't ref the group twice. I don't know when this
12521         double-ref got in here. Removing it has the potential to cause
12522         segfaults if other parts of the scheduler are buggy. If you find
12523         that the scheduler is segfaulting for you, put in an extra ref
12524         here and see if that hacks over the underlying issue. Of course,
12525         then find out what code is unreffing a group it doesn't own...
12526         (create_group): Make the extra refcount floating, and remove it
12527         after adding the element. This means that...
12528         (unref_group): Destroy when the refcount reaches 0, not 1, like
12529         every other refcounted object in the known universe.
12530         (remove_from_group): When a group becomes empty, set it to be not
12531         active, and remove it from its chain. Don't unref it again,
12532         there's no floating reference any more.
12533         (destroy_group): We have to remove the group from the chain in
12534         remove_from_group (rather than here) to break refcounting cycles
12535         (the chain always has a ref on the group). So assert that
12536         group->chain==NULL.
12537         (ref_group_by_count): Removed, it was commented out anyway.
12538         (merge_chains): Use the remove_from_chain and add_to_chain
12539         primitives to do the reparenting, instead of rolling our own
12540         implementation.
12541         (add_to_chain): The first non-disabled group in the chain's group
12542         list will be the entry point for the chain. Because buffers can
12543         accumulate in loop elements' peer bufpens, we preferentially
12544         schedule loop groups before get groups to avoid unnecessary
12545         execution of get-based groups when the bufpens are already full.
12546         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12547         (get_group_schedule_function): Ditto.
12548         (loop_group_schedule_function): Ditto.
12549         (gst_opt_scheduler_loop_wrapper): Ditto.
12550         (gst_opt_scheduler_iterate): Ditto.
12551
12552         I understand the opt scheduler now, yippee!
12553
12554         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12555         (gst_pad_get_name, gst_pad_set_chain_function) 
12556         (gst_pad_set_get_function, gst_pad_set_event_function) 
12557         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12558         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12559         (gst_pad_set_query_function, gst_pad_get_query_types) 
12560         (gst_pad_get_query_types_default) 
12561         (gst_pad_set_internal_link_function) 
12562         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12563         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12564         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12565         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12566         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12567         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12568         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12569         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12570         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12571         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12572         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12573         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12574         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12575         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12576         argument checks, and some doc fixes.
12577
12578         (gst_pad_custom_new_from_template): Um, does anyone
12579         use these functions? Actually make a custom pad instead of a
12580         normal one.
12581         (gst_pad_try_set_caps): Transpose some checks.
12582         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12583         the pad is in negotiation.
12584         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12585         
12586         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12587
12588         * gst/gstelement.h: 
12589         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12590         on the list.
12591
12592 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12593
12594         * gst/gstbin.c: (gst_bin_add):
12595           add error for not being able to add elements
12596
12597 2004-02-22  Julien MOUTTE <julien@moutte.net>
12598
12599         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12600         audio-codec and video-codec.
12601
12602 2004-02-22  Benjamin Otte  <otte@gnome.org>
12603
12604         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12605
12606         * autogen.sh:
12607           replace test -e with test -x for mkinstalldirs to be more portable.
12608           (fixes #134816)
12609
12610 2004-02-22  Benjamin Otte  <otte@gnome.org>
12611
12612         * gst/gstpad.c:
12613           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12614           too noisy
12615         * gst/gsttag.c: (_gst_tag_initialize):
12616         * gst/gsttag.h:
12617           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12618         * libs/gst/control/dparam.c: (gst_dparam_attach):
12619         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12620           check that types for attached dparams match
12621
12622 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12625         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12626         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12627           fix errors
12628
12629 2004-02-20  Andy Wingo  <wingo@pobox.com>
12630
12631         * gst/gstbin.c:
12632         * gst/gstbuffer.c:
12633         * gst/gstplugin.c:
12634         * gst/registries/gstxmlregistry.c: 
12635         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12636
12637         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12638         (gst_element_add_pad): DEBUG->INFO, some fixes.
12639         (gst_element_get_compatible_pad_template): Just see if the
12640         templates' caps intersect, not if one is a strict subset of the
12641         other. This conforms more to what gst_pad_link_intersect() does.
12642         (gst_element_class_add_pad_template): Don't memcpy the pad
12643         template, just ref it.
12644         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12645
12646         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12647         (gst_pad_link_filtered): Debug changes.
12648         (gst_pad_link_prepare): New function, consolidated from
12649         can_link_filtered and link_filtered.
12650
12651         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12652         look more like that of the functions in gstelement.c
12653
12654         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12655         object, and return the empty string if object is NULL.
12656
12657         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12658         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12659         LOG, not DEBUG. We still get flex info on debug.
12660
12661         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12662         debug string more verbose.
12663         (plugin_times_older_than): DEBUG->LOG.
12664
12665 2004-02-20  Julien MOUTTE <julien@moutte.net>
12666
12667         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12668         will emit found_tag for each stream they demux with the codec.
12669
12670 2004-02-20  Benjamin Otte  <otte@gnome.org>
12671
12672         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12673           copy navigation event correctly. Check freeing tag lists. 
12674         * gst/gstthread.c: (gst_thread_change_state):
12675           don't abort() on state changing mess - it might happen because of
12676           bugs.
12677         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12678           use boxed functions
12679         * gst/gstvalue.h:
12680           fix GST_VALUE_HOLDS_CAPS
12681
12682 2004-02-19  David Schleef  <ds@schleef.org>
12683
12684         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12685         and use it for GST_FUNCTION.  (bug #134750)
12686
12687 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12688
12689         * po/fr.po:
12690         * po/nl.po:
12691           updating translations
12692
12693 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12694
12695         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12696
12697 2004-02-18  kost@imn.htwk-leipzig.de
12698
12699         reviewed by: David Schleef  <ds@schleef.org>
12700
12701         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12702         for libgstcontrol.
12703
12704 2004-02-18  David Schleef  <ds@schleef.org>
12705
12706         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12707         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12708         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12709         * tools/gst-inspect.c: (print_element_info): Support dumping of
12710         double dparam information.
12711
12712 2004-02-17  David Schleef  <ds@schleef.org>
12713
12714         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12715         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12716         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12717         Use GST_TYPE_CAPS in signal prototype.
12718         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12719         Convert GST_TYPE_CAPS to boxed.
12720         * gst/gstelement.c: (gst_element_class_init):
12721         Use GST_TYPE_TAG_LIST in signal prototype.
12722         * gst/gstindex.c: (gst_index_class_init):
12723         * gst/gstindex.h:
12724         Add GST_TYPE_INDEX_ENTRY type.
12725         * gst/gstmarshal.list:
12726         Add necessary marshal types.
12727         * gst/gstpad.c: (gst_real_pad_class_init),
12728         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12729         (gst_pad_recover_caps_error):
12730         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12731         * gst/gststructure.c: (_gst_structure_initialize),
12732         (gst_structure_copy), (_gst_structure_copy_conditional):
12733         * gst/gststructure.h:
12734         Convert GST_TYPE_STRUCTURE to boxed.
12735         * gst/gsttag.c: (gst_tag_list_get_type):
12736         * gst/gsttag.h:
12737         Add GST_TYPE_TAG_LIST type.
12738
12739 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12740
12741         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12742         to what we agreed with david.
12743         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12744
12745 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12746
12747         * po/nl.po: update translation
12748
12749 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12750
12751         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12752           throw an error if spider is trying to play a mime type there is
12753           no decoder for
12754         * po/POTFILES.in:
12755           add gst/autoplug/gstspider.c for translation
12756
12757 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12758
12759         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12760         silently when the pad is negotiating.
12761
12762 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12763
12764         * docs/faq/Makefile.am:
12765           add script to run gstreamer uninstalled 
12766         * docs/faq/faq.xml:
12767         * docs/faq/developing.xml:
12768         * docs/faq/gst-uninstalled:
12769           extract script to run gstreamer uninstalled
12770         * docs/manuals.mak:
12771           add EXTRA_SOURCES variable for Makefile.am's to set to
12772           use additional SOURCE files for the doc build
12773
12774 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12775
12776         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12777
12778 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12779
12780         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12781         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12782         an error was thrown by osssink. Basically a state change failure for
12783         an element in a different scheduling group was considered as
12784         successful, which means that caps nego was going on and weird stuff
12785         happened. Like I wrote in the comment there, if someone wants to
12786         revert that please drop me a mail explaining why because I really see
12787         no point in keeping that broken behaviour there.
12788         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12789         be empty, we then return NULL which will trigger a nice error when 
12790         pulling from the pad.
12791
12792 2004-02-13  David Schleef  <ds@schleef.org>
12793
12794         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12795         (gst_dparam_get_property), (gst_dparam_set_property),
12796         (gst_dparam_do_update_default):
12797         * libs/gst/control/dparam.h:
12798         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12799         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12800         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12801         (gst_dpsmooth_do_update_double):
12802         * libs/gst/control/dparam_smooth.h:
12803         * libs/gst/control/dparammanager.c:
12804         (gst_dpman_inline_direct_update):
12805         Add support for double dparams.
12806
12807 2004-02-13  David Schleef  <ds@schleef.org>
12808
12809         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12810         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12811
12812 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12813
12814         reviewed by: David Schleef  <ds@schleef.org>
12815
12816         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12817         (gst_fdsrc_init), (gst_fdsrc_set_property),
12818         (gst_fdsrc_get_property), (gst_fdsrc_get):
12819         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12820         and sends an EOS event if file descriptor reading times out.
12821
12822 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12823
12824         * configure.ac:
12825           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12826
12827 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12828
12829         * configure.ac: pass required libxml version as argument
12830         (bug reported by Christophe Fergeau)
12831
12832 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12833   
12834         * docs/gst/gstreamer-docs.sgml:
12835         * docs/gst/tmpl/gstxml.sgml:
12836         * docs/libs/gstreamer-libs-docs.sgml:
12837           version API docs
12838
12839 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12840
12841         * gst/gstinfo.c:
12842         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12843         (gst_registry_pool_feature_filter):
12844         * gst/gstthread.c: (gst_thread_class_init):
12845         * gst/gstvalue.c:
12846           add includes exposed by building without libxml
12847         * gst/indexers/Makefile.am:
12848           do not build fileindex when LOADSAVE disabled; we should have
12849           a better libxml check later since fileindex depends on xml, not
12850           LOADSAVE or REGISTRY
12851         * libs/gst/control/Makefile.am:
12852           link with m
12853         * tools/Makefile.am:
12854           fix wrong source code for gst-xmlinspect
12855
12856 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12857
12858         * configure.ac:
12859           fix gcov help output
12860           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12861         * docs/random/release:
12862           some updated releasing notes
12863         * gstreamer.spec.in:
12864           more updates
12865
12866 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12867
12868         * docs/faq/faq.xml:
12869         * docs/manual/manual.xml:
12870         * docs/pwg/pwg.xml:
12871         * docs/pwg/titlepage.xml:
12872           put version in documentation
12873
12874 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12875
12876         * tools/Makefile.am: fix man page installation
12877
12878 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12879
12880         * configure.ac:
12881           don't check for libxml when load/save and registry disabled (#105844)
12882         * gstreamer.spec.in:
12883           sync with fedora candidate spec
12884
12885 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12886
12887         * po/fr.po:
12888         * po/nl.po:
12889           replace multidisksrc with multifilesrc
12890
12891 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12892
12893         * po/POTFILES.in:
12894           update to multidisksrc => multifilesrc file renaming (#134145)
12895
12896 2004-02-11  David Schleef  <ds@schleef.org>
12897
12898         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12899         * docs/gst/tmpl/gstpadtemplate.sgml: same
12900         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12901         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12902         fixing dance.
12903         * gst/gstutils.c: Remove disabled code that uses GstProps.
12904         * gst/registries/gstxmlregistry.h: same
12905         * docs/random/ds/0.9-suggested-changes: random notes
12906
12907 2004-02-11  kost@imn.htwk-leipzig.de
12908
12909         reviewed by: David Schleef  <ds@schleef.org>
12910
12911         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12912         initialisation of clock (bug #134128)
12913
12914 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12915
12916         * configure.ac:
12917         * gst/elements/Makefile.am:
12918         * gst/elements/gstelements.c:
12919         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12920         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12921         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12922         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12923         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12924         * gst/elements/gstmultifilesrc.h:
12925           rename multidisksrc to multifilesrc (part of #122200)
12926
12927 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12928
12929         * docs/manuals.mak:
12930           fix automake complaints
12931         * gst-element-check.m4:
12932           fix unquotedness
12933
12934 2004-02-11  David Schleef  <ds@schleef.org>
12935
12936         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12937         * gst/gstatomic_impl.h: Disable sparc implementation.
12938
12939 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12940
12941         * gst-element-check.m4:
12942           fix underquoted macros as reported by automake 1.8.x (#133800)
12943         * configure.ac:
12944           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12945           by autopoint (fixes #132996)
12946
12947 2004-02-10  Andy Wingo  <wingo@pobox.com>
12948
12949         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12950         way to do inheritance.
12951         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12952         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12953         Routine docs.
12954         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12955         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12956         doc.
12957         (gst_pad_unlink, gst_pad_is_linked): Docs.
12958         (gst_pad_renegotiate): A brief description of capsnego.
12959         (gst_pad_try_set_caps): Document.
12960         (gst_pad_try_set_caps_nonfixed): Document.
12961         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12962         (gst_pad_set_parent): Deprecated (although not out of the API).
12963         (gst_pad_get_parent): Deprecated, although many plugins use this.
12964         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12965         are private and will go away in 0.9.
12966         (gst_pad_perform_negotiate): Doc.
12967         (gst_pad_link_unnegotiate): I think this is meant to be static.
12968         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12969         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12970         (gst_pad_get_peer): Doc updates.
12971         (gst_pad_caps_change_notify): Doc.
12972         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12973         (gst_ghost_pad_new): Doc fixes.
12974
12975         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12976         (gst_object_check_uniqueness): 
12977
12978         * gst/gstelement.c (gst_element_add_pad) 
12979         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12980         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12981         (gst_element_get_static_pad, gst_element_get_pad_list) 
12982         (gst_element_class_get_pad_template_list) 
12983         (gst_element_class_get_pad_template): Work on the docs.
12984         (gst_element_get_pad_template_list): Uses the class method.
12985         (gst_element_get_compatible_pad_template): Docs, and consolidate
12986         some test conditions. 
12987         (gst_element_get_pad_from_template): New static function.
12988         (gst_element_request_compatible_pad): Docs, and work with
12989         non-request compatible templates. 
12990         (gst_element_get_compatible_pad_filtered): Docs and remove
12991         redundant checks.
12992         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12993         (gst_element_link_filtered, gst_element_link_many) 
12994         (gst_element_link, gst_element_link_pads) 
12995         (gst_element_unlink_many): Docs.
12996
12997 2004-02-05  Andy Wingo  <wingo@pobox.com>
12998
12999         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
13000         s/pointer/boxed/.
13001
13002         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
13003
13004         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
13005         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
13006         with the type=GST_TYPE_CAPS. This allows language bindings to know
13007         what kind of data they're dealing with.
13008
13009         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
13010         to NULL when g_value_init is called. GstCaps, which rolls its own
13011         type implementation, now does the same instead of allocating empty
13012         caps.
13013         (_gst_caps_initialize, _gst_caps_collect_value,
13014         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
13015         table methods. This allows G_VALUE_COLLECT to work.
13016
13017 2004-02-05  Andy Wingo  <wingo@pobox.com>
13018
13019         * configure.ac:
13020         * testsuite/Makefile.am (SUBDIRS): 
13021         * testsuite/ghostpads/Makefile.am: 
13022         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
13023
13024         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
13025         These two routines are the only ones that set
13026         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
13027         pad template. They should be made static, depending on ABI needs.
13028         (gst_real_pad_dispose): Handle the case of ghost pads without a
13029         parent. Assert after dealing with ghost pads that the ghost pad
13030         list is empty.
13031         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
13032         set after creation.
13033         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
13034         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
13035         functions. set_property will call add_ghost_pad/remove_ghost_pad
13036         as appropriate.
13037         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
13038
13039         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
13040         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
13041         (gst_element_remove_pad): Handle ghost pads as well.
13042         (gst_element_remove_ghost_pad): Deprecated (could be removed,
13043         depending on API-stability needs).
13044
13045 2004-02-05  Andy Wingo  <wingo@pobox.com>
13046
13047         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
13048         of course they're const
13049
13050 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13051
13052         * tools/Makefile.am:
13053         * tools/gst-feedback:
13054         * tools/gst-feedback-0.7:
13055           make gst-feedback versioned too for consistency
13056
13057 2004-02-11  David Schleef  <ds@schleef.org>
13058
13059         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13060         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
13061
13062 2004-02-10  Julien MOUTTE <julien@moutte.net>
13063
13064         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
13065         the structure does not contain a valid tag list. Adding a safety check
13066         to remove a noisy warning in that case.
13067
13068 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13069
13070         * gst/gst.c: fix name to be in line with others
13071
13072 2004-02-09  Julien MOUTTE <julien@moutte.net>
13073
13074         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
13075         not shout that loud when len is 0. Just return 0 silently.
13076
13077 2004-02-09  Julien MOUTTE  <julien@moutte.net>
13078
13079         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
13080         because data_unref has one and I prefer the debug to be symetric.
13081         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
13082         were refed when added to the queue and unrefed only once when the queue
13083         was flushed. Now the flush handler unref the buffers two times : first
13084         unref for the ref added when pushing in the queue's tail and second
13085         unref to destroy the flushed buffer.
13086
13087 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13088
13089         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
13090
13091 2004-02-06  David Schleef  <ds@schleef.org>
13092
13093         * docs/random/ds/0.9-suggested-changes: Random ramblings
13094         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
13095         to int before printing.
13096         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
13097         * gst/parse/parse.l: same.  See bug #129600
13098
13099 2004-02-06  David Schleef  <ds@schleef.org>
13100
13101         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
13102         (gst_index_add_entry), (gst_index_add_associationv),
13103         (gst_index_add_association): Add gst_index_add_associationv()
13104         and clean up gst_index_add_association(). #127133
13105
13106 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13107
13108         * autogen.sh: check out common with right tag if CVS/Tag exists
13109
13110 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13111
13112         * testsuite/ghostpads/ghostpads.c: (main):
13113           fix testsuite from segfaulting
13114
13115 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13116
13117         * Makefile.am: add release target
13118         * configure.ac: bump nano to 1
13119         * docs/random/release:
13120
13121 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13122
13123         * gst/gstcaps.h:
13124         * gst/gstelement.c: (gst_element_base_class_init),
13125         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13126         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13127         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13128         (gst_real_pad_dispose):
13129         * gst/gststructure.c: (gst_structure_free),
13130         (gst_structure_from_string):
13131           put reverted patch back in
13132         * gst/gstelement.c: (gst_element_remove_pad):
13133           free explicit caps if they're set
13134         * gst/gstpad.c: (_gst_pad_default_fixate_func):
13135           copy the structure when fixating
13136
13137 2004-02-05  David Schleef  <ds@schleef.org>
13138
13139         * gst/gstmarshal.list:
13140         * gst/gstpad.c: (gst_real_pad_class_init),
13141         (_gst_real_pad_fixate_accumulator):
13142         Revert POINTER->BOXED change in signal marshaller.
13143
13144 === release 0.7.4 ===
13145                                                                                 
13146 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13147                                                                                 
13148         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
13149         * configure.ac: changed for release
13150
13151 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13152
13153         * gstreamer.spec.in:
13154           bump required version of gtk-doc
13155
13156 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * gst/gstcaps.h:
13159         * gst/gstelement.c: (gst_element_base_class_init),
13160         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13161         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13162         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13163         (gst_real_pad_dispose):
13164         * gst/gststructure.c: (gst_structure_free),
13165         (gst_structure_from_string):
13166           revert patch that breaks applications, reapply after release
13167           to get this fixed properly
13168
13169 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13170
13171         * gst/gsttag.c: (_gst_tag_initialize):
13172         * gst/gsttag.h:
13173           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
13174
13175 2004-02-04  David Schleef  <ds@schleef.org>
13176
13177         Fix some memleaks:
13178         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
13179         (gst_spider_plug_from_srcpad):
13180         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
13181
13182 2004-02-04  David Schleef  <ds@schleef.org>
13183
13184         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
13185         a GstRealPad before accessing its structure members.
13186
13187 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13188
13189         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
13190         (gst_clock_get_speed):
13191         * gst/gstclock.h:
13192           reset padding, remove unused fields
13193
13194 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13195
13196         * gst/autoplug/gstspideridentity.c:
13197         (gst_spider_identity_sink_loop_type_finding):
13198           use get_allowed_caps, not get_caps (fixes #132519)
13199         * gst/elements/gsttypefind.c: (stop_typefinding):
13200           use correct order when sending buffers and seeking
13201
13202 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13203
13204         * configure.ac:
13205         * gst/gstelement.h:
13206         * gst/gstpad.h:
13207         * gst/gstqueue.h:
13208           upgrade libtool CURRENT, reset padding
13209
13210 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13211
13212         * configure.ac:
13213           bump to prerelease
13214           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
13215
13216 2004-02-04  David Schleef  <ds@schleef.org>
13217
13218         * docs/random/ds/0.9-suggested-changes: random notes
13219         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
13220         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
13221         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
13222         expansion.
13223         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
13224         (gst_filesink_get_query_types): same
13225         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
13226         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
13227         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
13228         to use new GST_PTR_FORMAT.
13229         * gst/gstelement.h: deprecate function factory macros
13230         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
13231         These are our last variadic macros that can't be replaced with
13232         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13233         attempting to deprecate gst_element_clock_wait().
13234         * gst/gstevent.h: same
13235         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13236         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13237         * gst/gstpad.h: deprecate function factory macros similar to above.
13238
13239 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13240
13241         * configure.ac:
13242         * tools/Makefile.am:
13243         * tools/gst-run.c: (popt_callback), (hash_print_key),
13244         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13245         (get_candidates), (main):
13246           add new source file to generate non-versioned wrapper binaries
13247           for our tools.
13248
13249 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13250
13251         * gst/gstevent.c: (_gst_event_free):
13252           actually break; inside the switch statement
13253         * gst/parse/grammar.y:
13254           fix memleak where GValues weren't unset
13255
13256 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13257
13258         * gst/gststructure.c: (gst_structure_from_string):
13259           fix huge memleak
13260         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13261         (new_entry), (gst_type_find_element_chain):
13262         * gst/gstelement.c: (gst_element_base_class_init),
13263         (gst_element_class_set_details):
13264         * gst/gstpad.c: (gst_pad_can_link_filtered):
13265           fix smaller memleaks
13266         * gst/gstpad.c: (gst_real_pad_dispose):
13267           check that explicit caps are gone
13268         * gst/gststructure.c: (gst_structure_free):
13269           actually free the structure
13270         * gst/gstelement.c: (gst_element_clear_pad_caps):
13271           unset explicit caps
13272
13273 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13274
13275         * tools/Makefile.am:
13276           use AM_CFLAGS since all the CFLAGS are the same
13277           use AM_LDFAGS
13278
13279 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13280
13281         * docs/manual/gnome.xml:
13282           expand example a little
13283         * gst/gst.c: (gst_init_with_popt_table),
13284         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13285           make sure popt option displays are done with right textdomain
13286           use GstPoptOption type
13287         * gst/gst.h:
13288           create GstPoptOption type
13289
13290 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13291
13292         * gst/gsterror.c: (_gst_stream_errors_init):
13293         * gst/gsterror.h:
13294           adding error type for no codec
13295         * po/POTFILES.in:
13296           add gst-inspect
13297         * po/nl.po:
13298           update dutch translation
13299         * tools/gst-inspect.c: (print_element_list), (main):
13300           do proper internationalization
13301         * tools/gst-launch.c: (idle_func):
13302           remove commented out function call
13303
13304 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13305
13306         * docs/README:
13307           add some error fixing notes
13308         * docs/gst/gstreamer-sections.txt:
13309           remove double entries
13310         * docs/gst/tmpl/gstbin.sgml:
13311         * docs/gst/tmpl/gstclock.sgml:
13312           remove override
13313         * docs/gst/tmpl/gstelement.sgml:
13314         * docs/gst/tmpl/gstindex.sgml:
13315         * docs/gst/tmpl/gstobject.sgml:
13316         * docs/gst/tmpl/gstpadtemplate.sgml:
13317         * docs/gst/tmpl/gstreamer-unused.sgml:
13318         * docs/gst/tmpl/gsttag.sgml:
13319         * docs/gst/tmpl/gstthread.sgml:
13320         * docs/gst/tmpl/gstxml.sgml:
13321         * gst/gsttag.h:
13322           sync header prototypes with c decls
13323         * gst/gsttaginterface.c:
13324           fix doc headers
13325
13326 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13327
13328         * gst/parse/Makefile.am:
13329         * gst/gstobject.h:
13330           get rid of gstmarshal.h dependency. It's not needed.
13331         * gst/gst.h:
13332         * gst/elements/gstfakesink.c:
13333         * gst/elements/gstfakesrc.c:
13334         * gst/elements/gstidentity.c:
13335         * gst/gstbin.c:
13336         * gst/gstelement.c:
13337         * gst/gstindex.c:
13338         * gst/gstobject.c:
13339         * gst/gstpad.c:
13340         * gst/gstthread.c:
13341         * gst/gstxml.c:
13342         * libs/gst/control/dparam.c:
13343         * libs/gst/control/dparammanager.c:
13344           include gstmarshal.h.
13345         Fixes #132045
13346
13347 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13348
13349         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13350         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13351         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13352         * gst/elements/gstfilesrc.h:
13353           don't ref the filesrc when creating mmaped buffers. Don't keep a
13354           list of not-yet-destroyed buffers.
13355         * gst/gstbuffer.h:
13356           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13357
13358 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13359
13360         * gst/gst.c: (init_pre):
13361           remove textdomain
13362
13363 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13364
13365         * docs/pwg/advanced-events.xml:
13366         * docs/pwg/advanced-scheduling.xml:
13367         * docs/pwg/intro-basics.xml:
13368         * docs/pwg/other-manager.xml:
13369         * docs/pwg/other-nton.xml:
13370         * docs/pwg/other-ntoone.xml:
13371         * docs/pwg/other-oneton.xml:
13372         * docs/pwg/pwg.xml:
13373           All sort of documentation... Forgot what. Point is that I want this
13374           in before I leave. The 'other-*' will be the last section and will
13375           explain issues specific to these type of elements.
13376
13377 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13378
13379         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13380         (gst_filesrc_get_read):
13381           set all the values on buffers that we can
13382
13383 2004-02-02  David Schleef  <ds@schleef.org>
13384
13385         Change usage of isblah() to g_ascii_isblah() to be more locale
13386         independent.  (#133076)
13387         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13388         * gst/gstutils.c:
13389         * gst/parse/parse.l:
13390
13391 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13392
13393         reviewed by: David Schleef  <ds@schleef.org>
13394
13395         Fix memory leaks:
13396         * gst/gstcaps.c: (gst_caps_to_string):
13397         * gst/registries/gstxmlregistry.c:
13398         (gst_xml_registry_add_path_list_func),
13399         (gst_xml_registry_parse_padtemplate):
13400
13401 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13402
13403         * gst/gstelement.c: (gst_element_default_error):
13404           suffix error messages with period
13405
13406 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13407
13408         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13409         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13410         * gst/gsterror.c: (gst_error_get_message):
13411           Suffix with dots
13412         * po/fr.po:
13413         * po/nl.po:
13414           Update translation files
13415
13416 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13417
13418         * gst/autoplug/gstspideridentity.c:
13419         (gst_spider_identity_sink_loop_type_finding):
13420         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13421         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13422         (gst_filesink_close_file), (gst_filesink_handle_event),
13423         (gst_filesink_chain):
13424         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13425         (gst_filesrc_get_read), (gst_filesrc_open_file):
13426         * gst/elements/gstidentity.c: (gst_identity_chain):
13427         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13428         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13429         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13430         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13431         * gst/gsterror.c: (_gst_core_errors_init),
13432         (_gst_library_errors_init), (_gst_resource_errors_init),
13433         (_gst_stream_errors_init), (gst_error_get_message):
13434         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13435         (gst_pad_recover_caps_error), (gst_pad_pull):
13436         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13437         * gst/schedulers/gstbasicscheduler.c:
13438         (gst_basic_scheduler_chainhandler_proxy),
13439         (gst_basic_scheduler_gethandler_proxy),
13440         (gst_basic_scheduler_cothreaded_chain):
13441           Suffix error messages with period.
13442           Use (NULL) instead of NULL
13443
13444 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13445
13446         * docs/gst/tmpl/gstelement.sgml:
13447         * docs/gst/tmpl/gstxml.sgml:
13448         * gst/gstelement.c: (gst_element_error_full):
13449           add element path to error
13450
13451 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13452
13453         * docs/random/mimetypes:
13454           update raw int/float info
13455         * gst/gsttag.c: (_gst_tag_initialize):
13456         * gst/gsttag.h:
13457           add GST_TAG_ENCODER
13458
13459 2004-01-30  David Schleef  <ds@schleef.org>
13460
13461         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13462           missing (#132991)
13463
13464 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13465
13466         reviewed by Benjamin Otte 
13467           parts of the patch submitted in bug #113913
13468
13469         * configure.ac:
13470           use AC_C_INLINE. Use = instead of == with test
13471         * examples/plugins/example.c:
13472         * gst/autoplug/gstspideridentity.c:
13473         * gst/elements/gstfdsrc.c:
13474         * gst/elements/gstfilesrc.c:
13475         * gst/elements/gstidentity.c:
13476         * gst/elements/gstmultidisksrc.c:
13477         * gst/elements/gststatistics.c:
13478         * gst/gstelement.c:
13479         * gst/gstobject.c:
13480         * gst/gstpad.c:
13481         * gst/gstpipeline.c:
13482         * gst/gstthread.c:
13483           don't end enums with a comma
13484         * gst/gstindex.c: (gst_index_compare_func):
13485           do explicit casting to gint
13486         * gst/gsttrace.c: (gst_trace_text_flush):
13487           #define strsize as a macro
13488
13489 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13490
13491         * docs/README:
13492         * docs/gst/gstreamer-docs.sgml:
13493         * docs/gst/gstreamer-sections.txt:
13494         * docs/gst/tmpl/gstelement.sgml:
13495         * docs/gst/tmpl/gsterror.sgml:
13496         * docs/gst/tmpl/gstinterface.sgml:
13497         * docs/gst/tmpl/gstreamer-unused.sgml:
13498         * docs/gst/tmpl/gststructure.sgml:
13499         * docs/gst/tmpl/gsttag.sgml:
13500         * docs/gst/tmpl/gsttaginterface.sgml:
13501         * docs/gst/tmpl/gstvalue.sgml:
13502         make sure all API ends up in the built docs
13503         * gst/gstinterface.c:
13504         * gst/gststructure.c: (gst_structure_id_set_value),
13505         (gst_structure_set_value), (gst_structure_id_get_value):
13506         * gst/gststructure.h:
13507         * gst/gstvalue.h:
13508         sync .h with .c declarations
13509
13510 2004-01-30  Julien Moutte  <julien@moutte.net>
13511
13512         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13513         Ronald will fix riffread.
13514
13515 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13516
13517         * docs/pwg/advanced-interfaces.xml:
13518           Added tuner interface docs.
13519
13520 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13521
13522         * docs/random/mimetypes:
13523           correct Theora information
13524         * gst/gstelement.h:
13525           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13526
13527 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13528
13529         * gst/gstelement.c: (gst_element_error_full):
13530         * gst/gstelement.h:
13531           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13532
13533 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13534
13535         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13536         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13537         again and even before DISCONT.
13538         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13539         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13540         bytestream so that it's not stopping to fill the bytestream if events
13541         different than EOS or DISCONT are received. Instead it process them so
13542         that they go downstream.
13543
13544 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13545
13546         * docs/gst/tmpl/gstelement.sgml:
13547         * docs/gst/tmpl/gstreamer-unused.sgml:
13548         * docs/gst/tmpl/gstxml.sgml:
13549         * gst/autoplug/gstspideridentity.c:
13550         (gst_spider_identity_sink_loop_type_finding):
13551         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13552         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13553         (gst_filesink_close_file), (gst_filesink_handle_event),
13554         (gst_filesink_chain):
13555         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13556         (gst_filesrc_get_read), (gst_filesrc_open_file):
13557         * gst/elements/gstidentity.c: (gst_identity_chain):
13558         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13559         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13560         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13561         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13562         * gst/gstelement.h:
13563         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13564         (gst_pad_recover_caps_error), (gst_pad_pull):
13565         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13566         * gst/schedulers/gstbasicscheduler.c:
13567         (gst_basic_scheduler_chainhandler_proxy),
13568         (gst_basic_scheduler_gethandler_proxy),
13569         (gst_basic_scheduler_cothreaded_chain):
13570           gst_element_error -> GST_ELEMENT_ERROR
13571
13572 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13573
13574         * docs/Makefile.am:
13575         * docs/gst/tmpl/gstelement.sgml:
13576         * docs/gst/tmpl/gstxml.sgml:
13577         * docs/manuals.mak:
13578         * docs/pwg/advanced-request.xml:
13579         * docs/pwg/advanced-scheduling.xml:
13580         * docs/pwg/advanced-tagging.xml:
13581           fix non-validating docbook using CDATA
13582           make sure make check-local gets run first to check if it validates
13583
13584 2004-01-29  Julien MOUTTE <julien@moutte.net>
13585
13586         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13587         handling (up and downstream).
13588         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13589         my_filter thing.
13590
13591 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13592
13593         * docs/pwg/advanced-tagging.xml:
13594           Add docs about tag writing.
13595
13596 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13597
13598         * docs/pwg/advanced-tagging.xml:
13599           Add a part about tag reading and application signalling... Tag
13600           writing still needs to be documented.
13601         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13602           We can set file locations in READY, too.
13603
13604 2004-01-29  Julien MOUTTE <julien@moutte.net>
13605
13606         * docs/random/ds/element-checklist: Adding some notes about src
13607         events.
13608
13609 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13610
13611         * docs/random/mimetypes:
13612           Update docs to point to correct elements for various mimetypes, and
13613           some more errors pointed out by St??phane LOEUILLET (aka LeRoutier)
13614           <stephane.loeuillet@tiscali.fr>.
13615
13616 2004-01-28  David Schleef  <ds@schleef.org>
13617
13618         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13619
13620 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13621
13622         * docs/random/mimetypes:
13623           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13624           undefined"
13625         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13626           make it only work in NULL.
13627         * gst/gstcaps.c:
13628           don't posion NULL caps
13629         * gst/gstelement.c: (gst_element_set_time):
13630           add debugging statement
13631         * gst/gstelement.c: (gst_element_emit_found_tag),
13632         (gst_element_found_tag_func), (gst_element_found_tags):
13633         * gst/gstelement.h:
13634           These functions take const taglists
13635         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13636           fix memleak
13637         * gst/gstpad.c: (gst_pad_event_default):
13638           make more effort on handling discont and clocks, g_warn if everything
13639           fails
13640         * gst/gststructure.c: (gst_structure_remove_fields),
13641         (gst_structure_remove_fields_valist):
13642         * gst/gststructure.h:
13643           add gst_structure_remove_fields(_valist)
13644         * gst/gsttag.c:
13645           fix doc glitch
13646
13647 2004-01-28  David Schleef  <ds@schleef.org>
13648
13649         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13650         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13651         Fix memory leakage of gst_caps_to_string().
13652
13653         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13654         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13655         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13656         (gst_spider_identity_sink_loop_type_finding):
13657         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13658         (find_suggest):
13659         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13660         (gst_pad_set_explicit_caps):
13661         * gst/parse/grammar.y:
13662
13663 2004-01-28  David Schleef  <ds@schleef.org>
13664
13665         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13666         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13667         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13668         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13669         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13670         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13671         (gst_debug_log_default), (_gst_info_printf_extension),
13672         (_gst_info_printf_extension_arginfo):  Add printf extension.
13673         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13674         * gst/gststructure.c: (gst_structure_to_string),
13675         (_gst_structure_parse_value): Use gst_value_deserialize() and
13676         remove old code.
13677         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13678         (gst_value_deserialize_boolean), (gst_strtoi),
13679         (gst_value_deserialize_int), (gst_value_deserialize_double),
13680         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13681         a bunch of deserialize functions and gst_value_deserialize.
13682         * gst/gstvalue.h: er, _de_serialize, not unserialize
13683         * testsuite/caps/string-conversions.c: (main): We don't currently
13684         handle (float) in caps, so convert these to (double).
13685         * testsuite/debug/Makefile.am: Add new test for the printf extension
13686         * testsuite/debug/printf_extension.c: (main): same
13687
13688 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13689
13690         * docs/random/company/time:
13691           Add some docs about clocking and time
13692
13693 2004-01-28  Julien MOUTTE <julien@moutte.net>
13694
13695         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13696
13697 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13698
13699         * docs/pwg/advanced-clock.xml:
13700         * docs/pwg/advanced-dparams.xml:
13701         * docs/pwg/advanced-events.xml:
13702         * docs/pwg/advanced-interfaces.xml:
13703         * docs/pwg/advanced-midi.xml:
13704         * docs/pwg/advanced-request.xml:
13705         * docs/pwg/advanced-scheduling.xml:
13706         * docs/pwg/advanced-tagging.xml:
13707         * docs/pwg/advanced-types.xml:
13708         * docs/pwg/appendix-checklist.xml:
13709         * docs/pwg/building-boiler.xml:
13710         * docs/pwg/building-chainfn.xml:
13711         * docs/pwg/building-filterfactory.xml:
13712         * docs/pwg/building-pads.xml:
13713         * docs/pwg/building-props.xml:
13714         * docs/pwg/building-signals.xml:
13715         * docs/pwg/building-state.xml:
13716         * docs/pwg/building-testapp.xml:
13717         * docs/pwg/intro-basics.xml:
13718         * docs/pwg/intro-preface.xml:
13719         * docs/pwg/other-autoplugger.xml:
13720         * docs/pwg/other-sink.xml:
13721         * docs/pwg/other-source.xml:
13722         * docs/pwg/titlepage.xml:
13723           fix up id's
13724
13725 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13726
13727         * docs/95NonPath:
13728         * docs/HACKING:
13729         * docs/README:
13730         * docs/building-the-docs-on-debian:
13731           collect relevant bits of doc info
13732
13733 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13734
13735         * docs/pwg/advanced_tagging.xml:
13736           Half-assed commit so Thomas can re-arrange document IDs here to be
13737           consistent, too.
13738
13739 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13740
13741         * docs/manual/autoplugging.xml:
13742         * docs/manual/bins-api.xml:
13743         * docs/manual/bins.xml:
13744         * docs/manual/buffers-api.xml:
13745         * docs/manual/buffers.xml:
13746         * docs/manual/clocks.xml:
13747         * docs/manual/components.xml:
13748         * docs/manual/cothreads.xml:
13749         * docs/manual/debugging.xml:
13750         * docs/manual/dparams-app.xml:
13751         * docs/manual/dynamic.xml:
13752         * docs/manual/elements-api.xml:
13753         * docs/manual/elements.xml:
13754         * docs/manual/factories.xml:
13755         * docs/manual/gnome.xml:
13756         * docs/manual/goals.xml:
13757         * docs/manual/helloworld.xml:
13758         * docs/manual/helloworld2.xml:
13759         * docs/manual/init-api.xml:
13760         * docs/manual/intro.xml:
13761         * docs/manual/links-api.xml:
13762         * docs/manual/links.xml:
13763         * docs/manual/manual.xml:
13764         * docs/manual/motivation.xml:
13765         * docs/manual/pads-api.xml:
13766         * docs/manual/pads.xml:
13767         * docs/manual/plugins-api.xml:
13768         * docs/manual/plugins.xml:
13769         * docs/manual/programs.xml:
13770         * docs/manual/queues.xml:
13771         * docs/manual/quotes.xml:
13772         * docs/manual/schedulers.xml:
13773         * docs/manual/states-api.xml:
13774         * docs/manual/states.xml:
13775         * docs/manual/threads.xml:
13776         * docs/manual/typedetection.xml:
13777         * docs/manual/xml.xml:
13778           use chapter, part, section or misc as id starts for all bits
13779
13780 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13781
13782         * docs/gst/gstreamer-sections.txt:
13783           Fix up TITLE of the sections
13784
13785 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13786
13787         * docs/pwg/advanced_interfaces.xml:
13788           Add documentation on propertyprobing.
13789         * docs/pwg/advanced_events.xml:
13790         * docs/pwg/advanced_tagging.xml:
13791         * docs/pwg/building_boiler.xml:
13792         * docs/pwg/building_filterfactory.xml:
13793         * docs/pwg/pwg.xml:
13794           Move filterfactory and tagging into their own chapter, add a chapter
13795           on events. all these are empty placeholders that will be filled in
13796           some day.
13797
13798 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13799
13800         * docs/pwg/advanced_interfaces.xml:
13801           Docs for mixer interface. Also a check for website uploading.
13802
13803 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13804
13805         * docs/HACKING:
13806         * docs/Makefile.am:
13807         * docs/faq/Makefile.am:
13808         * docs/gst/Makefile.am:
13809         * docs/gst/tmpl/gstelement.sgml:
13810         * docs/gst/tmpl/gstplugin.sgml:
13811         * docs/gst/tmpl/gstreamer-unused.sgml:
13812         * docs/libs/Makefile.am:
13813         * docs/manual/Makefile.am:
13814         * docs/manuals.mak:
13815         * docs/pwg/Makefile.am:
13816         * docs/upload.mak:
13817           Separate out upload target and make it similar for
13818           both docbook and gtk-doc docs
13819
13820 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13821
13822         * docs/manuals.mak:
13823           Fix upload target to work with freedesktop
13824
13825 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13826
13827         * docs/pwg/advanced_types.xml:
13828           Add notes on creating your own types.
13829         * docs/pwg/building_boiler.xml:
13830         * docs/pwg/building_pads.xml:
13831         * docs/pwg/building_state.xml:
13832           Add some stuff about how to retrieve values from structures, how
13833           that relates to types and change layout slightly again to be almost
13834           perfect.
13835
13836 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13837
13838         * docs/pwg/advanced_dparams.xml:
13839         * docs/pwg/advanced_scheduling.xml:
13840           Change index layout slightly.
13841
13842 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13843
13844         * docs/pwg/advanced_clock.xml:
13845         * docs/pwg/advanced_interfaces.xml:
13846         * docs/pwg/advanced_midi.xml:
13847           General placeholders for now.
13848         * docs/pwg/advanced_request.xml:
13849           Explanation about sometimes and request pads.
13850         * docs/pwg/advanced_scheduling.xml:
13851           Concept of bytestream, loopfunctions and schedulers.
13852         * docs/pwg/building_boiler.xml:
13853           Add something about plugin-init.
13854
13855 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13856
13857         * docs/pwg/building_pads.xml:
13858           Fix broken docbook
13859
13860 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13861
13862         * docs/pwg/advanced_interfaces.xml:
13863         * docs/pwg/pwg.xml:
13864           Add as a placeholder for future filling-in.
13865         * docs/pwg/basics_autoplugging.xml:
13866         * docs/pwg/basics_buffers.xml:
13867         * docs/pwg/basics_elements.xml:
13868         * docs/pwg/basics_events.xml:
13869         * docs/pwg/basics_plugins.xml:
13870         * docs/pwg/basics_types.xml:
13871           Remove, because unused (this is all in intro_basics.xml).
13872         * docs/pwg/building_signals.xml:
13873           Short intro to signals + reference to GObject docs - we really
13874           shouldn't go into these sort of things to deply because we don't
13875           use them that extensively anyway.
13876         * docs/pwg/building_state.xml:
13877           Explanation of states. Benjamin, please check.
13878         * docs/pwg/building_testapp.xml:
13879           Put everything in one page - putting only a few lines of content
13880           per page doesn't really make sense.
13881
13882           Time to get into the advanced topics. ;).
13883
13884 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13885
13886         * docs/pwg/advanced_types.xml:
13887           Finish documenting the current state of mimetypes.
13888         * docs/pwg/building_boiler.xml:
13889         * docs/pwg/building_chainfn.xml:
13890         * docs/pwg/building_pads.xml:
13891         * docs/pwg/building_props.xml:
13892         * docs/pwg/building_testapp.xml:
13893           Start documenting the "how to build a simple audio filter" part
13894           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13895           states and (maybe?) a short introduction to capsnego in the chapter
13896           on pads (building_pads.xml). Capsnego should probably be explained
13897           fully in advanced_capsnego.xml or so.
13898
13899 2004-01-26  David Schleef  <ds@schleef.org>
13900
13901         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13902         * gst/gstpad.h: Add new function to allow element to (somewhat)
13903         specify non-fixed caps on a pad.
13904         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13905         that I added a few weeks ago.
13906
13907 2004-01-26  David Schleef  <ds@schleef.org>
13908
13909         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13910           making try_set_caps() work with non-fixed caps.
13911
13912 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13913
13914         * docs/pwg/advanced_types.xml:
13915         * docs/pwg/intro_basics.xml:
13916         * docs/pwg/intro_preface.xml:
13917         * docs/pwg/pwg.xml:
13918         * docs/pwg/titlepage.xml:
13919           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13920           in here (docs/random/mimetypes), and will from there on work on both
13921           updating outdated parts and adding missing parts.
13922           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13923
13924 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13925
13926         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13927           policy is set
13928
13929 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13930
13931         * gst/gstelement.h:
13932           remove gst_element_factory_get_version. It doesn't exist anymore.
13933         * gst/gstplugin.c:
13934         * gst/gstplugin.h:
13935           remove gst_plugin_set_name and change gst_plugin_get_longname to
13936           gst_plugin_get_description to match code.
13937         * gst/gsterror.h:
13938           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13939         * gst/gstpad.c: (gst_pad_try_set_caps):
13940           make it work with nonfixed caps.
13941           Note that even in the nonfixed case the link function of the pad
13942           that tries to set caps isn't called.
13943
13944 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13945
13946         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13947           fix bug where buffer was not assembled correctly
13948         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13949           silence by default
13950         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13951           only seek if there's no more buffers that could work without seeking
13952
13953 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13954
13955         * gst/gsttag.c: (_gst_tag_initialize):
13956         * gst/gsttag.h:
13957           Add application tag (for encoding/muxing app).
13958
13959 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13960
13961         * autogen.sh:
13962           make autopoint force, and libtoolize not copy
13963         * common/m4/as-docbook.m4:
13964           added docbook xml catalog setup check
13965         * common/m4/gst-doc.m4:
13966           use docbook check
13967
13968 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13969
13970         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13971         * gst/gsttag.h:
13972           add GstTagFlag
13973
13974 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13975
13976         * docs/gst/gstreamer-sections.txt:
13977         * docs/gst/tmpl/gst.sgml:
13978         * docs/gst/tmpl/gstbuffer.sgml:
13979         * docs/gst/tmpl/gstclock.sgml:
13980         * docs/gst/tmpl/gstelement.sgml:
13981         * docs/gst/tmpl/gstreamer-unused.sgml:
13982         * docs/gst/tmpl/gstxml.sgml:
13983           sync latest API changes to docs
13984
13985 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         * gst/gstpluginfeature.c:
13988           fix doc snippet
13989         * tools/gst-inspect.c: (print_element_list):
13990           fix output of typefind
13991           add GPL header
13992         * tools/gst-launch.c:
13993           add GPL header
13994
13995 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13996
13997         * gst/elements/Makefile.am:
13998         * gst/elements/gstelements.c:
13999         * gst/elements/gsttypefindelement.c:
14000         * gst/elements/gsttypefindelement.h:
14001         * po/POTFILES.in:
14002         * po/fr.po:
14003         * po/nl.po:
14004           renamed gsttypefindelement to gsttypefind, conserving CVS history
14005
14006 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14007
14008         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
14009         * gst/gsttag.h:
14010           add some tags used in ogg as well
14011           fix _ in replaygain tags
14012
14013 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14014
14015         * gst/gsterror.h:
14016           fix wrong GST_LIBRARY_ERROR_ENCODE addition
14017
14018 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14019
14020         * gst/gstelement.c: (gst_element_error_full):
14021         * gst/gstelement.h:
14022           change _extended to _full
14023
14024 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14025
14026         reviewed by: <delete if not using a buddy>
14027
14028         * docs/gst/tmpl/gst.sgml:
14029         * docs/gst/tmpl/gstbuffer.sgml:
14030         * docs/gst/tmpl/gstclock.sgml:
14031         * docs/gst/tmpl/gstelement.sgml:
14032         * docs/gst/tmpl/gstreamer-unused.sgml:
14033         * docs/gst/tmpl/gstxml.sgml:
14034         * gst/gstelement.c: (gst_element_error_full):
14035         * gst/gstelement.h:
14036
14037 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14038
14039         * gst/gstelement.h: fix _gst_element_error_printf prototype
14040
14041 2004-01-20  David Schleef  <ds@schleef.org>
14042
14043         * gst/gststructure.c: (gst_structure_to_string):
14044         Convert function to use gst_value_serialize().
14045         * gst/gstvalue.c: (gst_value_serialize_list),
14046         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
14047         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
14048         (gst_value_serialize_int), (gst_value_serialize_double),
14049         (gst_string_wrap), (gst_value_serialize_string),
14050         (gst_value_serialize), (gst_value_deserialize):
14051         * gst/gstvalue.h:
14052         Add implementations for serialize.
14053
14054 2004-01-20  Julien MOUTTE  <julien@moutte.net>
14055
14056         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
14057         we want to keep that one in the future or change xvidenc.c to use 
14058         another error.
14059
14060 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14061
14062         * gst/gstelement.c: (_gst_element_error_printf):
14063         * gst/gstelement.h:
14064           privatise function
14065
14066 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14067
14068         * docs/random/error:
14069           doc explaining error system
14070         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
14071           cleanup
14072
14073 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14074
14075         * gst/gst-i18n-app.h:
14076         * gst/gst-i18n-lib.h:
14077           remove inclusion of config.h
14078         * po/POTFILES.in:
14079         * po/nl.po:
14080           add gst/gstelement.c
14081
14082 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14083
14084         * po/nl.po: updated Dutch translation
14085
14086 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * gst/gsterror.c: (_gst_core_errors_init),
14089         (_gst_library_errors_init), (_gst_resource_errors_init),
14090         (_gst_stream_errors_init):
14091         remove ending punctuation dots
14092
14093 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14094
14095         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
14096         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
14097         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14098         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14099         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14100         use GST_ERROR_SYSTEM
14101
14102 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14103
14104         * gst/gstelement.c: (gst_element_error_printf),
14105         (gst_element_error_extended):
14106         * gst/gstelement.h:
14107           add a helper printf function so we can have NULL values passed.
14108
14109 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14110
14111         * gst/gstelement.h:
14112           add G_STMT macros to gst_element_error, which isn't strictly
14113           necessary but people tell me to anyway.
14114
14115 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14116
14117         * gst/Makefile.am:
14118         * gst/autoplug/gstspideridentity.c:
14119         (gst_spider_identity_sink_loop_type_finding):
14120         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
14121         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
14122         (gst_filesink_close_file), (gst_filesink_handle_event),
14123         (gst_filesink_chain):
14124         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
14125         (gst_filesrc_map_region), (gst_filesrc_get_read),
14126         (gst_filesrc_open_file):
14127         * gst/elements/gstidentity.c: (gst_identity_chain):
14128         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14129         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14130         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14131         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
14132         * gst/gst.h:
14133         * gst/gst_private.h:
14134         * gst/gstelement.c: (gst_element_class_init),
14135         (gst_element_default_error), (gst_element_error_func),
14136         (gst_element_error_extended):
14137         * gst/gstelement.h:
14138         * gst/gsterror.c: (_gst_core_errors_init),
14139         (_gst_library_errors_init), (_gst_resource_errors_init),
14140         (_gst_stream_errors_init), (gst_error_get_message):
14141         * gst/gsterror.h:
14142         * gst/gstinfo.c: (_gst_debug_init):
14143         * gst/gstmarshal.list:
14144         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14145         (gst_pad_recover_caps_error), (gst_pad_pull):
14146         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
14147         * gst/schedulers/gstbasicscheduler.c:
14148         (gst_basic_scheduler_chainhandler_proxy),
14149         (gst_basic_scheduler_gethandler_proxy),
14150         (gst_basic_scheduler_cothreaded_chain):
14151         * po/POTFILES.in:
14152         * po/fr.po:
14153         * po/nl.po:
14154           change error signal
14155           add error categories
14156
14157 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
14158
14159         * gst/gsttag.c: (_gst_tag_initialize):
14160         * gst/gsttag.h:
14161         Add replaygain tag
14162
14163 2004-01-18  Colin Walters  <walters@verbum.org>
14164
14165         * examples/retag/retag.c: Call gst_init before processing
14166         program args.  Add g_assert to _link_many call.
14167
14168 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14169
14170         * gst/gstpad.c: (gst_pad_alloc_buffer):
14171           Return a newly allocated buffer when the pad has no peer.
14172
14173 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14174
14175         * gst/gstclock.c: (gst_clock_get_time):
14176           make it compile with gcc 2.95 again.
14177           Patch by Scott Wheeler
14178
14179 2004-01-15  David Schleef  <ds@schleef.org>
14180
14181         * gst/gstcaps.h:
14182         Added gst_caps_is_simple() macro.
14183         * testsuite/caps/caps.c: (test1):
14184         * testsuite/caps/intersect2.c: (main):
14185         * testsuite/caps/intersection.c: (main):
14186         Fixes to make 'make check' work again after removing
14187         gst_caps_is_chained().
14188
14189 2004-01-15  Leif Johnson <leif@ambient.2y.net>
14190
14191         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
14192         and additions to the MIDI document.
14193
14194 2004-01-15  David Schleef  <ds@schleef.org>
14195
14196         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
14197         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
14198         of GST_RPAD_, since we don't know if it's a real or ghost pad.
14199
14200 2004-01-15  David Schleef  <ds@schleef.org>
14201
14202         * gst/gstqueue.c:
14203         * gst/gstqueue.h:
14204         Fix the spelling of "treshold" and make min_threshold actually
14205         affect the queue.
14206
14207 2004-01-15  David Schleef  <ds@schleef.org>
14208
14209         * gst/gstcaps.c:
14210         Add lots of documentation.
14211         * gst/gstcaps.h:
14212         Deprecate a few functions.
14213         * gst/gstpad.c:
14214         Removed use of deprecated functions.
14215
14216 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14217
14218         * gst/gstpad.c: (gst_pad_is_linked):
14219         * gst/gstpad.h:
14220           implement gst_pad_is_linked
14221         * gst/gstelement.h:
14222           reserve space for initiate_state_change
14223
14224 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14225
14226         * gst/autoplug/gstspideridentity.c:
14227         (gst_spider_identity_sink_loop_type_finding):
14228           break infinite loop by just returning instead of looping
14229         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
14230           set event time difference correctly. Set it to 1 second instead
14231           of 100ms to be more tolerant
14232         * gst/gstelement.c: (gst_element_set_time):
14233           add debugging output
14234
14235 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14236
14237         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14238           query if buffers are inside the pool, ignore events
14239
14240 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14241
14242         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14243         (gst_clock_set_speed), (gst_clock_set_active),
14244         (gst_clock_is_active), (gst_clock_reset),
14245         (gst_clock_handle_discont):
14246         * gst/gstclock.h:
14247           deprecate old interface and disable functions that aren't in use
14248           anymore.
14249         * gst/gstelement.h:
14250         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14251         (gst_element_set_time), (gst_element_adjust_time):
14252           add concept of "element time" and functions to get/set this time.
14253         * gst/gstelement.c: (gst_element_change_state):
14254           update element time correctly.
14255         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14256           This is a debug message, not a g_critical.
14257         * gst/gstpad.c: (gst_pad_event_default):
14258           handle discontinuous events right with element time.
14259         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14260           update to clocking fixes.
14261           set clocks on elements in READY=>PAUSED. The old behaviour caused
14262           a wrong element time on the first element that started playing.
14263         * gst/schedulers/gstbasicscheduler.c:
14264         (gst_basic_scheduler_class_init):
14265         * gst/schedulers/gstoptimalscheduler.c:
14266         (gst_opt_scheduler_class_init):
14267           remove code that just implements the default behaviour.
14268         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14269           update to use new clocking functions
14270         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14271         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14272           update to test new element time.
14273         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14274           use _get_allowed_caps instead of _get_caps. This catches filtered
14275           caps correctly.
14276         * testsuite/debug/commandline.c:
14277           update for new GST_DEBUG syntax.
14278         * testsuite/threads/Makefile.am:
14279           disable a test that only works sometimes.
14280
14281 2004-01-13  Julien MOUTTE <julien@moutte.net>
14282
14283         * po/LINGUAS: Adding fr.
14284         * po/fr.po: Adding french translation.
14285
14286 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14287
14288         * gst/parse/grammar.y:
14289         * po/POTFILES.in:
14290         * po/nl.po:
14291         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14292           translate parsing error messages
14293
14294 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14295
14296         * po/POTFILES.in: adding gst-launch
14297         * po/nl.po: updated translation, all 99 strings translated
14298         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14299         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14300           fix strings for translation
14301
14302 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14303
14304         * gst/gst.c:
14305           - capitalize beginnings of popt options
14306           - fix strings for translation
14307           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14308
14309 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14310
14311         * po/README: add some notes on how to update translations
14312
14313 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14314
14315         * ABOUT-NLS: removed, is autogenerated from autopoint
14316         * autogen.sh: add autopoint stuff
14317         * configure.ac: fix up gettext stuff
14318         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14319         * gst/elements/gsttypefindelement.c: add header include
14320         * gst/gettext.h: add header, copy from system-installed header
14321         * gst/gst-i18n-app.h: to be included by each app having translations
14322         * gst/gst-i18n-lib.h: to be included by each lib having translations
14323         * gst/gst.c: (init_pre): fix up gettext calls
14324         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14325         * po/LINGUAS: the new way to specify translations present
14326         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14327         * po/Makevars: the variables filled in for GStreamer
14328         * po/POTFILES.in: added new files with translations
14329         * po/de.po: has new strings
14330         * po/nl.po: readded, has new strings
14331
14332 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14333
14334         * gst/gsttag.c: fix some strings marked for translation
14335
14336 2004-01-13  Iain <iain@prettypeople.org>
14337
14338         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14339         group when we add an element to it, cos we unref it when we remove one
14340
14341 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14342
14343         * testsuite/debug/commandline.c: (debug_not_reached):
14344         * testsuite/debug/output.c: (check_message):
14345           fix testsuite
14346
14347 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14348
14349         * examples/cutter/.cvsignore:
14350         * examples/helloworld/.cvsignore:
14351         * examples/launch/.cvsignore:
14352         * examples/manual/.cvsignore:
14353         * examples/mixer/.cvsignore:
14354         * examples/pingpong/.cvsignore:
14355         * examples/plugins/.cvsignore:
14356         * examples/queue/.cvsignore:
14357         * examples/queue2/.cvsignore:
14358         * examples/queue3/.cvsignore:
14359         * examples/queue4/.cvsignore:
14360         * examples/retag/.cvsignore:
14361         * examples/thread/.cvsignore:
14362         * examples/typefind/.cvsignore:
14363         * examples/xml/.cvsignore:
14364         * gst/.cvsignore:
14365         * gst/autoplug/.cvsignore:
14366         * gst/elements/.cvsignore:
14367         * gst/indexers/.cvsignore:
14368         * gst/parse/.cvsignore:
14369         * gst/registries/.cvsignore:
14370         * gst/schedulers/.cvsignore:
14371         * libs/gst/bytestream/.cvsignore:
14372         * libs/gst/control/.cvsignore:
14373         * libs/gst/getbits/.cvsignore:
14374         * tests/.cvsignore:
14375         * tests/bufspeed/.cvsignore:
14376         * tests/instantiate/.cvsignore:
14377         * tests/memchunk/.cvsignore:
14378         * tests/muxing/.cvsignore:
14379         * tests/sched/.cvsignore:
14380         * tests/seeking/.cvsignore:
14381         * tests/threadstate/.cvsignore:
14382         * testsuite/.cvsignore:
14383         * testsuite/caps/.cvsignore:
14384         * testsuite/cleanup/.cvsignore:
14385         * testsuite/dynparams/.cvsignore:
14386         * testsuite/plugin/.cvsignore:
14387         * tools/.cvsignore:
14388           update - this is huge, because it includes *.bb, *.bbg and *.da files
14389           which are generated for gcov.
14390
14391 2004-01-11  David Schleef  <ds@schleef.org>
14392
14393         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14394         a function to parse integers in ways that strto[u]l() does not.
14395
14396 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14397
14398         * tools/gst-inspect.c: (print_caps):
14399           improve output of caps a bit
14400
14401 2004-01-11  David Schleef  <ds@schleef.org>
14402
14403         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14404         inherit correct flags (READONLY and DONTKEEP).
14405
14406 2004-01-11  David Schleef  <ds@schleef.org>
14407
14408         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14409         (gst_filesrc_map_region):
14410         * gst/gstbuffer.c: (_gst_buffer_initialize),
14411         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14412         (gst_buffer_new), (gst_buffer_create_sub),
14413         (gst_buffer_is_span_fast), (gst_buffer_span):
14414         * gst/gstbuffer.h:
14415         Change GstBuffer private structure element names. (all files)
14416         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14417         (gst_queue_link):
14418         * gst/gstqueue.h:
14419         Implement getcaps/pad_link functions that handle the case where
14420         there are data in the queue.
14421
14422 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14423
14424         * gst/elements/gstbufferstore.c:
14425           initialize debugging structure correctly
14426         * gst/elements/gsttee.c: (gst_tee_set_property):
14427           g_object_notify when property was changed
14428         * gst/elements/gsttypefindelement.c:
14429         (gst_type_find_element_change_state):
14430           clear caps correctly
14431
14432 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14433
14434         * gst/gstqueue.c: (gst_queue_init):
14435           Use better defaults for when a queue should block. This
14436           gets rid of jerky playback for quite a few files.
14437           It takes more memory.
14438
14439 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14440
14441         (gst_xml_registry_parse_padtemplate):
14442           make critical message slightly more useful
14443
14444 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14445
14446         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14447         (gst_debug_message_get), (gst_debug_log_default):
14448         * gst/gstinfo.h:
14449           Change gst_debug_log(_valist) to take a const format string.
14450           Change prototype of log function and functions using those to 
14451           take a GstDebugMessage instead of a string that requires using
14452           gst_debug_message_get.
14453
14454 2004-01-08  David Schleef  <ds@schleef.org>
14455
14456         * Makefile.am:
14457         * configure.ac:
14458         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14459         and -ftest-coverage, which allows gcov to show information about
14460         testsuite coverage.
14461
14462 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14463
14464         * gst/gstutils.h:
14465           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14466           GST_PARENT_CALL_WITH_DEFAULT
14467         * gst/elements/gstaggregator.c: 
14468         * gst/elements/gstbufferstore.c: 
14469         * gst/elements/gstfakesink.c: 
14470         * gst/elements/gstfakesrc.c: 
14471         * gst/elements/gstfdsink.c: 
14472         * gst/elements/gstfdsrc.c: 
14473         * gst/elements/gstfilesink.c: 
14474         * gst/elements/gstfilesrc.c: 
14475         * gst/elements/gstidentity.c: 
14476         * gst/elements/gstmd5sink.c: 
14477         * gst/elements/gstmultidisksrc.c:
14478         * gst/elements/gstpipefilter.c: 
14479         * gst/elements/gstshaper.c:
14480         * gst/elements/gststatistics.c:
14481         * gst/elements/gsttee.c:
14482         * gst/elements/gsttypefindelement.c:
14483           use them.
14484
14485 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14486
14487         * docs/gst/gstreamer-docs.sgml: remove props
14488         * docs/gst/gstreamer-sections.txt: remove props
14489         * docs/gst/tmpl/gst.sgml:
14490         * docs/gst/tmpl/gstbin.sgml:
14491         * docs/gst/tmpl/gstbuffer.sgml:
14492         * docs/gst/tmpl/gstcaps.sgml:
14493         * docs/gst/tmpl/gstclock.sgml:
14494         * docs/gst/tmpl/gstelement.sgml:
14495         * docs/gst/tmpl/gstindex.sgml:
14496         * docs/gst/tmpl/gstobject.sgml:
14497         * docs/gst/tmpl/gstpad.sgml:
14498         * docs/gst/tmpl/gstpadtemplate.sgml:
14499         * docs/gst/tmpl/gstreamer-unused.sgml:
14500         * docs/gst/tmpl/gstthread.sgml:
14501         * docs/gst/tmpl/gstxml.sgml:
14502           sync with code reorganization
14503
14504 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14505
14506         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14507         Make the 'Could not find compatible pad' message more informative.
14508
14509 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14510                                                                                 
14511         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14512           Fix for if we pass NULL as property to location.
14513         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14514         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14515           Fix for instantiate-test (see below).
14516         * gst/gststructure.c: (_gst_structure_parse_value):
14517           Fix compile error on gcc-2.96.
14518         * configure.ac:
14519         * tests/Makefile.am:
14520         * tests/instantiate/Makefile.am:
14521         * tests/instantiate/create.c: (create_all_elements), (main):
14522           Add a test that instantiates all elements. This makes it easy to
14523           track dead code for old API/design (like setting event functions
14524           on sink pads and so on).
14525
14526 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14527
14528         * gst/gstcaps.c: (gst_caps_append_structure):
14529           Move the poisoning to allow a NULL structure
14530         * gst/gstevent.c: (_gst_event_free):
14531           When freeing a navigation event, free the structure
14532           also
14533
14534 2004-01-04  David Schleef  <ds@schleef.org>
14535
14536         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14537         Remove usage of gst_pad_proxy_fixate.
14538         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14539         (gst_caps_split_one), (gst_caps_replace):
14540         Add poisoning code.
14541         * gst/gstmarshal.list:
14542         Add pointer__pointer for fixate signal
14543         * gst/gstpad.c: (gst_real_pad_class_init),
14544         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14545         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14546         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14547         Add poisoning code. Add fixate signal on RealPad. Change
14548         set_explicit_caps() to take const GstCaps, like try_set_caps().
14549         * gst/gstpad.h:
14550         * testsuite/caps/Makefile.am:
14551         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14552
14553 2004-01-03  David Schleef  <ds@schleef.org>
14554
14555         * gst/elements/gsttypefindelement.c:
14556         (gst_type_find_element_have_type), (gst_type_find_element_init):
14557         Use gst_pad_use_explicit_caps for src pad.
14558         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14559         before using it.
14560
14561 2004-01-03  David Schleef  <ds@schleef.org>
14562
14563         * gst/gstelement.c: (gst_element_link_pads_filtered),
14564         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14565         that linking was successful.
14566         * gst/gstpad.c: (gst_pad_link_free),
14567         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14568         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14569         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14570         GstPadLinkReturn correctly between functions, and don't fail
14571         when DELAYED is used (DELAYED is very important).  Better
14572         cleanup on unlinking and unnegotiation.  Should fix some spider
14573         bugs.
14574
14575 2004-01-02  David Schleef  <ds@schleef.org>
14576
14577         * gst/gstelement.c: (gst_element_class_init),
14578         (gst_element_base_class_init): ->padtemplates should be cleared
14579         in base_init, since we need to have a fresh list for every
14580         class.  (Alternately, we chould copy the list and share the
14581         actual pad templates (not the list), but that would require
14582         changing every plugin to move pad template registration from
14583         base_init to class_init.)
14584
14585 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14586
14587         * gst/gstelement.c: (gst_element_class_add_pad_template):
14588           Refuse registering a pad template if another pad template
14589           with the same name already exists (#114715).
14590
14591 2004-01-02  David Schleef  <ds@schleef.org>
14592
14593         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14594         (gst_caps_is_equal_fixed): Add new function.
14595         * gst/gstcaps.h: ditto.
14596         * gst/gstpad.c: (gst_real_pad_class_init),
14597         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14598         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14599         check new caps against existing caps -- if they're the same, return
14600         OK without renegotiating.  caps-nego-failed signal fixed so that
14601         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14602         to save an extra caps copy.  Don't complete negotiation if a pad
14603         link function returns DELAYED.
14604
14605 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14606
14607         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14608           Fix wrong g_return_if_fail
14609
14610 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14611
14612         * gst/gstbin.c: (gst_bin_class_init):
14613         Change the marshalling of element_added/element_removed
14614         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14615         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14616
14617 2004-01-01  David Schleef  <ds@schleef.org>
14618
14619         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14620         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14621         (gst_pad_use_explicit_caps):
14622         * gst/gstpad.h:
14623         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14624         to use an internal getcaps and link fuction so that negotiation
14625         always results in the explicitly set caps.
14626         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14627         are particularly useful for decoders.
14628
14629 2003-12-31  David Schleef  <ds@schleef.org>
14630
14631         * gst/elements/gstidentity.c: (gst_identity_class_init),
14632         (gst_identity_init), (gst_identity_chain),
14633         (gst_identity_set_property), (gst_identity_get_property):
14634         * gst/elements/gstidentity.h:
14635         * gst/gstqueue.c: (gst_queue_init):
14636           Negotiation fixes.
14637
14638 2003-12-31  David Schleef  <ds@schleef.org>
14639
14640         * gst/gstcaps.c: (gst_caps_intersect),
14641         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14642           Implement gst_caps_normalize().
14643         * testsuite/caps/normalisation.c: (main):
14644           Add an additional test
14645
14646 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14647
14648         * gst/gstqueue.c: (gst_queue_init):
14649           use gst_pad_proxy_getcaps()
14650
14651 2003-12-31  David Schleef  <ds@schleef.org>
14652
14653         * gst/elements/gstshaper.c: (gst_shaper_link):
14654         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14655         * gst/gstqueue.c: (gst_queue_link):
14656           Negotiation fixes.
14657
14658 2003-12-31  David Schleef  <ds@schleef.org>
14659
14660         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14661         * gst/gstpad.h: Add functions that are useful as default pad
14662         link and fixate functions for elements.
14663
14664 2003-12-30  David Schleef  <ds@schleef.org>
14665
14666         * gst/gstpad.c: (gst_pad_link_try):
14667           Fix segfault when attempting to return to old caps
14668
14669 2003-12-29  David Schleef  <ds@schleef.org>
14670
14671         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14672         (gst_caps_structure_simplify), (gst_caps_simplify):
14673         * gst/gstcaps.h:
14674           Add simplify function
14675         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14676         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14677         * gst/gstpad.h:
14678           Copy over srcnotify, sinknotify when calling old pad_link
14679           functions.  Add new is_negotiated() function.
14680         * gst/gststructure.c: (gst_structure_copy):
14681           Fix an incredibly stupid bug that should have been noticed
14682           weeks ago.  _copy() returned the argument, not the new copy.
14683
14684 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14685
14686         * gst/gstcaps.c: (gst_caps_append):
14687           add sanity checks
14688         * gst/gstcaps.h: (gst_caps_debug):
14689           remove, it doesn't exist anymore.
14690         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14691         (gst_element_threadsafe_properties_post_run):
14692           make debugging messages not clutter up THREAD debug category
14693         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14694         (gst_element_change_state):
14695           update to new caps API
14696         * gst/gstinterface.c: (gst_implements_interface_cast):
14697           don't put vital code in g_return_if_fail
14698         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14699         (gst_pad_link_filtered):
14700           add pst_pad_try_link and use it.
14701         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14702           implement correctly, deprecate first one.
14703         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14704           add and implement.
14705         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14706           implement.
14707         (gst_pad_get_negotiated_caps):
14708           add and implement. Make GST_PAD_CAPS call this function.
14709         (gst_pad_get_caps):
14710           remove unneeded check..
14711         (gst_pad_recover_caps_error):
14712           disable, always return FALSE.
14713         (gst_real_pad_dispose):
14714           don't free caps and appfilter anymore, they're unused.
14715         * gst/gstpad.h:
14716           Reflect changes mentioned above.
14717         * gst/gstsystemclock.c: (gst_system_clock_wait):
14718           Make 'clock is way behind' a debugging message.
14719         * gst/gstthread.c: (gst_thread_change_state):
14720           Fix debugging message
14721
14722 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14723
14724         * gst/gstinfo.h:
14725           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14726         * docs/gst/tmpl/gstreamer-unused.sgml:
14727           removed all traces of cvs conflicts
14728
14729 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14730
14731         * configure.ac:
14732         * gst/schedulers/cothreads_compat.h:
14733         * libs/Makefile.am:
14734           remove last instances of wingo cothread usage
14735
14736 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * gst/gstplugin.c:
14739         * gst/gstversion.h.in:
14740         * gst/parse/grammar.y:
14741           change comment block from /** to /* when not gtk-doc comments
14742
14743 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14744
14745         * gst/gst.c: whitespace and doc style fixes
14746
14747 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14748
14749         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14750
14751 2003-12-24  Colin Walters  <walters@verbum.org>
14752
14753         * gst/elements/gsttypefindelement.c:
14754           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14755           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14756           Don't double-free caps.
14757
14758 2003-12-23  David Schleef  <ds@schleef.org>
14759
14760         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14761           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14762           Many little fixes and additions of debug statements to
14763           get rhythmbox working.
14764
14765 2003-12-23  Colin Walters  <walters@verbum.org>
14766
14767         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14768         Use GST_PAD_LINK_SUCCESSFUL.
14769
14770 2003-12-23  David Schleef  <ds@schleef.org>
14771
14772         * gst/elements/gstaggregator.c:
14773         * gst/elements/gsttee.c:
14774           Use gst_pad_proxy_getcaps().
14775         * gst/gstpad.c:
14776         * gst/gstpad.h:
14777           Add gst_pad_proxy_getcaps(), which filter elements can use
14778           as a generic getcaps implementation.
14779           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14780           was advertised.
14781
14782 2003-12-23  David Schleef  <ds@schleef.org>
14783
14784         * gst/gstpad.c:
14785           Rearrange/rewrite much of the pad negotiation code, since it
14786           resembled pasta.  This actually changes the way some
14787           negotiation works, since the previous code was inconsistent
14788           depending on how it was invoked.  Add (internal) structure
14789           GstPadLink, which is used to hold some information (more in
14790           the future) about the link between two pads.  Fixes a number
14791           of bugs, including random lossage of filter caps when the
14792           initial negotiation is delayed.  A few functions are still
14793           unimplemented.
14794         * gst/gstpad.h:
14795           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14796           these when testing GstPadLinkReturn values instead of comparing
14797           directly.
14798
14799 2003-12-23  David Schleef  <ds@schleef.org>
14800
14801         * gst/gstvalue.c: 
14802         * gst/gstvalue.h:
14803           Rearrange lots of code.  Change registration of compare function
14804           into registration of compare/serialize/deserialize functions.
14805           Doesn't include implementation of gst_value_[de]serialize(),
14806           but that should be easy.
14807
14808 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14809
14810         * docs/gst/gstreamer-sections.txt:
14811         * docs/gst/tmpl/gstprops.sgml: removed
14812         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14813           David removed props and caps code, so let's remove their docs as well.
14814           Removed all no longer existing symbols from gstreamer-sections.txt
14815           
14816 2003-12-22  Colin Walters  <walters@verbum.org>
14817
14818         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14819           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14820           of tags directly.
14821
14822 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14823
14824         * gst/elements/gstelements.c:
14825           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14826         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14827           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14828           gst_caps (peer).
14829
14830 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14831
14832         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14833         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14834         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14835         (gst_spider_identity_sink_loop_type_finding):
14836         * gst/autoplug/gstspideridentity.h:
14837           Fix autoplugging in spider element, so it works with new caps.
14838           This was mainly caused by identifying empty caps incorrectly.
14839
14840 2003-12-22  David Schleef  <ds@schleef.org>
14841
14842         * gststructure.c, gstvalue.c, gstvalue.h: Add
14843           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14844           using g_value_copy()
14845
14846 2003-12-21  David Schleef  <ds@schleef.org>
14847
14848         * many, many files: Merge CAPS branch.  This includes:
14849           - implemention of GstValue and several GstValue types
14850           - implemention of GstStructure
14851           - entire rewrite of GstCaps
14852           - removal of GstProps
14853           - many changes to GstPad to compensate for new caps paradigm
14854           - removal of GstBufferpool
14855         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14856         gstvalue.h, gst/gstcaps[2]*.[ch]:
14857           - rename gstcaps2.[ch] to gstcaps.[ch]
14858
14859 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14860
14861         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14862         (gst_queue_chain), (gst_queue_handle_src_event):
14863           implement timeout for sending events. Workaround for if the
14864           pipeline on this queue is not passing any data.
14865
14866 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14867                                                                                 
14868         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14869         * moved CVS to freedesktop.org