docs/design/part-element-sink.txt: Updated document.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-02  Wim Taymans  <wim@fluendo.com>
2
3         * docs/design/part-element-sink.txt:
4         Updated document.
5
6         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
9         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11         (gst_base_sink_preroll_object),
12         (gst_base_sink_queue_object_unlocked),
13         (gst_base_sink_queue_object), (gst_base_sink_event),
14         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
15         (gst_base_sink_loop), (gst_base_sink_activate_pull),
16         (gst_base_sink_get_position), (gst_base_sink_change_state):
17         * libs/gst/base/gstbasesink.h:
18         Totally refactored matching the design doc.
19         Use two segments, one to clip incomming buffers and another to
20         perform sync.
21         Handle queueing correctly, bypass the queue when playing.
22         Make EOS cancelable.
23         Handle errors correctly when operating in pull based mode.
24
25         * tests/check/elements/fakesink.c: (GST_START_TEST),
26         (fakesink_suite):
27         Added new check for sinks.
28
29 2006-02-02  Wim Taymans  <wim@fluendo.com>
30
31         * gst/gstsegment.c: (gst_segment_clip):
32         No reason to refuse to clip when start == -1
33
34 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
35
36         * docs/README:
37         * docs/manual/intro-basics.xml:
38         * docs/manual/intro-preface.xml:
39         * docs/manual/manual.xml:
40         * docs/pwg/advanced-dparams.xml:
41         * docs/pwg/intro-basics.xml:
42         * docs/pwg/intro-preface.xml:
43         * docs/pwg/pwg.xml:
44           describe dparams (controller) for plugins
45           unify docs a little more
46
47 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
48
49         * docs/gst/gstreamer-sections.txt:
50         * gst/gstutils.c: (element_find_unconnected_pad),
51         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
52         * gst/gstutils.h:
53           Add new API: gst_parse_bin_from_description() and
54           gst_bin_find_unconnected_pad() (#329069).
55
56 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
57
58         * docs/manual/README:
59           uncover a nasty detail of the docs build
60
61 2006-01-31  Wim Taymans  <wim@fluendo.com>
62
63         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
64         Don't cache duration messages if we're not going to use or
65         free them.
66
67 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
68
69         * docs/manual/advanced-dparams.xml:
70         * docs/pwg/advanced-dparams.xml:
71           more dparam docs
72         * gst/gstindex.c:
73           fix docs
74         * libs/gst/controller/lib.c: (gst_controller_init):
75           init just once
76
77 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
78
79         * gst/gstelement.c: (gst_element_message_full):
80           also show file/line/func if no additional debug was given
81
82 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
83         
84         * win32/vs7/grammar.vcproj:
85                 activate copy of autogenerated files for Release mode
86
87 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
88         
89         * win32/common/libgstreamer.def:
90                 export gst_value_compare
91
92 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
93
94         * plugins/elements/Makefile.am:
95         * plugins/elements/gstelements.c:
96         * plugins/elements/gstfdsink.c: (_do_init),
97         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
98         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
99         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
100         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
101         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
102         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
103         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
104         * plugins/elements/gstfdsink.h:
105         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
106
107 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
108
109         * docs/manual/advanced-dparams.xml:
110           describe controller
111         * docs/manual/advanced-position.xml:
112         * docs/manual/basics-init.xml:
113         * docs/manual/manual.xml:
114         * docs/manual/titlepage.xml:
115         * docs/pwg/pwg.xml:
116         * docs/pwg/titlepage.xml:
117           cleanup xml (more to come)
118         * libs/gst/controller/gstcontroller.c:
119           fix typo
120
121 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
122         
123         * win32/vs6/grammar.dsp:
124                 add autogen of gstmarshal.c,h for Release mode
125                 
126 2006-01-30  Wim Taymans  <wim@fluendo.com>
127
128         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
129         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
130         (gst_base_sink_handle_object), (gst_base_sink_event),
131         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
132         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
133         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
134         (gst_base_sink_deactivate), (gst_base_sink_activate),
135         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
136         (gst_base_sink_query), (gst_base_sink_change_state):
137         Basesink cleanups, remove some old code.
138         Handle the case where a subclass can preroll in the render
139         method (mostly audiosinks).
140         Handle more events.
141         Remove some locks around variables that are now protected
142         with the PREROLL_LOCK (clock_id, flushing, ..).
143         Optimize position query some more, do correct locking.
144         Remove old code to push queue in state change, this is not
145         needed anymore since preroll blocks on all prerollable items 
146         now.
147         Almost implemented as described in design doc.
148
149 2006-01-30  Wim Taymans  <wim@fluendo.com>
150
151         * tests/check/gst/gstbin.c: (GST_START_TEST):
152         Wait for refcount to settle down before checking.
153
154 2006-01-30  Wim Taymans  <wim@fluendo.com>
155
156         * docs/design/part-element-sink.txt:
157         Pseudo code overview of desired sink behaviour regarding
158         preroll.
159
160 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
161         * win32/vs6/grammar.dsp:
162                 fix some bugs in Release mode for autogenerated files
163                 
164 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
165         * win32/common/libgstbase.def:
166         * win32/common/libgstreamer.def:
167                 export some new symbols: gst_base_src_set_format,
168                 gst_iterator_next, gst_structure_set_valist
169
170 2006-01-29  Julien MOUTTE  <julien@moutte.net>
171
172         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
173         Set pad functions unconditionally. Fixes #329105.
174
175 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
176         * win32/vs8:
177                 add vs8 project files created by Sergey Scobich
178
179 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
180
181         * gst/gstutils.c: (gst_element_unlink_pads):
182         Don't leak pad references.
183
184         * tests/check/elements/fakesink.c: (GST_START_TEST):
185         * tests/check/generic/sinks.c: (GST_START_TEST):
186         * tests/check/generic/states.c: (GST_START_TEST):
187         * tests/check/gst/gstbin.c: (GST_START_TEST):
188         * tests/check/gst/gstcaps.c: (GST_START_TEST):
189         * tests/check/gst/gstelement.c: (GST_START_TEST):
190         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
191         * tests/check/gst/gstiterator.c: (GST_START_TEST):
192         * tests/check/gst/gstvalue.c: (GST_START_TEST):
193         Fix a bunch of leaks. Make generic/sinks.c
194         use a bit less cpu by slowing the buffer rate
195         between fakesrc and fakesink.
196         
197 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
198         * gst/gstcaps.c:
199         * gst/gstelement.c: (gst_element_send_event):
200         * gst/gstevent.c:
201         * gst/gstinfo.c:
202         * gst/gstiterator.c:
203         * gst/gstiterator.h:
204         * gst/gstpad.c: (gst_pad_send_event):
205         * gst/gststructure.c:
206         * gst/gsturi.c:
207         * gst/gstutils.c:
208         * gst/gstvalue.c:
209         * libs/gst/base/gstadapter.c:
210           doc fixes, to link to function, just write gst_cool_function(), don't
211           prefix with '#'
212
213 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
214
215         * plugins/elements/gsttee.c: (gst_tee_do_push),
216         (gst_tee_handle_buffer):
217         Always prefer an actual return value from a src
218         pad in place of NOT_LINKED. This means we return
219         WRONG_STATE when all src pads are WRONG_STATE
220         instead of NOT_LINKED.
221
222         Lock when replacing the last message to prevent
223         racing with the get_property method.
224
225         Add debug output
226
227 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
228
229         * tests/check/Makefile.am:
230         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
231         (main):
232         Add a very simple check that should have caught the memleak I fixed
233         last night (if not for the slice allocator hiding it)
234
235 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
236
237         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
238         (gst_bin_remove_func), (gst_bin_handle_message_func),
239         (bin_query_duration_fold), (bin_query_generic_fold):
240         Clean up references to the clock provider when disposed or when
241         handling a clock-lost message from it.
242
243         Unref sinks when performing a query via gst_iterator_fold, as the
244         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
245
246         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
247         (gst_clock_set_master):
248         Drop our reference to the master clock, if any, when we are disposed.
249
250         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
251         Chain up in dispose. 
252
253 2006-01-26  Wim Taymans  <wim@fluendo.com>
254
255         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
256         Add some debugging.
257
258 2006-01-26  Julien MOUTTE  <julien@moutte.net>
259
260         * plugins/elements/gsttee.c: (gst_tee_do_push),
261         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
262         handles pad being NOT_LINKED or in WRONG_STATE.
263
264 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
265
266         * win32/MANIFEST:
267           more updating
268
269 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
270
271         * win32/MANIFEST:
272           remove obsolete entry
273
274 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
275
276         * docs/gst/gstreamer-sections.txt:
277         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
278         (gst_bin_iterate_sources), (gst_bin_send_event):
279         * gst/gstbin.h:
280         * gst/gstelement.c: (gst_element_send_event):
281         * gst/gstevent.c:
282         * gst/gstpad.c: (gst_pad_send_event):
283           added code for downstream events, reviewed docs in gstevent.c
284
285 2006-01-25  Julien MOUTTE  <julien@moutte.net>
286
287         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
288         We only query position using the clock in the playing state.
289         Query peer in the other cases.
290         * win32/common/config.h: Updates.
291
292 2006-01-24  Wim Taymans  <wim@fluendo.com>
293
294         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
295         A clock entry that is scheduled for the exact time of the
296         clock is still in time.
297
298         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
299         (gst_base_sink_do_sync):
300         Add some more debug info.
301
302 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
303
304         * win32/vs7:
305           Add new vs7 project files and solution.
306
307 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
308
309         * win32/vs7:
310           all files removed as they were out-dated.
311
312 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
313
314         * docs/random/release:
315           update notes
316         * gst/gstbin.c: (gst_bin_init):
317         * gst/gstbus.c: (gst_bus_new):
318         * gst/gstbus.h:
319         * gst/gstpipeline.c: (gst_pipeline_init):
320           use gst_bus_new(), improve logging, fix docs
321         * win32/common/config.h:
322           update for cvs build
323
324 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
325
326         * autogen.sh:
327           up required version of automake to 1.7
328
329 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
330
331         * win32/common/libgstreamer.def:
332           export gst_buffer_is_metadata_writable
333
334 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
335
336         * docs/gst/gstreamer-sections.txt:
337         * gst/gstevent.h:
338           Add gst_event_replace() (#327001)
339
340 2006-01-20  Wim Taymans  <wim@fluendo.com>
341
342         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
343         Make it actually compile too..
344
345 2006-01-20  Wim Taymans  <wim@fluendo.com>
346
347         * gst/gstcaps.c:
348         Clarify behaviour of _is_equal() when passing NULL parameters.
349
350         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
351         (gst_pad_set_caps):
352         Cleanups. Don't unref NULL caps.
353         When setting the same caps, protect caps of the pad with
354         proper lock.
355         Use full functionality of _is_equal() when comparing caps.
356
357 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
358
359         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
360         Don't loop infinitely if there are no buffers to present. Partially
361         fixes #327197, but collectpads is just broken for reusing elements
362         to do multiple encodes atm.
363
364 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
365
366         * tools/gst-inspect.c: (print_element_features):
367         * tools/gst-xmlinspect.c: (main):
368         URL_HANDLER is not a plugin feature we can search for in
369         the registry.
370
371 2006-01-19  Edward Hervey  <edward@fluendo.com>
372
373         * gst/gstelement.c: (gst_element_pads_activate): 
374         When activating, do src pads first, then sink pads.
375         When de-activating, do sink pads first, then src pads.
376
377 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
378
379         * docs/gst/gstreamer-sections.txt:
380         Add gst_index_add_associationv to the docs
381
382 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
383
384         * gst/gstevent.c:
385           Fix docs typo
386
387         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
388         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
389           Do some refactoring. Doesn't actually change functionality,
390           but makes landing the DRAIN event easier later.
391
392 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
393
394         * docs/pwg/advanced-scheduling.xml:
395           Update from 0.9.x to 0.10 API and make example a bit
396           clearer.
397
398 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
399
400         * docs/gst/gstreamer-sections.txt:
401         Add gst_buffer_(is|make)_metadata_writable methods.
402
403 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
404
405         * docs/design/part-sparsestreams.txt:
406         Update sparse streams doc, hopefully for greater clarity
407
408 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
409
410         * docs/design/part-events.txt:
411         Remove mention of FILLER events.
412         Add DRAIN event.
413
414         * docs/design/part-sparsestreams.txt:
415         Write some things about using NEWSEGMENT to keep sparse streams
416         flowing.
417
418 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
419
420         * gst/gstbin.c: (gst_bin_dispose):
421           Guard gst_object_unref call against a NULL object (dispose
422           can theoretically be called multiple times).
423           
424 2006-01-18  Wim Taymans  <wim@fluendo.com>
425
426         * gst/gstbin.c: (gst_bin_element_set_state):
427         * gst/gstclock.c: (gst_clock_id_wait):
428         Added some more debug info.
429
430         * libs/gst/base/gstadapter.c:
431         Added more docs.
432
433         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
434         (gst_base_sink_do_sync), (gst_base_sink_chain):
435         Added some comments.
436
437 2006-01-18  Wim Taymans  <wim@fluendo.com>
438
439         * tests/check/Makefile.am:
440         * tests/check/elements/fakesink.c: (chain_async_buffer),
441         (chain_async), (chain_async_return), (GST_START_TEST),
442         (fakesink_suite), (main):
443         Added fakesink test that checks prerolling and clipping
444         behaviour.
445
446         * tests/check/gst/gstutils.c: (GST_START_TEST):
447         Make check run faster so that buildbots don't timeout.
448
449 2006-01-18  Wim Taymans  <wim@fluendo.com>
450
451         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
452         (gst_base_sink_do_sync):
453         Some cleanups.
454         When the sink finishes blocking on the preroll buffer, it can
455         immediatly render it instead of rendering when the next buffer
456         arrives.
457
458 2006-01-18  Wim Taymans  <wim@fluendo.com>
459
460         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
461         (gst_base_sink_get_property), (gst_base_sink_do_sync),
462         (gst_base_sink_chain):
463         Small cleanups.
464         GST_ELEMENT_CLOCK and sync are protected with LOCK.
465         Don't store _last_stop if the buffer is dropped.
466
467 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * plugins/elements/gsttypefindelement.c:
470         (gst_type_find_element_class_init):
471           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
472           object method handler that sets the caps on the pad and we want
473           that to happen before we emit the signal (fixes e.g. feeding a
474           plain text file to decodebin).
475
476 2006-01-18  Christian Schaller  <Christian@fluendo.com>
477
478         * gst/gstplugin.c: Add MPL and Proprietary as license options
479
480 2006-01-18  Andy Wingo  <wingo@pobox.com>
481
482         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
483         symbol was exported before, it appears this was just an oversight.
484         Fixes #168703.
485         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
486
487         * gst/gstindex.c (gst_index_add_associationv): Changed int in
488         prototype to gint. OK since this prototype was not in the header.
489
490 2006-01-17  Andy Wingo  <wingo@pobox.com>
491
492         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
493         registry while we remove plugins.
494
495         * tools/gst-inspect.c (print_element_info): Don't unref the
496         factory arg, that should be the responsibility of whatever code
497         received the ref. Fixes a double-free when called from
498         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
499         (main): Unref the factory if we have one.
500         (print_element_list): No change -- relies on the
501         plugin_feature_list_free to free the list of features.
502
503 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
504
505         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
506         (gst_buffer_make_metadata_writable):
507         * gst/gstbuffer.h:
508         * libs/gst/base/gstbasetransform.c:
509         (gst_base_transform_prepare_output_buf):
510         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
511         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
512           Replace gst_buffer_(make|is)_metadata_writable patch now
513           that the release is out.
514
515 2006-01-17  Andy Wingo  <wingo@pobox.com>
516
517         * gst/gstregistry.c: Reflow design comment. Update so as to speak
518         in the present tense without reference to versions.
519
520         * gst/gstregistry.c (gst_registry_add_plugin)
521         (gst_registry_remove_plugin, gst_registry_remove_feature)
522         (gst_registry_find_feature, gst_registry_get_feature_list)
523         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
524         (gst_registry_lookup, gst_registry_scan_path)
525         (_gst_registry_remove_cache_plugins)
526         (gst_registry_get_feature_list_by_plugin): Add argument
527         validation.
528
529 === release 0.10.2 ===
530
531 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
532
533         * configure.ac:
534           releasing 0.10.2, "If man is five"
535
536 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
537
538         * gst/gstbuffer.c:
539         * gst/gstbuffer.h:
540         * libs/gst/base/gstbasetransform.c:
541         (gst_base_transform_prepare_output_buf):
542         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
543         * tests/check/gst/gstbuffer.c: (gst_test_suite):
544           Back out patch until after the release.
545
546 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
547
548         * gst/gstminiobject.c:
549           Spelling fix in docs.
550         * ChangeLog - remove conflict indicator
551
552 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
553
554         Reviewed By: Andy Wingo
555
556         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
557         (gst_buffer_make_metadata_writable):
558         * gst/gstbuffer.h:
559           Add gst_buffer_(is|make)_metadata_writable as analogues of
560           gst_buffer_(is|make)_writable.
561
562         * libs/gst/base/gstbasetransform.c:
563         (gst_base_transform_prepare_output_buf):
564         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
565           Use name gst_buffer_(is|make)_metadata_writable functions.
566
567         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
568           Test gst_buffer_(is|make)_metadata_writable
569         
570           (Closes: #324162)
571
572 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
573
574         * docs/manual/Makefile.am:
575           don't do parallel make
576         * configure.ac:
577           AC_SUBST HOST_CPU
578         * win32/common/config.h.in:
579           add generations for HOST_CPU and GST_MAJORMINOR
580         * win32/common/config.h:
581           commit generated result
582
583 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
584
585         * docs/manual/appendix-integration.xml:
586           Update GNOME integration section to use gst_init_get_option_group()
587           instead of the old popt stuff (#322911). Also, GNOME applications
588           should  now use gconf*sink and gconf*src instead of the old gconf
589           helper lib we had.
590
591 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
592
593
594         * docs/gst/gstreamer-docs.sgml:
595         * docs/gst/gstreamer-sections.txt:
596         * docs/libs/gstreamer-libs-sections.txt:
597           add new API entries to the docs
598         * libs/gst/controller/Makefile.am:
599         * libs/gst/controller/gstcontroller.c:
600         * libs/gst/controller/gstcontroller.h:
601         * libs/gst/controller/gstcontrollerprivate.h:
602         * libs/gst/controller/gsthelper.c:
603         * libs/gst/controller/gstinterpolation.c:
604           move private structs to private header
605         * po/README:
606           gstreamer-0.7 -> gstreamer-0.10
607         * tests/check/libs/struct_i386.h:
608           remove private structs
609
610 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * plugins/indexers/Makefile.am:
613           Fixes as part of #317048
614
615 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
616
617         * plugins/indexers/Makefile.am:
618           fix #316086 - compilation when mmap is missing
619
620 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
621
622         * libs/gst/base/gstbasesink.c:
623           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
624           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
625         * win32/common/config.h:
626           added some defines GST_MAJORMINOR and HOST_CPU
627         * win32/common/libgstbase.def:
628         * win32/common/libgstreamer.def:
629           added some exported functions.
630
631 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
632
633         * libs/gst/controller/gstcontroller.c:
634         (gst_controlled_property_set_interpolation_mode),
635         (gst_controlled_property_new):
636         * libs/gst/controller/gstcontroller.h:
637         * libs/gst/controller/gstinterpolation.c:
638         (interpolate_none_get_string_value_array):
639           make G_TYPE_STRING controlable
640
641 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
642
643         * tools/README:
644         * tools/gst-feedback.1.in:
645         * tools/gst-inspect.1.in:
646         * tools/gst-launch.1.in:
647         * tools/gst-md5sum.1.in:
648         * tools/gst-typefind.1.in:
649         * tools/gst-xmlinspect.1.in:
650         * tools/gst-xmllaunch.1.in:
651           cleanup man-pages, remove reference to gst-register, document env-vars
652
653 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
654
655         * gst/gstbuffer.c: (gst_buffer_span):
656           gst_buffer_span should copy the timestamp of the first buffer
657           if they were both originally overlapping subbuffers of the 
658           same parent, using the same logic as the 'slow copy' case.
659
660 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
661
662         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
663           Need to awaken ALL the pads when we pop a buffer, otherwise
664           collectpads only works when there is 2 input streams.
665
666 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
667
668         * docs/random/ensonic/media-device-daemon.txt:
669           more ideas (dbus)
670         * gst/gstbuffer.c:
671           fix doc example, add clarification
672         * tools/gst-launch.1.in:
673           add initial info about GST_PLUGIN_PATH, needs more work
674
675 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
676
677         * docs/manual/basics-bins.xml:
678         * docs/manual/basics-elements.xml:
679         * docs/manual/intro-basics.xml:
680           Some more minor docs additions and updates.
681
682 2006-01-11  Wim Taymans  <wim@fluendo.com>
683
684         * docs/manual/basics-bins.xml:
685         * docs/manual/basics-elements.xml:
686         Some small fixes as pointed out by Ser-ver on IRC.
687
688 2006-01-10  Edward Hervey  <edward@fluendo.com>
689
690         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
691         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
692         the single-segment mode.
693
694 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
695
696         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
697
698         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
699         (gst_base_src_perform_seek), (gst_base_src_send_event),
700         (gst_base_src_set_property), (gst_base_src_get_property),
701         (gst_base_src_loop), (gst_base_src_start),
702         (gst_base_src_activate_push):
703         * libs/gst/base/gstbasesrc.h:
704           Name (private) union; makes Sun's Forte compiler happy (#324900).
705
706 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
707
708         * README:
709           gst-register is gone.
710
711 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
712
713         * gst/gstvalue.c: (_gst_value_initialize):
714           make the G_TYPE_DATE instantiation work if debug is disabled
715
716 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
717
718         * gst/gstmessage.c: (gst_message_parse_tag),
719         (gst_message_parse_error), (gst_message_parse_warning):
720           Don't crash when return location for error/warning debug
721           string is NULL; add fact that return locations can be
722           NULL to docs where appropriate.
723
724 2006-01-05  Wim Taymans  <wim@fluendo.com>
725
726         * gst/gstplugin.c: (gst_plugin_load_file):
727         Replace strdup by g_strdup.
728
729 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * docs/pwg/advanced-types.xml:
732           fix doc borkage
733
734 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
735
736         submitted by: Abel Cheung
737
738         * po/LINGUAS:
739         * po/zh_TW.po:
740           Added Chinese (traditional) translation
741
742 2006-01-04  Wim Taymans  <wim@fluendo.com>
743
744         * docs/manual/basics-pads.xml:
745         * docs/plugins/Makefile.am:
746         * docs/plugins/gstreamer-plugins-docs.sgml:
747         * docs/plugins/gstreamer-plugins-sections.txt:
748         * docs/pwg/advanced-clock.xml:
749         * docs/pwg/advanced-scheduling.xml:
750         * docs/pwg/advanced-types.xml:
751         * plugins/elements/gstfdsink.c:
752         * plugins/elements/gstfdsrc.c:
753         * plugins/elements/gstfdsrc.h:
754         * plugins/elements/gstidentity.c: (gst_identity_class_init):
755         * plugins/elements/gstidentity.h:
756         * plugins/elements/gstqueue.h:
757         * plugins/elements/gsttee.c:
758         * plugins/elements/gsttee.h:
759         * plugins/elements/gsttypefindelement.c:
760         (gst_type_find_element_class_init):
761         * plugins/elements/gsttypefindelement.h:
762         Small updates to various docs.
763         Added core plugins to docs.
764
765 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
766
767         * common/gst.supp:
768           add a suppression for liboil's uninitialized variable
769
770 2006-01-02  James Livingston  <jrl at ids dot org dot au>
771
772         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
773
774         * gst/gstutils.h:
775           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
776           macro, so that gcc doesn't complain if the -Wmissing-prototypes
777           compiler switch is being used (#325429).
778
779 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
780
781         * gst/gstbin.c: (gst_bin_query):
782           Disable duration query caching in bins until it gets
783           fixed (see #324807).
784
785 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
786
787         * tools/gst-inspect.c: (print_element_properties_info):
788           Handle properties of POINTER and BOXED type.
789
790 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
791
792         * gst/gst.c: (init_post):
793           Init tags stuff and some other things before loading
794           any static plugins (there may be other static plugins
795           than just the GStreamer ones, and they may want to
796           register their own tags or formats or whatever, and
797           preferably without segfaulting).
798
799         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
800           Print at least a warning in the debug logs if we drop a
801           query just because we don't know how to adjust the value
802           in the particular format.
803
804 2005-12-24  David Schleef  <ds@schleef.org>
805
806         * tools/gstreamer-completion:
807           Replacement for gst-complete written in sh and sed.  Only
808           completes names of features, but that's 90% of what I want
809           it for.  Properties are not available in registry.xml.  (Maybe
810           they should be...)
811
812 === release 0.10.1 ===
813
814 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
815
816         * configure.ac:
817           releasing 0.10.1, "Nollaig chridheil"
818
819 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
820
821         * docs/faq/cvs.xml:
822           Add missing quote, should be make ERROR_CFLAGS="".
823
824 2005-12-20  Wim Taymans  <wim@fluendo.com>
825
826         * docs/design/part-trickmodes.txt:
827         More documentation on trickmodes.
828
829 2005-12-20  Edward Hervey  <edward@fluendo.com>
830
831         * gst/gstcaps.c: (gst_static_caps_get_type):
832         * gst/gstcaps.h:
833           API addition: GST_TYPE_STATIC_CAPS
834         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
835         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
836         * gst/gstpadtemplate.h:
837           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
838         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
839         bindings.
840
841 2005-12-18  Wim Taymans  <wim@fluendo.com>
842
843         * libs/gst/base/gstadapter.c:
844         * libs/gst/base/gstadapter.h:
845         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
846         (gst_base_sink_get_position):
847         * libs/gst/base/gstbasesink.h:
848         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
849         (gst_base_src_default_query), (gst_base_src_default_do_seek),
850         (gst_base_src_do_seek), (gst_base_src_perform_seek),
851         (gst_base_src_send_event), (gst_base_src_update_length),
852         (gst_base_src_get_range), (gst_base_src_loop),
853         (gst_base_src_start):
854         * libs/gst/base/gstbasesrc.h:
855         * libs/gst/base/gstbasetransform.h:
856         * libs/gst/base/gstcollectpads.h:
857         * libs/gst/base/gstpushsrc.c:
858         * libs/gst/base/gstpushsrc.h:
859         * libs/gst/dataprotocol/dataprotocol.c:
860         * libs/gst/dataprotocol/dataprotocol.h:
861         * libs/gst/net/gstnetclientclock.h:
862         * libs/gst/net/gstnettimeprovider.h:
863         Documentation updates.
864
865 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
866
867         * docs/manual/basics-helloworld.xml:
868           Remove superfluous closing bracket in helloworld example.
869
870 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * tools/gst-launch.1.in:
873           Update gst-launch man page; add a section with useful
874           environment variables. Fixes #323882.
875
876 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
877
878         * gst/gst.c:
879         * gst/gst_private.h:
880           change some char* into char[]
881
882 2005-12-16  Wim Taymans  <wim@fluendo.com>
883
884         * gst/gstregistryxml.c: (load_feature):
885         Cleanups.
886         Don't use g_object_unref on GstObjects so that we avoid
887         leaks on unsafe glibs.
888
889 2005-12-16  Wim Taymans  <wim@fluendo.com>
890
891         * gst/gstbin.c: (gst_bin_recalc_state):
892         Small doc updates.
893
894 2005-12-16  Wim Taymans  <wim@fluendo.com>
895
896         * common/check.mak:
897         Added make forever target for check.
898
899 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
900
901         * gst/gst.c: (init_post):
902           make the registry cache file HOST_CPU-dependent
903
904 2005-12-16  Andy Wingo  <wingo@pobox.com>
905
906         * plugins/elements/gstbufferstore.c
907         (gst_buffer_store_cleared_func): Pay attention to g_list_append
908         return value.
909
910         * tests/check/gst/gstobject.c
911         (test_fake_object_name_threaded_unique): Pay attention to
912         g_list_sort return value.
913
914 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
915
916         * tools/gst-feedback-m.m:
917           Update for 0.9/0.10 (fixes #323870).
918
919 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
922           Fix lcopy for mini objects, the mini object needs to be ref'ed.
923           
924         * tests/check/gst/gstminiobject.c: (my_foo_init),
925         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
926         (test_value_collection), (gst_mini_object_suite):
927           Add test to ensure refcounts end up as expected when passing
928           GstMiniObjects through g_object_get() and g_object_set().
929
930 2005-12-14  Julien MOUTTE  <julien@moutte.net>
931
932         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
933         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
934         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
935         of collectpads. This version removes a lot of races without
936         touching API/ABI. Yay !
937
938 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
939
940         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
941           Don't allow activation of a srcpad in pull_range if it has no
942           getrange function.
943           Change some debug statements to be a little clearer
944
945         * plugins/elements/gsttypefindelement.c:
946         (gst_type_find_handle_src_query):
947           Check that we have a peer before executing queries thereupon.
948
949         * tests/examples/metadata/read-metadata.c: (message_loop):
950           Use gst_bus_pop instead of gst_bus_poll when we just want it to
951           immediately return us any available message with 0 timeout.
952
953 2005-12-12  Michael Smith  <msmith@fluendo.com>
954
955         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
956           Don't unref factories after calling them.
957         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
958         * plugins/elements/gsttypefindelement.c:
959         (gst_type_find_element_chain):
960           Free lists of factories after using them. Fixing typefinding memory
961           leaks.
962
963 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
964
965         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
966         (gst_plugin_feature_load):
967           more meaningful debug output
968         * configure.ac:
969         * tests/Makefile.am:
970         * tests/old/examples/Makefile.am:
971           make make distcheck happy again
972
973 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
974
975         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
976           Catch the special case where we are operating chain-based,
977           but the downstream peer pad has no chain function. Emit a
978           custom error message in this case instead of letting the
979           core generate one implying that this is some sort of core
980           bug. It's not, it just means that whatever got plugged
981           into the pipeline downstream when we announced the type
982           can only operate pull-based, while our source can only
983           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
984           Error string has not been marked for translation yet, as
985           it probably needs some more work first.
986
987         (gst_type_find_element_get_best_possibility):
988           Add helper function to find the best of all available
989           found possibilities that qualify given the min. threshold.
990
991         (gst_type_find_element_handle_event):
992           Fix the case where we get an EOS while still in TYPEFIND
993           mode (we want to chose the best of all possible types,
994           not just the first type that happens to be in our unsorted
995           list of possible types).
996
997         (gst_type_find_element_chain):
998           Make sure we return GST_FLOW_ERROR when we errored out
999           in stop_typefinding(); also, don't just find the best of
1000           all found type entries and then use the last examined
1001           type entry, but actually use the best entry.
1002
1003 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1004
1005         * tests/examples/typefind/typefind.c: (type_found):
1006         * tests/examples/xml/runxml.c: (xml_loaded):
1007           More gcc4 fixes and a mem leak fix.
1008
1009 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1010
1011         * tests/examples/xml/createxml.c: (object_saved):
1012           gcc 4 fixes
1013
1014 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1015
1016         * tests/Makefile.am:
1017           enable the examples even more
1018
1019 2005-12-12  Andy Wingo  <wingo@pobox.com>
1020
1021         * libs/gst/net/gstnettimeprovider.c
1022         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1023         (gst_net_time_provider_set_property)
1024         (gst_net_time_provider_get_property):
1025         API addition: Export "active" as a GObject property.
1026         (gst_net_time_provider_thread): Only respond to time queries if
1027         the time provider is active.
1028
1029         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1030         NetTimeProvider, preserving binary compat.
1031
1032 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1033
1034         * tests/examples/controller/audio-example.c: (main):
1035         * tests/examples/launch/Makefile.am:
1036           convert comments again
1037
1038 2005-12-12  Wim Taymans  <wim@fluendo.com>
1039
1040         * libs/gst/base/gstpushsrc.c:
1041         Fix typo.
1042
1043 2005-12-12  Wim Taymans  <wim@fluendo.com>
1044
1045         * docs/libs/gstreamer-libs-sections.txt:
1046         Added new symbol to docs.
1047
1048         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1049         (gst_base_src_init), (gst_base_src_set_format),
1050         (gst_base_src_default_query), (gst_base_src_query),
1051         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1052         (gst_base_src_perform_seek), (gst_base_src_send_event),
1053         (gst_base_src_default_event), (gst_base_src_event_handler),
1054         (gst_base_src_set_property), (gst_base_src_get_property),
1055         (gst_base_src_wait), (gst_base_src_do_sync),
1056         (gst_base_src_update_length), (gst_base_src_get_range),
1057         (gst_base_src_check_get_range), (gst_base_src_loop),
1058         (gst_base_src_default_negotiate), (gst_base_src_start),
1059         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1060         (gst_base_src_change_state):
1061         * libs/gst/base/gstbasesrc.h:
1062         Implement seeking to other formats than _BYTES.
1063         Implement more seeking methods correctly.
1064         Doc updates.
1065         Added query vmethod.
1066         Added do_seek vmethod to make life easier for subclasses
1067         when seeking.
1068         API addition: gst_base_src_set_format()
1069
1070 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * tests/examples/Makefile.am:
1073           added that too
1074
1075 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1076
1077         * configure.ac:
1078         * docs/random/ensonic/media-device-daemon.txt:
1079         * tests/examples/controller/.cvsignore:
1080         * tests/examples/controller/Makefile.am:
1081         * tests/examples/controller/audio-example.c: (main):
1082         * tests/examples/helloworld/.cvsignore:
1083         * tests/examples/helloworld/Makefile.am:
1084         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1085         * tests/examples/launch/.cvsignore:
1086         * tests/examples/launch/Makefile.am:
1087         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1088         * tests/examples/metadata/.cvsignore:
1089         * tests/examples/metadata/Makefile.am:
1090         * tests/examples/metadata/read-metadata.c: (message_loop),
1091         (make_pipeline), (print_tag), (main):
1092         * tests/examples/queue/.cvsignore:
1093         * tests/examples/queue/Makefile.am:
1094         * tests/examples/queue/queue.c: (event_loop), (main):
1095         * tests/examples/typefind/.cvsignore:
1096         * tests/examples/typefind/Makefile.am:
1097         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1098         (main):
1099         * tests/examples/xml/.cvsignore:
1100         * tests/examples/xml/Makefile.am:
1101         * tests/examples/xml/createxml.c: (object_saved), (main):
1102         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1103         * tests/old/examples/Makefile.am:
1104         * tests/old/examples/TODO:
1105         * tests/old/examples/controller/.cvsignore:
1106         * tests/old/examples/controller/Makefile.am:
1107         * tests/old/examples/controller/audio-example.c:
1108         * tests/old/examples/helloworld/.cvsignore:
1109         * tests/old/examples/helloworld/Makefile.am:
1110         * tests/old/examples/helloworld/helloworld.c:
1111         * tests/old/examples/launch/.cvsignore:
1112         * tests/old/examples/launch/Makefile.am:
1113         * tests/old/examples/launch/mp3parselaunch.c:
1114         * tests/old/examples/launch/mp3play:
1115         * tests/old/examples/manual/Makefile.am:
1116         * tests/old/examples/metadata/Makefile.am:
1117         * tests/old/examples/metadata/read-metadata.c:
1118         * tests/old/examples/queue/.cvsignore:
1119         * tests/old/examples/queue/Makefile.am:
1120         * tests/old/examples/queue/queue.c:
1121         * tests/old/examples/typefind/.cvsignore:
1122         * tests/old/examples/typefind/Makefile.am:
1123         * tests/old/examples/typefind/typefind.c:
1124         * tests/old/examples/xml/.cvsignore:
1125         * tests/old/examples/xml/Makefile.am:
1126         * tests/old/examples/xml/createxml.c:
1127         * tests/old/examples/xml/runxml.c:
1128           applied some simple fixing to some examples
1129           re-enabled the working examples
1130
1131 2005-12-12  Wim Taymans  <wim@fluendo.com>
1132
1133         * gst/gstsegment.c: (gst_segment_init),
1134         (gst_segment_set_last_stop), (gst_segment_set_seek),
1135         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1136         (gst_segment_to_running_time):
1137         Added more documentation.
1138         Make sure the last_pos value is updated properly.
1139         Make sure to_stream_time and to_running_time don't
1140         operate on wrong values.
1141
1142         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1143         Update check.
1144
1145 2005-12-12  Michael Smith  <msmith@fluendo.com>
1146
1147         * plugins/elements/gsttypefindelement.c: (free_entry),
1148         (gst_type_find_element_chain):
1149           Now that we're not leaking factories, make sure we keep references
1150           to them while we need them.
1151
1152 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1153
1154         * tests/check/gst/struct_i386.h:
1155           ifdef out the XML structs
1156
1157 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1158
1159         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1160           floor is not needed, F is always positive; this obviates the
1161           need for adding -lm when building without libxml
1162
1163 2005-12-12  Wim Taymans  <wim@fluendo.com>
1164
1165         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1166         Take current playback rate into account when reporting
1167         the position.
1168
1169 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1170
1171         * docs/manual/mime-world.fig:
1172           Let's try this again, this time with a file that is
1173           actually in XFig format.
1174
1175 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1176
1177         * docs/manual/mime-world.fig:
1178           Add audioconvert element to diagram so that it
1179           matches the text and the code (fixes #319526).
1180
1181 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1182
1183         * docs/pwg/building-chainfn.xml:
1184         * docs/pwg/building-pads.xml:
1185         * docs/pwg/building-state.xml:
1186         * docs/pwg/other-source.xml:
1187           Update state change stuff for 0.10 (fixes #322969).
1188
1189 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1190
1191         * docs/manual/advanced-dataaccess.xml:
1192         * docs/manual/appendix-checklist.xml:
1193         * docs/manual/appendix-programs.xml:
1194         * docs/manual/basics-pads.xml:
1195         * docs/manual/highlevel-components.xml:
1196         * docs/manual/manual.xml:
1197           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1198           add converters in front of pipelines; remove curly
1199           brackets for threads stuff, they no longer exist; use
1200           GST_TYPE_FRACTION for framerates; update some pieces of
1201           code to 0.10, but there's plenty more to do.
1202
1203         * docs/manual/appendix-porting.xml:
1204           Expand on asynchroneous state changes; s/0.9/0.10/;
1205           mention disappearance of gst_init_get_popt_table()
1206           (fixes #322916).
1207
1208 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1209
1210         * docs/faq/using.xml:
1211           Spider no longer exists, and neither does gst-launch-ext.
1212           Update examples to use decodebin and playbin and put
1213           converters in front of sinks (fixes #323726).
1214
1215 2005-12-09  Michael Smith  <msmith@fluendo.com>
1216
1217         * plugins/elements/gsttypefindelement.c: (find_peek),
1218         (gst_type_find_element_chain):
1219           Fix leaking element factories in typefinding.
1220           Fix problem where we forgot about a probable type on non-seekable
1221           files, and thus later mis-typefound it.
1222
1223 2005-12-09  Michael Smith  <msmith@fluendo.com>
1224
1225         * common/m4/gst-makecontext.m4:
1226         * common/m4/gst-mcsc.m4:
1227         * configure.ac:
1228         * win32/common/config.h:
1229         * win32/common/config.h.in:
1230           Remove makecontext stuff; not used in 0.10 and causes problems on
1231           HPUX according to bug #322441
1232
1233 2005-12-07  Wim Taymans  <wim@fluendo.com>
1234
1235         * tests/check/Makefile.am:
1236         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1237         (main):
1238         * tests/check/libs/struct_i386.h:
1239         Added ABI check for libs
1240
1241 2005-12-07  Wim Taymans  <wim@fluendo.com>
1242
1243         * tests/check/Makefile.am:
1244         And add the struct_i386.h to dist.
1245
1246 2005-12-07  Wim Taymans  <wim@fluendo.com>
1247
1248         * tests/check/Makefile.am:
1249         * tests/check/gst/.cvsignore:
1250         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1251         (main):
1252         * tests/check/gst/struct_i386.h:
1253         Added check for ABI compatibility.
1254
1255 2005-12-07  Wim Taymans  <wim@fluendo.com>
1256
1257         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1258         (gst_fake_src_get_times), (gst_fake_src_create):
1259         Fix broken sync option, fixes #323259
1260
1261 2005-12-07  Wim Taymans  <wim@fluendo.com>
1262
1263         * gst/gstbuffer.c:
1264         Small docs update.
1265
1266         * gst/gstcaps.c: (gst_caps_is_equal):
1267         Don't assert on NULL <--> X. Fixes #323260
1268
1269         * gst/gstminiobject.c: (gst_mini_object_replace):
1270         If we're doing atomic operations, we might just as well use
1271         the proper way to get an atomic pointer.
1272
1273         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1274         Clean up debugging.
1275
1276 2005-12-07  Michael Smith  <msmith@fluendo.com>
1277
1278         * gst/parse/grammar.y:
1279           Remove handling of { } for threads.
1280
1281 2005-12-06  David Schleef  <ds@schleef.org>
1282
1283         * libs/gst/base/gstbasetransform.c: speling fix.
1284
1285 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1286
1287         * docs/libs/tmpl/gstdataprotocol.sgml:
1288         * docs/random/omega/testing/gstobject.c:
1289         * gst/gst.c:
1290         * gst/gstclock.c:
1291         * gst/gstelement.c:
1292         * gst/gstelementfactory.c:
1293         * gst/gsterror.c:
1294         * gst/gstevent.c:
1295         * gst/gstghostpad.c:
1296         * gst/gstinfo.c:
1297         * gst/gstpadtemplate.c:
1298         * gst/gstregistryxml.c:
1299         * gst/gsttaglist.c:
1300         * gst/gsttagsetter.c:
1301         * gst/gsttypefind.c:
1302         * gst/gstvalue.c:
1303         * libs/gst/base/gstbasesrc.c:
1304         * libs/gst/net/gstnetclientclock.c:
1305         * libs/gst/net/gstnettimeprovider.c:
1306         * plugins/elements/gstfakesrc.c:
1307         * plugins/elements/gstfdsrc.c:
1308         * plugins/elements/gstfilesrc.c:
1309         * plugins/elements/gstidentity.c:
1310         * plugins/elements/gstqueue.c:
1311         * plugins/elements/gsttypefindelement.c:
1312         * plugins/indexers/gstfileindex.c:
1313         * plugins/indexers/gstmemindex.c:
1314         * tests/check/gst/gsttag.c:
1315         * tests/old/examples/cutter/cutter.c:
1316         * tests/old/examples/mixer/mixer.c:
1317         * tests/old/examples/xml/runxml.c: (main):
1318         * tests/old/testsuite/caps/normalisation.c:
1319         * tests/old/testsuite/debug/global.c:
1320         * tests/old/testsuite/parse/parse1.c:
1321         * tools/gst-xmlinspect.c:
1322         * win32/common/dirent.c:
1323           expand tabs
1324
1325 === release 0.10.0 ===
1326
1327 2005-12-05   <thomas (at) apestaart (dot) org>
1328
1329         * configure.ac:
1330           releasing 0.10.0, "Maroilles"
1331
1332 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1333
1334         submitted by: Funda Wang <fundawang@linux.net.cn>
1335
1336         * po/LINGUAS:
1337         * po/zh_CN.po:
1338           added Chinese (Traditional) translation
1339
1340 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1341
1342         * docs/gst/gstreamer-sections.txt:
1343         * docs/libs/tmpl/gstdataprotocol.sgml:
1344         * docs/random/thomasvs/TODO:
1345         * gst/gstutils.c:
1346         * gst/gstutils.h:
1347           fix docs
1348
1349 2005-12-05  Andy Wingo  <wingo@pobox.com>
1350
1351         patch by: Wim Taymans <wim@fluendo.com>
1352
1353         * libs/gst/base/gstbasetransform.c
1354         (gst_base_transform_prepare_output_buf)
1355         (gst_base_transform_buffer_alloc):
1356         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1357         alloc_buffer_and_set_caps.
1358
1359         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1360         set_caps on the source pad.
1361         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1362         alloc_buffer used to do. Fixes #322874.
1363
1364         * docs/gst/gstreamer-sections.txt: 
1365         * docs/design/part-negotiation.txt: 
1366         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1367         changes.
1368
1369 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1370
1371         patch by: Sebastien Moutte
1372
1373         * win32/MANIFEST:
1374         * win32/common/config.h.in:
1375         * win32/vs6/libgstcontroller.dsp:
1376           win32 build fixes
1377
1378 2005-12-05  Wim Taymans  <wim@fluendo.com>
1379
1380         * gst/gstcaps.c: (gst_caps_is_equal):
1381         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1382         (gst_fake_src_create):
1383         Back out previous code changes, leave doc updates, file bugs 
1384         instead. 
1385
1386 2005-12-05  Wim Taymans  <wim@fluendo.com>
1387
1388         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1389         (gst_fake_src_get_times), (gst_fake_src_create):
1390         * plugins/elements/gstfakesrc.h:
1391         Fix broken sync code.
1392
1393 2005-12-05  Wim Taymans  <wim@fluendo.com>
1394
1395         * gst/gstcaps.c: (gst_caps_is_equal):
1396         Comparing NULL against !NULL yields different caps, not a
1397         failure.
1398
1399 2005-12-05  Wim Taymans  <wim@fluendo.com>
1400
1401         * gst/gstpipeline.c:
1402         Fix small typo in docs.
1403
1404 2005-12-05  Andy Wingo  <wingo@pobox.com>
1405
1406         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1407
1408         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1409         registries/plugins with a MAJORMINOR one.
1410         (plugin_desc): Rename library from gstcoreleements to
1411         staticelements. Fixes #323222.
1412
1413 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1414
1415         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1416           Change debug category to 'collectpads' from 'collect_pads'
1417           (fixes #323250).
1418
1419 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1420
1421         patch by: Sebastien Moutte
1422
1423         * libs/gst/controller/gstinterpolation.c:
1424           use convert function for uint64/double
1425         * win32/vs6/libgstcontroller.dsp:
1426           link to GLib
1427
1428 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1429
1430         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1431         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1432         * gst/gstutils.h:
1433         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1434           add tests that seem to show that the guint64/gdouble conversions
1435           are correct.
1436
1437 2005-12-02  Wim Taymans  <wim@fluendo.com>
1438
1439         * gst/gstregistry.c: (gst_registry_add_path):
1440         * gst/gstregistry.h:
1441         * gst/gstregistryxml.c:
1442         Fix docs again.
1443
1444 2005-12-02  Wim Taymans  <wim@fluendo.com>
1445
1446         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1447         (gst_util_uint64_scale_int):
1448         Small cleanup.
1449
1450         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1451         Add debug log line.
1452
1453         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1454         Add FIXME.
1455
1456 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         * win32/MANIFEST:
1459         * win32/common/config.h:
1460         * win32/vs6/gstreamer.dsw:
1461         * win32/vs6/libgstcoreelements.dsp:
1462         * win32/vs6/libgstelements.dsp:
1463           renamed core elements plugin
1464
1465 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1466
1467         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1468         (get_candidates):
1469           do piece-wise major/minor comparison so 0.9 < 0.10
1470           also allow .exe extensions for tools
1471
1472 2005-12-02  Michael Smith  <msmith@fluendo.com>
1473
1474         * gst/gst.c:
1475           Escape a % to make gtkdoc happier; bug 322958.
1476
1477 === release 0.9.7 ===
1478
1479 2005-12-01   <thomas (at) apestaart (dot) org>
1480
1481         * configure.ac:
1482           releasing 0.9.7, "My Dog Has No Nose"
1483
1484 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1485
1486         * common/gst-xmlinspect.py:
1487         * configure.ac:
1488         * docs/libs/tmpl/gstdataprotocol.sgml:
1489         * docs/random/release:
1490         * po/af.po:
1491         * po/az.po:
1492         * po/bg.po:
1493         * po/ca.po:
1494         * po/cs.po:
1495         * po/de.po:
1496         * po/en_GB.po:
1497         * po/fr.po:
1498         * po/it.po:
1499         * po/nb.po:
1500         * po/nl.po:
1501         * po/ru.po:
1502         * po/sq.po:
1503         * po/sr.po:
1504         * po/sv.po:
1505         * po/tr.po:
1506         * po/uk.po:
1507         * po/vi.po:
1508         * win32/common/config.h:
1509         * win32/common/config.h.in:
1510         * win32/vs6/gst_inspect.dsp:
1511         * win32/vs6/gst_launch.dsp:
1512         * win32/vs6/libgstbase.dsp:
1513         * win32/vs6/libgstelements.dsp:
1514         * win32/vs6/libgstreamer.dsp:
1515         * win32/vs7/GStreamer.vcproj:
1516         * win32/vs7/gst-inspect.vcproj:
1517         * win32/vs7/gst-launch.vcproj:
1518         * win32/vs7/libgstbase.vcproj:
1519           bump GST_MAJORMINOR to 0.10
1520           reset libtool version
1521
1522 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1523
1524         * po/LINGUAS:
1525         * po/bg.po:
1526           Added Bulgarian translation by (Alexander Shopov)
1527
1528 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1529
1530         * tests/check/gst/gstplugin.c:
1531           fix test
1532
1533 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1534
1535         * common/gst-xmlinspect.py:
1536         * common/gtk-doc-plugins.mak:
1537         * configure.ac:
1538         * docs/Makefile.am:
1539         * docs/gst/Makefile.am:
1540         * docs/gst/gstreamer-docs.sgml:
1541         * docs/gst/gstreamer-sections.txt:
1542         * docs/gst/gstreamer.types:
1543         * docs/gst/gstreamer.types.in:
1544         * docs/plugins/Makefile.am:
1545         * docs/plugins/gstreamer-plugins-docs.sgml:
1546         * docs/plugins/gstreamer-plugins-sections.txt:
1547         * docs/plugins/gstreamer-plugins.types:
1548         * docs/plugins/inspect.stamp:
1549         * docs/plugins/inspect/plugin-coreelements.xml:
1550         * docs/plugins/inspect/plugin-coreindexers.xml:
1551         * docs/plugins/scanobj-build.stamp:
1552         * gstreamer.spec.in:
1553         * plugins/elements/Makefile.am:
1554         * plugins/elements/gstelements.c:
1555         * plugins/elements/gstfakesink.c:
1556         * plugins/elements/gstfakesrc.c:
1557         * plugins/elements/gstfilesink.c:
1558         * plugins/elements/gstfilesrc.c:
1559         * plugins/elements/gstqueue.c:
1560         * plugins/indexers/Makefile.am:
1561         * plugins/indexers/gstindexers.c:
1562           document core plugins in a separate document just like all the
1563           others
1564           rename these plugins to something starting with core
1565
1566 2005-12-01  Andy Wingo  <wingo@pobox.com>
1567
1568         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1569         padding here before, but it missed the commit.
1570
1571 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1572
1573         * libs/gst/controller/gstinterpolation.c:
1574           whitespace prices have crashed, we should feel free to use some now
1575           use gst_guint64_to_gdouble
1576
1577 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1578
1579         * libs/gst/controller/gstcontroller.c:
1580         * libs/gst/controller/gsthelper.c:
1581         * libs/gst/controller/gstinterpolation.c:
1582         * libs/gst/controller/lib.c:
1583           wrap config.h include
1584
1585 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1586
1587         * docs/gst/gstreamer-sections.txt:
1588           update docs
1589
1590 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1591
1592         * plugins/elements/gstelements.c:
1593         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1594         (gst_fd_sink__class_init), (gst_fd_sink__init),
1595         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1596         (gst_fd_sink__get_property):
1597         * plugins/elements/gstfdsink.h:
1598         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1599         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1600         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1601         (gst_fd_src_unlock), (gst_fd_src_set_property),
1602         (gst_fd_src_get_property), (gst_fd_src_create),
1603         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1604         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1605         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1606         (gst_fd_src_uri_handler_init):
1607         * plugins/elements/gstfdsrc.h:
1608         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1609           more anal cleanup
1610
1611 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1612
1613         * docs/gst/Makefile.am:
1614         * docs/gst/gstreamer.types.in:
1615         * gst/Makefile.am:
1616           fix the docs build
1617
1618 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1619
1620         * configure.ac:
1621         * gst/Makefile.am:
1622         * gst/gst.c:
1623         * gst/gstplugin.h:
1624         * gst/gstregistry.h:
1625         * tests/benchmarks/complexity.c:
1626         * tests/benchmarks/mass-elements.c:
1627         * tests/check/Makefile.am:
1628         * tools/Makefile.am:
1629         * tools/gst-inspect.c:
1630         * tools/gst-xmlinspect.c:
1631           various fixes to make
1632           --disable-nls --disable-registry --disable-loadsave
1633           --disable-parse --disable-gst-debug
1634           work and get the core .so down to 360444 bytes after stripping
1635
1636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1637
1638         * Makefile.am:
1639         * configure.ac:
1640           descend into tests
1641         * docs/random/thomasvs/TODO:
1642         * tests/Makefile.am:
1643         * tests/README:
1644           add a README
1645
1646 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * win32/GStreamer.vcproj:
1649         * win32/MANIFEST:
1650         * win32/Makefile:
1651         * win32/Makefile.inspect:
1652         * win32/Makefile.launch:
1653         * win32/Makefile.register:
1654         * win32/README.txt:
1655         * win32/gst-inspect.vcproj:
1656         * win32/gst-launch.vcproj:
1657         * win32/gst-register.vcproj:
1658         * win32/gstelements.vcproj:
1659         * win32/gstgetbits.def:
1660         * win32/gstgetbits.vcproj:
1661         * win32/gstreamer-dbg.def:
1662         * win32/gstreamer.def:
1663         * win32/libgstbase.def:
1664         * win32/libgstbase.vcproj:
1665         * win32/link_oldruntime.c:
1666         * win32/mman.c:
1667         * win32/mman.h:
1668         * win32/mman.inl:
1669         * win32/msvc71.sln:
1670           move even more stuff, win32/ is nice and clean now
1671
1672 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1673
1674         * libs/gst/control/.cvsignore:
1675         * win32/MANIFEST:
1676         * win32/config.h:
1677         * win32/dirent.c:
1678         * win32/dirent.h:
1679         * win32/gstbytestream.def:
1680         * win32/gstbytestream.vcproj:
1681         * win32/gstconfig.h:
1682         * win32/gstenumtypes.c:
1683         * win32/gstenumtypes.h:
1684         * win32/gstoptimalscheduler.vcproj:
1685         * win32/gstversion.h:
1686         * win32/gtchar.h:
1687         * win32/testsuite/bins.vcproj:
1688         * win32/testsuite/bytestream.vcproj:
1689         * win32/testsuite/caps.vcproj:
1690         * win32/testsuite/cleanup.vcproj:
1691         * win32/testsuite/clock.vcproj:
1692         * win32/testsuite/debug.vcproj:
1693         * win32/testsuite/dlopen.vcproj:
1694         * win32/testsuite/dynparams.vcproj:
1695         * win32/testsuite/elements.vcproj:
1696         * win32/testsuite/ghostpads.vcproj:
1697         * win32/testsuite/indexers.vcproj:
1698         * win32/testsuite/negotiation.vcproj:
1699         * win32/testsuite/parse.vcproj:
1700         * win32/testsuite/plugin.vcproj:
1701         * win32/testsuite/refcounting.vcproj:
1702         * win32/testsuite/schedulers.vcproj:
1703         * win32/testsuite/states.vcproj:
1704         * win32/testsuite/tags.vcproj:
1705         * win32/testsuite/threads.vcproj:
1706           remove old win32 stuff that isn't maintained and should be
1707           reorganized
1708
1709 2005-11-30  Andy Wingo  <wingo@pobox.com>
1710
1711         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1712         loading the gst.interfaces python module bork.
1713
1714         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1715         available since GLib 2.2. Fixes #318031.
1716
1717 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1718
1719         * Makefile.am:
1720         * check/.cvsignore:
1721         * check/Makefile.am:
1722         * check/elements/.cvsignore:
1723         * check/elements/fakesrc.c:
1724         * check/elements/fdsrc.c:
1725         * check/elements/identity.c:
1726         * check/generic/.cvsignore:
1727         * check/generic/states.c:
1728         * check/gst-libs/.cvsignore:
1729         * check/gst-libs/controller.c:
1730         * check/gst-libs/gdp.c:
1731         * check/gst/.cvsignore:
1732         * check/gst/capslist.h:
1733         * check/gst/gst.c:
1734         * check/gst/gstbin.c:
1735         * check/gst/gstbuffer.c:
1736         * check/gst/gstbus.c:
1737         * check/gst/gstcaps.c:
1738         * check/gst/gstelement.c:
1739         * check/gst/gstevent.c:
1740         * check/gst/gstghostpad.c:
1741         * check/gst/gstiterator.c:
1742         * check/gst/gstmessage.c:
1743         * check/gst/gstminiobject.c:
1744         * check/gst/gstobject.c:
1745         * check/gst/gstpad.c:
1746         * check/gst/gstpipeline.c:
1747         * check/gst/gstplugin.c:
1748         * check/gst/gstsegment.c:
1749         * check/gst/gststructure.c:
1750         * check/gst/gstsystemclock.c:
1751         * check/gst/gsttag.c:
1752         * check/gst/gstutils.c:
1753         * check/gst/gstvalue.c:
1754         * check/net/.cvsignore:
1755         * check/net/gstnetclientclock.c:
1756         * check/net/gstnettimeprovider.c:
1757         * check/pipelines/.cvsignore:
1758         * check/pipelines/cleanup.c:
1759         * check/pipelines/simple_launch_lines.c:
1760         * check/pipelines/stress.c:
1761         * check/states/.cvsignore:
1762         * check/states/sinks.c:
1763         * configure.ac:
1764         * examples/Makefile.am:
1765         * examples/appreader/.cvsignore:
1766         * examples/appreader/Makefile.am:
1767         * examples/appreader/appreader.c:
1768         * examples/controller/.cvsignore:
1769         * examples/controller/Makefile.am:
1770         * examples/controller/audio-example.c:
1771         * examples/cutter/.cvsignore:
1772         * examples/cutter/Makefile.am:
1773         * examples/cutter/cutter.c:
1774         * examples/cutter/cutter.h:
1775         * examples/events/Makefile.am:
1776         * examples/events/seek.c:
1777         * examples/helloworld/.cvsignore:
1778         * examples/helloworld/Makefile.am:
1779         * examples/helloworld/helloworld.c:
1780         * examples/helloworld2/.cvsignore:
1781         * examples/helloworld2/Makefile.am:
1782         * examples/helloworld2/helloworld2.c:
1783         * examples/launch/.cvsignore:
1784         * examples/launch/Makefile.am:
1785         * examples/launch/mp3parselaunch.c:
1786         * examples/launch/mp3play:
1787         * examples/manual/.cvsignore:
1788         * examples/manual/Makefile.am:
1789         * examples/manual/extract.pl:
1790         * examples/metadata/Makefile.am:
1791         * examples/metadata/read-metadata.c:
1792         * examples/mixer/.cvsignore:
1793         * examples/mixer/Makefile.am:
1794         * examples/mixer/mixer.c:
1795         * examples/mixer/mixer.h:
1796         * examples/pingpong/.cvsignore:
1797         * examples/pingpong/Makefile.am:
1798         * examples/pingpong/pingpong.c:
1799         * examples/plugins/.cvsignore:
1800         * examples/plugins/Makefile.am:
1801         * examples/plugins/example.c:
1802         * examples/plugins/example.h:
1803         * examples/pwg/.cvsignore:
1804         * examples/pwg/Makefile.am:
1805         * examples/pwg/extract.pl:
1806         * examples/queue/.cvsignore:
1807         * examples/queue/Makefile.am:
1808         * examples/queue/queue.c:
1809         * examples/queue2/.cvsignore:
1810         * examples/queue2/Makefile.am:
1811         * examples/queue2/queue2.c:
1812         * examples/queue3/.cvsignore:
1813         * examples/queue3/Makefile.am:
1814         * examples/queue3/queue3.c:
1815         * examples/queue4/.cvsignore:
1816         * examples/queue4/Makefile.am:
1817         * examples/queue4/queue4.c:
1818         * examples/retag/.cvsignore:
1819         * examples/retag/Makefile.am:
1820         * examples/retag/retag.c:
1821         * examples/retag/transcode.c:
1822         * examples/thread/.cvsignore:
1823         * examples/thread/Makefile.am:
1824         * examples/thread/thread.c:
1825         * examples/typefind/.cvsignore:
1826         * examples/typefind/Makefile.am:
1827         * examples/typefind/typefind.c:
1828         * examples/xml/.cvsignore:
1829         * examples/xml/Makefile.am:
1830         * examples/xml/createxml.c:
1831         * examples/xml/runxml.c:
1832         * tests/Makefile.am:
1833         * tests/check/Makefile.am:
1834         * testsuite/.cvsignore:
1835         * testsuite/Makefile.am:
1836         * testsuite/Rules:
1837         * testsuite/caps/.cvsignore:
1838         * testsuite/caps/Makefile.am:
1839         * testsuite/caps/app_fixate.c:
1840         * testsuite/caps/audioscale.c:
1841         * testsuite/caps/caps.c:
1842         * testsuite/caps/caps.h:
1843         * testsuite/caps/caps_strings:
1844         * testsuite/caps/compatibility.c:
1845         * testsuite/caps/deserialize.c:
1846         * testsuite/caps/enumcaps.c:
1847         * testsuite/caps/eratosthenes.c:
1848         * testsuite/caps/filtercaps.c:
1849         * testsuite/caps/fixed.c:
1850         * testsuite/caps/fraction-convert.c:
1851         * testsuite/caps/fraction-multiply-and-zero.c:
1852         * testsuite/caps/intersect2.c:
1853         * testsuite/caps/intersection.c:
1854         * testsuite/caps/normalisation.c:
1855         * testsuite/caps/random.c:
1856         * testsuite/caps/renegotiate.c:
1857         * testsuite/caps/sets.c:
1858         * testsuite/caps/simplify.c:
1859         * testsuite/caps/string-conversions.c:
1860         * testsuite/caps/structure.c:
1861         * testsuite/caps/subtract.c:
1862         * testsuite/caps/union.c:
1863         * testsuite/debug/.cvsignore:
1864         * testsuite/debug/Makefile.am:
1865         * testsuite/debug/category.c:
1866         * testsuite/debug/commandline.c:
1867         * testsuite/debug/global.c:
1868         * testsuite/debug/output.c:
1869         * testsuite/debug/printf_extension.c:
1870         * testsuite/dlopen/.cvsignore:
1871         * testsuite/dlopen/Makefile.am:
1872         * testsuite/dlopen/dlopen_gst.c:
1873         * testsuite/dlopen/loadgst.c:
1874         * testsuite/elements/.cvsignore:
1875         * testsuite/elements/Makefile.am:
1876         * testsuite/elements/gst-inspect-check.in:
1877         * testsuite/elements/struct_i386.h:
1878         * testsuite/elements/struct_size.c:
1879         * testsuite/indexers/.cvsignore:
1880         * testsuite/indexers/Makefile.am:
1881         * testsuite/indexers/cache1.c:
1882         * testsuite/indexers/indexdump.c:
1883         * testsuite/parse/.cvsignore:
1884         * testsuite/parse/Makefile.am:
1885         * testsuite/parse/parse1.c:
1886         * testsuite/parse/parse2.c:
1887         * testsuite/plugin/.cvsignore:
1888         * testsuite/plugin/Makefile.am:
1889         * testsuite/plugin/README:
1890         * testsuite/plugin/dynamic.c:
1891         * testsuite/plugin/linked.c:
1892         * testsuite/plugin/loading.c:
1893         * testsuite/plugin/registry.c:
1894         * testsuite/plugin/static.c:
1895         * testsuite/plugin/static2.c:
1896         * testsuite/plugin/testplugin.c:
1897         * testsuite/plugin/testplugin2.c:
1898         * testsuite/plugin/testplugin2_s.c:
1899         * testsuite/plugin/testplugin_s.c:
1900         * testsuite/refcounting/.cvsignore:
1901         * testsuite/refcounting/Makefile.am:
1902         * testsuite/refcounting/bin.c:
1903         * testsuite/refcounting/element.c:
1904         * testsuite/refcounting/element_pad.c:
1905         * testsuite/refcounting/mainloop.c:
1906         * testsuite/refcounting/mem.c:
1907         * testsuite/refcounting/mem.h:
1908         * testsuite/refcounting/object.c:
1909         * testsuite/refcounting/pad.c:
1910         * testsuite/refcounting/sched.c:
1911         * testsuite/refcounting/thread.c:
1912         * testsuite/states/.cvsignore:
1913         * testsuite/states/Makefile.am:
1914         * testsuite/states/bin.c:
1915         * testsuite/states/locked.c:
1916         * testsuite/states/parent.c:
1917         * testsuite/threads/.cvsignore:
1918         * testsuite/threads/159566.c:
1919         * testsuite/threads/159852.c:
1920         * testsuite/threads/Makefile.am:
1921         * testsuite/threads/queue.c:
1922         * testsuite/threads/signals.c:
1923         * testsuite/threads/staticrec.c:
1924         * testsuite/threads/thread.c:
1925         * testsuite/threads/threadb.c:
1926         * testsuite/threads/threadc.c:
1927         * testsuite/threads/threadd.c:
1928         * testsuite/threads/threade.c:
1929         * testsuite/threads/threadf.c:
1930         * testsuite/threads/threadg.c:
1931         * testsuite/threads/threadh.c:
1932         * testsuite/threads/threadi.c:
1933           move all of these under tests
1934
1935 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1936
1937         * configure.ac:
1938         * tests/Makefile.am:
1939           fix distcheck
1940
1941 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1942
1943         * docs/gst/gstreamer-sections.txt:
1944         * tests/sched/.cvsignore:
1945         * tests/sched/Makefile.am:
1946         * tests/sched/cases/(fs-fs).xml:
1947         * tests/sched/cases/(fs-i-fs).xml:
1948         * tests/sched/cases/(fs-i-i-fs).xml:
1949         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1950         * tests/sched/dynamic-pipeline.c:
1951         * tests/sched/interrupt1.c:
1952         * tests/sched/interrupt2.c:
1953         * tests/sched/interrupt3.c:
1954         * tests/sched/runtestcases:
1955         * tests/sched/runxml.c:
1956         * tests/sched/sched-stress.c:
1957         * tests/sched/sort.c:
1958         * tests/sched/testcases:
1959         * tests/sched/testcases1.tc:
1960         * tests/seeking/.cvsignore:
1961         * tests/seeking/Makefile.am:
1962         * tests/seeking/seeking1.c:
1963         * tests/threadstate/.cvsignore:
1964         * tests/threadstate/Makefile.am:
1965         * tests/threadstate/test1.c:
1966         * tests/threadstate/test2.c:
1967         * tests/threadstate/threadstate1.c:
1968         * tests/threadstate/threadstate2.c:
1969         * tests/threadstate/threadstate3.c:
1970         * tests/threadstate/threadstate4.c:
1971         * tests/threadstate/threadstate5.c:
1972           remove obsolete tests
1973         * configure.ac:
1974         * tests/bench-complexity.scm:
1975         * tests/bench-mass_elements.scm:
1976         * tests/complexity.c:
1977         * tests/complexity.gnuplot:
1978         * tests/instantiate/.cvsignore:
1979         * tests/instantiate/Makefile.am:
1980         * tests/instantiate/caps.c:
1981         * tests/mass_elements.c:
1982         * tests/network-clock-utils.scm:
1983         * tests/network-clock.scm:
1984         * tests/plot-data:
1985         First pass at cleaning up tests/ dir before moving the rest
1986         Combined with CVS surgery
1987
1988 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1989
1990         * po/POTFILES.in:
1991           queue has moved, update
1992
1993 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         * docs/gst/gstreamer-sections.txt:
1996           remove double entries from the docs
1997         * gst/gst_private.h:
1998         * gst/gstinfo.c: (_gst_debug_init):
1999           remove the THREAD debug category
2000         * gst/Makefile.am:
2001         * gst/gstqueue.c:
2002         * gst/gstqueue.h:
2003         * docs/gst/gstreamer.types:
2004         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2005         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2006           completely move queue and fix up debugging categories
2007
2008 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2009
2010         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2011           make initialization portable, using LL is not
2012
2013 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2014
2015         * win32/common/gstconfig.h:
2016           add large padding
2017
2018 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2019
2020         * win32/common/libgstreamer.def:
2021           rename symbols; sort base section
2022
2023 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2024
2025         * gst/gstclock.c: (do_linear_regression):
2026           remove crack non-portable handrolled DEBUG macro
2027
2028 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2029
2030         * docs/random/release:
2031           update notes
2032         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2033         (gst_object_flags_get_type), (register_gst_bin_flags),
2034         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2035         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2036         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2037         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2038         (gst_caps_flags_get_type), (register_gst_clock_return),
2039         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2040         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2041         (gst_clock_flags_get_type), (register_gst_state),
2042         (gst_state_get_type), (register_gst_state_change_return),
2043         (gst_state_change_return_get_type), (register_gst_state_change),
2044         (gst_state_change_get_type), (register_gst_element_flags),
2045         (gst_element_flags_get_type), (register_gst_core_error),
2046         (gst_core_error_get_type), (register_gst_library_error),
2047         (gst_library_error_get_type), (register_gst_resource_error),
2048         (gst_resource_error_get_type), (register_gst_stream_error),
2049         (gst_stream_error_get_type), (register_gst_event_type_flags),
2050         (gst_event_type_flags_get_type), (register_gst_event_type),
2051         (gst_event_type_get_type), (register_gst_seek_type),
2052         (gst_seek_type_get_type), (register_gst_seek_flags),
2053         (gst_seek_flags_get_type), (register_gst_format),
2054         (gst_format_get_type), (register_gst_index_certainty),
2055         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2056         (gst_index_entry_type_get_type),
2057         (register_gst_index_lookup_method),
2058         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2059         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2060         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2061         (gst_index_flags_get_type), (register_gst_debug_level),
2062         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2063         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2064         (gst_iterator_result_get_type), (register_gst_iterator_item),
2065         (gst_iterator_item_get_type), (register_gst_message_type),
2066         (gst_message_type_get_type), (register_gst_mini_object_flags),
2067         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2068         (gst_pad_link_return_get_type), (register_gst_flow_return),
2069         (gst_flow_return_get_type), (register_gst_activate_mode),
2070         (gst_activate_mode_get_type), (register_gst_pad_direction),
2071         (gst_pad_direction_get_type), (register_gst_pad_flags),
2072         (gst_pad_flags_get_type), (register_gst_pad_presence),
2073         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2074         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2075         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2076         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2077         (gst_plugin_flags_get_type), (register_gst_rank),
2078         (gst_rank_get_type), (register_gst_query_type),
2079         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2080         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2081         (gst_tag_flag_get_type), (register_gst_task_state),
2082         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2083         (gst_alloc_trace_flags_get_type),
2084         (register_gst_type_find_probability),
2085         (gst_type_find_probability_get_type), (register_gst_uri_type),
2086         (gst_uri_type_get_type), (register_gst_parse_error),
2087         (gst_parse_error_get_type):
2088         * win32/common/gstenumtypes.h:
2089         * win32/common/gstversion.h:
2090           update visual studio generated files
2091
2092 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2093
2094         * win32/vs6/libgstbase.dsp:
2095         * win32/vs6/libgstelements.dsp:
2096           update project files for new locations
2097
2098 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2099
2100         * Makefile.am:
2101           remove some files
2102         * README:
2103           reinstate and update
2104         * DEVEL:
2105         * REQUIREMENTS:
2106           removed
2107         * LICENSE:
2108         * docs/random/LICENSE:
2109           moved to random
2110
2111 2005-11-30  Edward Hervey  <edward@fluendo.com>
2112
2113         * gst/gsttypefind.c: (gst_type_find_register):
2114         * gst/gsttypefind.h:
2115         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2116         (gst_type_find_factory_dispose):
2117         * gst/gsttypefindfactory.h:
2118         Fix memory leak in GstTypeFindFactory.
2119
2120 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2121
2122         * gst/gst.c:
2123         * plugins/elements/Makefile.am:
2124         * plugins/elements/gstelements.c:
2125         * plugins/elements/gstqueue.c:
2126           move queue from core to the elements plugin
2127
2128 2005-11-29  Andy Wingo  <wingo@pobox.com>
2129
2130         * libs/gst/base/gstbasetransform.h: 
2131         * libs/gst/base/gstbasesrc.h: 
2132         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2133
2134         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2135         of pointers by which to pad very extensible base classes (like the
2136         ones in libs/gst/base).
2137
2138 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2139
2140         * docs/gst/gstreamer-docs.sgml:
2141         * docs/gst/gstreamer-sections.txt:
2142         * docs/libs/gstreamer-libs-docs.sgml:
2143         * docs/libs/gstreamer-libs-sections.txt:
2144           moving documentation from core to lib
2145
2146 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2147
2148         * check/Makefile.am:
2149         * configure.ac:
2150         * docs/gst/Makefile.am:
2151         * gst/Makefile.am:
2152         * gst/base/.cvsignore:
2153         * gst/base/Makefile.am:
2154         * gst/base/README:
2155         * gst/base/gstadapter.c:
2156         * gst/base/gstadapter.h:
2157         * gst/base/gstbasesink.c:
2158         * gst/base/gstbasesink.h:
2159         * gst/base/gstbasesrc.c:
2160         * gst/base/gstbasesrc.h:
2161         * gst/base/gstbasetransform.c:
2162         * gst/base/gstbasetransform.h:
2163         * gst/base/gstcollectpads.c:
2164         * gst/base/gstcollectpads.h:
2165         * gst/base/gstpushsrc.c:
2166         * gst/base/gstpushsrc.h:
2167         * gst/base/gsttypefindhelper.c:
2168         * gst/base/gsttypefindhelper.h:
2169         * gst/check/Makefile.am:
2170         * gst/check/gstcheck.c:
2171         * gst/check/gstcheck.h:
2172         * gst/net/Makefile.am:
2173         * gst/net/gstnet.h:
2174         * gst/net/gstnetclientclock.c:
2175         * gst/net/gstnetclientclock.h:
2176         * gst/net/gstnettimepacket.c:
2177         * gst/net/gstnettimepacket.h:
2178         * gst/net/gstnettimeprovider.c:
2179         * gst/net/gstnettimeprovider.h:
2180         * libs/gst/Makefile.am:
2181         * libs/gst/base/Makefile.am:
2182         * libs/gst/base/gstbasetransform.c:
2183         * libs/gst/check/Makefile.am:
2184         * plugins/elements/Makefile.am:
2185         * po/POTFILES.in:
2186           CVS surgery + support to move base, check, and net out of gst
2187           and into libs/gst
2188
2189 2005-11-29  Andy Wingo  <wingo@pobox.com>
2190
2191         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2192
2193         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2194         padding.
2195
2196         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2197
2198         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2199
2200         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2201
2202         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2203         padding; reduces object size by about 30%. We don't expect
2204         anything else to go into gstobject.
2205
2206         * gst/gstminiobject.h (struct _GstMiniObject)
2207         (struct _GstMiniObjectClass): Only one pointer of padding; the
2208         payload is only a pointer and two ints anyway. For the class there
2209         are only two methods as well.
2210         
2211         * gst/gstelement.h (struct _GstElementClass): Removed
2212         the state_changed signal callback, it is not used.
2213
2214 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2215
2216         * docs/gst/gstreamer.types:
2217           fix includes, though they are a little dinky
2218
2219 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2220
2221         * check/Makefile.am:
2222           look in the right place for elements, a lot more chance of
2223           success
2224         * gst/Makefile.am:
2225           remove indexers and elements subdirs
2226         * plugins/Makefile.am:
2227           make indexers conditional
2228
2229 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2230
2231         * Makefile.am:
2232         * configure.ac:
2233         * plugins/elements/Makefile.am:
2234         * plugins/elements/gstcapsfilter.c:
2235         * plugins/elements/gstfilesink.c:
2236         * plugins/elements/gstfilesrc.c:
2237         * plugins/elements/gstidentity.c:
2238         * plugins/indexers/Makefile.am:
2239           do CVS surgery and related build fixery to move elements
2240           and indexers in a new gstreamer/plugins directory, out of the
2241           gst/ directory
2242
2243 2005-11-29  Andy Wingo  <wingo@pobox.com>
2244
2245         * check/Makefile.am:
2246         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2247         * pkgconfig/gstreamer-net.pc.in:
2248         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2249         #322257.
2250
2251 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2252
2253         * tools/Makefile.am:
2254         * tools/gst-complete.1.in:
2255         * tools/gst-complete.c:
2256         * tools/gst-compprep.1.in:
2257         * tools/gst-compprep.c:
2258           removing -compprep and -complete
2259
2260 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2261
2262         * gst/gstevent.c: (gst_event_new_new_segment),
2263         (gst_event_parse_new_segment):
2264         * gst/gstevent.h:
2265           fix #320529 - clean up new_segment API and structure.
2266           Let's hope everyone was using the methods, and not the structure.
2267
2268 2005-11-29  Edward Hervey  <edward@fluendo.com>
2269
2270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2271         (gst_base_sink_event), (gst_base_sink_do_sync),
2272         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2273         Properly handle non GST_FORMAT_TIME segment
2274         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2275         Properly handle non GST_FORMAT_TIME segment
2276         * gst/gstsegment.c:
2277         This function is valid if the accumulator is 0 and the format
2278         is different from the requested format.
2279         
2280 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2281
2282         * docs/gst/gstreamer-sections.txt:
2283         Add gst_query_new_seeking and gst_query_parse_seeking to the
2284         docs.
2285
2286 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2287
2288         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2289           Treat a pad alloc with new caps the same as if we were not
2290           negotiated, in order to allow a changing upstream output
2291           to produce a new format of data.
2292
2293 2005-11-29  Edward Hervey  <edward@fluendo.com>
2294
2295         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2296         (gst_base_transform_event), (gst_base_transform_eventfunc):
2297         The event virtual method is now properly implemented, with a default
2298         handler
2299         Sub classes should call the parent_class event method. They should
2300         return FALSE if they had a problem handling the given event, or don't
2301         want GstBaseTransform to send that even downstream
2302         * gst/elements/gstidentity.c: (gst_identity_class_init),
2303         (gst_identity_init), (gst_identity_event),
2304         (gst_identity_transform_ip), (gst_identity_set_property),
2305         (gst_identity_get_property):
2306         * gst/elements/gstidentity.h:
2307         Added the single-segment boolean property.
2308         If set to TRUE, it will output a single segment of data, starting from
2309         0, will eat up all incoming newsegment, and modify the timestamp of the
2310         buffers accordingly
2311
2312 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2313
2314         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2315           Don't ref NULL target pad (#322751). Improve docs.
2316
2317 2005-11-29  Michael Smith  <msmith@fluendo.com>
2318
2319         * gst/gstregistryxml.c: (load_plugin):
2320           Don't crash if we failed to load a feature from a plugin. 
2321
2322 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2323
2324         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2325         (GST_START_TEST):
2326           use more check API and less GLib API
2327
2328 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2329
2330         * Makefile.am:
2331           don't run checks if we don't have check
2332         * common/check.mak:
2333           remove the registry when running make torture
2334         * docs/gst/gstreamer-sections.txt:
2335           remove second multiply
2336         * gst/gstqueue.c: (gst_queue_loop):
2337           fix a compile warning when disabling debug
2338
2339 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2340
2341         * gst/gstinfo.h:
2342         Hey! Let's print the pad name if the pointer != NULL instead
2343         of when it == NULL :-)
2344
2345 2005-11-28  Wim Taymans  <wim@fluendo.com>
2346
2347         * check/gst/gstutils.c: (GST_START_TEST):
2348         Updated check, add some scaling accuracy checking code.
2349
2350         * gst/gstutils.c: (gst_util_div128_64),
2351         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2352         (gst_util_uint64_scale_int):
2353         Fix 6 times faster division code. Optimize for common 
2354         1/1 and less common X/1 cases.
2355
2356 2005-11-28  Wim Taymans  <wim@fluendo.com>
2357
2358         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2359         More checks.
2360
2361         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2362         (do_linear_regression), (gst_clock_add_observation):
2363         Cleanups.
2364         Release lock when the clock cannot be slaved.
2365         Catch the case where the regression returned an invalid denominator.
2366
2367         * gst/gstutils.c: (gst_util_div128_64_iterate),
2368         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2369         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2370         Add protentially more performant non-iterative 128/64 divide function
2371         that unfortunatly does not work yet.
2372         Shortcut the trivial 0/X = 0 case.
2373         Remove the warnings on overflow.
2374
2375 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2376
2377         * gst/gstplugin.c: (gst_plugin_register_func):
2378           everything causing a plugin not to load should be at least a WARNING
2379
2380 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2381
2382         * docs/random/ensonic/dparams.txt:
2383           some TODOs for the next dev cycle
2384         * libs/gst/controller/gstcontroller.c:
2385         (gst_controlled_property_set_interpolation_mode),
2386         (gst_controlled_property_new):
2387         * libs/gst/controller/gstcontroller.h:
2388           use base type to assign acccessor functions
2389
2390 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2391
2392         * check/Makefile.am:
2393         Oops, that should have been top_srcdir
2394
2395 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2396
2397         * check/Makefile.am:
2398         * check/elements/fdsrc.c: (GST_START_TEST):
2399         Use a cmdline define to specify the location of a file to use for
2400         testing, to avoid breaking distcheck.
2401
2402 2005-11-28  Andy Wingo  <wingo@pobox.com>
2403
2404         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2405
2406 2005-11-28  Edward Hervey  <edward@fluendo.com>
2407
2408         * tools/gst-launch.c: (main):
2409         Clarify the output strings, makes it easier to translate.
2410         Fixes #322626
2411
2412 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2413
2414         * gst/Makefile.am:
2415           don't try and build net if we don't even have <sys/socket.h>
2416
2417 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2418
2419         * check/Makefile.am:
2420         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2421         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2422           Add tests for fdsrc seekability
2423
2424         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2425         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2426         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2427         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2428         * gst/elements/gstfdsrc.h:
2429           fdsrc should not be a 'live' source.
2430           Implement seeking on seekable fd's.
2431
2432         * gst/gstquery.c: (gst_query_new_seeking),
2433         (gst_query_parse_seeking):
2434         * gst/gstquery.h:
2435           Implement SEEKING query functions: 
2436             *_new_seeking and *_parse_seeking
2437
2438 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2439
2440         * gst/gstelement.c: (gst_element_dispose):
2441           don't loop forever
2442
2443         * gst/gstiterator.c:
2444         * gst/gststructure.c:
2445           doc fixes
2446
2447         * libs/gst/controller/gstcontroller.c:
2448         (gst_controlled_property_set_interpolation_mode):
2449         * libs/gst/controller/gstcontroller.h:
2450         * libs/gst/controller/gstinterpolation.c:
2451         (interpolate_none_get_enum_value_array):
2452           support controlling enums
2453
2454 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2455
2456         * gst/gstvalue.c:
2457           Improve documentation for gst_value_union().
2458
2459         * gst/gstvalue.h:
2460           Change return value for union, intersect and subtract functions
2461           from gint to gboolean.
2462
2463 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2464
2465         * gst/gstvalue.c: (gst_value_serialize_any_list),
2466         (gst_value_transform_any_list_string),
2467         (gst_value_deserialize_list), (gst_value_deserialize_array),
2468         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2469         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2470         (gst_value_set_fraction_range_full),
2471         (gst_value_deserialize_fraction_range),
2472         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2473         (gst_value_deserialize_boolean),
2474         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2475         (gst_value_serialize_float), (gst_value_deserialize_float),
2476         (gst_string_wrap), (gst_value_deserialize_string),
2477         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2478         (gst_value_union_int_range_int_range),
2479         (gst_value_intersect_int_range_int_range),
2480         (gst_value_intersect_double_range_double_range),
2481         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2482         (gst_value_subtract_int_range_int_range),
2483         (gst_value_subtract_double_double_range),
2484         (gst_value_subtract_double_range_double_range),
2485         (gst_value_deserialize_fraction):
2486         * gst/gstvalue.h:
2487           Use gint, gdouble and gchar in our API instead of int, double and
2488           char (and make usage in gstvalue.c more consistent).
2489
2490 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2491
2492         * check/Makefile.am:
2493         * libs/gst/controller/Makefile.am:
2494         * libs/gst/dataprotocol/Makefile.am:
2495           fix up Makefile.am and remove GST_ENABLE_NEW
2496
2497 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2498
2499         * configure.ac:
2500         * gst/Makefile.am:
2501         * gst/base/Makefile.am:
2502         * gst/check/Makefile.am:
2503         * gst/elements/Makefile.am:
2504         * gst/net/Makefile.am:
2505           update LDFLAGS use some more
2506
2507 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2508
2509         * common/m4/gst-doc.m4:
2510           Fixes #312589
2511
2512 2005-11-26  Edward Hervey  <edward@fluendo.com>
2513
2514         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2515         This shouldn't issue a g_warning since it returns NULL if it
2516         couldn't find the plugin, and all functions using this behave
2517         properly on a NULL return. Switching to a GST_WARNING.
2518
2519 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2520
2521         * gst/gstbin.c: (gst_bin_handle_message_func):
2522         Don't leak clock messages.
2523
2524 2005-11-25  Wim Taymans  <wim@fluendo.com>
2525
2526         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2527         (gst_util_uint64_scale_int):
2528         Optimisations, remove unneeded vars.
2529
2530 2005-11-25  Wim Taymans  <wim@fluendo.com>
2531
2532         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2533         Added more checks for the high precision uint64 cases.
2534
2535         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2536         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2537         Implement high precision (guint64 * guint64) / guint64.
2538
2539 2005-11-24  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/base/gstbasesrc.c: (gst_base_src_query):
2542         Fix wrong percentage query.
2543
2544         * gst/gstutils.c: (gst_util_uint64_scale),
2545         (gst_util_uint64_scale_int):
2546         Add some more common cases that can be handled 
2547         efficiently to _scale.
2548
2549 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2550
2551         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2552         (gst_mini_object_suite):
2553           don't use check calls from threads; check probably isn't
2554           threadsafe and using a lock to make it threadsafe would
2555           defeat the purpose of this check
2556         * gst/check/gstcheck.c:
2557         * gst/check/gstcheck.h:
2558           use GST_DEBUG some more
2559
2560 2005-11-24  Wim Taymans  <wim@fluendo.com>
2561
2562         * gst/gstutils.c: (gst_util_uint64_scale),
2563         (gst_util_uint64_scale_int):
2564         Chain trivial case to _scale_int.
2565
2566 2005-11-24  Wim Taymans  <wim@fluendo.com>
2567
2568         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2569         Added test for scaling.
2570
2571         * gst/gstclock.h:
2572         Small doc fix.
2573
2574         * gst/gstutils.c: (gst_util_uint64_scale_int):
2575         Implemented high precision scaling code.
2576
2577 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2578
2579         * gst/gstinfo.h:
2580           do not crash on pad==NULL
2581
2582 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2583
2584         Patch by: Stefan Kost
2585
2586         * common/gtk-doc.mak:
2587         * docs/gst/Makefile.am:
2588         * docs/libs/Makefile.am:
2589           Fix distcheck issues for the libraries docs build
2590           Closes #319599.
2591
2592 2005-11-24  Michael Smith <msmith@fluendo.com>
2593
2594         * docs/manual/basics-helloworld.xml:
2595           Fix bug #315027: memory leak in example code in docs.
2596
2597 2005-11-24  Michael Smith <msmith@fluendo.com>
2598
2599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2600           Unlock the PREROLL_LOCK in a failure case.
2601
2602 2005-11-24  Wim Taymans  <wim@fluendo.com>
2603
2604         * docs/gst/gstreamer-sections.txt:
2605         * gst/base/gstadapter.h:
2606         * gst/base/gstbasesink.h:
2607         * gst/base/gstbasesrc.h:
2608         * gst/base/gstbasetransform.h:
2609         * gst/base/gstpushsrc.h:
2610         * gst/elements/gstfakesink.h:
2611         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2612         * gst/elements/gstfakesrc.h:
2613         * gst/elements/gstfilesink.h:
2614         * gst/elements/gstfilesrc.h:
2615         * gst/gst.c:
2616         * gst/gstbin.c:
2617         * gst/gstbuffer.c: (_gst_buffer_copy):
2618         * gst/gstbus.h:
2619         * gst/gstcaps.c:
2620         * gst/gstchildproxy.c:
2621         * gst/gstclock.c:
2622         * gst/gstelement.c:
2623         * gst/gstelementfactory.c:
2624         * gst/gstelementfactory.h:
2625         * gst/gstevent.c:
2626         * gst/gstghostpad.h:
2627         * gst/gstindex.h:
2628         * gst/gstinterface.h:
2629         * gst/gstminiobject.c:
2630         * gst/gstminiobject.h:
2631         * gst/gstpad.c:
2632         * gst/gstpad.h:
2633         * gst/gstpadtemplate.h:
2634         * gst/gstpipeline.h:
2635         * gst/gstpluginfeature.h:
2636         * gst/gstquery.h:
2637         * gst/gstqueue.h:
2638         * gst/gsttaglist.c:
2639         * gst/gsttaglist.h:
2640         * gst/gsttagsetter.c:
2641         * gst/gsttagsetter.h:
2642         * gst/gsttrace.c:
2643         * gst/gsttrace.h:
2644         * gst/gsttypefind.h:
2645         * gst/gsturi.h:
2646         * gst/gstvalue.c:
2647         * gst/net/gstnetclientclock.c:
2648         * gst/net/gstnetclientclock.h:
2649         * gst/net/gstnettimepacket.c:
2650         * gst/net/gstnettimeprovider.c:
2651         * gst/net/gstnettimeprovider.h:
2652         Doc fixes.
2653
2654 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2655
2656         * configure.ac: back to HEAD
2657
2658 === release 0.9.6 ===
2659
2660 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2661
2662         * configure.ac:
2663           releasing 0.9.6, "Always On Time"
2664
2665 2005-11-23  Wim Taymans  <wim@fluendo.com>
2666
2667         * docs/gst/gstreamer-sections.txt:
2668         * gst/glib-compat.c:
2669         * gst/gsttagsetter.c:
2670         * gst/gstvalue.c:
2671         * gst/net/gstnetclientclock.c:
2672         * gst/net/gstnettimepacket.h:
2673         Doc updates.
2674
2675 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2676
2677         * docs/faq/using.xml:
2678         * docs/libs/tmpl/gstcontrol.sgml:
2679         * docs/manual/advanced-dparams.xml:
2680         * docs/manual/appendix-checklist.xml:
2681         * docs/manual/basics-elements.xml:
2682         * docs/pwg/other-source.xml:
2683         * docs/random/moving-plugins:
2684         * gst/gstpad.c:
2685         * tools/gst-launch.1.in:
2686           remove mentions of sinesrc
2687
2688 2005-11-23  Michael Smith <msmith@fluendo.com>
2689
2690         * docs/gst/gstreamer-sections.txt:
2691           Update for new API and API changes.
2692         * gst/gstobject.h:
2693           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2694         * gst/gstvalue.c:
2695           Documentation typo fix.
2696         * gst/net/gstnettimepacket.c:
2697           Documentation fixes for arguments.
2698
2699 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2700
2701         * gst/gststructure.c: (gst_structure_get_fraction),
2702         (gst_structure_parse_value),
2703         (gst_structure_fixate_field_nearest_fraction):
2704         * gst/gststructure.h:
2705         * gst/gstutils.c: (gst_util_uint64_scale_int):
2706         * gst/gstutils.h:
2707         * scripts/update-funcnames:
2708         API Changes. 
2709         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2710         Make gst_structure_fixate_field_nearest_fraction take a numerator
2711         and denominator argument instead of a GValue
2712         add gst_structure_get_fraction helper function.
2713
2714 2005-11-23  Wim Taymans  <wim@fluendo.com>
2715
2716         * docs/design/part-TODO.txt:
2717         Update TODO.
2718
2719         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2720         * gst/net/gstnetclientclock.h:
2721         Use parent fields for timeout and window_size.
2722
2723 2005-11-23  Andy Wingo  <wingo@pobox.com>
2724
2725         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2726         rate_num/rate_denom change.
2727
2728         * gst/net/gstnetclientclock.c
2729         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2730         OBJECT_LOCK. Don't call add_observation with the lock.
2731
2732         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2733         fraction.
2734         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2735         rate fraction.
2736         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2737         deal with rate as a fraction whose numerator and denominator are
2738         GstClockTime values.
2739         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2740         master; the other fields are protected by the SLAVE_LOCK.
2741         (do_linear_regression): Note that this must be called with the
2742         SLAVE_LOCK.
2743         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2744         OBJECT_LOCK. Call set_calibration instead of touching the
2745         variables directly.
2746         (gst_clock_set_property, gst_clock_get_property): Protect
2747         master/slave parameters with the SLAVE_LOCK.
2748
2749         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2750         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2751         note that all of the instance variables that add_observation and
2752         the set_master functions use are protected by that lock and not
2753         the OBJECT_LOCK.
2754         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2755
2756         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2757         the caller to take the object lock.
2758
2759 2005-11-23  Wim Taymans  <wim@fluendo.com>
2760
2761         * gst/gsterror.c: (_gst_core_errors_init):
2762         * gst/gsterror.h:
2763         Add error for clock stuff.
2764
2765         * gst/gstpipeline.c: (gst_pipeline_change_state),
2766         (gst_pipeline_set_clock):
2767         Post clock error when clock cannot be used in a pipeline.
2768
2769 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2770
2771         * docs/gst/gstreamer-sections.txt:
2772           make two symbols from gstinfo private for the docs
2773         * gst/base/gstcollectpads.h:
2774         * gst/gstutils.c:
2775           fix doc typos, update docs
2776
2777 2005-11-22  Wim Taymans  <wim@fluendo.com>
2778
2779         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2780         (gst_base_sink_wait), (gst_base_sink_do_sync),
2781         (gst_base_sink_handle_event):
2782         * gst/base/gstbasesink.h:
2783         No need to store the clock, the parent element class already
2784         has it.
2785
2786         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2787         Updates for clock_set returning a gboolean
2788
2789         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2790         (gst_clock_id_wait_async), (gst_clock_class_init),
2791         (gst_clock_init), (gst_clock_finalize),
2792         (gst_clock_get_internal_time), (gst_clock_get_time),
2793         (gst_clock_slave_callback), (gst_clock_set_master),
2794         (gst_clock_get_master), (do_linear_regression),
2795         (gst_clock_add_observation), (gst_clock_set_property),
2796         (gst_clock_get_property):
2797         * gst/gstclock.h:
2798         Implement master/slave. When setting a clock as a slave, a
2799         periodic timeout is scheduled to sample master and slave times.
2800         Then the slave clock is recalibrated to match offset and rate
2801         of the master clock.
2802         Update logging a bit.
2803         Add flag so that a clock can state that is cannot be slaved to
2804         another clock.
2805
2806         * gst/gstelement.c: (gst_element_set_clock):
2807         * gst/gstelement.h:
2808         The set clock returns a gboolean for when an element cannot
2809         deal with the selected clock in the pipeline. 
2810
2811         * gst/gstpipeline.c: (gst_pipeline_change_state),
2812         (gst_pipeline_set_clock):
2813         * gst/gstpipeline.h:
2814         Handle the case where the selected clock cannot be set on
2815         the pipeline.
2816
2817         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2818         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2819         (gst_net_client_clock_set_property),
2820         (gst_net_client_clock_get_property),
2821         (gst_net_client_clock_observe_times):
2822         * gst/net/gstnetclientclock.h:
2823         Use regression code in GstClock parent, remove duplicated
2824         functionality.
2825
2826 2005-11-22  Michael Smith <msmith@fluendo.com>
2827
2828         * gst/gstutils.c: (gst_util_clock_time_scale):
2829         * gst/gstutils.h:
2830         * docs/gst/gstreamer-sections.txt:
2831           Rename method to have extra underscore.
2832
2833 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2834
2835         * gst/elements/Makefile.am:
2836         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2837         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2838         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2839         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2840         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2841         * gst/elements/gstfakesrc.h:
2842         * gst/gstqueue.c: (queue_leaky_get_type):
2843           correctly fix GEnumValues so that nick is the short lowercase
2844           dashed tag
2845         * tools/gst-inspect.c: (print_element_properties_info):
2846           also show the nick, since it's useful to use from parse_launch
2847           syntax
2848           Fixes #322139
2849
2850 2005-11-22  Michael Smith <msmith@fluendo.com>
2851
2852         * gst/gstutils.c: (gst_util_clocktime_scale):
2853         * gst/gstutils.h:
2854         * docs/gst/gstreamer-sections.txt:
2855           Add util method for scaling a clocktime by a fraction. Useful 
2856           implementation is left as an exercise for the reader.
2857
2858 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2859
2860         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2861         If needed, allocate storage in the destination value during
2862         collection.
2863
2864 2005-11-22  Edward Hervey  <edward@fluendo.com>
2865
2866         * docs/gst/gstreamer-sections.txt:
2867         * gst/Makefile.am:
2868         * gst/gst.h:
2869         * gst/gsturitype.c:
2870         * gst/gsturitype.h:
2871         * gst/gstutils.c: (gst_util_set_object_arg):
2872         * tools/gst-compprep.c: (main):
2873         * tools/gst-inspect.c: (print_element_properties_info):
2874         Removed GstURI, closes bug #321061
2875
2876 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2877
2878         * check/gst/gststructure.c: (GST_START_TEST):
2879         * gst/gststructure.c: (gst_structure_parse_value):
2880           Oops, broke automatic string type parsing.
2881           Add a test to catch it in future.
2882
2883 2005-11-22  Andy Wingo  <wingo@pobox.com>
2884
2885         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2886         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2887         Actually rename the function implementations. Grr.
2888
2889 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2890
2891         * check/gst/capslist.h:
2892           Comment test cases
2893         * check/gst/gststructure.c: (GST_START_TEST),
2894         (gst_structure_suite):
2895           Test automatic value type detection in gst_structure_from_string.
2896         * gst/gststructure.c: (gst_structure_parse_value):
2897           Add fraction as a type we try and guess automatically in
2898           caps/structure strings.
2899
2900 2005-11-22  Andy Wingo  <wingo@pobox.com>
2901
2902         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2903
2904         * gst/gsttagsetter.h:
2905         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2906         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2907         (gst_tag_setter_add_tag_valist)
2908         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2909         _add_values, _add_valist, and _add_valist_values. Since this is an
2910         interface the function suffixes should be more explicit so
2911         language binding don't end up with element.add_valist ->
2912         gst_tag_setter_add_valist, for example. Fixes #322069.
2913
2914 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2915
2916         * check/gst/gstcaps.c: (GST_START_TEST):
2917           Extend caps string tests to check that a caps to string
2918           conversion is reversible and produces the same caps.
2919
2920         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2921           Output "fraction" as the generic type fraction range, so caps
2922           serialisation and deserialisation works.
2923         * check/gst/capslist.h:
2924         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2925           Support 'MIN' and 'MAX' for deserialising fractions.
2926
2927 2005-11-22  Andy Wingo  <wingo@pobox.com>
2928
2929         * gst/gstevent.h (gst_event_new_new_segment)
2930         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2931         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2932         Renamed from *_newsegment, *_buffersize, *_notarget.
2933
2934         * scripts/update-funcnames: New script, performs the changes
2935         listed above.
2936
2937 2005-11-22  Wim Taymans  <wim@fluendo.com>
2938
2939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2940         Make sure the GstFlowReturn is returned.
2941
2942         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2943         (gst_bus_add_signal_watch):
2944         * gst/gstbus.h:
2945         add gst_bus_add_signal_watch_full.
2946
2947         * gst/gstplugin.c: (gst_plugin_load_file):
2948         Small style cleanup.
2949
2950 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2951
2952         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2953           Block the fakesrc srcpad when we send an event, to avoid
2954           contention on the stream_lock causing random test failures.
2955
2956 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2957
2958         * check/gst/gstvalue.c: (GST_START_TEST):
2959         * gst/gstvalue.c: (gst_value_fraction_subtract):
2960           Fix subtraction.
2961
2962 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2963
2964         * gst/gst.h:
2965           include "gstchildproxy.h"
2966         * gst/gstchildproxy.h:
2967         * libs/gst/controller/gstcontroller.h:
2968           use G_GNUC_NULL_TERMINATED
2969
2970 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2971
2972         * check/gst/capslist.h:
2973         * check/gst/gstcaps.c: (GST_START_TEST):
2974         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2975         * gst/gststructure.c: (gst_structure_parse_range),
2976         (gst_structure_fixate_field_nearest_fraction):
2977         * gst/gststructure.h:
2978         * gst/gstvalue.c: (gst_value_init_fraction_range),
2979         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2980         (gst_value_collect_fraction_range),
2981         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2982         (gst_value_set_fraction_range_full),
2983         (gst_value_get_fraction_range_min),
2984         (gst_value_get_fraction_range_max),
2985         (gst_value_serialize_fraction_range),
2986         (gst_value_transform_fraction_range_string),
2987         (gst_value_compare_fraction_range),
2988         (gst_value_deserialize_fraction_range),
2989         (gst_value_intersect_fraction_fraction_range),
2990         (gst_value_intersect_fraction_range_fraction_range),
2991         (gst_value_subtract_fraction_fraction_range),
2992         (gst_value_subtract_fraction_range_fraction),
2993         (gst_value_subtract_fraction_range_fraction_range),
2994         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2995         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2996         (gst_value_transform_string_fraction), (_gst_value_initialize):
2997         * gst/gstvalue.h:
2998           Implement fraction ranges and extend GstFraction to support
2999           arithmetic subtraction, as well as deserialization from integer
3000           strings such as "100"
3001           Add a testsuite as for int and double range set operations
3002
3003 2005-11-21  Andy Wingo  <wingo@pobox.com>
3004
3005         * gst/gsttaglist.h: 
3006         * gst/gstcaps.h: 
3007         * gst/gststructure.h: Add glib-compat.h.
3008
3009 2005-11-21  Wim Taymans  <wim@fluendo.com>
3010
3011         * gst/gstbin.c: (gst_bin_change_state_func):
3012         Fix for #321595
3013
3014 2005-11-21  Wim Taymans  <wim@fluendo.com>
3015
3016         * gst/gstsegment.h:
3017         And add a nice define too.
3018
3019 2005-11-21  Wim Taymans  <wim@fluendo.com>
3020
3021         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3022         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3023         (gst_segment_set_duration), (gst_segment_set_last_stop),
3024         (gst_segment_set_seek), (gst_segment_set_newsegment),
3025         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3026         (gst_segment_clip):
3027         * gst/gstsegment.h:
3028         Make binding friendly.
3029
3030 2005-11-21  Andy Wingo  <wingo@pobox.com>
3031
3032         * gst/gsttagsetter.h: 
3033         * gst/gsttaglist.h: 
3034         * gst/gststructure.h: 
3035         * gst/gstcaps.h: 
3036         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3037         #319940.
3038
3039         * gst/gsterror.c (_gst_core_errors_init):
3040         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3041         category.
3042
3043         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3044         (noinst_HEADERS): noinst the -private.
3045
3046 2005-11-21  Michael Smith <msmith@fluendo.com>
3047
3048         * gst/gstplugin.h:
3049         * gst/gstregistry.h:
3050           Remove unimplemented declarations for which we can see no sensible
3051           use.
3052
3053 2005-11-21  Andy Wingo  <wingo@pobox.com>
3054
3055         * gst/gst.h: Include glib-compat.h.
3056
3057         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3058
3059         * gst/glib-compat.c: Include the public and the private header.
3060
3061         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3062
3063         * gst/gstvalue.c: 
3064         * gst/gstpad.c: 
3065         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3066
3067         * check/gst/gstevent.c (create_custom_events): Check that
3068         FLUSH_STOP is serialized.
3069
3070         * check/elements/identity.c (event_func): 
3071         * check/elements/fakesrc.c (event_func): No stream lock, the core
3072         takes it.
3073
3074         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3075         stream lock taking, yay.
3076
3077         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3078         ensure that core takes the stream lock.
3079
3080         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3081         lock name change.
3082
3083         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3084         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3085         it already. For the flush start we do take it though so we get the
3086         right preroll state change messages.
3087
3088         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3089         the stream lock here, the core does it for us.
3090
3091         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3092         GST_STREAM_GET_LOCK.
3093         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3094         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3095         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3096         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3097         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3098         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3099
3100         * gst/gstpad.c: Update for stream lock name change.
3101
3102         * gst/base/gstbasesink.c: Update for preroll lock name change.
3103
3104 2005-11-21  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3107         (gst_clock_get_master):
3108         * gst/gstclock.h:
3109         * gst/gstsystemclock.c: (gst_system_clock_init):
3110         Convert Clock flags to object flags.
3111         Added methods to manage master/slave clocks.
3112
3113 2005-11-21  Wim Taymans  <wim@fluendo.com>
3114
3115         * check/gst/gstsegment.c: (GST_START_TEST):
3116         * docs/design/part-TODO.txt:
3117         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3118         (gst_base_sink_event), (gst_base_sink_do_sync),
3119         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3120         (gst_base_sink_query), (gst_base_sink_change_state):
3121         * gst/base/gstbasesink.h:
3122         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3123         (gst_base_src_default_newsegment),
3124         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3125         (gst_base_src_get_range), (gst_base_src_loop),
3126         (gst_base_src_change_state):
3127         * gst/base/gstbasesrc.h:
3128         * gst/base/gstbasetransform.c:
3129         (gst_base_transform_prepare_output_buf),
3130         (gst_base_transform_event), (gst_base_transform_change_state):
3131         * gst/base/gstbasetransform.h:
3132         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3133         (gst_collect_pads_event):
3134         * gst/base/gstcollectpads.h:
3135         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3136         (gst_fake_src_create):
3137         * gst/elements/gstfakesrc.h:
3138         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3139         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3140         (gst_segment_set_last_stop), (gst_segment_set_seek),
3141         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3142         (gst_segment_to_running_time), (gst_segment_clip):
3143         * gst/gstsegment.h:
3144         More segment updates, replace code in plugins with segment
3145         helper functions.
3146
3147 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3148
3149         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3150         Don't ignore sscanf results
3151
3152 2005-11-21  Andy Wingo  <wingo@pobox.com>
3153
3154         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3155
3156         * *.h:
3157         * *.c: Ran scripts/update-macros. Oh yes.
3158
3159         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3160         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3161         GST_GET_LOCK, etc.
3162
3163         * scripts/update-macros: New script. Run it on your files to
3164         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3165         well.
3166
3167 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3168
3169         * docs/gst/Makefile.am:
3170         * docs/gst/gstreamer-docs.sgml:
3171         * docs/gst/gstreamer-sections.txt:
3172         * docs/gst/gstreamer.types:
3173         * gst/gstinfo.h:
3174           more docs fixes, add new api to the docs
3175
3176 2005-11-21  Andy Wingo  <wingo@pobox.com>
3177
3178         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3179         state_broadcast call.
3180
3181         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3182
3183 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3184
3185         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3186         function calls for arrays.
3187
3188 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3189
3190         * docs/random/ensonic/media-device-daemon.txt:
3191           wild idea, can this be done?
3192         * docs/gst/gstreamer-sections.txt:
3193         * gst/gsterror.h:
3194         * gst/gstfilter.c:
3195         * gst/gstfilter.h:
3196         * gst/gstplugin.h:
3197         * gst/gstpluginfeature.c:
3198         * gst/gsttrace.c:
3199         * gst/gstvalue.c:
3200         * gst/gstvalue.h:
3201           doc fixes and additions
3202
3203 2005-11-21  Andy Wingo  <wingo@pobox.com>
3204
3205         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3206         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3207         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3208         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3209         private to the basesrc implementation.
3210
3211         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3212         behalf of event function if necessary. It should no longer be
3213         necessary to take the stream lock in pad's event functions. Fixes
3214         #320299.
3215
3216 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3217         * docs/gst/gstreamer-sections.txt:
3218         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3219         (gst_structure_fixate_field_nearest_double),
3220         (gst_structure_fixate_field_boolean):
3221         * gst/gststructure.h:
3222         * win32/common/libgstreamer.def:
3223         * win32/gstreamer.def:
3224
3225         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3226         (#322027)
3227
3228 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3229
3230         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3231         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3232         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3233         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3234         (gst_fdsrc_uri_handler_init):
3235         * gst/elements/gstfdsrc.h:
3236           Port fd:// URI handler from 0.8 to fdsrc
3237
3238 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3241         (gst_value_serialize_fourcc):
3242         * gst/gstvalue.h:
3243           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3244           consistent with our other format defines (#320324).
3245
3246 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3247
3248         * gst/gstvalue.c: (gst_value_is_fixed):
3249           Revert previous commit. Value lists are by definition
3250           not fixed, as they are a list of possible values.
3251
3252 2005-11-21  Andy Wingo  <wingo@pobox.com>
3253
3254         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3255         during the stable series if we need it. Fixes #319178.
3256
3257         * gst/gstevent.c (gst_event_new_filler): Removed.
3258
3259         * check/gst/gstevent.c: Update comment about filler events.
3260
3261 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3262
3263         * gst/gstvalue.c: (gst_value_is_fixed):
3264           Should handle both value arrays and value lists.
3265
3266 2005-11-21  Andy Wingo  <wingo@pobox.com>
3267
3268         patch by: Alessandro Dessina <alessandro nnva org>
3269
3270         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3271         functions to access arrays. Fixes #321962.
3272
3273 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3274
3275         * docs/gst/gstreamer.types:
3276           gst_collectpads_get_type => gst_collect_pads_get_type.
3277           
3278         * gst/base/gstbasetransform.c:
3279           Remove unused SIGNAL_HANDOFF enum.
3280
3281 2005-11-21  Andy Wingo  <wingo@pobox.com>
3282
3283         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3284         the event type (upstream, downstream, serialized). Renamed
3285         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3286         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3287         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3288
3289         * gst/gstevent.c: Update for new CUSTOM event names.
3290
3291         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3292
3293         * gst/gstevent.h:
3294         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3295         bug #319392.
3296
3297 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3298
3299         * docs/gst/gstreamer-sections.txt:
3300         * win32/common/libgstbase.def:
3301         * win32/libgstbase.def:
3302         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3303         (gst_collect_pads_class_init), (gst_collect_pads_init),
3304         (gst_collect_pads_finalize), (gst_collect_pads_new),
3305         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3306         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3307         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3308         (gst_collect_pads_start), (gst_collect_pads_stop),
3309         (gst_collect_pads_peek), (gst_collect_pads_pop),
3310         (gst_collect_pads_available), (gst_collect_pads_read),
3311         (gst_collect_pads_flush), (gst_collect_pads_event),
3312         (gst_collect_pads_chain):
3313         * gst/base/gstcollectpads.h:
3314           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3315           unimplemented functions as unimplemented. Add padding to
3316           GstCollectData. (#320766, #320423)
3317
3318 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3319
3320         * gst/gstmessage.c:
3321           Improve docs for DURATION message (usage of duration parameter)
3322           (#320113)
3323
3324 2005-11-20  Wim Taymans  <wim@fluendo.com>
3325
3326         * check/Makefile.am:
3327         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3328         (main):
3329         * gst/Makefile.am:
3330         * gst/gst.h:
3331         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3332         (gst_segment_set_seek), (gst_segment_set_newsegment),
3333         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3334         (gst_segment_clip):
3335         * gst/gstsegment.h:
3336         Added segment helper structure and methods. Not fully implemented
3337         yet.
3338         Added segment check.
3339
3340 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3341
3342         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3343           Add a deserialisation test for fractions
3344         * examples/metadata/read-metadata.c: (message_loop),
3345         (make_pipeline), (main):
3346           Fix up metadata reading sample.
3347         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3348           Debug format fix
3349         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3350           Don't try and fixate empty caps
3351         * gst/gst_private.h:
3352           Wrap in G_BEGIN_DECLS/G_END_DECLS
3353         * gst/gstvalue.c: (gst_value_collect_fraction),
3354         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3355         (gst_value_transform_string_fraction),
3356         (gst_value_compare_fraction):
3357           Add some extra guards to ensure that we don't end up 
3358           with an invalid denominator of 0 in a gstfraction and
3359           that fractions always get reduced.
3360
3361 2005-11-20  Wim Taymans  <wim@fluendo.com>
3362
3363         * docs/gst/gstreamer-sections.txt:
3364         * gst/gstbuffer.h:
3365         * gst/gstelement.c:
3366         * gst/gstformat.c:
3367         * gst/gstformat.h:
3368         * gst/gstindex.h:
3369         * gst/gstquery.c:
3370         * gst/gstquery.h:
3371         * gst/gstvalue.c:
3372         Doc fixes.
3373
3374 2005-11-20  Wim Taymans  <wim@fluendo.com>
3375
3376         * docs/design/part-TODO.txt:
3377         * gst/gstcaps.h:
3378         Make a proper enum of the flag.
3379
3380 2005-11-19  Wim Taymans  <wim@fluendo.com>
3381
3382         * docs/design/part-TODO.txt:
3383         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3384         (gst_format_to_quark), (gst_format_register):
3385         * gst/gstformat.h:
3386         * gst/gstquery.c: (_gst_query_initialize),
3387         (gst_query_type_get_name), (gst_query_type_to_quark),
3388         (gst_query_type_register):
3389         * gst/gstquery.h:
3390         Add type to quark and type to string conversions.
3391
3392 2005-11-19  Andy Wingo  <wingo@pobox.com>
3393
3394         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3395         #320097.
3396
3397 2005-11-19  Wim Taymans  <wim@fluendo.com>
3398
3399         * docs/design/part-TODO.txt:
3400         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3401         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3402         (gst_bin_handle_message_func):
3403         * gst/gstbin.h:
3404         Make message handling overridable.
3405
3406 2005-11-19  Andy Wingo  <wingo@pobox.com>
3407
3408         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3409
3410         * gst/gstclock.h:
3411         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3412         be a GstClockTime.
3413         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3414         is a GstClockTime. Fixes #321710.
3415
3416         * gst/gstclock.h (GstClock): Remove offset property. Add
3417         internal_calibration and external_calibration. Fix padding. Pad
3418         also by GstClockTime so we don't run into problems.
3419
3420         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3421         (gst_clock_get_rate_offset): Remove.
3422         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3423
3424         * gst/gstutils.h:
3425         * gst/gstutils.c (g_static_rec_cond_wait)
3426         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3427
3428         * gst/gstbin.c: Remove terrible continue_state prototype.
3429
3430         * gst/gstelement.h (gst_element_continue_state): Make public.
3431
3432         * gst/gstelement.h:
3433         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3434         by continue_state. Fixes #319389.
3435
3436         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3437         Really fixes #168438. However I don't see anywhere where the
3438         filter function is called... stupid GStreamer...
3439         
3440         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3441         don't have a dispose function, so it won't get called when the
3442         object is unreffed, but oh well!
3443
3444         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3445         allows a destroy function to be set so user_data can be freed.
3446         Fixes #168438.
3447         (gst_index_set_filter): Call gst_index_set_filter_full.
3448
3449         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3450
3451         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3452         string should produce an error, given the lack of a way to
3453         represent NULL strings. Fixes #165650.
3454         
3455         * gst/gstvalue.h: 
3456         * gst/gstvalue.c (gst_value_array_append_value) 
3457         (gst_value_array_prepend_value, gst_value_array_get_size) 
3458         (gst_value_array_get_value): New API, copied from
3459         gst_value_list_*, only operates on arrays.
3460         (gst_value_list_append_value, gst_value_list_prepend_value) 
3461         (gst_value_list_concat, gst_value_list_get_size) 
3462         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3463
3464         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3465         init_list, because it works on both.
3466         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3467         (gst_value_copy_list_or_array): Renamed from copy_list.
3468         (gst_value_free_list_or_array): Renamed from free_list.
3469         (gst_value_collect_list_or_array): Renamed from collect_list.
3470         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3471         (gst_value_list_or_array_peek_pointer): Renamed from
3472         list_peek_pointer.
3473         (_gst_value_array_value_table, _gst_value_list_value_table):
3474         Update value table functions.
3475         (gst_value_compare_list_or_array): Renamed from compare_list.
3476
3477         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3478         some constness.
3479
3480         * gst/gsttaglist.c:
3481         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3482         GstTagList*. Fixes #143472.
3483
3484         * gst/gststructure.h: Clarify what the foreach/map functions can
3485         or can't do to their arguments.
3486
3487 2005-11-18  Wim Taymans  <wim@fluendo.com>
3488
3489         * gst/gstclock.c: (gst_clock_set_calibration),
3490         (gst_clock_get_calibration):
3491         Doc and API fixes.
3492         Calibration can be set with internal time equal to current
3493         internal time too.
3494
3495 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3496
3497         * gst/gsterror.c:
3498         * gst/gsterror.h:
3499           document
3500
3501 2005-11-18  Andy Wingo  <wingo@pobox.com>
3502
3503         * configure.ac: 
3504         * pkgconfig/gstreamer-net.pc.in:
3505         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3506         * pkgconfig/Makefile.am: Add net pkgconfig files.
3507
3508 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3509
3510         * gst/gstcaps.c:
3511         * gst/gstghostpad.c:
3512         * gst/gsttrace.c:
3513         * gst/gstvalue.c:
3514         * gst/gstvalue.h:
3515           docs fixes
3516
3517 2005-11-18  Andy Wingo  <wingo@pobox.com>
3518
3519         * gst/net/gstnetclientclock.c: Turn off debugging.
3520
3521         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3522         times connverge somewhat. Can't make a real test.
3523
3524         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3525         integer arithmetic. Return the minimum of the domain, which can be
3526         set as "internal" for gst_clock_set_calibration.
3527         (gst_net_client_clock_observe_times): Call _set_calibration.
3528         (gst_net_client_clock_new): Call _set_calibration instead of
3529         rate_offset.
3530
3531         * check/net/gstnetclientclock.c (test_functioning): Use the right
3532         adjustment api.
3533
3534         * gst/gstclock.h:
3535         * gst/gstclock.c (gst_clock_get_calibration) 
3536         (gst_clock_set_calibration): New functions, obsolete the ones I
3537         added yesterday. Doh. Precision issues mean we have to extrapolate
3538         from a point in the more recent past than 1970.
3539         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3540         obsolete.
3541         (gst_clock_adjust_unlocked): Use the right calibration data.
3542
3543 2005-11-18  Edward Hervey  <edward@fluendo.com>
3544
3545         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3546         Also reset the ->current_* values in READY->PAUSED
3547
3548 2005-11-18  Andy Wingo  <wingo@pobox.com>
3549
3550         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3551         Whoops, check the right fd. Also add some debugging.
3552         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3553         (do_linear_regression): Add a crapload of debugging. Subtract off
3554         the minimum values from the input series to discard unneeded bits.
3555         Use only int arithmetic. There is still double arithmetic when
3556         calculating the intercept that needs fixing. Return boolean to
3557         indicate success; FALSE would mean the domain or range is too
3558         great. Still needs fixes.
3559
3560 2005-11-18  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3563         For the current position in stream time, we need to subtract
3564         accumulated time.
3565         
3566         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3567         Release lock before calling the callback function of async
3568         entries.
3569
3570 2005-11-18  Andy Wingo  <wingo@pobox.com>
3571
3572         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3573         Port goes all the way to MAXUINT16.
3574
3575         * gst/net/gstnettimeprovider.c: Make the port range the same as
3576         for the kernel: 0 assigns, otherwise ports are less than
3577         MAXUINT16.
3578
3579         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3580         port change.
3581
3582         * check/net/gstnetclientclock.c (test_functioning): Add the start
3583         of another test. 
3584
3585 2005-11-18  Wim Taymans  <wim@fluendo.com>
3586
3587         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3588         (gst_bin_remove_func), (bin_bus_handler):
3589         * gst/gstbin.h:
3590         Removing a clock provider from a bin, triggers a clock lost message
3591         so that a new clock will be selected.
3592         Adding a clock to a bin triggers a clock provider message.
3593         Make sure we reselect a clock when we received a clock lost message.
3594         Keep a reference to the element that provided the clock.
3595
3596 2005-11-18  Andy Wingo  <wingo@pobox.com>
3597
3598         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3599         the clock initially so it produces values around the base time.
3600         (gst_net_client_clock_class_init): Typo fix.
3601         (gst_net_client_clock_thread): Add note on when the socket gets
3602         closed.
3603
3604 2005-11-17  Wim Taymans  <wim@fluendo.com>
3605
3606         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3607         Free remote and local time arrays.
3608
3609 2005-11-17  Wim Taymans  <wim@fluendo.com>
3610
3611         * gst/net/gstnetclientclock.c: (do_linear_regression),
3612         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3613         Fix compilation, uninitialized vars and a forgotten continue.
3614
3615 2005-11-17  Andy Wingo  <wingo@pobox.com>
3616
3617         * check/Makefile.am (check_PROGRAMS): 
3618         * check/net/gstnetclientclock.c: Add a most minimal test for the
3619         net client clock. More to come later.
3620
3621         * gst/net/gstnet.h: 
3622         * gst/net/Makefile.am: Add netclientclock.
3623
3624         * gst/net/gstnetclientclock.h:
3625         * gst/net/gstnetclientclock.c: New files, implement an untested
3626         GstClock that takes its time from a network time provider.
3627         Implements the algorithm in network-clock.scm.
3628
3629         * tests/network-clock.scm (*window-size*): Rename from
3630         *queue-length*.
3631         * tests/network-clock.scm (network-time): 
3632         * tests/network-clock-utils.scm (q-push): Update callers.
3633
3634 2005-11-17  Wim Taymans  <wim@fluendo.com>
3635
3636         * gst/gstbin.c: (gst_bin_provide_clock_func),
3637         (gst_bin_sort_iterator_new):
3638         And unref the child too..
3639
3640 2005-11-17  Wim Taymans  <wim@fluendo.com>
3641
3642         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3643         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3644         Refactor the sort iterator so it can be used while holding the
3645         LOCK too.
3646         Make clock selection select a clock closest to the source.
3647
3648 2005-11-17  Michael Smith <msmith@fluendo.com>
3649
3650         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3651         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3652         * gst/gstclock.h:
3653           Anonymous structs are a gcc (and some other compilers) extension, so
3654           don't use them. Since this is only for ABI-compatibility, and our
3655           API/ABI freeze is over in a few days, this whole thing will only
3656           last a few days, so don't bother trying to think up a meaningful
3657           name for the struct.
3658
3659 2005-11-17  Andy Wingo  <wingo@pobox.com>
3660
3661         * gst/gstclock.h (GstClock): Add rate and offset properties,
3662         preserving ABI stability. Add rate/offset accessors. Will file bug
3663         for the freeze break.
3664
3665         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3666         and offset, trying to keep precision and avoiding
3667         underflow/overflow.
3668         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3669         functions. Make gst_clock_set_time_adjust obsolete.
3670         (gst_clock_set_time_adjust): Note that this function is obsolete.
3671         Will file bug soon.
3672
3673         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3674         greppable by using GST_PADDING-1+1.
3675
3676 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3677
3678         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3679
3680         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3681           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3682
3683         * gst/gstpadtemplate.h:
3684         * gst/gstpluginfeature.h:
3685           Don't use c++ style comments in headers (#321638).
3686
3687 2005-11-16  Andy Wingo  <wingo@pobox.com>
3688
3689         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3690         buffer.
3691
3692         * check/net/gstnettimeprovider.c: Check to see that the time
3693         provider actually provides times. Works, yo!
3694
3695 2005-11-16  Wim Taymans  <wim@fluendo.com>
3696
3697         * check/Makefile.am:
3698         Enable more tests.
3699
3700         * check/elements/fakesrc.c: (GST_START_TEST):
3701         Set element to NULL before disposing it.
3702
3703 2005-11-16  Andy Wingo  <wingo@pobox.com>
3704
3705         * gst/net/Makefile.am:
3706         * gst/net/gstnet.h:
3707         * gst/net/gstnettimeprovider.c: 
3708         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3709         provider, include it from gstnet.h, and add it to the build.
3710
3711         * gst/net/gstnettimepacket.h: 
3712         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3713         sending and receiving.
3714
3715 2005-11-16  Wim Taymans  <wim@fluendo.com>
3716
3717         * check/Makefile.am:
3718         Enable valgrind check.
3719
3720         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3721         (gst_fake_src_alloc_buffer):
3722         Fix memleak.
3723
3724 2005-11-16  Wim Taymans  <wim@fluendo.com>
3725
3726         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3727         Call parent finalize too.
3728
3729 2005-11-16  Wim Taymans  <wim@fluendo.com>
3730
3731         * check/Makefile.am:
3732         Enable valgrind check that should work fine now.
3733
3734         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3735         * gst/gstqueue.c: (gst_queue_init):
3736         Fix memleaks in pad allocation.
3737
3738 2005-11-16  Andy Wingo  <wingo@pobox.com>
3739
3740         * gst/net/Makefile.am:
3741         * gst/net/gstnet.h: New part of core to hold network elements and
3742         objects. Put in core because it exposes API that applications want
3743         to use. The library is named libgstnet-tempname right now because
3744         of the existing libgstnet in gst-plugins-base. Solution is
3745         probably to rename the one in plugins-base; will file a bug for
3746         the freeze break.
3747
3748         * gst/net/gstnettimeprovider.c: 
3749         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3750         get_time call over the network.
3751
3752         * configure.ac: 
3753         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3754
3755         * check/Makefile.am:
3756         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3757         get additions shortly.
3758
3759 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3760
3761         * gst/gstpad.c: (gst_pad_new_from_static_template):
3762         * gst/gstpad.h:
3763           add gst_pad_new_from_static_template functions
3764         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3765         (gst_check_setup_sink_pad):
3766         * gst/elements/gsttee.c: (gst_tee_init):
3767           and use them
3768
3769 2005-11-16  Wim Taymans  <wim@fluendo.com>
3770
3771         * gst/gstpad.c: (gst_pad_pause_task):
3772         Removed warning, it's not really an error either.
3773
3774 2005-11-16  Wim Taymans  <wim@fluendo.com>
3775
3776         * gst/base/gstbasetransform.c:
3777         (gst_base_transform_prepare_output_buf),
3778         (gst_base_transform_event):
3779         Check if the caps are NULL, this can happen if the element
3780         is shutting down and the pad caps are set to NULL.
3781
3782 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3783
3784         * gst/elements/gsttee.c: (gst_tee_init):
3785           fix pad template leak in tee
3786
3787 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3788
3789         * gst/glib-compat.c: (g_value_dup_gst_object):
3790         * gst/glib-compat.h:
3791         * gst/gstpad.c: (gst_pad_set_property):
3792           use gst_object_ref when setting the pad template; this will
3793           trigger the pad template leaks on GLib 2.6 and the slaves
3794
3795 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3796
3797         * gst/glib-compat.c: (gst_flags_get_first_value):
3798         * gst/glib-compat.h:
3799         * gst/gstregistryxml.c:
3800           remove functions copied from GLib 2.6
3801
3802 2005-11-16  Michael Smith <msmith@fluendo.com>
3803
3804         * gst/Makefile.am:
3805           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3806           do, but only breaks with newer valgrind versions. We're not a
3807           valgrind tool, we have no link-time dependencies on libcoregrind.
3808
3809 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3810
3811         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3812           some debug changes
3813         * gst/gstmessage.h:
3814           typo fixes
3815
3816 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3817
3818         * gst/base/gstbasesrc.c: (gst_base_src_init):
3819         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3820         * gst/gstqueue.c: (gst_queue_init):
3821         * gst/gstregistryxml.c: (load_feature):
3822           Revert all these unrefs, they don't even pass make check !
3823
3824 2005-11-15  Johan Dahlin  <johan@gnome.org>
3825
3826         * gst/base/gstbasesrc.c: (gst_base_src_init):
3827         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3828         * gst/gstqueue.c: (gst_queue_init): 
3829         Free pad templates, fixes a couple of leaks.
3830
3831 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3832
3833         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * gst/gstpad.c: (gst_pad_get_property):
3836           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3837           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3838           (#321452)
3839
3840 2005-11-15  Wim Taymans  <wim@fluendo.com>
3841
3842         * gst/gstevent.c:
3843         Small doc update.
3844
3845 2005-11-15  Andy Wingo  <wingo@pobox.com>
3846
3847         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3848
3849         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3850         using GST_CLOCK_TIME_NONE to disable base time management.
3851         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3852         time if it was NONE before.
3853         (gst_pipeline_change_state): Only munge the base time if
3854         stream_time != GST_CLOCK_TIME_NONE.
3855
3856         * check/gst/gstpipeline.c (test_base_time): Punt around the
3857         problem of the probe not being called, because that's not the
3858         issue I'm looking at. Add a check that setting stream_time to NONE
3859         disables base time management.
3860         
3861 2005-11-15  Wim Taymans  <wim@fluendo.com>
3862
3863         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3864         segment_stop == -1 at startup.
3865
3866         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3867         (gst_base_transform_change_state):
3868         Init segment values at start.
3869
3870 2005-11-15  Wim Taymans  <wim@fluendo.com>
3871
3872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3873         0 segment values are 0 in any format.
3874
3875         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3876         * gst/base/gstbasetransform.h:
3877         Parse newsegment correctly in basetransform
3878
3879         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3880         Sync to clock using updated segment values.
3881
3882 2005-11-15  Andy Wingo  <wingo@pobox.com>
3883
3884         * check/gst/gstpipeline.c (test_base_time): Add check that the
3885         base time and stream time are reset correctly.
3886
3887 2005-11-15  Wim Taymans  <wim@fluendo.com>
3888
3889         * docs/design/part-TODO.txt:
3890         Some more TODO items.
3891
3892 2005-11-15  Andy Wingo  <wingo@pobox.com>
3893
3894         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3895         error if the user selected "no clock" as the clocking method.
3896
3897         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3898         timestamps with live capture.
3899
3900         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3901         is 0 but we are a live source, timestamp the buffers using the
3902         element's clock.
3903
3904 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3905
3906         * docs/gst/gstreamer-sections.txt:
3907         * gst/gsterror.c:
3908         * gst/gstghostpad.c:
3909         * gst/gstobject.h:
3910         * gst/gstxml.c:
3911           more section docs
3912
3913 2005-11-14  Wim Taymans  <wim@fluendo.com>
3914
3915         * common/gst.supp:
3916           add suppressions from Wim's Debian machine
3917
3918 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * common/gst.supp:
3921           add suppressions from Andy's AMD64 Ubuntu machine
3922
3923 2005-11-14  Andy Wingo  <wingo@pobox.com>
3924
3925         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3926         STATE_LOCK not necessary. Fixes #311489.
3927
3928         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3929         #305291.
3930
3931         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3932         this function is not implemented.
3933
3934 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3935
3936         * gst/base/gstbasetransform.c:
3937         (gst_base_transform_prepare_output_buf):
3938         Ref the source pad caps while we need them.
3939         Fixes (#321386)
3940
3941 2005-11-11  Wim Taymans  <wim@fluendo.com>
3942
3943         * docs/gst/gstreamer-sections.txt:
3944         Added some docs for GstCollectData.
3945
3946         * gst/base/gstadapter.c:
3947         Some small code example fix.
3948
3949         * gst/base/gstcollectpads.c:
3950         * gst/base/gstcollectpads.h:
3951         Document some more.
3952
3953 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3954
3955         * configure.ac: back to HEAD
3956
3957 === release 0.9.5 ===
3958
3959 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3960
3961         * configure.ac:
3962           releasing 0.9.5, "Bike Lunch Day"
3963
3964 2005-11-11  Wim Taymans  <wim@fluendo.com>
3965
3966         * gst/gstbuffer.c: (_gst_buffer_copy):
3967         Copy more flags.
3968
3969         * gst/gstcaps.c: (gst_caps_is_equal):
3970         Fix some docs.
3971         Make _is_equal fast in the trivial cases.
3972
3973         * gst/gstminiobject.c:
3974         * gst/gstminiobject.h:
3975         More docs. Spifify .h file.
3976
3977         * gst/gstutils.c:
3978         Small doc update.
3979
3980 2005-11-11  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/base/gstbasetransform.c:
3983         (gst_base_transform_prepare_output_buf),
3984         (gst_base_transform_handle_buffer):
3985         Small cleanups.
3986         If we're processing a buffer and need to allocate an output
3987         buffer, we cannot accept a format change. If we did get a 
3988         format change, we have to alloc a buffer ourselves of the 
3989         right size.
3990
3991 2005-11-11  Wim Taymans  <wim@fluendo.com>
3992
3993         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3994         While checking the flag for reentrancy in the gstcaps function
3995         is nice to detect recursive invocations, it also makes it 
3996         impossible to call getcaps from multiple threads, which must be
3997         possible. So, checking for recursive calls has to go.
3998
3999 2005-11-11  Michael Smith <msmith@fluendo.com>
4000
4001         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4002           Don't sync on buffers that fall partially outside our current
4003           segment. Prevents an assertion failure/abort playing some files.
4004
4005 2005-11-10  Andy Wingo  <wingo@pobox.com>
4006
4007         * check/gst/gstbin.c (test_message_state_changed_children): Style
4008         fix..
4009
4010         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4011         gst_bus_poll with the signal watch. Ensures that poll and a signal
4012         watch see the same messages.
4013
4014         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4015         a poll and a watch at the same time get the same messages.
4016
4017 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4018
4019         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4020         * gst/gstcaps.c: (gst_caps_intersect):
4021           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4022           and it's not needed.
4023
4024 2005-11-10  Wim Taymans  <wim@fluendo.com>
4025
4026         * docs/design/part-TODO.txt:
4027         Updated todo.
4028
4029 2005-11-10  Wim Taymans  <wim@fluendo.com>
4030
4031         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4032         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4033         (gst_base_src_do_sync), (gst_base_src_get_range):
4034         Implement clock sync in base class.
4035
4036 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4037
4038         patch by: Tim-Philipp Müller <tim at centricular dot net>
4039
4040         * gst/gststructure.c: (gst_structure_parse_field),
4041         (gst_structure_from_string):
4042           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4043           so that gst_parse_launch() can deal with spaces in filtered link
4044           caps (fixes #164479)
4045         * check/gst/capslist.h:
4046         * check/gst/gststructure.c: (GST_START_TEST):
4047           add unit tests for this change
4048
4049 2005-11-10  Wim Taymans  <wim@fluendo.com>
4050
4051         * docs/gst/gstreamer-sections.txt:
4052         * gst/gstelement.c:
4053         * gst/gstelement.h:
4054         Fix docs, move some STATE macros to private.
4055
4056 2005-11-10  Wim Taymans  <wim@fluendo.com>
4057
4058         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4059         Added check for bug #317341
4060
4061         * gst/gstbuffer.c:
4062         * gst/gstbuffer.h:
4063         Some more spiffifying.
4064
4065         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4066         Call peer linkfunction if we are a source pad. Totally fixes
4067         #317341
4068
4069         * gst/gstpad.c:
4070         Update docs, source pads should call the peer linkfunction
4071         so they can atomically perform the pad link.
4072
4073 2005-11-09  Wim Taymans  <wim@fluendo.com>
4074
4075         * gst/gstbuffer.c:
4076         * gst/gstbuffer.h:
4077         Uber-spiffy-spiffify some more.
4078
4079 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4080
4081         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4082         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4083         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4084         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4085         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4086         * gst/gstpad.c: (gst_pad_init):
4087           Use GST_DEBUG_FUNCPTR() more extensively.
4088
4089 2005-11-09  Wim Taymans  <wim@fluendo.com>
4090
4091         * gst/gstobject.c: (gst_object_class_init):
4092         * gst/gstobject.h:
4093         Documentation fixes.
4094
4095 2005-11-09  Edward Hervey  <edward@fluendo.com>
4096
4097         * gst/gsttypefindfactory.c:
4098         Fix docs.
4099         
4100 2005-11-09  Edward Hervey  <edward@fluendo.com>
4101
4102         * gst/base/gsttypefindhelper.c:
4103         * gst/gsttypefind.c:
4104         * gst/gsttypefind.h:
4105         Fix docs.
4106
4107 2005-11-09  Wim Taymans  <wim@fluendo.com>
4108
4109         * gst/gstiterator.c:
4110         Fix revision data.
4111
4112         * gst/gsttask.c:
4113         * gst/gsttask.h:
4114         Fix docs.
4115
4116 2005-11-09  Wim Taymans  <wim@fluendo.com>
4117
4118         * gst/gstevent.h:
4119         * gst/gsturi.h:
4120         Fix docs.
4121
4122 2005-11-09  Wim Taymans  <wim@fluendo.com>
4123
4124         * docs/gst/gstreamer-sections.txt:
4125         Moved the message async delivery private lock and cond
4126         to the private section.
4127
4128         * gst/gstmessage.c:
4129         * gst/gstmessage.h:
4130         Fixed docs.
4131
4132 2005-11-09  Edward Hervey  <edward@fluendo.com>
4133
4134         * docs/gst/gstreamer-sections.txt:
4135         * gst/gsturi.c:
4136         * gst/gsturi.h:
4137         Document GstURIHandler
4138
4139 2005-11-09  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4142         (gst_iterator_find_custom):
4143         * gst/gstiterator.h:
4144         Fix iterator docs.
4145
4146 2005-11-09  Wim Taymans  <wim@fluendo.com>
4147
4148         * gst/gstbin.h:
4149         Document another field.
4150
4151         * gst/gststructure.c:
4152         * gst/gststructure.h:
4153         Document.
4154
4155 2005-11-09  Wim Taymans  <wim@fluendo.com>
4156
4157         * gst/gstbin.h:
4158         Documented structs.
4159
4160 2005-11-09  Wim Taymans  <wim@fluendo.com>
4161
4162         * docs/gst/gstreamer-sections.txt:
4163         Added some new macros.
4164
4165         * gst/gstclock.c:
4166         * gst/gstclock.h:
4167         * gst/gstobject.h:
4168         Docs updates.
4169
4170 2005-11-09  Wim Taymans  <wim@fluendo.com>
4171
4172         * docs/design/part-TODO.txt:
4173         Some more items for the TODO
4174
4175         * gst/gstcaps.c:
4176         * gst/gstcaps.h:
4177         Document GstCaps.
4178
4179 2005-11-09  Andy Wingo  <wingo@pobox.com>
4180
4181         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4182         to work on something else now tho...
4183
4184         * gst/base/gstadapter.c: More adapter docs.
4185
4186         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4187         (gst_file_sink_stop): New functions, replace the state change
4188         handler.
4189         (gst_file_sink_class_init): Hook up the start and stop functions.
4190         (gst_file_sink_base_init): Don't set the state change handler any
4191         more. It was a bit ugly too, being set from here...
4192         (gst_file_sink_get_property, gst_file_sink_set_property):
4193         Cleanups...
4194         (gst_file_sink_set_location): More robust check that doesn't call
4195         GST_STATE. Ugggggg.
4196
4197 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4198
4199         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4200           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4201
4202 2005-11-08  Wim Taymans  <wim@fluendo.com>
4203
4204         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4205         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4206         (gst_base_sink_chain), (gst_base_sink_change_state):
4207         * gst/base/gstbasesink.h:
4208         * gst/base/gstbasesrc.h:
4209         * gst/gstelement.h:
4210         * gst/gstevent.h:
4211         Avoid excessive typechecking in macros.
4212
4213         * gst/gstminiobject.c: (gst_mini_object_get_type),
4214         (gst_mini_object_init), (gst_mini_object_new),
4215         (gst_mini_object_free):
4216         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4217         (gst_object_finalize):
4218         Remove cruft code, optimize alloc_trace.
4219
4220 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4221
4222         * docs/faq/gst-uninstalled:
4223           fix up PS1 for systems that try to reset it
4224
4225 2005-11-07  Wim Taymans  <wim@fluendo.com>
4226
4227         * gst/base/gstbasesrc.c: (gst_base_src_init),
4228         (gst_base_src_get_range):
4229         Set the segment_end to -1 initially. Fixed typefind.
4230
4231 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4232
4233         * gst/base/gstadapter.c:
4234           Debug category should be 'adapter', not 'GstAdapter'.
4235           
4236         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4237         (gst_collectpads_class_init), (gst_collectpads_init),
4238         (gst_collectpads_peek), (gst_collectpads_pop),
4239         (gst_collectpads_event), (gst_collectpads_chain):
4240           Add debug category and some debugging output. Use boilerplate
4241           macros. Remove some extraneous words from docs.
4242
4243 2005-11-05  Andy Wingo  <wingo@pobox.com>
4244
4245         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4246         macro.
4247
4248 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4249
4250         * docs/gst/gstreamer-sections.txt:
4251         * gst/gstcaps.h:
4252         * gst/gstinfo.c:
4253         * gst/gstminiobject.h:
4254         * gst/gstobject.h:
4255         * gst/gstutils.h:
4256           more docs added
4257
4258 2005-11-04  Wim Taymans  <wim@fluendo.com>
4259
4260         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4261         Small update to stop at the configured segment_end
4262         position.
4263
4264 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4265
4266         * gst/gstregistry.c:
4267         * gst/gstregistry.h:
4268           added missing docs
4269
4270 2005-11-04  Edward Hervey  <edward@fluendo.com>
4271
4272         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4273         Check if we are doing a segment seek and have arrived at the
4274         end of that segment.
4275
4276 2005-11-04  Wim Taymans  <wim@fluendo.com>
4277
4278         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4279         Don't leak a mutex unlock in case of an error.
4280
4281         * gst/gstbus.h:
4282         Doc fixes.
4283
4284 2005-11-04  Wim Taymans  <wim@fluendo.com>
4285
4286         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4287         (gst_bus_post):
4288         Get the context to wake up only once.
4289
4290 2005-11-03  Wim Taymans  <wim@fluendo.com>
4291
4292         * check/states/sinks.c: (GST_START_TEST):
4293         Uncomment fixed check.
4294
4295         * docs/design/part-TODO.txt:
4296         Updated TODO.
4297
4298         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4299         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4300         (gst_base_sink_get_position):
4301         If we are going to PLAYING, post the right pending state
4302         when we post the intermediate paused message.
4303
4304         * gst/gstelement.c: (gst_element_continue_state),
4305         (gst_element_set_state_func), (gst_element_change_state):
4306         Don't post state changes that were between the same state
4307         and were not ASYNC.
4308
4309 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4310
4311         * docs/gst/gstreamer-sections.txt:
4312         * gst/gstcaps.h:
4313         * gst/gstinfo.c:
4314         * gst/gstminiobject.h:
4315         * gst/gstobject.h:
4316         * gst/gstutils.h:
4317           more docs and doc style fixes
4318
4319 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4320
4321         * docs/gst/gstreamer-sections.txt:
4322         * gst/gstelement.c:
4323         * gst/gstminiobject.c:
4324         doc fixes
4325
4326 2005-11-03  Andy Wingo  <wingo@pobox.com>
4327
4328         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4329         state-changed messages actually have the right order and the right
4330         values.
4331
4332 2005-11-03  Wim Taymans  <wim@fluendo.com>
4333
4334         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4335         Added some more checks. Specifically the case where NO_PREROLL
4336         elements are in the pipeline.
4337
4338         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4339         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4340         (gst_base_sink_get_position):
4341         Post READY->PAUSED state change messages too.
4342         Fix bug where VOID was posted as pending state...
4343
4344         * gst/gstbin.c: (gst_bin_recalc_state):
4345         use _element_continue_state() to continue the state change.
4346
4347         * gst/gstelement.c: (gst_element_continue_state),
4348         (gst_element_commit_state), (gst_element_set_state_func),
4349         (gst_element_change_state), (gst_element_change_state_func):
4350         Lots of state change cleanups, assign the STATE_RETURN in
4351         a new continue_state() function that also propagates the
4352         last return value from a state change to the app.
4353         Update some debug statements with proper category.
4354
4355 2005-11-03  Wim Taymans  <wim@fluendo.com>
4356
4357         * docs/design/part-events.txt:
4358         * docs/design/part-gstpipeline.txt:
4359         * docs/design/part-messages.txt:
4360         * docs/design/part-overview.txt:
4361         * docs/design/part-seeking.txt:
4362         * docs/design/part-states.txt:
4363         * docs/design/part-trickmodes.txt:
4364         * docs/manual/advanced-position.xml:
4365         Small docs updates.
4366
4367         * gst/gstobject.h:
4368         People think !! is ugly, this looks better.
4369
4370         * gst/gstpad.c: (gst_pad_set_blocked_async):
4371         Remove !! since it's fixed elsewhere now.
4372
4373 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4374
4375         * gst/gstminiobject.h:
4376         * gst/gstobject.h:
4377           Add !! to _FLAG_IS_SET macros to make the result boolean.
4378
4379 2005-11-03  Edward Hervey  <edward@fluendo.com>
4380
4381         * gst/gstpad.c: (gst_pad_set_blocked_async):
4382         comparing a flag and a gboolean rarely returns coherent results...
4383         Added two characters (!!) to make that work correctly.
4384         
4385 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4386
4387         * gst/gstbus.c: (gst_bus_class_init):
4388           Fix some typos.
4389           
4390         * gst/gstqueue.c: (gst_queue_loop):
4391           Don't assume a miniobject that isn't a buffer is an
4392           event (it could be that there is a refcounting
4393           problem somewhere and the pointer is stale and
4394           refers to an already destroyed miniobject).
4395
4396 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4397
4398         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4399
4400 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4401
4402         * docs/manual/advanced-position.xml:
4403           Update seek example and explanations to current 0.9 API.
4404
4405         * gst/elements/gsttypefindelement.c:
4406         (gst_type_find_element_activate):
4407           Remove FIXME comment now that the found caps
4408           are unreffed.
4409
4410 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4411
4412         * gst/gstregistryxml.c: (load_feature):
4413           Add another GST_STR_NULL instance
4414
4415 2005-11-02  Edward Hervey  <edward@fluendo.com>
4416
4417         * gst/gstpad.c: (handle_pad_block):
4418         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4419         
4420 2005-11-02  Wim Taymans  <wim@fluendo.com>
4421
4422         * gst/gstbin.c:
4423         Fix typo in docs.
4424
4425         * gst/gstelement.c: (gst_element_commit_state):
4426         Remove unused value.
4427
4428         * gst/gstiterator.c:
4429         Mention that the returned element is reffed in the docs.
4430
4431 2005-11-02  Wim Taymans  <wim@fluendo.com>
4432
4433         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4434         (gst_pad_push), (gst_pad_push_event):
4435         Unlock blocked pads when they are flushed.
4436
4437 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4438
4439         * docs/README:
4440         * docs/gst/gstreamer-sections.txt:
4441         * gst/gstbin.c:
4442           doc updates
4443         * gst/gstregistry.c: (gst_registry_scan_path_level):
4444           fix for a nasty little missed situation where an installed plug-in
4445           which was in the cache did not get overridden by an uninstalled one
4446           which was earlier in the plugin path because the newly created plugin
4447           for the uninstalled one (not in the registry) didn't get its
4448           ->registered set to TRUE
4449
4450 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4451
4452         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4453         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4454         (gst_collectpads_is_active), (gst_collectpads_collect),
4455         (gst_collectpads_collect_range), (gst_collectpads_start),
4456         (gst_collectpads_stop), (gst_collectpads_peek),
4457         (gst_collectpads_pop), (gst_collectpads_available),
4458         (gst_collectpads_read), (gst_collectpads_flush):
4459           Guard public API with assertions.
4460         
4461         * gst/gstpad.c:
4462           Fix docs for gst_pad_set_link_function().
4463
4464 2005-11-02  Johan Dahlin  <johan@gnome.org>
4465
4466         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4467         Unref found_caps after we used it.
4468
4469 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4470
4471         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4472           Don't try to ref NULL.
4473
4474 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4475
4476         * win32/common/config.h.in:
4477           provide a GST_FUNCTION that just gives a string for now
4478
4479 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4480
4481         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4482         (gst_object_flags_get_type), (register_gst_bin_flags),
4483         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4484         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4485         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4486         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4487         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4488         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4489         (gst_clock_flags_get_type), (register_gst_state),
4490         (gst_state_get_type), (register_gst_state_change_return),
4491         (gst_state_change_return_get_type), (register_gst_state_change),
4492         (gst_state_change_get_type), (register_gst_element_flags),
4493         (gst_element_flags_get_type), (register_gst_core_error),
4494         (gst_core_error_get_type), (register_gst_library_error),
4495         (gst_library_error_get_type), (register_gst_resource_error),
4496         (gst_resource_error_get_type), (register_gst_stream_error),
4497         (gst_stream_error_get_type), (register_gst_event_type),
4498         (gst_event_type_get_type), (register_gst_seek_type),
4499         (gst_seek_type_get_type), (register_gst_seek_flags),
4500         (gst_seek_flags_get_type), (register_gst_format),
4501         (gst_format_get_type), (register_gst_index_certainty),
4502         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4503         (gst_index_entry_type_get_type),
4504         (register_gst_index_lookup_method),
4505         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4506         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4507         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4508         (gst_index_flags_get_type), (register_gst_debug_level),
4509         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4510         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4511         (gst_iterator_result_get_type), (register_gst_iterator_item),
4512         (gst_iterator_item_get_type), (register_gst_message_type),
4513         (gst_message_type_get_type), (register_gst_mini_object_flags),
4514         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4515         (gst_pad_link_return_get_type), (register_gst_flow_return),
4516         (gst_flow_return_get_type), (register_gst_activate_mode),
4517         (gst_activate_mode_get_type), (register_gst_pad_direction),
4518         (gst_pad_direction_get_type), (register_gst_pad_flags),
4519         (gst_pad_flags_get_type), (register_gst_pad_presence),
4520         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4521         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4522         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4523         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4524         (gst_plugin_flags_get_type), (register_gst_rank),
4525         (gst_rank_get_type), (register_gst_query_type),
4526         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4527         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4528         (gst_tag_flag_get_type), (register_gst_task_state),
4529         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4530         (gst_alloc_trace_flags_get_type),
4531         (register_gst_type_find_probability),
4532         (gst_type_find_probability_get_type), (register_gst_uri_type),
4533         (gst_uri_type_get_type), (register_gst_parse_error),
4534         (gst_parse_error_get_type):
4535         * win32/common/gstversion.h:
4536           update win32 copies
4537
4538 2005-11-01  Luca Ognibene  <luogni@tin.it>
4539
4540         * gst/gst.c:
4541           fix docs. popt is dead, long live GOption.
4542
4543 2005-10-31  Wim Taymans  <wim@fluendo.com>
4544
4545         * gst/gstbuffer.h:
4546         Small doc fix.
4547
4548 2005-10-31  Andy Wingo  <wingo@pobox.com>
4549
4550         * Boo!
4551
4552         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4553
4554         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4555         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4556         the possibility of deadlocks here if code calling notify() or
4557         set() has a lock that can be taken in another notify handler (ABBA
4558         with class lock and e.g. python GIL state lock).
4559
4560 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4561
4562         * gst/gstbus.c: Doc updates.
4563
4564 2005-10-28  Wim Taymans  <wim@fluendo.com>
4565
4566         * docs/design/part-TODO.txt:
4567         * gst/gstiterator.c:
4568         * gst/gstsystemclock.c:
4569         * gst/gstsystemclock.h:
4570         Doc updates.
4571
4572 2005-10-28  Edward Hervey  <edward@fluendo.com>
4573
4574         * docs/gst/gstreamer-docs.sgml:
4575         * docs/gst/gstreamer-sections.txt:
4576         the GstURIType documentation page is private, it only defines GstURIType
4577         which should be defined in the GstURIHandler page
4578         
4579 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4580
4581         * gst/gstbin.c: (gst_bin_class_init):
4582         * gst/gstbin.h:
4583         * gst/gstutils.c:
4584         Documentation updates.
4585
4586 2005-10-28  Wim Taymans  <wim@fluendo.com>
4587
4588         * docs/gst/gstreamer-sections.txt:
4589         * gst/gstclock.c:
4590         * gst/gstclock.h:
4591         Documented the clocks.
4592
4593 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4594
4595         * docs/gst/gstreamer-sections.txt:
4596           move some macros to private sections
4597         * gst/gstminiobject.c:
4598         * gst/gstminiobject.h:
4599           add descriptions provided by ds and some more
4600         * gst/gstpad.h:
4601           mark macro as to be removed
4602
4603 2005-10-28  Wim Taymans  <wim@fluendo.com>
4604
4605         * docs/design/part-TODO.txt:
4606         Add an item to TODO.
4607
4608         * gst/gstiterator.c: (gst_iterator_fold),
4609         (gst_iterator_find_custom):
4610         * gst/gstiterator.h:
4611         Add iterator docs.
4612
4613 2005-10-28  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4616         (gst_base_transform_init):
4617         Don't leak class.
4618
4619         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4620         An EOS event marks the queue as completely filled.
4621
4622 2005-10-27  Wim Taymans  <wim@fluendo.com>
4623
4624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4625         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4626         Some more debugging.
4627
4628         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4629         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4630         (gst_base_transform_event), (gst_base_transform_getrange),
4631         (gst_base_transform_chain):
4632         * gst/base/gstbasetransform.h:
4633         Fix debugging,
4634         Protect transform and concurrent buffer alloc with a new lock.
4635         Try not to break ABI/API.
4636
4637 2005-10-27  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4640         (gst_base_src_init), (gst_base_src_query),
4641         (gst_base_src_default_newsegment),
4642         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4643         (gst_base_src_send_event), (gst_base_src_event_handler),
4644         (gst_base_src_pad_get_range), (gst_base_src_loop),
4645         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4646         (gst_base_src_start), (gst_base_src_deactivate),
4647         (gst_base_src_activate_push), (gst_base_src_change_state):
4648         Move some stuff around and cleanup things.
4649
4650 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         * gst/base/gstbasesrc.c: (gst_base_src_query):
4653           Add missing break statements.
4654
4655 2005-10-27  Wim Taymans  <wim@fluendo.com>
4656
4657         * check/gst/gstbin.c: (GST_START_TEST):
4658         An extra refcount is taken in basesrc.
4659
4660         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4661         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4662         (gst_base_src_loop):
4663         Small cleanups, check for flushing after being unlocked from the 
4664         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4665         Don't send out EOS when going to READY.
4666
4667 2005-10-27  Wim Taymans  <wim@fluendo.com>
4668
4669         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4670         (gst_base_sink_get_position):
4671         Some more debug.
4672
4673         * gst/gstbin.c: (message_check), (bin_replace_message),
4674         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4675         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4676         (bin_query_duration_init), (bin_query_duration_fold),
4677         (bin_query_duration_done), (bin_query_generic_fold),
4678         (gst_bin_query):
4679         * tools/gst-launch.c: (main):
4680         Remove old option.
4681
4682 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4683
4684         * examples/controller/audio-example.c: (main):
4685         * examples/queue/queue.c: (event_loop):
4686         * gst/base/gstbasetransform.h:
4687         * gst/gstelement.c: (gst_element_send_event):
4688         * gst/gstevent.h:
4689         * gst/gstpad.c: (gst_pad_send_event):
4690           fixing examples
4691           fixing docs typos
4692           changing log priority in error situations
4693
4694 2005-10-25  Wim Taymans  <wim@fluendo.com>
4695
4696         * gst/gstbin.c: (message_check), (bin_replace_message),
4697         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4698         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4699         (bin_query_duration_init), (bin_query_duration_fold),
4700         (bin_query_duration_done), (bin_query_generic_fold),
4701         (gst_bin_query):
4702         Some doc and debug updates.
4703         Cache previously requested query DURATION for speed. invalidate
4704         cached duration if element posts a DURATION message.
4705
4706 2005-10-25  Wim Taymans  <wim@fluendo.com>
4707
4708         * docs/design/part-TODO.txt:
4709         Update TODO.
4710
4711         * gst/gstbin.c: (message_check), (bin_replace_message),
4712         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4713         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4714         (bin_query_duration_init), (bin_query_duration_fold),
4715         (bin_query_duration_done), (bin_query_generic_fold),
4716         (gst_bin_query):
4717         Handle SEGMENT_START/DONE messages correctly.
4718         More evolved query algorithm that handles duration queries
4719         correctly.
4720
4721         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4722         (gst_element_get_state_func), (gst_element_abort_state),
4723         (gst_element_commit_state), (gst_element_lost_state):
4724         Some more debugging.
4725
4726         * gst/gstmessage.h:
4727         Added doc.
4728
4729 2005-10-25  Wim Taymans  <wim@fluendo.com>
4730
4731         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4732         Don't use invalid stream_time.
4733
4734         * gst/gstevent.c: (gst_event_new_newsegment):
4735         stream_time in newsegment cannot be undefined.
4736
4737 2005-10-24  Wim Taymans  <wim@fluendo.com>
4738
4739         * gst/gstbus.c:
4740         Doc fix.
4741
4742         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4743         (gst_queue_loop):
4744         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4745
4746 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4747
4748         * docs/libs/tmpl/gstdparam.sgml:
4749         * docs/libs/tmpl/gstdplinint.sgml:
4750         * docs/libs/tmpl/gstdpman.sgml:
4751         * docs/libs/tmpl/gstdpsmooth.sgml:
4752         * docs/libs/tmpl/gstunitconvert.sgml:
4753           these are obsolete
4754
4755 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4756
4757         * configure.ac:
4758           back to HEAD
4759
4760 === release 0.9.4 ===
4761
4762 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4763
4764         * configure.ac:
4765           releasing 0.9.4, "Tyrannosaurus Rex"
4766
4767 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4768
4769         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4770         (gst_file_sink_get_current_offset):
4771           Use fseeko() and ftello() if available. When falling back on
4772           lseek() to get the current offset, fflush() first to make sure
4773           everything is up-to-date and we get the right offset.
4774
4775 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4778         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4779         * gst/gsterror.c: (_gst_stream_errors_init):
4780         * gst/gsterror.h:
4781         * gst/gstqueue.c: (gst_queue_loop):
4782         * po/POTFILES.in:
4783           remove prematurely added error category and clean up the instances
4784
4785 2005-10-21  Wim Taymans  <wim@fluendo.com>
4786
4787         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4788         (gst_base_sink_get_position), (gst_base_sink_query),
4789         (gst_base_sink_change_state):
4790         Simply set the right flag when going to playing, that's all
4791         we need to do instead of calling a function inside the object
4792         lock (that could take the lock as well and deadlock)
4793
4794 2005-10-21  Wim Taymans  <wim@fluendo.com>
4795
4796         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4797         (gst_base_src_loop):
4798         Don't warn, the peer element knows what to do best when
4799         the seek failed, it might try something else.
4800
4801 2005-10-21  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/base/gstbasesrc.c: (gst_base_src_init),
4804         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4805         Fix seeking.
4806
4807 2005-10-21  Wim Taymans  <wim@fluendo.com>
4808
4809         * docs/design/part-segments.txt:
4810         More docs.
4811
4812         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4813         Correctly set caps, even on the subbufer.
4814
4815 2005-10-21  Wim Taymans  <wim@fluendo.com>
4816
4817         * docs/gst/gstreamer-docs.sgml:
4818         * docs/gst/gstreamer-sections.txt:
4819         * gst/gstelement.h:
4820         * gst/gstevent.c:
4821         * gst/gstevent.h:
4822         * gst/gstmessage.h:
4823         * gst/gstpad.h:
4824         * gst/gstparse.h:
4825         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4826         * gst/gsttask.h:
4827         * gst/gstutils.c:
4828         * gst/gstutils.h:
4829         And 2% more doc coverage.
4830
4831 2005-10-21  Andy Wingo  <wingo@pobox.com>
4832
4833         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4834         position reporting.
4835
4836 2005-10-20  Wim Taymans  <wim@fluendo.com>
4837
4838         * gst/gsterror.c: (gst_error_get_message):
4839         * gst/gstparse.h:
4840         * gst/gstquery.h:
4841         * gst/gststructure.c:
4842         * gst/gsttrace.c:
4843         * gst/gstutils.c:
4844         More docs.
4845
4846 2005-10-20  Wim Taymans  <wim@fluendo.com>
4847
4848         * gst/gstbuffer.h:
4849         * gst/gstpad.c:
4850         * gst/gstparse.c:
4851         Another 1% more coverage.
4852
4853 2005-10-20  Wim Taymans  <wim@fluendo.com>
4854
4855         * docs/gst/gstreamer-sections.txt:
4856         * gst/gstelement.c: (gst_element_get_state_func),
4857         (gst_element_abort_state), (gst_element_commit_state),
4858         (gst_element_lost_state):
4859         * gst/gstevent.h:
4860         * gst/gstquery.c: (gst_query_set_position),
4861         (gst_query_parse_position), (gst_query_set_duration),
4862         (gst_query_parse_duration), (gst_query_new_convert):
4863         * gst/gstutils.c:
4864         Yay! 1% more docs coverage.
4865
4866 2005-10-20  Wim Taymans  <wim@fluendo.com>
4867
4868         * gst/gstpad.h:
4869         * gst/gstquery.c: (gst_query_set_position),
4870         (gst_query_parse_position), (gst_query_set_duration),
4871         (gst_query_parse_duration), (gst_query_new_convert):
4872         * gst/gstquery.h:
4873         * gst/gstutils.c: (gst_element_query_convert):
4874         * gst/gstutils.h:
4875         Docs and consistency fixes.
4876
4877 2005-10-20  Wim Taymans  <wim@fluendo.com>
4878
4879         * gst/gsttask.c:
4880         * gst/gsttask.h:
4881         More docs.
4882
4883 2005-10-20  Wim Taymans  <wim@fluendo.com>
4884
4885         * gst/gstbin.c: (message_check), (bin_replace_message),
4886         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4887         (update_degree), (gst_bin_sort_iterator_next),
4888         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4889         Reworked the message handling a bit, cache the messages instead of
4890         only the senders. alows us to do more in the future.
4891
4892 2005-10-20  Wim Taymans  <wim@fluendo.com>
4893
4894         * docs/design/part-TODO.txt:
4895         Update TODO
4896
4897         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4898         (gst_base_sink_query):
4899         Don't use clock time to report position when in EOS.
4900
4901 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4902
4903         * tools/gst-inspect.c: (print_interfaces),
4904         (print_element_properties_info), (print_element_info):
4905           Fix interface output with gst-inspect -a; don't print
4906           newlines after double/float properties.
4907
4908 2005-10-20  Wim Taymans  <wim@fluendo.com>
4909
4910         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4911         (gst_base_sink_query):
4912         Speed up current position calculation.
4913
4914         * gst/base/gstbasesrc.c: (gst_base_src_query),
4915         (gst_base_src_default_newsegment):
4916         Correctly set stream position in newsegment.
4917
4918         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4919         (update_degree), (gst_bin_sort_iterator_next),
4920         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4921         * gst/gstmessage.c: (gst_message_new_custom):
4922         Clean up debugging info
4923
4924         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4925         (gst_queue_loop), (gst_queue_handle_src_query):
4926         Pause task faster.
4927
4928 2005-10-19  Wim Taymans  <wim@fluendo.com>
4929
4930         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4931         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4932         Fix query handling again.
4933
4934 2005-10-19  Wim Taymans  <wim@fluendo.com>
4935
4936         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4937         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4938         * gst/base/gstbasesrc.c: (gst_base_src_query):
4939         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4940         * gst/elements/gsttypefindelement.c:
4941         (gst_type_find_handle_src_query), (find_element_get_length),
4942         (gst_type_find_element_activate):
4943         API change fix.
4944
4945         * gst/gstquery.c: (gst_query_new_position),
4946         (gst_query_set_position), (gst_query_parse_position),
4947         (gst_query_new_duration), (gst_query_set_duration),
4948         (gst_query_parse_duration), (gst_query_set_segment),
4949         (gst_query_parse_segment):
4950         * gst/gstquery.h:
4951         Bundling query position/duration is not a good idea since duration
4952         does not change much and we don't want to recalculate it for every
4953         position query, so they are separated again..
4954         Base value in segment query is not needed.
4955
4956         * gst/gstqueue.c: (gst_queue_handle_src_query):
4957         * gst/gstutils.c: (gst_element_query_position),
4958         (gst_element_query_duration), (gst_pad_query_position),
4959         (gst_pad_query_duration):
4960         * gst/gstutils.h:
4961         Updates for query API change.
4962         Added some docs here and there.
4963
4964 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * check/gst/gstbin.c: (GST_START_TEST):
4967         * check/gst/gstghostpad.c: (GST_START_TEST):
4968         * check/pipelines/cleanup.c: (GST_START_TEST):
4969           wait on thread to die so we can check refcount correctly
4970
4971 2005-10-18  Wim Taymans  <wim@fluendo.com>
4972
4973         * check/pipelines/stress.c: (GST_START_TEST):
4974         Make check a little more time consuming.
4975
4976 2005-10-18  Wim Taymans  <wim@fluendo.com>
4977
4978         * check/Makefile.am:
4979         * check/pipelines/stress.c: (GST_START_TEST),
4980         (simple_launch_lines_suite), (main):
4981         Small state change torture test.
4982
4983         * docs/design/part-states.txt:
4984         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4985         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4986         (gst_base_sink_change_state):
4987         Never take state lock from streaming thread, clean up ugly
4988         hacks. Unfortunatly core does not yet support nice ways to
4989         async commit state.
4990         
4991         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4992         (bin_bus_handler):
4993         Start state recalc if a STATE_DIRTY message is posted, but only
4994         on the toplevel bin.
4995
4996         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4997         (gst_element_get_state_func), (gst_element_abort_state),
4998         (gst_element_commit_state), (gst_element_lost_state),
4999         (gst_element_set_state_func), (gst_element_change_state):
5000         * gst/gstelement.h:
5001         State variables are now protected with the LOCK, the state
5002         lock is only used to serialize _set_state().
5003
5004 2005-10-18  Wim Taymans  <wim@fluendo.com>
5005
5006         * check/gst/gstbin.c: (GST_START_TEST):
5007         * check/gst/gstmessage.c: (GST_START_TEST):
5008         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5009         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5010         (bin_bus_handler):
5011         * gst/gstelement.c: (gst_element_abort_state),
5012         (gst_element_commit_state), (gst_element_lost_state):
5013         * gst/gstmessage.c: (gst_message_new_state_changed),
5014         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5015         (gst_message_new_segment_done), (gst_message_new_duration),
5016         (gst_message_parse_state_changed),
5017         (gst_message_parse_segment_start),
5018         (gst_message_parse_segment_done), (gst_message_parse_duration):
5019         * gst/gstmessage.h:
5020         * tools/gst-launch.c: (event_loop):
5021         Seriously, this is better than a previous commit as we only need
5022         to notify the fact that an element changed state in a streaming
5023         thread, marking the state of the parents dirty, hence the 
5024         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5025         message.
5026
5027 2005-10-18  Wim Taymans  <wim@fluendo.com>
5028
5029         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5030         (gst_bin_recalc_func):
5031         * gst/gstelement.c: (gst_element_set_clock),
5032         (gst_element_abort_state), (gst_element_lost_state):
5033         Cleanups, prepare for state change fixes.
5034
5035 2005-10-18  Wim Taymans  <wim@fluendo.com>
5036
5037         * gst/gstbin.h:
5038         * gst/gstelement.c: (gst_element_class_init),
5039         (gst_element_set_state), (gst_element_set_state_func):
5040         * gst/gstelement.h:
5041         Pending ABI changes.
5042         GThreadPool in GstBinClass to monitor async state changes.
5043         state_cookie in GstElement to detect concurrent gst/set state.
5044         set_state is now virtual too in case a very complicated element
5045         has to be constructed.
5046
5047 2005-10-18  Wim Taymans  <wim@fluendo.com>
5048
5049         * check/gst/gstbin.c: (GST_START_TEST):
5050         * check/gst/gstmessage.c: (GST_START_TEST):
5051         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5052         * gst/gstbin.c: (bin_bus_handler):
5053         * gst/gstelement.c: (gst_element_commit_state),
5054         (gst_element_lost_state):
5055         * gst/gstmessage.c: (gst_message_new_state_changed),
5056         (gst_message_new_segment_start), (gst_message_new_segment_done),
5057         (gst_message_new_duration), (gst_message_parse_state_changed),
5058         (gst_message_parse_segment_start),
5059         (gst_message_parse_segment_done), (gst_message_parse_duration):
5060         * gst/gstmessage.h:
5061         * tools/gst-launch.c: (event_loop):
5062         Make messages future proof.
5063         state-change gets a flag if it was a message comming from the
5064         streaming thread.
5065         segment-start/stop can also be specified in other formats.
5066         A message to notify an app that a pipeline changed playback 
5067         duration.
5068         Also fix a GstMessage leak in -launch
5069
5070 2005-10-18  Andy Wingo  <wingo@pobox.com>
5071
5072         * gst/gstelement.c (gst_element_dispose): More helpful message.
5073
5074 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         reviewed by: <delete if not using a buddy>
5077
5078         * common/gtk-doc.mak:
5079
5080 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * gst/gstregistry.c: (gst_registry_scan_path_level):
5083           unref a plug-in we get that was already initialized
5084
5085 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5086
5087         * docs/gst/gstreamer-sections.txt:
5088         * docs/libs/gstreamer-libs-sections.txt:
5089         * gst/gstelement.h:
5090           add new api entries
5091           hide internal macro
5092
5093 2005-10-17  Andy Wingo  <wingo@pobox.com>
5094
5095         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5096         cleanup.
5097
5098         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5099
5100         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5101
5102         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5103         (gst_element_get_state_func): Better debug message.
5104         (gst_element_commit_state): s/INFO/DEBUG/.
5105         (gst_element_lost_state, gst_element_change_state): 
5106
5107         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5108         (gst_message_new_custom): s/INFO/LOG/.
5109
5110 2005-10-17  Michael Smith <msmith@fluendo.com>
5111
5112         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5113           Check if end time is valid using end time, not start time.
5114
5115 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5116
5117         * check/gst-libs/controller.c: (GST_START_TEST),
5118         (gst_controller_suite):
5119         * libs/gst/controller/gstcontroller.c:
5120         (gst_controlled_property_set_interpolation_mode):
5121         * libs/gst/controller/gstcontroller.h:
5122         * libs/gst/controller/gstinterpolation.c:
5123         * testsuite/controller/.cvsignore:
5124         * testsuite/controller/Makefile.am:
5125         * testsuite/controller/interpolator.c:
5126           merge controller testsuites
5127           fix broken tests
5128           remove mem-chunk from docs
5129
5130 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5131
5132         * gst/gstmemchunk.c:
5133         * gst/gstmemchunk.h:
5134         * gst/gsttrashstack.c:
5135         * gst/gsttrashstack.h:
5136           out.  get out.  you're fired.  to the Attic !
5137
5138 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5139
5140         * gst/gstcaps.c: (gst_caps_intersect):
5141           fix signedness issues in a (hopefully) correct way
5142         * gst/gstelement.c: (gst_element_pads_activate):
5143           some debugging
5144         * gst/gstobject.c: (gst_object_set_parent):
5145           some debugging
5146
5147 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5148
5149         * gst/gstvalue.h: Fix prototypes.
5150
5151 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5152
5153         * docs/gst/gstreamer-sections.txt:
5154         * gst/gst.c: (gst_version_string):
5155         * gst/gst.h:
5156         * gst/gstversion.h.in:
5157         * win32/common/libgstreamer.def:
5158           add gst_version_string ()
5159
5160 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5161
5162         * configure.ac:
5163           clean up further
5164         * gst/gst.c: (init_post):
5165         * win32/common/config.h.in:
5166           it's PLUGINDIR now
5167         * gst/gstcaps.c: (gst_caps_intersect):
5168           use gint64, the range could be bigger than a guint
5169
5170 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5171
5172         * gst/gstclock.h:
5173           document potential problem in 2038
5174
5175 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5176
5177         * gst/gstcaps.c: (gst_caps_intersect):
5178           Fix guint j diving under 0
5179
5180 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * configure.ac:
5183         * win32/common/config.h:
5184         * win32/common/config.h.in:
5185           check for process.h, declares getpid() on Windows
5186         * gst/gstinfo.c:
5187           include process.h if we have it
5188         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5189         * gst/gstmemchunk.h:
5190           fix signedness issues
5191         * win32/common/libgstreamer.def:
5192           fix get_type's
5193
5194 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5195
5196         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5197         fix. Because of unsigned ints, caps intersection was going nuts and
5198         trying to access structures with G_MAXUINT index. That fixes
5199         videotestsrc ! ffmpegcolorspace ! fakesink
5200         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5201         consistency.
5202
5203 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5204
5205         * configure.ac:
5206           use the gettext macro
5207         * gst/elements/gstelements.c:
5208         * gst/gst.c:
5209         * gst/indexers/gstindexers.c:
5210           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5211         * win32/common/config.h:
5212           updated config.h
5213         * win32/common/config.h.in:
5214           add the template to generate config.h
5215         * win32/common/gstenumtypes.c:
5216         * win32/common/gstversion.h:
5217           updated copies
5218
5219 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5220
5221         * gst/gst.c: (gst_version):
5222         * gst/gstversion.h.in:
5223           add the nano
5224
5225 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5226
5227         * gst/gstevent.h:
5228           Oops, add missing closing bracket.
5229
5230 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5231
5232         * configure.ac:
5233           use common m4's for argument checking
5234
5235 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * docs/gst/gstreamer-sections.txt:
5238         * gst/gstevent.h:
5239           Add GST_EVENT_TYPE_NAME() macro.
5240
5241 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5242
5243         * gst/gstinfo.c:
5244         * gst/gstpluginfeature.c:
5245         * gst/gsttask.c:
5246           privatize more symbols
5247
5248 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * configure.ac:
5251           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5252           everything that uses GStreamer API should have the includes
5253
5254 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5255
5256         * docs/gst/gstreamer-sections.txt:
5257         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5258         * gst/gstvalue.h:
5259           give each value a _get_type, removes the DATA exports
5260
5261 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5262
5263         * gst/gst.c:
5264         * gst/gst.h:
5265           remove _gst_registry_auto_load, not used anymore
5266         * gst/gstbin.c: (gst_bin_get_type):
5267         * gst/gstbin.h:
5268         * gst/gstelement.c: (gst_element_get_type):
5269         * gst/gstelement.h:
5270         * gst/gstobject.c: (gst_object_get_type):
5271         * gst/gstobject.h:
5272         * gst/gstpad.c: (gst_pad_get_type):
5273         * gst/gstpad.h:
5274           make _get_type functions similar, fixes data export from library
5275
5276 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5277
5278         * configure.ac:
5279           correctly make conditionals
5280         * gst/elements/Makefile.am:
5281         * gst/elements/gstelements.c:
5282           fix typo causing fdsrc not to build
5283
5284 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * testsuite/Makefile.am:
5287         * testsuite/bytestream/.cvsignore:
5288         * testsuite/bytestream/Makefile.am:
5289         * testsuite/bytestream/filepadsink.c:
5290         * testsuite/bytestream/gstbstest.c:
5291         * testsuite/bytestream/test1.c:
5292         * testsuite/bytestream/testfile1:
5293         * testsuite/caps/normalisation.c:
5294         * testsuite/caps/random.c: (main):
5295         * testsuite/cleanup/.cvsignore:
5296         * testsuite/cleanup/Makefile.am:
5297         * testsuite/cleanup/cleanup1.c:
5298         * testsuite/cleanup/cleanup2.c:
5299         * testsuite/cleanup/cleanup3.c:
5300         * testsuite/cleanup/cleanup4.c:
5301         * testsuite/cleanup/cleanup5.c:
5302         * testsuite/controller/interpolator.c:
5303         * testsuite/debug/printf_extension.c: (main):
5304         * testsuite/elements/tee.c:
5305         * testsuite/negotiation/.cvsignore:
5306         * testsuite/negotiation/Makefile.am:
5307         * testsuite/negotiation/pad_link.c:
5308         * testsuite/pad/Makefile.am:
5309         * testsuite/pad/chainnopull.c:
5310         * testsuite/pad/getnopush.c:
5311         * testsuite/pad/link.c:
5312         * testsuite/refcounting/sched.c: (create_pipeline):
5313         * testsuite/registry/Makefile.am:
5314         * testsuite/registry/gst-print-formats.c:
5315         * testsuite/schedulers/.cvsignore:
5316         * testsuite/schedulers/142183-2.c:
5317         * testsuite/schedulers/142183.c:
5318         * testsuite/schedulers/143777-2.c:
5319         * testsuite/schedulers/143777.c:
5320         * testsuite/schedulers/147713.c:
5321         * testsuite/schedulers/147819.c:
5322         * testsuite/schedulers/147894-2.c:
5323         * testsuite/schedulers/147894.c:
5324         * testsuite/schedulers/Makefile.am:
5325         * testsuite/schedulers/group_link.c:
5326         * testsuite/schedulers/queue_link.c:
5327         * testsuite/schedulers/relink.c:
5328         * testsuite/schedulers/unlink.c:
5329         * testsuite/schedulers/unref.c:
5330         * testsuite/schedulers/useless_iteration.c:
5331         * testsuite/states/bin.c:
5332           clean out/remove some stuff from the testsuite directories
5333
5334 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5335
5336         * configure.ac:
5337           check for some headers
5338         * gst/elements/Makefile.am:
5339         * gst/elements/gstelements.c:
5340           don't compile fdsrc without sys/socket.h
5341         * gst/indexers/Makefile.am:
5342         * gst/indexers/gstindexers.c: (plugin_init):
5343           don't compile fileindex without mmap
5344
5345 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5346
5347         * configure.ac:
5348           reorganize
5349           clean up
5350           document more
5351           remove cruft
5352         * check/Makefile.am:
5353         * docs/gst/Makefile.am:
5354         * examples/helloworld/Makefile.am:
5355         * gst/Makefile.am:
5356         * gst/base/Makefile.am:
5357         * gst/check/Makefile.am:
5358         * gst/elements/Makefile.am:
5359         * gst/indexers/Makefile.am:
5360         * gst/parse/Makefile.am:
5361         * libs/gst/controller/Makefile.am:
5362         * libs/gst/dataprotocol/Makefile.am:
5363         * examples/helloworld/helloworld.c: (event_loop):
5364           compile fixes, though it's not being compiled currently
5365
5366 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5369           Add some simple tests for the new taglist date API.
5370
5371 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5372
5373         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5374         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5375           Beautify 'last-message' output: print 'none' for buffer timestamps
5376           and durations if none is set; improve alignment with next messages.
5377
5378 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5381         * gst/gstpluginfeature.h:
5382         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5383         * gst/gstregistry.h:
5384         * docs/gst/gstreamer-sections.txt:
5385           Add new API to check plugin feature version requirements.
5386
5387         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5388           Some basic tests for the above.         
5389
5390 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5391
5392         * gst/gststructure.c: (gst_structure_to_string):
5393           guard against NULL printf - happens when for example
5394           a message structure with GstClock gets serialized
5395
5396 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5399           Fix presumable copy'n'pasto.
5400
5401 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5402
5403         * gst/elements/gstfakesrc.h:
5404         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5405         * gst/elements/gsttypefindelement.c:
5406           fix some signedness
5407         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5408           I wonder if this could actually write +2GB files before
5409
5410 2005-10-13  Andy Wingo  <wingo@pobox.com>
5411
5412         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5413         Fix Timmeke Waymans bug.
5414         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5415         string of the proper length to gst_caps_from_string. There's a
5416         potential for, before this fix, that this could cause someone
5417         connecting over the network to cause a segfault if the payload is
5418         not NUL-terminated.
5419
5420 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5421
5422         * docs/design/draft-push-pull.txt:
5423         * docs/design/part-overview.txt:
5424         * docs/random/TODO-pre-0.9:
5425         * docs/random/old/ChangeLog.gstreamer:
5426         * gst/base/gstpushsrc.c:
5427         * gst/gstclock.c:
5428           fixed typos
5429
5430 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5431
5432         * gst/glib-compat.c: (gst_flags_get_first_value):
5433         * gst/glib-compat.h:
5434         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5435         (gst_value_compare_double), (gst_value_serialize_flags):
5436           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5437           infinite loop
5438
5439 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5440
5441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5442         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5443           fix up debugging
5444         * tools/gst-launch.c: (event_loop):
5445           print out clock nicely
5446
5447 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5448
5449         * docs/gst/gstreamer-sections.txt:
5450         * gst/gsttaglist.h:
5451         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5452         (gst_tag_list_get_date_index):
5453           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5454           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5455
5456 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5457
5458         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5459         (gst_collectpads_chain):
5460         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5461         in CollectData.
5462
5463 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5464
5465         * docs/gst/gstreamer-sections.txt:
5466         * gst/gst.c:
5467         * gst/gsterror.h:
5468         * tools/gst-inspect.c: (main):
5469         * tools/gst-launch.c: (main):
5470         * tools/gst-run.c: (main):
5471         * tools/gst-xmlinspect.c: (main):
5472           fix GOption context leaks
5473           doc fixes
5474
5475 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5476
5477         * gst/gstbus.c:
5478           use HAVE_UNISTD_H
5479         * win32/common/config.h:
5480           update config
5481         * win32/vs6/grammar.dsp:
5482         * win32/vs6/libgstelements.dsp:
5483         * win32/vs6/libgstreamer.dsp:
5484           update vs6 files
5485
5486 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5487
5488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5489         * gst/base/gstbasesrc.c: (gst_base_src_query):
5490           fix more guint64<->gdouble conversions
5491
5492 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5493
5494         * Makefile.am:
5495           add win32-update target
5496         * win32/common/gstconfig.h:
5497         * win32/common/gstenumtypes.c:
5498         * win32/common/gstenumtypes.h:
5499         * win32/common/gstversion.h:
5500           add files that visual studio can't generate
5501
5502 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5503
5504         * Makefile.am:
5505           add a win32-update target
5506         * configure.ac:
5507
5508 2005-10-12  Wim Taymans  <wim@fluendo.com>
5509
5510         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5511         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5512         * gst/gstelement.c: (gst_element_commit_state),
5513         (gst_element_set_state):
5514         Protect flags with proper lock.
5515         unref provided cached clock in dispose.
5516
5517 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5518
5519         * gst/gst.c:
5520         * gst/gstminiobject.h:
5521         * gst/gstpad.h:
5522         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5523           removed unused flags from miniobject
5524           doc fixes
5525
5526 2005-10-12  Wim Taymans  <wim@fluendo.com>
5527
5528         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5529         (gst_file_sink_event), (gst_file_sink_render):
5530         Flush before seeking.
5531
5532 2005-10-12  Andy Wingo  <wingo@pobox.com>
5533
5534         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5535         always been the case.
5536
5537 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5538
5539         * check/gst/gstbin.c: (GST_START_TEST):
5540         * docs/gst/gstreamer-sections.txt:
5541         * gst/base/gstbasesink.c: (gst_base_sink_init):
5542         * gst/base/gstbasesrc.c: (gst_base_src_init),
5543         (gst_base_src_get_range), (gst_base_src_check_get_range),
5544         (gst_base_src_start), (gst_base_src_stop):
5545         * gst/base/gstbasesrc.h:
5546         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5547         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5548         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5549         (bin_bus_handler):
5550         * gst/gstbin.h:
5551         * gst/gstbuffer.h:
5552         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5553         * gst/gstbus.h:
5554         * gst/gstelement.c: (gst_element_is_locked_state),
5555         (gst_element_set_locked_state), (gst_element_commit_state),
5556         (gst_element_set_state):
5557         * gst/gstelement.h:
5558         * gst/gstindex.c: (gst_index_init):
5559         * gst/gstindex.h:
5560         * gst/gstminiobject.h:
5561         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5562         (gst_object_set_parent):
5563         * gst/gstobject.h:
5564         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5565         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5566         * gst/gstpad.h:
5567         * gst/gstpadtemplate.h:
5568         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5569         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5570         * gst/gstpipeline.h:
5571         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5572         (gst_file_index_commit):
5573         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5574         * testsuite/pad/link.c: (gst_test_src_init),
5575         (gst_test_filter_init), (gst_test_sink_init):
5576         * testsuite/states/locked.c: (main):
5577           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5578           moved bitshift from macro to enum definition
5579
5580 2005-10-12  Wim Taymans  <wim@fluendo.com>
5581
5582         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5583         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5584         (gst_file_sink_render):
5585         Some more debugging info.
5586
5587 2005-10-12  Wim Taymans  <wim@fluendo.com>
5588
5589         * docs/design/part-states.txt:
5590         * tools/gst-launch.c: (main):
5591         Some doc updates.
5592         Revert non-intentional change.
5593
5594 2005-10-12  Wim Taymans  <wim@fluendo.com>
5595
5596         * check/gst/gstbin.c: (GST_START_TEST):
5597         * check/gst/gstelement.c: (GST_START_TEST):
5598         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5599         * check/gst/gstghostpad.c: (GST_START_TEST):
5600         * check/gst/gstpipeline.c: (GST_START_TEST):
5601         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5602         * check/states/sinks.c: (GST_START_TEST):
5603         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5604         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5605         (gst_bin_remove_func), (gst_bin_get_state_func),
5606         (gst_bin_recalc_state), (gst_bin_change_state_func),
5607         (bin_bus_handler):
5608         * gst/gstelement.c: (gst_element_get_state_func),
5609         (gst_element_get_state), (gst_element_abort_state),
5610         (gst_element_commit_state), (gst_element_set_state),
5611         (gst_element_change_state), (gst_element_change_state_func):
5612         * gst/gstelement.h:
5613         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5614         (gst_pipeline_provide_clock_func):
5615         * gst/gstutils.c: (gst_element_link_pads_filtered):
5616         * tools/gst-launch.c: (main):
5617         * tools/gst-typefind.c: (main):
5618         Use GstClockTime in _get_state() instead of GTimeVal.
5619         Remove old code in gstutils.c
5620
5621 2005-10-12  Andy Wingo  <wingo@pobox.com>
5622
5623         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5624         removed.
5625
5626         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5627         there is no task. Shouldn't affect any code, as nothing in our
5628         plugins checks this return value.
5629         (gst_pad_stop_task): Also take the stream lock if the pad has no
5630         task. Docs updated.
5631
5632 2005-10-12  Wim Taymans  <wim@fluendo.com>
5633
5634         * gst/gstpad.c: (pre_activate), (post_activate),
5635         (gst_pad_activate_pull), (gst_pad_activate_push):
5636         Cleanup activation code. Reset old state if
5637         activation failed.
5638
5639 2005-10-12  Wim Taymans  <wim@fluendo.com>
5640
5641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5642         (gst_base_sink_change_state):
5643         No need to prerol after receiving EOS.
5644
5645         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5646         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5647         * gst/elements/gstidentity.c: (gst_identity_event):
5648         Print events more verbosely.
5649
5650 2005-10-12  Wim Taymans  <wim@fluendo.com>
5651
5652         * check/Makefile.am:
5653         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5654         * check/states/sinks2.c:
5655         Moved sinks2 testcode in sinks check.
5656
5657         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5658         (gst_bin_remove_func), (gst_bin_recalc_state),
5659         (gst_bin_change_state_func), (bin_bus_handler):
5660         Fix potential race condition when _get_state() iterated over an
5661         ASYNC element right before it posted a state completion.
5662
5663         * gst/gstclock.h:
5664         Do proper cast here.
5665
5666         * gst/gstevent.c: (gst_event_new_newsegment),
5667         (gst_event_parse_newsegment):
5668         A playback rate of 0.0 is not allowed.
5669
5670 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5671
5672         * win32/common/config.h:
5673         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5674         (_trewinddir), (_ttelldir), (_tseekdir):
5675         * win32/common/dirent.h:
5676         * win32/common/gtchar.h:
5677         * win32/common/libgstbase.def:
5678         * win32/common/libgstreamer.def:
5679         * win32/vs6/grammar.dsp:
5680         * win32/vs6/gst_inspect.dsp:
5681         * win32/vs6/gst_launch.dsp:
5682         * win32/vs6/gstreamer.dsw:
5683         * win32/vs6/libgstbase.dsp:
5684         * win32/vs6/libgstelements.dsp:
5685         * win32/vs6/libgstreamer.dsp:
5686           Visual Studio 6 project files, and a new common directory.
5687           Phear.
5688
5689 2005-10-11  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5692         (gst_base_sink_do_sync), (gst_base_sink_query),
5693         (gst_base_sink_change_state):
5694         * gst/base/gstbasesink.h:
5695         Correctly parse newsegment info.
5696
5697 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5698
5699         * gst/gst.c: (init_post):
5700           split plugin paths correctly
5701
5702 2005-10-11  Wim Taymans  <wim@fluendo.com>
5703
5704         * check/gst/gstevent.c: (GST_START_TEST):
5705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5706         (gst_base_sink_change_state):
5707         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5708         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5709         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5710         * gst/gstevent.c: (gst_event_new_newsegment),
5711         (gst_event_parse_newsegment):
5712         * gst/gstevent.h:
5713         Added extra flag to newsegment for future API freeze.
5714         Updated check and base elements.
5715
5716 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5717
5718         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5719         (gst_collectpads_add_pad), (gst_collectpads_pop),
5720         (gst_collectpads_event), (gst_collectpads_chain):
5721         * gst/base/gstcollectpads.h: Handle EOS correctly.
5722
5723 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5724
5725         * tools/gst-launch.c: (main):
5726           more null protecting
5727
5728 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5729
5730         * gst/gst-i18n-lib.h:
5731           check for ENABLE_NLS, not GETTEXT_PACKAGE
5732         * gst/gstregistry.c: (gst_registry_add_plugin),
5733         (gst_registry_scan_path_level),
5734         (_gst_registry_remove_cache_plugins):
5735           protect possibly NULL strings
5736         * gst/parse/types.h:
5737           config.h already included before
5738         * tools/gst-inspect.c: (main):
5739           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5740           check for ENABLE_NLS, not GETTEXT_PACKAGE
5741         * tools/gst-launch.c: (main):
5742           check for ENABLE_NLS, not GETTEXT_PACKAGE
5743
5744 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * configure.ac:
5747           if we don't have glib, fail before testing 2.8
5748         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5749           fix a leak, should fix plugins-base testsuite
5750
5751 2005-10-11  Andy Wingo  <wingo@pobox.com>
5752
5753         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5754         take the mode we're going to as an arg. Go head and set the mode
5755         and flushing flags now, so that if the activate function starts a
5756         thread all the flags will be in the right state.
5757         (post_activate): Renamed also. Just handle making sure streaming
5758         finishes for the deactivation case, and setting the deactivated
5759         mode.
5760         (gst_pad_set_active): Complain loudly if deactivation fails.
5761         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5762         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5763         remove the terrible hack.
5764
5765 2005-10-11  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5768         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5769         (gst_bin_recalc_state), (gst_bin_change_state_func),
5770         (gst_bin_dispose), (bin_bus_handler):
5771         * gst/gstbin.h:
5772         Prepare to make current EOS message queue more generic.
5773         Fix some typos.
5774
5775         * gst/gstevent.c: (gst_event_new_newsegment),
5776         (gst_event_parse_newsegment):
5777         * gst/gstevent.h:
5778         Rename base to stream_time.
5779
5780         * gst/gstmessage.h:
5781         Fix typo in docs.
5782
5783 2005-10-11  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5786         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5787         (gst_bin_change_state_func), (bin_bus_handler):
5788         * gst/gstbin.h:
5789         Work on proper clock selection.
5790
5791 2005-10-11  Edward Hervey  <edward@fluendo.com>
5792
5793         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5794         * libs/gst/controller/gstcontroller.h:
5795         Added GList* version of _remove_properties() in order to be able to wrap
5796         it in bindings.
5797
5798 2005-10-11  Wim Taymans  <wim@fluendo.com>
5799
5800         * docs/design/part-states.txt:
5801         Some more docs.
5802
5803         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5804         (gst_bin_change_state_func), (bin_bus_handler):
5805         Doc updates. Don't distribute the same clock over and over again.
5806
5807         * gst/gstclock.c:
5808         * gst/gstclock.h:
5809         Doc updates.
5810
5811         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5812         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5813         (gst_pad_send_event):
5814         * gst/gstpad.h:
5815         Make probe emission threadsafe again.
5816         Register quarks and move _get_name() from utils.
5817         Doc updates.
5818
5819         * gst/gstpipeline.c: (gst_pipeline_class_init),
5820         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5821         Only redistribute the clock of it changed.
5822
5823         * gst/gstsystemclock.h:
5824         Doc updates. 
5825
5826         * gst/gstutils.c:
5827         * gst/gstutils.h:
5828         Moved the _flow_get_name() to GstPad.
5829
5830 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * check/gst-libs/gdp.c: (GST_START_TEST):
5833         * check/gst/gstcaps.c: (GST_START_TEST):
5834         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5835         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5836         (gst_dp_packet_from_caps):
5837           fix more valgrind warnings before turning up the heat
5838
5839 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5840
5841         * gst/parse/grammar.y:
5842           some cleanup before the hacking
5843
5844 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5845
5846         * gst/base/gstbasesrc.c: (gst_base_src_query):
5847           use conversions
5848         * gst/gstutils.c: (gst_guint64_to_gdouble),
5849         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5850         * gst/gstutils.h:
5851           externalize, basesrc uses it
5852           obviously the implementation needs testing
5853
5854 2005-10-10  Wim Taymans  <wim@fluendo.com>
5855
5856         * tests/sched/Makefile.am:
5857         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5858         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5859
5860 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5861
5862         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5863           apparently converting from guint64 to double is not implemented
5864           on MSVC
5865
5866 2005-10-10  Wim Taymans  <wim@fluendo.com>
5867
5868         * check/Makefile.am:
5869         * check/generic/states.c: (GST_START_TEST):
5870         * check/gst/gstbin.c: (GST_START_TEST):
5871         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5872         * check/states/sinks.c: (GST_START_TEST):
5873         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5874         (main):
5875         Check fixes, use API as stated in design docs, remove hacks.
5876
5877         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5878         (gst_base_sink_change_state):
5879         Catch stopping our task while we're shutting down.
5880
5881         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5882         (gst_bin_remove_func), (gst_bin_get_state_func),
5883         (gst_bin_recalc_state), (gst_bin_change_state_func),
5884         (bin_bus_handler):
5885         * gst/gstbin.h:
5886         * gst/gstelement.c: (gst_element_init),
5887         (gst_element_get_state_func), (gst_element_abort_state),
5888         (gst_element_commit_state), (gst_element_lost_state),
5889         (gst_element_set_state), (gst_element_change_state),
5890         (gst_element_change_state_func):
5891         * gst/gstelement.h:
5892         New state change algorithm (see #318116)
5893
5894         * gst/gstpipeline.c: (gst_pipeline_class_init),
5895         (gst_pipeline_init), (gst_pipeline_set_property),
5896         (gst_pipeline_get_property), (do_pipeline_seek),
5897         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5898         * gst/gstpipeline.h:
5899         Remove crude state change hacks.
5900
5901         * gst/gstutils.h:
5902         Remove crude hacks.
5903
5904         * tools/gst-launch.c: (main):
5905         Fixes for state change. Needs some more work to fully use the
5906         new stuff.
5907
5908 2005-10-10  Andy Wingo  <wingo@pobox.com>
5909
5910         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5911
5912         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5913         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5914         issue.
5915
5916 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5917
5918         * gst/gstiterator.c: (gst_iterator_new):
5919           Fix my previous commit: GTypes passed to gst_iterator_new()
5920           can be fundamental types.
5921
5922 2005-10-10  Wim Taymans  <wim@fluendo.com>
5923
5924         * gst/gstelement.c: (gst_element_iterate_pad_list),
5925         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5926         (gst_element_iterate_sink_pads):
5927         Use src/sink pads lists for the respective iterators instead
5928         of filtering.
5929
5930 2005-10-10  Andy Wingo  <wingo@pobox.com>
5931
5932         Merged in popt removal + GOption addition patch from Ronald, bug
5933         #169772.
5934
5935         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5936         GstElement macros around, remove popt-related symbols, add goption
5937         stuff.
5938
5939         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5940         
5941         * docs/gst/Makefile.am:
5942         * docs/libs/Makefile.am: No POPT_CFLAGS.
5943         
5944         * examples/manual/Makefile.am:
5945         * docs/manual/basics-init.xml: Doc updates with an example.
5946         
5947         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5948         (gst_init), (parse_one_option), (parse_goption_arg):
5949         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5950         bit of hand merging and debugging to get the GOption stuff working
5951         tho.
5952         
5953         * tests/Makefile.am:
5954         * tools/Makefile.am:
5955         * tools/gst-inspect.c: (main):
5956         * tools/gst-launch.c: (main):
5957         * tools/gst-run.c: (main):
5958         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5959
5960 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5961
5962         * gst/gstiterator.c: (gst_iterator_new):
5963           Add assertions to make sure passed GType is likely to really
5964           be a GType (as the compiler won't catch it if the size and
5965           GType arguments get mixed up, see #318447).
5966
5967 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5968
5969         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5970
5971         * gst/gstbin.c: (gst_bin_iterate_sorted):
5972           Pass GType and size arguments to gst_iterator_new() in the right
5973           order (maybe we should make _new() take the GType as first argument
5974           just like _new_list()?) (#318447).
5975           
5976
5977 2005-10-10  Wim Taymans  <wim@fluendo.com>
5978
5979         * gst/gstelement.c: (gst_element_finalize):
5980         And free the GStaticRecMutex too
5981
5982 2005-10-10  Andy Wingo  <wingo@pobox.com>
5983
5984         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5985         Allocate and free the mutex properly.
5986
5987         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5988         New macros.
5989         (GstElement): The state_lock is now recursive. Rebuild your
5990         plugins, suckers. Old macros adapted.
5991
5992         * docs/gst/gstreamer-sections.txt: Doc updates.
5993
5994         * gst/gstutils.h:
5995         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5996         (g_static_rec_cond_wait): Ported from state changes patch, while
5997         we wait on bug #317802 to be solved in a well-distributed GLib.
5998
5999         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6000         gst_element_change_state, variable name changes.
6001         (gst_element_change_state): Split out of gst_element_set_state in
6002         preparation for the state change merge. Doesn't pay attention to
6003         the 'transition' argument.
6004         (gst_element_set_state): Updates, hopefully purely cosmetic.
6005         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6006         state change patch.
6007         (gst_element_get_state_func): Renamed from get_state, cosmetic
6008         changes.
6009
6010 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6011
6012         * gst/elements/gstelements.c:
6013         * win32/GStreamer.vcproj:
6014         * win32/config.h:
6015         * win32/dirent.c: (_tseekdir):
6016         * win32/gst-inspect.vcproj:
6017         * win32/gst-launch.vcproj:
6018         * win32/gstconfig.h:
6019         * win32/gstelements.vcproj:
6020         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6021         * win32/gstreamer.def:
6022         * win32/msvc71.sln:
6023           updates for the win32 build (patch from Sebastien Moutte)
6024
6025 2005-10-10  Andy Wingo  <wingo@pobox.com>
6026
6027         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6028         gst_bin_get_state, cleaned up (but no logic changes).
6029         (bin_element_is_sink): Comment updates.
6030         (sink_iterator_filter): Remove needless cast.
6031         (gst_bin_iterate_sinks): Doc update.
6032         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6033         cleaned up (but no logic changes).
6034
6035         * check/states/sinks.c (test_src_sink): Cleanups from the state
6036         change patch.
6037         (test_livesrc_sink): Sync on the state.
6038
6039         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6040         the state change patch.
6041
6042         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6043         change patch.
6044
6045         * check/gst/gstbin.c: Merge in some style fixes and additional
6046         checks from Wim's state change patch.
6047
6048 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6049
6050         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6051         (gst_type_find_helper):
6052           Check whether we have the requested data already in our list of
6053           cached buffers before pulling a new buffer; also make the buffer
6054           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6055
6056 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6057
6058         * gst/gstcaps.c:
6059         * gst/gstevent.c:
6060           doc updates
6061         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6062           don't use long long, it's not portable.  Replacing with
6063           gint64 seems to work; let's hope no skeletons fall out of the closet.
6064
6065 2005-10-10  Andy Wingo  <wingo@pobox.com>
6066
6067         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6068
6069 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6070
6071         * docs/gst/gstreamer-sections.txt:
6072         * gst/gstevent.c:
6073         * gst/gstevent.h:
6074         * gst/gstinfo.c:
6075         * gst/gstinfo.h:
6076         * gst/gstmessage.c: (gst_message_parse_state_changed):
6077         * gst/gstpad.c:
6078         * gst/gstpad.h:
6079           more docs, fix compilation
6080
6081 2005-10-09  Philippe Khalaf <burger@speedy.org>
6082         * gst/gstmessage.c:
6083           Fixed a few forgotten variables on previous commit
6084
6085 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6088           Fix evil typefind crasher: getrange() might return a short
6089           buffer at the end of a file, but gst_type_find_peek() must
6090           either return the full data as requested or NULL, but
6091           never a short buffer.
6092
6093 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6094
6095         * gst/gstmessage.c: (gst_message_new_state_changed),
6096         (gst_message_parse_state_changed):
6097         * gst/gstmessage.h:
6098           don't use "new", it's a C++ keyword
6099
6100 2005-10-08  Wim Taymans  <wim@fluendo.com>
6101
6102         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6103         * gst/gstelement.c: (gst_element_post_message):
6104         * gst/gstpipeline.c: (gst_pipeline_change_state):
6105         Small docs and debug updates.
6106
6107 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6108
6109         * docs/gst/gstreamer-sections.txt:
6110         * gst/gstelementfactory.c:
6111         * gst/gstevent.c:
6112         * gst/gsttaglist.c:
6113           more docs
6114
6115 2005-10-08  Wim Taymans  <wim@fluendo.com>
6116
6117         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6118         (gst_bin_dispose), (bin_bus_handler):
6119         Fix typos, add comments.
6120         Clear EOS list when going to PAUSED from any direction and do it
6121         in a threadsafe way.
6122         Get base time in a threadsafe way too.
6123         Fix confusing debug in the change_state function.
6124         Various other small cleanups.
6125         
6126         * gst/gstelement.c: (gst_element_post_message):
6127         Fix very verbose bus posting code.
6128
6129         * gst/gstpipeline.c: (gst_pipeline_class_init),
6130         (gst_pipeline_set_property), (gst_pipeline_get_property),
6131         (gst_pipeline_change_state):
6132         Small ARG_ -> PROP_ cleanup
6133
6134 2005-10-08  Wim Taymans  <wim@fluendo.com>
6135
6136         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6137         Do a less CPU demanding EOS check because we can.
6138
6139 2005-10-08  Wim Taymans  <wim@fluendo.com>
6140
6141         * libs/gst/dataprotocol/dataprotocol.c:
6142         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6143         (gst_dp_packet_from_event):
6144         * libs/gst/dataprotocol/dataprotocol.h:
6145         * libs/gst/dataprotocol/dp-private.h:
6146         It's about time we bump the version number.
6147         Since event types don't fit in the guint8 anymore describing
6148         the payload type, make payload type 16 bits wide.
6149
6150 2005-10-08  Wim Taymans  <wim@fluendo.com>
6151
6152         * docs/design/part-TODO.txt:
6153         * docs/design/part-clocks.txt:
6154         * docs/design/part-events.txt:
6155         * docs/design/part-gstbin.txt:
6156         * docs/design/part-gstelement.txt:
6157         * docs/design/part-gstpipeline.txt:
6158         * docs/design/part-live-source.txt:
6159         * docs/design/part-messages.txt:
6160         * docs/design/part-overview.txt:
6161         * docs/design/part-states.txt:
6162         Many doc updates.
6163
6164 2005-10-08  Wim Taymans  <wim@fluendo.com>
6165
6166         * gst/gstevent.c:
6167         * gst/gstevent.h:
6168         Fix event quark registration.
6169         Add some space between events so we can insert them in the
6170         right groups.
6171
6172 2005-10-08  Wim Taymans  <wim@fluendo.com>
6173
6174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6175         (gst_base_sink_handle_buffer):
6176         Better log message.
6177
6178         * gst/gstbus.h:
6179         * gst/gstelement.h:
6180         More docs.
6181
6182         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6183         (gst_queue_set_property), (gst_queue_get_property):
6184         * gst/gstqueue.h:
6185         Remove old unused properties.
6186
6187 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6188         * docs/gst/gstreamer-sections.txt:
6189         * gst/gstmessage.c:
6190         * gst/gstmessage.h:
6191         * gst/gstminiobject.c:
6192         * gst/gstminiobject.h:
6193         * gst/gstobject.h:
6194         * gst/gstpad.h:
6195         * gst/gstutils.h:
6196           lots of new docs and doc fixes
6197
6198 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6199
6200         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6201         * gst/gstplugin.h:
6202         * gst/gstregistry.c: (gst_registry_lookup_locked),
6203         (gst_registry_scan_path_level):
6204         * gst/gstregistryxml.c: (load_plugin):
6205           Only ever load one plugin for a given plugin basename.
6206           This ensures correct overriding of GST_PLUGIN_PATH over
6207           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6208           system installed plugins.
6209
6210 2005-10-08  Wim Taymans  <wim@fluendo.com>
6211
6212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6213         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6214         Prepare for doing QOS.
6215
6216 2005-10-08  Wim Taymans  <wim@fluendo.com>
6217
6218         * check/gst/gstbin.c: (GST_START_TEST):
6219         * check/pipelines/cleanup.c: (GST_START_TEST):
6220         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6221         Allow new clock message too.
6222
6223 2005-10-08  Wim Taymans  <wim@fluendo.com>
6224
6225         * gst/gstmessage.c: (gst_message_new_error),
6226         (gst_message_new_warning), (gst_message_new_tag),
6227         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6228         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6229         (gst_message_new_segment_start), (gst_message_new_segment_done),
6230         (gst_message_parse_state_changed),
6231         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6232         (gst_message_parse_new_clock):
6233         * gst/gstmessage.h:
6234         Also carry the clock in question.
6235
6236 2005-10-08  Wim Taymans  <wim@fluendo.com>
6237
6238         * gst/gstmessage.c: (gst_message_new_custom),
6239         (gst_message_new_eos), (gst_message_new_error),
6240         (gst_message_new_warning), (gst_message_new_tag),
6241         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6242         (gst_message_new_new_clock), (gst_message_new_segment_start),
6243         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6244         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6245         * gst/gstmessage.h:
6246         Clean up.
6247         Added clock related messages.
6248
6249         * gst/gstpipeline.c: (gst_pipeline_change_state):
6250         Post message when the clock changed.
6251
6252         * tools/gst-launch.c: (event_loop):
6253         Print new clock.
6254
6255 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * tools/gst-inspect.c: (print_element_properties_info):
6258           Can't pass NULL strings to g_print() on windows.
6259
6260 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6261
6262         * docs/Makefile.am:
6263         * docs/gst/Makefile.am:
6264         * docs/gst/gstreamer-docs.sgml:
6265         * docs/gst/running.xml:
6266         * docs/version.entities.in:
6267           add a chapter on running GStreamer.
6268           document GST_DEBUG and GST_PLUGIN* env vars
6269
6270 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6271
6272         * Makefile.am:
6273           remove include dir
6274         * configure.ac:
6275           remove PLUGINS_BUILDDIR stuff
6276         * gst/gst.c: (init_post):
6277           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6278         * idiottest.mak:
6279           remove, it was condescending and not needed
6280
6281 2005-10-08  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6284         (gst_base_sink_handle_object), (gst_base_sink_event),
6285         (gst_base_sink_wait), (gst_base_sink_handle_event),
6286         (gst_base_sink_change_state):
6287         * gst/base/gstbasesink.h:
6288         Repost EOS message while going to PLAYING if still EOS.
6289         Make sure that when receiving a FLUSH_START we don't attempt
6290         to sync on the clock anymore.
6291
6292 2005-10-08  Wim Taymans  <wim@fluendo.com>
6293
6294         * tools/gst-launch.c: (event_loop):
6295         Better message printout.
6296
6297 2005-10-08  Wim Taymans  <wim@fluendo.com>
6298
6299         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6300         (gst_bin_child_proxy_get_children_count):
6301         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6302         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6303         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6304         (gst_child_proxy_set_valist):
6305         * gst/parse/grammar.y:
6306         Make ChildProxy threadsafe and fix mem leaks.
6307
6308 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * gst/gst.c: (init_post):
6311           debug the GST_PLUGIN_ env vars
6312
6313 2005-10-08  Wim Taymans  <wim@fluendo.com>
6314
6315         * check/gst/gstbin.c: (GST_START_TEST):
6316         * check/gst/gstmessage.c: (GST_START_TEST):
6317         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6318         * gst/gstelement.c: (gst_element_commit_state),
6319         (gst_element_lost_state):
6320         * gst/gstmessage.c: (gst_message_new_state_changed),
6321         (gst_message_parse_state_changed):
6322         * gst/gstmessage.h:
6323         * tools/gst-launch.c: (event_loop):
6324         Added extra field to STATE_CHANGE message with the pending
6325         state, which will be different from the new state soon.
6326
6327 2005-10-08  Wim Taymans  <wim@fluendo.com>
6328
6329         * gst/gstbus.c: (gst_bus_pop):
6330         * gst/gstclock.c:
6331         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6332         Small cleanups and doc updates.
6333
6334 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6335
6336         * gst/gst.c: (init_pre):
6337         * gst/gstbin.c: (gst_bin_add_func):
6338           log distributing clocks and base time
6339         * gst/gstregistry.c: (gst_registry_add_plugin),
6340         (gst_registry_scan_path_level), (gst_registry_scan_path):
6341           clean up the debugging output a little
6342         * gst/gstutils.c: (gst_element_state_get_name):
6343           warn about a memleak (I've actually seen this be used, though
6344           it was probably a bug)
6345
6346 2005-10-07  Wim Taymans  <wim@fluendo.com>
6347
6348         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6349         (gst_base_src_init), (gst_base_src_default_newsegment),
6350         (gst_base_src_newsegment), (gst_base_src_do_seek),
6351         (gst_base_src_loop), (gst_base_src_start):
6352         * gst/base/gstbasesrc.h:
6353         Make the newsegment event customizable by subclasses.
6354
6355 2005-10-07  Wim Taymans  <wim@fluendo.com>
6356
6357         * gst/gstevent.c: (gst_event_new_buffersize),
6358         (gst_event_parse_buffersize):
6359         * gst/gstevent.h:
6360         New event for future idea.
6361
6362 2005-10-07  Andy Wingo  <wingo@pobox.com>
6363
6364         * gst/gstelement.c (gst_element_post_message): Doc update.
6365
6366         * docs/gst/gstreamer-sections.txt: Update.
6367
6368         * gst/gstmessage.c (gst_message_new_application): Made into a
6369         function like honest API calls.
6370         (gst_message_new_element): New message type.
6371
6372         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6373
6374         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6375         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6376         times.
6377
6378         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6379         NO_PREROLL from gst_element_change_state to fall through.
6380
6381 2005-10-07  Wim Taymans  <wim@fluendo.com>
6382
6383         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6384         (gst_ghost_pad_do_activate_push):
6385         Activating a ghostpad with no internal pad in push mode
6386         is ok.
6387
6388 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * gst/gstobject.h:
6391           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6392           Fixes compilation on Windows.
6393
6394 2005-10-07  Michael Smith <msmith@fluendo.com>
6395
6396         * tools/gst-inspect.c:
6397           Print out feature and plugin count at the end when printing out
6398           all features.
6399
6400 2005-10-04  Michael Smith <msmith@fluendo.com>
6401
6402         * gst/gsterror.c: (_gst_stream_errors_init):
6403           Add another error string used in a few existing plugins.
6404
6405         * gst/gstplugin.c:
6406         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6407         * tools/gst-inspect.c: (print_element_info):
6408           When a feature disappears from a plugin (and the feature exists in
6409           the cached registry file), things went horribly wrong. This isn't a
6410           complete fix, we should actually be removing the 'missing' features
6411           from the features list when we load the actual plugin. That's not
6412           yet implemented. 
6413
6414 2005-10-04  Johan Dahlin  <johan@gnome.org>
6415
6416         * check/gst/gstiterator.c: (GST_START_TEST):
6417         * gst/gstbin.c: (gst_bin_iterate_elements),
6418         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6419         * gst/gstelement.c: (gst_element_iterate_pads):
6420         * gst/gstformat.c: (gst_format_iterate_definitions):
6421         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6422         (gst_iterator_new_list), (gst_iterator_filter):
6423         * gst/gstiterator.h:
6424         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6425         Add a GType to GstIterator, update callsites and tests.
6426
6427 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6428
6429         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6430           give events a chance to be handled by event probes when the pad
6431           is not linked
6432
6433 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6434
6435         * gst/gstevent.c: (gst_event_type_get_name),
6436         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6437         * gst/gstevent.h:
6438           add string representations for event types
6439
6440 2005-10-06  Wim Taymans  <wim@fluendo.com>
6441
6442         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6443         Don't use NULL pointers.
6444
6445 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6446
6447         * gst/gst_private.h:
6448         * gst/gstbus.c:
6449         * gst/gstelement.c:
6450         * gst/gstinfo.c:
6451         * gst/gstpluginfeature.c:
6452           widen the debug category in output to fit the biggest one we have
6453           add a bus category and use it
6454           play with the colors
6455           fix up some categories
6456
6457 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6458
6459         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6460           add push activation of sink ghost pads.
6461           Andye, please verify
6462
6463 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6464
6465         * gst/gstutils.c: (gst_element_link_pads):
6466           fix a bug in the case where neither element has a pad
6467         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6468           add a test for that case
6469
6470 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6471
6472         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6473           emit have-data before checking for peers.  This allows
6474           for probe handlers to connect elements.  This helps autopluggers.
6475         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6476         (gst_pad_suite):
6477           add six checks, linked/unlinked with no/true/false probe
6478
6479 2005-10-04  Wim Taymans  <wim@fluendo.com>
6480
6481         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6482         (gst_fake_sink_event), (gst_fake_sink_preroll),
6483         (gst_fake_sink_render), (gst_fake_sink_change_state):
6484         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6485         (gst_fake_src_get_property), (gst_fake_src_create),
6486         (gst_fake_src_stop):
6487         * gst/elements/gstidentity.c: (gst_identity_stop):
6488         Protect last_message with lock.
6489
6490 2005-10-04  Edward Hervey  <edward@fluendo.com>
6491
6492         * gst/gstformat.h: 
6493         Added precision in the comments for GST_FORMAT_DEFAULT
6494
6495 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * tools/gst-launch.c: (main):
6498           Don't try to run erroneous pipelines.
6499
6500 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6501
6502         * gst/gstbus.c: We don't need this header.
6503
6504 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6505
6506         * configure.ac:
6507           back to development
6508
6509 === release 0.9.3 ===
6510
6511 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * README:
6514         * configure.ac:
6515           Releasing 0.9.3, "Unregistered"
6516
6517 2005-10-03  Andy Wingo  <wingo@pobox.com>
6518
6519         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6520         whereby calling a pad's activatepush() function can start a thread
6521         that starts to push or pull before the pad gets the FLUSHING flag
6522         unset. Hack around it by holding the stream lock until the flag is
6523         set. Need to replace this with a proper solution. Together with
6524         the ghost pad fixes, this fixes mp3 playing/tagreading.
6525
6526         * docs/design/part-gstghostpad.txt: Add a note about activation of
6527         proxy pads outside of ghost pads.
6528
6529         * gst/gstghostpad.c: Implement the ghost pad activation design.
6530
6531 2005-10-02  Andy Wingo  <wingo@pobox.com>
6532
6533         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6534         It is volatile, after all.
6535
6536         * docs/design/part-gstghostpad.txt: Flesh out activation with
6537         ghost pads.
6538
6539         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6540         GST_DEBUG_FUNCPTR.
6541
6542 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6543
6544         * configure.ac:
6545           Fix (unused) AM_CONDITIONAL tests.
6546
6547 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6548
6549         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6550
6551         * gst/gstutils.c: (gst_pad_query_convert):
6552           Add assertion that makes sure src_val is >=0, just like
6553           gst_query_new_convert() has. (#315895)
6554
6555 2005-09-30  Edward Hervey  <edward@fluendo.com>
6556
6557         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6558         Let's not iterate pads we're not interested in, it avoids getting 
6559         sky-high refcounts on sinkpad.
6560
6561 2005-09-30  Wim Taymans  <wim@fluendo.com>
6562
6563         * gst/gstelement.c: (gst_element_set_state),
6564         (gst_element_change_state):
6565         Small tweak, element in ASYNC remains ASYNC.
6566
6567 2005-09-30  Wim Taymans  <wim@fluendo.com>
6568
6569         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6570         Only error is an error.
6571
6572         * gst/gstbin.c: (gst_bin_change_state):
6573         Better debugging.
6574
6575         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6576         Also call pad_block in pad alloc.
6577
6578         * gst/gstutils.c: (gst_flow_get_name):
6579         Better debugging.
6580
6581 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6582
6583         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6584         (gst_base_src_get_range):
6585           Fix documentation typos. Add some more debug info.
6586
6587 2005-09-29  David Schleef  <ds@schleef.org>
6588
6589         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6590           more end-user friendly.
6591         * tools/gst-inspect.c: (main): Check if command-line argument is
6592           a file and attempt to load that file as a plugin.
6593
6594 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * check/gst/gstbin.c:
6597         * check/states/sinks.c:
6598           fix tests for the new warning
6599         * check/gst/gstpipeline.c:
6600           add a test for pipeline and bus interaction
6601         * gst/gstelement.c:
6602           elements should be NULL if they get disposed; add a warning if not
6603
6604 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6605
6606         * gst/gstobject.c:
6607           for 2.6 refcounting, make debug log more correct by printing
6608           the actual refcounts at the time of swap (Wim)
6609
6610 2005-09-29  Andy Wingo  <wingo@pobox.com>
6611
6612         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6613         removes signal watches previously added via
6614         gst_bus_add_signal_watch.
6615         (gst_bus_add_signal_watch): Don't return the source id, just store
6616         it on the bus if there wasn't an id already.
6617
6618         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6619         add_signal_watch and remove_signal_watch.
6620
6621 2005-09-29  Edward Hervey  <edward@fluendo.com>
6622
6623         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6624         Better if we actually iterate the list :)
6625
6626 2005-09-29  Wim Taymans  <wim@fluendo.com>
6627
6628         * check/gst/gstbin.c: (GST_START_TEST):
6629         Change for new bus API.
6630
6631         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6632         (send_messages), (GST_START_TEST), (gstbus_suite):
6633         Change for new bus signal API.
6634
6635         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6636         (gst_bus_source_prepare), (gst_bus_source_check),
6637         (gst_bus_create_watch), (gst_bus_add_watch_full),
6638         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6639         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6640         * gst/gstbus.h:
6641         Remove support for multiple GSources operating on different
6642         message types as it is too complex and unneeded when using
6643         signals.
6644         Added support for receiving signals from the bus.
6645
6646 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * docs/libs/tmpl/gstdataprotocol.sgml:
6649         * docs/manual/advanced-dataaccess.xml:
6650         * gst/elements/gstcapsfilter.c:
6651         * gst/gstutils.c:
6652           rename filter-caps to caps property
6653
6654 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6655
6656         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6657           More robust fraction string parsing.
6658
6659         * docs/pwg/appendix-porting.xml:
6660           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6661
6662 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6663
6664         * gst/gstcaps.c: (gst_caps_do_simplify):
6665           Thou shalt not free a structure and then continue using it
6666           in the next loop iteration.
6667
6668         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6669         (gst_caps_suite):
6670           Add test case for caps simplification.
6671
6672 2005-09-29  Wim Taymans  <wim@fluendo.com>
6673
6674         * check/gst/gstbin.c: (GST_START_TEST):
6675         Oops.
6676
6677 2005-09-29  Wim Taymans  <wim@fluendo.com>
6678
6679         * check/gst/gstbin.c: (GST_START_TEST):
6680         Add bus to bin.
6681
6682         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6683         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6684         (find_element), (gst_bin_sort_iterator_next),
6685         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6686         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6687         (gst_bin_change_state), (gst_bin_dispose):
6688         A bin does not have a bus, it gets the bus from the parent.
6689
6690         * gst/gstelement.c: (gst_element_requires_clock),
6691         (gst_element_provides_clock), (gst_element_is_indexable),
6692         (gst_element_is_locked_state), (gst_element_change_state),
6693         (gst_element_set_bus_func):
6694         Small cleanups.
6695
6696         * gst/gstpipeline.c: (gst_pipeline_class_init),
6697         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6698         The pipeline provides a bus.
6699
6700 2005-09-28  Johan Dahlin  <johan@gnome.org>
6701
6702         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6703         gst_structure_get_enum instead of gst_structure_get_int
6704
6705         * gst/gststructure.c (gst_structure_get_enum): Impl.
6706
6707         * gst/gststructure.h (gst_structure_get_enum): Add
6708
6709         * docs/gst/gstreamer-sections.txt: Ditto
6710
6711         * gst/gstmessage.c (gst_message_new_state_changed): Use
6712         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6713         which does introspection.
6714         Reviewed by Christian Schaller
6715
6716 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6717
6718         * gst/gstinfo.c: (gst_debug_log_default):
6719           don't do dummy g_strdup()s
6720         * libs/gst/controller/gstcontroller.c:
6721         (on_object_controlled_property_changed),
6722         (gst_controlled_property_new), (gst_controller_new_valist),
6723         (gst_controller_new_list),
6724         (gst_controller_remove_properties_valist), (gst_controller_set),
6725         (gst_controller_get), (gst_controller_sync_values),
6726         (gst_controller_get_value_array), (_gst_controller_class_init),
6727         (gst_controller_get_type):
6728         * libs/gst/controller/gstcontroller.h:
6729         * libs/gst/controller/gstinterpolation.c:
6730         (gst_controlled_property_find_timed_value_node):
6731           convert // to /**/ comments
6732
6733 2005-09-28  Wim Taymans  <wim@fluendo.com>
6734
6735         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6736         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6737         (gst_bus_sync_signal_handler):
6738         * gst/gstbus.h:
6739         Added async-message and sync-message signals to the bus.
6740         Added helper BusFunc to emit signals for all posted messages.
6741
6742         * gst/gstmessage.c: (gst_message_type_get_name),
6743         (gst_message_type_to_quark), (gst_message_get_type):
6744         * gst/gstmessage.h:
6745         Register quarks for message names.
6746
6747 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6748
6749         * docs/libs/gstreamer-libs-sections.txt:
6750         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6751         (gst_controller_new_list):
6752         * libs/gst/controller/gstcontroller.h:
6753           added another constructor for language bindings
6754
6755 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6758           add another check
6759         * gst/gstbus.c:
6760           add some doc
6761         * gst/gstinfo.c: (_gst_debug_init):
6762           slightly more readable color for refcount debugging
6763
6764 2005-09-28  Wim Taymans  <wim@fluendo.com>
6765
6766         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6767         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6768         (find_element), (gst_bin_sort_iterator_next),
6769         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6770         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6771         (gst_bin_change_state), (gst_bin_dispose):
6772         Small doc fixes. get_clock -> provide_clock.
6773
6774         * gst/gstelement.c: (gst_element_class_init),
6775         (gst_element_provides_clock), (gst_element_provide_clock),
6776         (gst_element_get_clock), (gst_element_commit_state),
6777         (gst_element_lost_state):
6778         * gst/gstelement.h:
6779         Make get/set_clock() symetric. Add provide_clock vmethod since
6780         that is actually what this function does.
6781
6782         * gst/gstpipeline.c: (gst_pipeline_class_init),
6783         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6784         (gst_pipeline_get_clock):
6785         get_clock -> provide_clock.
6786
6787 2005-09-28  Andy Wingo  <wingo@pobox.com>
6788
6789         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6790         lieu of real docs...
6791
6792         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6793
6794 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6795
6796         * gst/elements/gstcapsfilter.c:
6797         * gst/elements/gstfakesink.c:
6798         * gst/elements/gstfakesrc.c:
6799         * gst/elements/gstfdsink.c:
6800         * gst/elements/gstfdsrc.c:
6801         * gst/elements/gstfilesink.c:
6802         * gst/elements/gstfilesrc.c:
6803         * gst/elements/gstidentity.c:
6804         * gst/elements/gsttee.c:
6805         * gst/elements/gsttypefindelement.c:
6806           Make element details static.
6807
6808 2005-09-28  Wim Taymans  <wim@fluendo.com>
6809
6810         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6811         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6812         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6813         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6814         (gst_bin_change_state), (gst_bin_dispose):
6815         Some documentation updates.
6816         Clean up dispose handlers.
6817
6818         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6819         * gst/gstpad.c: (gst_pad_dispose):
6820         Clean up dispose handler.
6821
6822         * gst/gstpipeline.c: (gst_pipeline_change_state):
6823         Removed spurious UNLOCK.
6824
6825 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6826
6827         * docs/gst/gstreamer-sections.txt:
6828         * gst/base/gstbasesrc.h:
6829         * gst/gstelement.h:
6830         * gst/gstevent.h:
6831         * gst/gstobject.h:
6832         * gst/gstpad.h:
6833         * gst/gstpipeline.c:
6834         * gst/gstpipeline.h:
6835         * gst/gstutils.h:
6836         * gst/gstxml.h:
6837           added two new functions to the docs
6838                 documents all undocumented GstXXXFlags
6839                 completed some incomplete docs 
6840
6841 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6842
6843         * gst/gstbin.c: (gst_bin_dispose):
6844         * gst/gstelement.c: (gst_element_dispose):
6845           remove now useless and leaky resurrection code in dispose
6846         * gst/base/gstbasesrc.c: (gst_base_src_init):
6847         * gst/gstelementfactory.c: (gst_element_factory_create):
6848         * gst/gstobject.c: (gst_object_set_parent):
6849           add some debugging
6850
6851 2005-09-27  Wim Taymans  <wim@fluendo.com>
6852
6853         * docs/design/part-TODO.txt:
6854         Update TODO.
6855
6856         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6857         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6858         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6859         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6860         (gst_bin_change_state):
6861         * gst/gstelement.h:
6862         Remove element variable, we keep element info in the iterator now.
6863
6864 2005-09-27  Andy Wingo  <wingo@pobox.com>
6865
6866         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6867         values.
6868
6869 2005-09-27  Wim Taymans  <wim@fluendo.com>
6870
6871         * check/gst/gstbin.c: (GST_START_TEST):
6872         Enable check that works now.
6873
6874         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6875         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6876         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6877         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6878         (gst_bin_change_state):
6879         * gst/gstbin.h:
6880         Redid the state change algorithm using a topological sort algo.
6881         Handles all cases correctly.
6882         Exposed iterator for state change order.
6883
6884         * gst/gstelement.h:
6885         Temp storage for state changes. Need to get rid of this soon.
6886
6887 2005-09-27  Wim Taymans  <wim@fluendo.com>
6888
6889         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6890         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6891         (link_fold_func), (gst_pad_proxy_setcaps):
6892         Leak fixes, the fold functions need to unref the passed object and
6893         _get_parent_*() returns ref to parent.
6894
6895 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6896
6897         * check/gst/gstbuffer.c: (test_make_writable):
6898           Plug leak in test case and fix 'make check-valgrind'
6899
6900 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6901
6902         * gst/gstbuffer.c: (gst_subbuffer_init):
6903           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6904           works correctly in all circumstances (we could have just copied
6905           the parent buffer's readonly flag, but conceptually it seems
6906           cleaner to mark all subbuffers as read-only). (based on patch
6907           by Alessandro Decina, #314710).
6908         
6909         * check/gst/gstbuffer.c: (create_read_only_buffer),
6910         (test_make_writable), (test_subbuffer_make_writable),
6911         (gst_test_suite):
6912           Add some tests for gst_buffer_make_writable().
6913
6914 2005-09-27  Wim Taymans  <wim@fluendo.com>
6915
6916         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6917         use gst_object_has_ancestor().
6918
6919         * gst/gstobject.c: (gst_object_has_ancestor):
6920         * gst/gstobject.h:
6921         gst_object_has_ancestor() copied from gstbin.c as it is a
6922         usefull function.
6923
6924         * tests/instantiate/create.c: (create_all_elements):
6925         * tests/lat.c: (handoff_src), (handoff_sink):
6926         * tests/sched/runxml.c: (main):
6927         * tests/seeking/seeking1.c: (main):
6928         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6929         (main):
6930         Fix compilation of some tests.
6931
6932 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6933
6934         * gst/gsterror.h:
6935           Remove comment. GST_TYPE_G_ERROR is here to stay,
6936           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6937           (#316961, #300610).
6938
6939 2005-09-26  Wim Taymans  <wim@fluendo.com>
6940
6941         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6942         Added check that shows error in state change order.
6943
6944 2005-09-26  Wim Taymans  <wim@fluendo.com>
6945
6946         * gst/gstbin.c: (gst_bin_change_state):
6947         Make state change function use 3 queues again, we were
6948         adding elements in the wrong order.
6949
6950         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6951         Some debug info,
6952
6953         * gst/gstpad.c: (gst_pad_dispose):
6954         Added some debug info first.
6955
6956 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6957
6958         * docs/design/draft-push-pull.txt:
6959         * docs/design/part-events.txt:
6960         * docs/design/part-overview.txt:
6961         * docs/design/part-scheduling.txt:
6962           Replace all _pull_region() with _pull_range()
6963           
6964 2005-09-26  Andy Wingo  <wingo@pobox.com>
6965
6966         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6967
6968         * check/gst-libs/controller.c: Update for controller api change.
6969
6970         * configure.ac: 
6971         * tests/Makefile.am:
6972         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6973         over by GLib bug 118439.
6974         
6975         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6976         routines to a function.
6977
6978         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6979
6980         * libs/gst/controller/gsthelper.c:
6981         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6982         (gst_object_sync_values): Renamed from sink_values. Ugh.
6983
6984         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6985
6986         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6987         Renamed from controller_key, as it is exported.
6988
6989         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6990
6991 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6992
6993         * gst/Makefile.am:
6994         * gst/gst.h:
6995         * gst/gstpad.h:
6996         * gst/gstpadtemplate.h:
6997         * gst/gstquery.c:
6998         * gst/gstquery.h:
6999         * gst/gstqueryutils.c:
7000         * gst/gstqueryutils.h:
7001           remove queryutils headers after moving the two used functions
7002           to gstquery.  also fixes build problem for gstsiddec
7003
7004 2005-09-26  Michael Smith <msmith@fluendo.com>
7005
7006         * tools/gst-launch.1.in:
7007         Correct documentation in manpage of debug syntax
7008
7009 2005-09-26  Wim Taymans  <wim@fluendo.com>
7010
7011         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7012         (gst_base_src_is_seekable), (gst_base_src_change_state):
7013         Some more debugging info.
7014
7015 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7016
7017         * docs/gst/gstreamer-sections.txt:
7018         * gst/base/gstbasetransform.h:
7019         * gst/gstindex.h:
7020           added more docs
7021
7022 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7023
7024         * docs/gst/.cvsignore:
7025         * docs/gst/tmpl/.cvsignore:
7026         * docs/gst/tmpl/gstpipeline.sgml:
7027         * docs/gst/tmpl/gstplugin.sgml:
7028         * gst/gstpipeline.c:
7029         * gst/gstplugin.c:
7030         * gst/gstplugin.h:
7031           inlined the last two docs files
7032           removed the tmpl directory from cvs (no more conflicts here!)
7033
7034 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7035
7036         * docs/gst/gstreamer-sections.txt:
7037         * docs/gst/tmpl/.cvsignore:
7038         * docs/gst/tmpl/gstpad.sgml:
7039         * docs/gst/tmpl/gstpadtemplate.sgml:
7040         * gst/Makefile.am:
7041         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7042         (gst_pad_finalize), (gst_pad_set_pad_template):
7043         * gst/gstpad.h:
7044         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7045         (gst_pad_template_class_init), (gst_pad_template_init),
7046         (gst_pad_template_dispose), (name_is_valid),
7047         (gst_static_pad_template_get), (gst_pad_template_new),
7048         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7049         (gst_pad_template_pad_created):
7050         * gst/gstpadtemplate.h:
7051           inlined two more docs
7052           factored gstpadtemplate out of gstpad
7053
7054 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7055
7056         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7057         (test_children_state_change_order_semi_sink):
7058           Fix test case: we can't rely on a fixed state change order when
7059           going from READY => PAUSED because the sink might commit its 
7060           new state first when the first buffer created by the source 
7061           reaches the sink before the source has finished its change state.
7062           (Test case still fails at times, see #316856, comment 5 onwards)
7063
7064 2005-09-24  Wim Taymans  <wim@fluendo.com>
7065
7066         * docs/design/part-events.txt:
7067         * docs/design/part-gstbus.txt:
7068         * docs/design/part-gstpipeline.txt:
7069         * docs/design/part-messages.txt:
7070         * docs/design/part-overview.txt:
7071         * docs/design/part-segments.txt:
7072         * gst/gstbin.c:
7073         * gst/gstbuffer.c:
7074         * gst/gstclock.c:
7075         * gst/gstelement.c:
7076         * gst/gstevent.c:
7077         * gst/gstfilter.c:
7078         * gst/gstiterator.c:
7079         Various documentation updates.
7080
7081 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7082
7083         * gst/gstclock.h:
7084           Well, that's embarassing.  Luckily we weren't using
7085           GST_CLOCK_DIFF anywhere.
7086
7087 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7088
7089         * common/gtk-doc.mak:
7090           don't fail on building XML, FC4 slave shows a bunch of doc
7091           missing bits that I don't get
7092         * gst/gstpad.c:
7093         * gst/gstpipeline.c:
7094         * gst/gststructure.c:
7095           some doc updates
7096
7097 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7098
7099         * docs/design/part-gstbin.txt:
7100         * docs/design/part-gstbus.txt:
7101         * gst/gstbus.c:
7102           Add blurb about how the bus goes into flushing mode and
7103           drops all messages when its bin goes from READY into NULL 
7104           state.
7105
7106 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7107
7108         * docs/gst/gstreamer-sections.txt:
7109         * gst/gststructure.c: (gst_structure_get_clock_time):
7110         * gst/gststructure.h:
7111           add a method to get a GstClockTime out of a structure
7112
7113 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7114
7115         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7116         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7117           Added test to check state change order in bins (can still be made
7118           to fail here under heavy disk load; bails out with 'Push on pad
7119           fakesink:sink0, but it was not activated in push mode').
7120
7121         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7122           Fix state change order when there is only a semi sink (#316856)
7123
7124         * gst/gstbus.c: (gst_bus_class_init):
7125           Use _class_peek_parent(), not _class_ref(); fix docs to say
7126           'default main context' instead of 'mainloop' where that is
7127           what's meant.
7128
7129         * gst/gstelement.c: (gst_element_commit_state),
7130         (gst_element_set_state):
7131           Fix typos in debug messages
7132
7133 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7134
7135         * docs/README:
7136         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7137         * gst/gstpluginfeature.c:
7138         * gst/gstutils.c:
7139           various doc updates
7140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7141           change an assert into an error until it gets fixed properly
7142
7143 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7144
7145         * docs/gst/gstreamer-sections.txt:
7146         * docs/gst/tmpl/.cvsignore:
7147         * docs/gst/tmpl/gstelement.sgml:
7148         * docs/gst/tmpl/gstinfo.sgml:
7149         * docs/gst/tmpl/gstobject.sgml:
7150         * gst/gstelement.c:
7151         * gst/gstelement.h:
7152         * gst/gstinfo.c:
7153         * gst/gstinfo.h:
7154         * gst/gstobject.c: (gst_object_class_init):
7155         * gst/gstobject.h:
7156           inlined 3 more biiiig doc files and added some missing docs on the fly
7157
7158 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7159
7160         * check/gst/.cvsignore:
7161         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7162         * gst/gstregistryxml.c: (load_plugin),
7163         (gst_registry_xml_save_plugin):
7164           put back source in registry.  add checks for find_plugin.
7165         * testsuite/states/bin.c: (assert_state), (empty_bin),
7166         (test_adding_one_element), (main):
7167         * testsuite/states/locked.c: (main):
7168           some compile/run fixes
7169
7170 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7171
7172         * check/gst/gstvalue.c: (GST_START_TEST):
7173           fix leaks in the test itself
7174
7175 2005-09-22  Wim Taymans  <wim@fluendo.com>
7176
7177         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7178         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7179         (gst_base_sink_query):
7180         Prepare for more accurate position reporting and query
7181         handling.
7182
7183         * gst/gstelement.c: (gst_element_send_event),
7184         (gst_element_set_state):
7185         Add some comment.
7186
7187 2005-09-22  Wim Taymans  <wim@fluendo.com>
7188
7189         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7190         (gst_query_parse_segment):
7191         * gst/gstquery.h:
7192         More documentation.
7193         Add segment query for future use.
7194
7195 2005-09-22  Wim Taymans  <wim@fluendo.com>
7196
7197         * gst/gstbin.c: (gst_bin_add_func):
7198         Some more debug info.
7199
7200         * gst/gstelement.c: (gst_element_send_event):
7201         Simplify send_event
7202
7203         * gst/gstelement.h:
7204         Don't know how flags got broken.
7205
7206         * gst/gstquery.h:
7207         Added new query.
7208
7209 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7210
7211         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7212           Add simplistic test suite for GST_TYPE_DATE serialisation and
7213           deserialisation.
7214
7215 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7216
7217         * docs/gst/gstreamer-sections.txt:
7218         * gst/gststructure.c: (gst_structure_set_valist),
7219         (gst_structure_get_date):
7220         * gst/gststructure.h:
7221         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7222         (gst_date_copy), (gst_value_compare_date),
7223         (gst_value_serialize_date), (gst_value_deserialize_date),
7224         (gst_value_transform_date_string),
7225         (gst_value_transform_string_date), (_gst_value_initialize):
7226         * gst/gstvalue.h:
7227           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7228           bunch of utility functions along with a hack that checks that
7229           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7230           is required. Part of the grand scheme in #170777.
7231
7232 2005-09-22  Andy Wingo  <wingo@pobox.com>
7233
7234         * gst/gstconfig.h.in: Psych out gtk-doc.
7235
7236         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7237
7238         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7239
7240         * tools/gst-inspect.c (print_element_list): Plug some
7241         inconsequential leaks.
7242
7243         * gst/gstregistry.c (gst_registry_get_default): Doc.
7244
7245         * check/gst/gstplugin.c: 
7246         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7247         * gst/gstelementfactory.c (gst_element_factory_create): 
7248         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7249         refcount changes.
7250
7251         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7252         (gst_plugin_feature_load): Doc, don't eat refs.
7253
7254         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7255         (gst_plugin_list_free): Doc.
7256         (gst_plugin_load_file): Doc updates.
7257
7258         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7259         accessors returning refcounted objects, return a ref.
7260
7261         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7262         accessor for caps. IDEMPOTENCE. Oh yes.
7263
7264 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7265
7266         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7267
7268         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7269         (_gst_debug_register_funcptr):
7270           Add mutex to serialise access to the hash table with
7271           the function pointer => function name string mapping;
7272           make that hash table static scope (#316809).
7273
7274         * gst/registries/.cvsignore:
7275           Remove left-over file.
7276
7277 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7278
7279         * docs/pwg/appendix-porting.xml:
7280           And something about newsegment events and caps-on-buffers to
7281           the porting guide (feel free to improve).
7282
7283 2005-09-21  Andy Wingo  <wingo@pobox.com>
7284
7285         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7286         data and event probes on the same pad.
7287         (test_buffer_probe_once): Test that removing probes from within
7288         the probe functions works.
7289
7290 2005-09-21  Andy Wingo  <wingo@pobox.com>
7291
7292         * check/gst/gstutils.c: New file.
7293         (test_buffer_probe_n_times): A simple buffer probe test. More to
7294         come, foolios.
7295
7296         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7297         have-data::buffer, not have-data.
7298         (gst_pad_add_event_probe): Likewise for have-data::event.
7299         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7300         peer' isn't quite right yet though.
7301         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7302         (gst_pad_remove_data_probe): Change to take the guint handler_id
7303         as their arg, not the function+data, which is more glib-like.
7304
7305         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7306         the signal emission to indicate if the data is a buffer or an
7307         event.
7308         (gst_pad_get_type): Initialize buffer and event quarks.
7309         (gst_pad_class_init): have-data is now a detailed signal, yes it
7310         is.
7311
7312 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7313
7314         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7315         * gst/gstutils.c: (gst_util_set_value_from_string),
7316         (gst_util_set_object_arg):
7317           Don't put functional code in g_return_if_fail() or
7318           g_return_val_if_fail() statements, otherwise things will 
7319           break when G_DISABLE_CHECKS is defined during compilation.
7320
7321 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7322
7323         * docs/gst/tmpl/.cvsignore:
7324         * docs/gst/tmpl/gstvalue.sgml:
7325         * gst/gstvalue.c:
7326         * gst/gstvalue.h:
7327           inlied another one and added  some obvious docs
7328
7329 2005-09-21  Wim Taymans  <wim@fluendo.com>
7330
7331         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7332         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7333         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7334         (gst_fdsrc_get_property), (gst_fdsrc_create):
7335         * gst/elements/gstfdsrc.h:
7336         Properly implement fdsrc. Removed signal and timeout,
7337         better implemented somewhere else.
7338
7339 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7340
7341         * docs/gst/tmpl/.cvsignore:
7342         * docs/gst/tmpl/gstimplementsinterface.sgml:
7343         * gst/gstinterface.c:
7344           inlined more docs
7345
7346 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7347
7348         * docs/gst/gstreamer-sections.txt:
7349         * docs/gst/tmpl/.cvsignore:
7350         * docs/gst/tmpl/gstenumtypes.sgml:
7351           remove obsolete doc file
7352
7353 2005-09-21  David Schleef  <ds@schleef.org>
7354
7355         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7356         little beer, fix a little leak.
7357
7358 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7359
7360         * docs/gst/gstreamer-docs.sgml:
7361         * docs/gst/gstreamer-sections.txt:
7362         * docs/gst/tmpl/.cvsignore:
7363         * gst/Makefile.am:
7364         * gst/gst.h:
7365         * gst/gstbin.c:
7366         * gst/gstelement.h:
7367         * gst/gstindex.c: (gst_index_class_init):
7368         * gst/gstindex.h:
7369         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7370         (gst_index_factory_class_init), (gst_index_factory_init),
7371         (gst_index_factory_finalize), (gst_index_factory_new),
7372         (gst_index_factory_destroy), (gst_index_factory_find),
7373         (gst_index_factory_create), (gst_index_factory_make):
7374         * gst/gstindexfactory.h:
7375         * gst/gstpluginfeature.c:
7376         * gst/gstpluginfeature.h:
7377         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7378           more docs inlined, splitted gstindex.{c,h}
7379
7380 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7381
7382         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7383           fix a leak
7384
7385 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7386
7387         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7388           Set sync to FALSE by default.
7389
7390 2005-09-20  Wim Taymans  <wim@fluendo.com>
7391
7392         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7393         (gst_base_sink_init):
7394         Make sync property settable from subclass.
7395
7396         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7397         (gst_fake_sink_change_state):
7398         Set sync to FALSE by default.
7399
7400 2005-09-20  Wim Taymans  <wim@fluendo.com>
7401
7402         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7403         * tools/gst-launch.c: (main):
7404         The timeout handler should have lower priority than the source
7405         so we don't timeout before popping a message with 0 timeout.
7406         Dump error messages after failed state change.
7407
7408 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7409
7410         * tools/gst-inspect.c: (print_element_properties_info):
7411           Fix two typos.
7412
7413 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7414
7415         * check/gst/gstevent.c:
7416         * gst/elements/gstfakesink.c:
7417         * gst/elements/gstfakesink.h:
7418           remove the sync property from fakesink.
7419           has the side effect of setting sync TRUE
7420           for fakesink, which is a change.  Anyone who knows how
7421           to fix this nicely in a GObject-y way, feel free.
7422
7423 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7424
7425         * docs/gst/gstreamer-docs.sgml:
7426           remove probe refsection
7427
7428 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7429
7430         * check/Makefile.am:
7431           disable valgrinding the controller test again
7432         * docs/gst/gstreamer-sections.txt:
7433           update for api-changes
7434
7435 2005-09-20  Wim Taymans  <wim@fluendo.com>
7436
7437         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7438         (gst_base_sink_set_property), (gst_base_sink_get_property),
7439         (gst_base_sink_do_sync):
7440         * gst/base/gstbasesink.h:
7441         Added sync property to basesink to disable clock sync.
7442
7443 2005-09-20  Andy Wingo  <wingo@pobox.com>
7444
7445         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7446         eating the caller's refcount.
7447
7448         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7449         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7450         refcount.
7451
7452         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7453         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7454         of GLib 2.8 public, so we can know which refcount to check in
7455         tests.
7456
7457         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7458         (gst_object_init): Only set the gst refcount if we're going ahead
7459         with the refcount hack.
7460
7461 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7462
7463         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7464         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7465           more leaks plumbed, added more debug-logging
7466         * gst/gstmacros.h:
7467           whitespace fix
7468
7469 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7470
7471         * gst/gstmessage.c:
7472           remove include of gstmemchunk.h
7473
7474 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7475
7476         * gst/gstclock.c: (_gst_clock_id_free):
7477           Commit from the Political Party For More Atomic CVS Commits,
7478           so that people don't waste too much of their day fishing
7479           out obvious leaks out of massive commits.
7480           Oh, and fix a pretty damn obvious leak in the memchunk
7481           removal code.
7482
7483 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7484
7485         * check/Makefile.am:
7486         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7487           plug mem-leak, re-add to valgrindable tests
7488
7489 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7490
7491         * gst/gstplugin.h:
7492           unbreak the build for those who have chronic arthritis
7493           and typing "make check" is just too taxing on the hands
7494
7495 2005-09-20  Andy Wingo  <wingo@pobox.com>
7496
7497         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7498         really want it out, you should fix plugins at the same time.
7499
7500 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * configure.ac:
7503         * docs/gst/gstreamer-sections.txt:
7504         * gst/gstobject.c:
7505           added missing symbols to api docs
7506           disable ref-count hack if we have glib >= 2.8
7507
7508 2005-09-19  David Schleef  <ds@schleef.org>
7509
7510         * docs/gst/Makefile.am: Ignore a few more internal headers
7511         * docs/gst/gstreamer-docs.sgml: Remove old sections
7512         * docs/gst/gstreamer-sections.txt: Remove old sections
7513         * docs/gst/tmpl/gstobject.sgml: update
7514         * docs/gst/tmpl/gstplugin.sgml: update
7515         * docs/gst/tmpl/gstpluginfeature.sgml: update
7516         * docs/random/ds/0.9-suggested-changes: update.
7517         * gst/Makefile.am: remove memchunk and trashstack, since they're
7518           not used.
7519         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7520         * gst/gst.h: don't include some headers
7521         * gst/gstchildproxy.c: add gstmarshal.h
7522         * gst/gstclock.c: Don't use memchunks
7523         * gst/gstminiobject.c: Add some docs
7524         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7525         * gst/gstobject.h: same
7526         * gst/gstplugin.c: include gstmacros.h
7527         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7528         * gst/gstquery.c: don't use memchunks
7529         * gst/gstregistry.c: rename gst_registry_deinit()
7530         * gst/gstregistry.h: same
7531
7532 2005-09-19  David Schleef  <ds@schleef.org>
7533
7534         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7535         * docs/libs/gstreamer-libs-sections.txt:
7536         * docs/libs/tmpl/gstgetbits.sgml:
7537         * docs/libs/tmpl/gstputbits.sgml:
7538
7539 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7540
7541         * win32/gstenumtypes.c:
7542         * win32/gstenumtypes.h:
7543           Update.
7544
7545 2005-09-19  Wim Taymans  <wim@fluendo.com>
7546
7547         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7548         Automatically PAUSE and RESUME a pipeline when a flushing seek
7549         is performed.
7550
7551 2005-09-19  Andy Wingo  <wingo@pobox.com>
7552
7553         * gst/gstregistry.h: Spacing fixen.
7554
7555 2005-09-19  Wim Taymans  <wim@fluendo.com>
7556
7557         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7558         Handle state change failure more correctly.
7559
7560 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * check/Makefile.am:
7563         * check/pipelines/cleanup.c: (run_pipeline):
7564         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7565         (GST_START_TEST):
7566           enable cleanup again after fixing the leak
7567         * docs/README:
7568           some more info on docs
7569
7570 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         * check/Makefile.am:
7573           re-enable tests now that leaks are plugged
7574         * check/gst/gst.c:
7575         * check/gst/gstbin.c:
7576         * check/gst/gstpipeline.c:
7577           add some more tests while fixing leaks
7578         * common/check.mak:
7579           make sure binaries are uptodate when valgrinding/gdbing
7580         * gst/gst.c:
7581         * gst/gstelementfactory.c:
7582           remove a ref too many, and add a FIXME for when we get
7583           round to disposing of classes
7584         * gst/gstplugin.c:
7585           fix the refcounting when loading a plugin from a file and
7586           the code pretends that the pointer is the same even though
7587           of course it can change
7588         * gst/gstpluginfeature.c:
7589           unref plugins marked cached (a bit confusing as a name)
7590           as the docs state should be done
7591           various doc additions to explain refcounting
7592         * gst/gstregistry.c:
7593         * gst/gstregistryxml.c:
7594           debugging
7595
7596 2005-09-19  Wim Taymans  <wim@fluendo.com>
7597
7598         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7599         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7600         (send_messages), (GST_START_TEST), (gstbus_suite):
7601         * check/gst/gstpipeline.c: (GST_START_TEST):
7602         * check/pipelines/cleanup.c: (run_pipeline):
7603         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7604         (GST_START_TEST):
7605         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7606         (gst_bus_source_check), (gst_bus_source_dispatch),
7607         (gst_bus_create_watch), (gst_bus_add_watch_full),
7608         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7609         * gst/gstbus.h:
7610         * tools/gst-launch.c: (event_loop):
7611         * tools/gst-md5sum.c: (event_loop):
7612         GstBusHandler -> GstBusFunc, return value has the same meaning as
7613         any other GSource (FALSE == remove source).
7614         _add_watch() and _add_watch_full() now take a MessageType mask to
7615         only handle specific types of messages.
7616         _poll() returns the GstMessage instead of the message type to avoid
7617         race conditions.
7618         _have_pending() takes a MessageType mask now too.
7619         Added testsuite for multiple bus watches.
7620         Fix testsuites and applications for new bus API.
7621
7622 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         * check/Makefile.am:
7625           mark a bunch of the tests as to fix until we fix them
7626
7627 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7628
7629         * common/check.mak:
7630           use GST_PLUGIN settings for valgrind tests as well, so we're
7631           valgrinding the correct thing
7632         * gst/gst.c: (init_post):
7633           plug another leak
7634
7635 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7636
7637         * gst/gst.c: (init_post), (gst_deinit):
7638         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7639         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7640         * gst/gstindex.c: (gst_index_factory_class_init),
7641         (gst_index_factory_finalize):
7642         * gst/gstobject.c: (gst_object_dispose):
7643         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7644         (gst_plugin_load_file), (gst_plugin_desc_free):
7645         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7646         (gst_plugin_feature_finalize):
7647         * gst/gstregistry.c: (gst_registry_class_init),
7648         (gst_registry_init), (gst_registry_finalize),
7649         (gst_registry_get_default), (gst_registry_deinit):
7650         * gst/gstregistry.h:
7651         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7652           various cleanups and memleak plugging.  make valgrind is happy now.
7653
7654 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7655
7656         * common/check.mak:
7657           add a check-valgrind target
7658
7659 2005-09-18  David Schleef  <ds@schleef.org>
7660
7661         * tools/gst-inspect.c: Revert the GOption code.
7662
7663 2005-09-17  David Schleef  <ds@schleef.org>
7664
7665         * check/Makefile.am: Fix environment variables.
7666         * check/gst/gstplugin.c: Fix for API changes.
7667         * tools/gst-inspect.c: Fix for API changes.
7668         * tools/gst-xmlinspect.c: Fix for API changes.
7669         * gst/gstelementfactory.c:
7670         * gst/gstplugin.c:
7671         * gst/gstplugin.h:
7672         * gst/gstpluginfeature.c:
7673         * gst/gstpluginfeature.h:
7674         * gst/gstregistry.c:
7675         * gst/gstregistry.h:
7676         * gst/gstregistryxml.c:
7677         * gst/gsttypefind.c:
7678         * gst/gsttypefindfactory.c:
7679         * gst/indexers/gstfileindex.c:
7680         * gst/indexers/gstmemindex.c:
7681         * gst/schedulers/Makefile.am:
7682           Change registry to keep track of both plugins and features,
7683           removing the feature tracking from plugins themselves.
7684
7685 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7686
7687         * check/Makefile.am:
7688         * tools/gst-register.1.in:
7689           remove gst-register
7690
7691 2005-09-15  David Schleef  <ds@schleef.org>
7692
7693         * check/gst/gstplugin.c:
7694         * gst/gstelementfactory.c:
7695         * gst/gstplugin.c:
7696         * gst/gstpluginfeature.c:
7697         * gst/gstregistry.c:
7698           Getting tired of debugging.  Disabled all the unreffing of
7699           plugins and features, which fixes the segfaults, but of
7700           course leaks like crazy.  At least playbin works.
7701
7702 2005-09-15  David Schleef  <ds@schleef.org>
7703
7704         * check/gst/gstplugin.c: (register_check_elements),
7705         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7706         More testing
7707         * gst/elements/gsttypefindelement.c: Fix refcounting.
7708         * gst/gsttypefind.c:
7709         * gst/gsttypefindfactory.c:
7710         * gst/gsttypefindfactory.h:
7711
7712 2005-09-15  David Schleef  <ds@schleef.org>
7713
7714         * gst/gstindex.c: get refcounting correct.
7715         * gst/gstregistry.c: Handle the case where a feature/plugin is
7716           not found.
7717
7718 2005-09-15  David Schleef  <ds@schleef.org>
7719
7720         * check/Makefile.am:
7721         * check/gst/gstplugin.c: Add test
7722         * gst/gstplugin.c: Fix problems noticed by testsuite
7723         * gst/gstplugin.h:
7724         * gst/gstregistry.c: 
7725         * gst/gstregistry.h:
7726
7727 2005-09-15  David Schleef  <ds@schleef.org>
7728
7729         * gst/gstplugin.c: Implement semi-decent recounting and locking
7730           in plugins and plugin features.
7731         * gst/gstplugin.h:
7732         * gst/gstpluginfeature.c:
7733         * gst/gstpluginfeature.h:
7734         * gst/gstregistry.c:
7735
7736 2005-09-15  Michael Smith <msmith@fluendo.com>
7737
7738         * gst/gstregistry.c: (gst_registry_get_feature_list):
7739           Implement this. Makes oggdemux work; decodebin still broken.
7740
7741 2005-09-14  David Schleef  <ds@schleef.org>
7742
7743         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7744           #316076)
7745         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7746         * gst/check/Makefile.am:
7747         * libs/gst/controller/Makefile.am:
7748         * libs/gst/dataprotocol/Makefile.am:
7749
7750 2005-09-14  David Schleef  <ds@schleef.org>
7751
7752         * configure.ac: Remove getbits library.  Nothing uses it, and
7753           it should be in something like liboil if someone did want
7754           to use it.
7755         * libs/gst/Makefile.am:
7756         * libs/gst/getbits/Makefile.am:
7757         * libs/gst/getbits/gbtest.c:
7758         * libs/gst/getbits/getbits.c:
7759         * libs/gst/getbits/getbits.h:
7760         * libs/gst/getbits/gstgetbits_generic.c:
7761         * libs/gst/getbits/gstgetbits_i386.s:
7762         * libs/gst/getbits/gstgetbits_inl.h:
7763
7764 2005-09-14  David Schleef  <ds@schleef.org>
7765
7766         * gst/Makefile.am: Dist glib-compat.h
7767
7768 2005-09-14  David Schleef  <ds@schleef.org>
7769
7770         * configure.ac: Remove gst/registries, since it's no longer used.
7771         * gst/registries/Makefile.am:
7772         * gst/registries/gstlibxmlregistry.c:
7773         * gst/registries/gstlibxmlregistry.h:
7774         * gst/registries/gstxmlregistry.c:
7775         * gst/registries/gstxmlregistry.h:
7776         * gst/registries/registrytest.c:
7777
7778 2005-09-14  David Schleef  <ds@schleef.org>
7779
7780         * gst/glib-compat.h:
7781         * gst/gstregistryxml.c:
7782           Convergence is near.  Seriously.
7783
7784 2005-09-14  David Schleef  <ds@schleef.org>
7785
7786         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7787         * gst/glib-compat.h:
7788           Attempt #4 to appease the buildbots.
7789
7790 2005-09-14  David Schleef  <ds@schleef.org>
7791
7792         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7793           Attempt #3.
7794
7795 2005-09-14  David Schleef  <ds@schleef.org>
7796
7797         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7798         Attempt #2.
7799
7800 2005-09-14  David Schleef  <ds@schleef.org>
7801
7802         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7803           the new functions.
7804
7805 2005-09-14  David Schleef  <ds@schleef.org>
7806
7807         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7808         * gst/glib-compat.h: Add some functions that are in newer versions
7809           of glib than we care to require.
7810         * gst/gstregistryxml.c: Use them.
7811
7812 2005-09-14  David Schleef  <ds@schleef.org>
7813
7814         * po/POTFILES.in: remove gst-register.c
7815
7816 2005-09-14  David Schleef  <ds@schleef.org>
7817
7818         * docs/gst/gstreamer-docs.sgml:
7819         * docs/gst/gstreamer-sections.txt:
7820         * docs/gst/gstreamer.types:
7821         * docs/gst/tmpl/gstelement.sgml:
7822         * docs/gst/tmpl/gstplugin.sgml:
7823         * docs/gst/tmpl/gstpluginfeature.sgml:
7824           Documentation updates for registry changes.
7825
7826 2005-09-14  David Schleef  <ds@schleef.org>
7827
7828         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7829           because we don't require glib-2.8.
7830
7831 2005-09-14  David Schleef  <ds@schleef.org>
7832
7833         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7834           registries directory.
7835
7836 2005-09-14  David Schleef  <ds@schleef.org>
7837
7838         * check/Makefile.am:
7839         * check/generic/states.c:
7840         * gst/Makefile.am:
7841         * gst/gst.c:
7842         * gst/gst.h:
7843         * gst/gst_private.h:
7844         * gst/gstelementfactory.c:
7845         * gst/gstindex.c:
7846         * gst/gstinfo.c:
7847         * gst/gstplugin.c:
7848         * gst/gstplugin.h:
7849         * gst/gstpluginfeature.c:
7850         * gst/gstpluginfeature.h:
7851         * gst/gstregistry.c:
7852         * gst/gstregistry.h:
7853         * gst/gstregistrypool.c: remove
7854         * gst/gstregistrypool.h: remove
7855         * gst/gsttypefind.c:
7856         * gst/gsttypefindfactory.c:
7857         * gst/gsturi.c:
7858         * tools/Makefile.am:
7859         * tools/gst-compprep.c:
7860         * tools/gst-inspect.c:
7861         * tools/gst-register.c: remove
7862         * tools/gst-xmlinspect.c:
7863           Registry rewrite.  Changes registry from being a file created
7864           by a tool into a simple cache file created automatically by 
7865           libgstreamer.  Removed gst-register (because it's no longer
7866           needed).  Remove registry pools, because we only have one
7867           registry implementation (XML).  Fix up other subsystems as
7868           necessary.
7869
7870 2005-09-13  Michael Smith <msmith@fluendo.com>
7871
7872         * gst/gstconfig.h.in:
7873           Don't Use windows linking attributes for MinGW. Fixes #316157
7874
7875 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7876
7877         * gst/gstutils.c: (set_state_async_thread_func),
7878         (gst_element_set_state_async):
7879           Apparently people think it's better if this function doesn't
7880           try to set the state to whatever state was asked for on the first
7881           call to this function for any object.  Seriously.
7882
7883 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7884
7885         * check/gst/gstpipeline.c: (GST_START_TEST):
7886         * docs/gst/gstreamer-sections.txt:
7887         * gst/gstutils.c: (set_state_async_thread_func),
7888         (gst_element_set_state_async):
7889         * gst/gstutils.h:
7890           add a "gst_element_set_state_async" method that
7891           sets the state and starts a thread to make sure the state
7892           change completes as best as it can
7893
7894 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7895
7896         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7897           codify design+behaviour in testsuite after discussion
7898
7899 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7900
7901         * docs/gst/tmpl/gstelement.sgml:
7902         * docs/manual/appendix-quotes.xml:
7903           add a quote
7904         * gst/gstelement.c: (gst_element_set_state):
7905           add some debug
7906
7907 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7908
7909         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7910         (gst_base_transform_prepare_output_buf),
7911         (gst_base_transform_handle_buffer):
7912         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7913         (gst_capsfilter_prepare_buf):
7914           Remove the requirement for sub-classes to call the parent
7915           implementation of prepare_output_buffer with a wrapper function.
7916           
7917         * gst/gsttaglist.h:
7918         * gst/gsttagsetter.h:
7919           Fix #define wrapper
7920
7921 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7922
7923         * docs/gst/gstreamer-sections.txt:
7924           more doc cleanups
7925
7926 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * docs/gst/gstreamer-sections.txt:
7929         * docs/gst/tmpl/gstelement.sgml:
7930         * docs/gst/tmpl/gstplugin.sgml:
7931         * gst/gstminiobject.c:
7932         * gst/gstvalue.h:
7933           docs now stop throwing warnings
7934
7935 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7936
7937         * docs/gst/gstreamer-sections.txt:
7938         * docs/gst/gstreamer.types:
7939         * docs/gst/tmpl/gstpad.sgml:
7940         * docs/gst/tmpl/gsttypes.sgml:
7941         * gst/base/gstadapter.h:
7942         * gst/base/gstbasesink.h:
7943         * gst/base/gstbasesrc.h:
7944         * gst/gstbin.h:
7945         * gst/gstbuffer.h:
7946         * gst/gstbus.h:
7947         * gst/gstcaps.h:
7948         * gst/gstclock.h:
7949         * gst/gstelement.h:
7950         * gst/gstevent.h:
7951         * gst/gstmessage.h:
7952         * gst/gstpad.h:
7953         * gst/gststructure.c:
7954         * gst/registries/gstlibxmlregistry.h:
7955           various documentation fixes
7956
7957 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7958
7959         * docs/gst/gstreamer-sections.txt:
7960         * docs/gst/tmpl/gstvalue.sgml:
7961           rearrange gstvalue section
7962         * gst/gstutils.c: (gst_element_state_get_name):
7963           NONE -> VOID
7964         * gst/gstvalue.c: (_gst_value_initialize):
7965         * gst/gstvalue.h:
7966           doc updates
7967
7968 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7969
7970         * check/gst-libs/controller.c:
7971           Header include fix.
7972         * gst/base/gstbasetransform.c:
7973         (gst_base_transform_default_prepare_buf),
7974         (gst_base_transform_handle_buffer):
7975         * gst/base/gstbasetransform.h:
7976           Some more basetransform changes and fixes to enable sub-classes
7977           that modify buffer metadata only.
7978         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7979         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7980         (gst_capsfilter_prepare_buf):
7981           If the output pad has fixed allowed caps and input buffers 
7982           don't have any, set the fixed caps on outgoing buffers.
7983
7984 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7985         * check/elements/identity.c: (GST_START_TEST):
7986           Make the error a little clearer when the test fails because
7987           identity made a copy of the buffer.
7988         * docs/gst/gstreamer-sections.txt:
7989           New symbols in gstbasetransform.h
7990         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7991         (gst_base_transform_init), (gst_base_transform_transform_size),
7992         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7993         (gst_base_transform_default_prepare_buf),
7994         (gst_base_transform_get_unit_size),
7995         (gst_base_transform_buffer_alloc),
7996         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7997         (gst_base_transform_change_state),
7998         (gst_base_transform_set_passthrough),
7999         (gst_base_transform_set_in_place),
8000         (gst_base_transform_is_in_place):
8001         * gst/base/gstbasetransform.h:
8002           Change BaseTransform to separate in_place operate from same_caps
8003           output. in_place implies that the element can perform the transform
8004           on incoming buffers in-place, even if the caps on the output are
8005           different.
8006           Sub-class elements can now implement special buffer allocation
8007           methods for outgoing buffers if they wish to.
8008           Big documentation addition.
8009         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8010         * gst/elements/gstelements.c:
8011           Changes for basetransform modifications.
8012         * gst/elements/Makefile.am:
8013         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8014           Compile fix. Extra debug output.
8015
8016 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8017
8018         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8019         (gst_pad_suite):
8020           add tests for valid pad naming
8021         * gst/check/gstcheck.c: (gst_check_log_message_func),
8022         (gst_check_log_critical_func):
8023           add ASSERT_WARNING
8024           remove printing of code, it is fragile when the code contains
8025           % and the line number is enough info
8026         * gst/check/gstcheck.h:
8027         * gst/gstpad.c: (gst_pad_template_new):
8028           fix memleaks
8029
8030 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8031
8032         * configure.ac:
8033           say what CHECK flags we use
8034         * docs/libs/gstreamer-libs.types:
8035         * libs/gst/controller/Makefile.am:
8036         * libs/gst/controller/gst-controller.c:
8037         * libs/gst/controller/gst-controller.h:
8038         * libs/gst/controller/gst-helper.c:
8039         * libs/gst/controller/gst-interpolation.c:
8040         * libs/gst/controller/gstcontroller.c:
8041         * libs/gst/controller/gsthelper.c:
8042         * libs/gst/controller/gstinterpolation.c:
8043         * tools/gst-inspect.c: (print_plugin_info):
8044           we don't use dashes in header names
8045
8046 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8047
8048         * check/Makefile.am:
8049         * check/gst/.cvsignore:
8050         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8051         (gst_pipeline_suite), (main):
8052           adding a test for pipelines and state changes
8053         * gst/gstutils.c: (get_state_func):
8054           add some debugging
8055         * gstreamer.spec.in:
8056           fix up spec file
8057
8058 2005-09-08  Michael Smith <msmith@fluendo.com>
8059
8060         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8061         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8062         (gst_file_src_is_seekable), (gst_file_src_get_size),
8063         (gst_file_src_start):
8064         * gst/elements/gstfilesrc.h:
8065           Various fixes for unseekable, unmmapable, and non-normal files, so
8066           that fallback to read() rather than mmap() works.
8067         * gst/gstevent.c: (gst_event_new_newsegment):
8068           Allow newsegment events with segment_start == segment_end, as will
8069           correctly happen if you use filesrc on a zero-size file, for
8070           example.
8071
8072 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8073
8074         * gst/gstplugin.c: (gst_plugin_load_file):
8075           Call g_module_close when we don't load the module
8076
8077         * gst/registries/gstlibxmlregistry.c:
8078         (gst_xml_registry_get_property):
8079           Port leak fix from 0.8
8080
8081 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8082
8083         * docs/gst/gstreamer-docs.sgml:
8084         * docs/gst/tmpl/.cvsignore:
8085         * docs/gst/tmpl/gsttrace.sgml:
8086         * docs/gst/tmpl/gsttrashstack.sgml:
8087         * gst/Makefile.am:
8088         * gst/gst.h:
8089         * gst/gstelement.h:
8090         * gst/gstevent.h:
8091         * gst/gstmessage.c:
8092         * gst/gstmessage.h:
8093         * gst/gsttag.c:
8094         * gst/gsttag.h:
8095         * gst/gsttaginterface.c:
8096         * gst/gsttaginterface.h:
8097         * gst/gsttaglist.c:
8098         * gst/gsttaglist.h:
8099         * gst/gsttagsetter.c:
8100         * gst/gsttagsetter.h:
8101         * gst/gsttrace.c:
8102         * gst/gsttrace.h:
8103         * gst/gsttrashstack.c:
8104           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8105           inlined docs for gsttrace, gsttrashstack
8106
8107 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8108
8109         * gst/Makefile.am:
8110         * gst/elements/gstbufferstore.h:
8111         * gst/elements/gsttypefindelement.c:
8112         * gst/elements/gsttypefindelement.h:
8113         * gst/gst.h:
8114         * gst/gsttypefind.c:
8115         * gst/gsttypefind.h:
8116         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8117         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8118         (gst_type_find_factory_dispose),
8119         (gst_type_find_factory_unload_thyself),
8120         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8121         (gst_type_find_factory_get_caps),
8122         (gst_type_find_factory_get_extensions),
8123         (gst_type_find_factory_call_function):
8124         * gst/gsttypefindfactory.h:
8125         * gst/registries/gstlibxmlregistry.c:
8126         * gst/registries/gstxmlregistry.c:
8127           splitted gsttypefind into gsttypefind, gsttypefindfactory
8128
8129 2005-09-07  Andy Wingo  <wingo@pobox.com>
8130
8131         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8132         condition whereby the pad's task function is entered before the
8133         pad_mode variable was set.
8134
8135 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8136
8137         * gst/gstpad.c: (gst_pad_alloc_buffer):
8138           Catch misbehaving pad_alloc functions that don't
8139           set up caps and do it for them.
8140
8141 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8142
8143         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8144           test for pipe!=NULL
8145         * docs/gst/tmpl/.cvsignore:
8146         * docs/gst/tmpl/gstmemchunk.sgml:
8147         * docs/gst/tmpl/gstparse.sgml:
8148         * docs/gst/tmpl/gsttaglist.sgml:
8149         * docs/gst/tmpl/gsttagsetter.sgml:
8150         * docs/gst/tmpl/gsttypefind.sgml:
8151         * docs/gst/tmpl/gsttypefindfactory.sgml:
8152         * gst/gstmemchunk.c:
8153         * gst/gstparse.c:
8154         * gst/gsttag.c:
8155         * gst/gsttaginterface.c:
8156         * gst/gsttypefind.c:
8157         * gst/gsttypefind.h:
8158           inlined more docs
8159
8160 === release 0.9.2 ===
8161
8162 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         * NEWS:
8165         * RELEASE:
8166         * configure.ac:
8167           releasing 0.9.2, "South"
8168
8169 2005-09-05  Andy Wingo  <wingo@pobox.com>
8170
8171         * gst/registries/gstxmlregistry.h:
8172         * gst/registries/gstxmlregistry.c: Um... resurrect...
8173         
8174         * gst/registries/gstxmlregistry.h:
8175         * gst/registries/gstxmlregistry.c: and update to newer API.
8176         Incidentally they should be a bit faster now that they don't have
8177         to parse the caps.
8178         
8179 2005-09-05  Andy Wingo  <wingo@pobox.com>
8180
8181         * gst/registries/gstxmlregistry.h:
8182         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8183         replaced by the libxml registry a while back
8184
8185 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8186
8187         * docs/gst/tmpl/gstplugin.sgml:
8188         * gst/elements/gstelements.c:
8189         * gst/gst.c:
8190         * gst/gstplugin.c: (gst_plugin_register_func),
8191         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8192         (gst_plugin_get_source):
8193         * gst/gstplugin.h:
8194         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8195         (gst_xml_registry_save_plugin):
8196         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8197         (gst_xml_registry_save_plugin):
8198         * tools/gst-inspect.c: (print_plugin_info):
8199           add a "source" plugin description field, to represent the source
8200           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8201           will set it to PACKAGE, which is automake's idea of the name of
8202           the source project.
8203
8204 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8205
8206         * Makefile.am:
8207         * autogen.sh:
8208         * configure.ac:
8209         * docs/Makefile.am:
8210         * docs/faq/Makefile.am:
8211         * docs/gst/tmpl/gstelement.sgml:
8212         * docs/gst/tmpl/gsttypes.sgml:
8213         * docs/htmlinstall.mak:
8214         * docs/manual/Makefile.am:
8215         * docs/pwg/Makefile.am:
8216           reorganize doc build a little
8217           split out docbook and gtk-doc stuff
8218           have two separate --enable's and enable them through autogen
8219           but disable by default in configure (to be similar to other
8220           projects)
8221         * gstreamer.spec.in:
8222           clean up docs install
8223         * po/af.po:
8224         * po/az.po:
8225         * po/ca.po:
8226         * po/cs.po:
8227         * po/de.po:
8228         * po/en_GB.po:
8229         * po/fr.po:
8230         * po/it.po:
8231         * po/nb.po:
8232         * po/nl.po:
8233         * po/ru.po:
8234         * po/sq.po:
8235         * po/sr.po:
8236         * po/sv.po:
8237         * po/tr.po:
8238         * po/uk.po:
8239         * po/vi.po:
8240           translation updates
8241
8242 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8243
8244         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8245           Add comment.
8246           
8247         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8248         (gst_fake_sink_change_state):
8249           Make state change function thread-safe.
8250           
8251         * gst/gstpad.c: (gst_pad_alloc_buffer):
8252           Set offset on generic buffer allocated by fallback.
8253
8254 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8255
8256         * docs/gst/gstreamer-sections.txt:
8257         * docs/gst/tmpl/gstelement.sgml:
8258         * gst/gstpad.c:
8259         * libs/gst/controller/gst-controller.c:
8260         (gst_controlled_property_set_interpolation_mode),
8261         (gst_controlled_property_new),
8262         (gst_controller_find_controlled_property):
8263          run the wingo-magic script against the docs
8264
8265 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8266
8267         * docs/gst/gstreamer-docs.sgml:
8268         * docs/gst/gstreamer-sections.txt:
8269         * docs/gst/tmpl/.cvsignore:
8270         * docs/gst/tmpl/gstelementdetails.sgml:
8271         * docs/gst/tmpl/gstelementfactory.sgml:
8272         * gst/gst.c:
8273         * gst/gstbus.c:
8274         * gst/gstelementfactory.c:
8275         * gst/gstelementfactory.h:
8276           merged elementdetails docs into elementfactory docs
8277           inlined both
8278
8279 2005-09-02  Andy Wingo  <wingo@pobox.com>
8280
8281         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8282         consider this enum an enum and not a flags.
8283
8284 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8285
8286         * docs/gst/gstreamer-docs.sgml:
8287         * docs/gst/tmpl/.cvsignore:
8288         * docs/gst/tmpl/gstghostpad.sgml:
8289         * docs/gst/tmpl/gstiterator.sgml:
8290         * docs/gst/tmpl/gstmacros.sgml:
8291         * docs/gst/tmpl/gstrealpad.sgml:
8292         * docs/gst/tmpl/gstregistry.sgml:
8293         * docs/gst/tmpl/gstregistrypool.sgml:
8294         * docs/gst/tmpl/gststructure.sgml:
8295         * docs/gst/tmpl/gstsystemclock.sgml:
8296         * docs/gst/tmpl/gsttrace.sgml:
8297         * gst/gstghostpad.c:
8298         * gst/gstmacros.h:
8299         * gst/gstmemchunk.c:
8300         * gst/gstmemchunk.h:
8301         * gst/gstqueue.c:
8302         * gst/gstregistry.c:
8303         * gst/gstregistrypool.c:
8304         * gst/gststructure.c:
8305         * gst/gstsystemclock.c:
8306           more docs inlined
8307
8308 2005-09-02  Andy Wingo  <wingo@pobox.com>
8309
8310         * gst/gstelement.h (GstState): Renamed from GstElementState,
8311         changed to be a normal enum instead of flags.
8312         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8313         munged to be GST_STATE_CHANGE_*.
8314         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8315         work with the new state representation.
8316         (GstStateChange): New enumeration of possible state transitions.
8317         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8318         (GstElementClass::change_state): Pass the GstStateChange along as
8319         an argument. Helps language bindings, so they don't have to use
8320         tricky lock-needing macros like GST_STATE_CHANGE ().
8321
8322         * scripts/update-states (file): New script. Run it on a file to
8323         update it for state naming and API changes. Updates files in
8324         place.
8325
8326         * All files updated for the new API.
8327
8328 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8329
8330         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8331         * gst/gstutils.c: (gst_util_set_value_from_string),
8332         (gst_util_set_object_arg):
8333           fix a bunch of unchecked return values
8334         * tools/gst-complete.c: (main):
8335         * gstreamer.spec.in:
8336           clean up a little
8337
8338 2005-09-01  Wim Taymans  <wim@fluendo.com>
8339
8340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8341         (gst_base_sink_event), (gst_base_sink_do_sync),
8342         (gst_base_sink_handle_event):
8343         * gst/base/gstbasesink.h:
8344         Handle newsegments more correctly.
8345
8346         * gst/gstbus.c:
8347         Fix docs.
8348
8349         * gst/gstevent.c: (gst_event_new_newsegment):
8350         A newsegment cannot have a start_time of -1
8351
8352 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8353
8354         * win32/gstenumtypes.c:
8355         * win32/gstenumtypes.h:
8356           Update
8357
8358 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8359
8360         * libs/gst/controller/gst-controller.c:
8361         (gst_controlled_property_set_interpolation_mode),
8362         (gst_controlled_property_new):
8363          fixed boolean again
8364
8365 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8366
8367         * docs/faq/gst-uninstalled:
8368           add -good
8369         * gst/gstevent.c:
8370         * gst/gstevent.h:
8371           remove wrong docs
8372         * gst/gstutils.c: (gst_element_link_filtered):
8373         * gst/gstutils.h:
8374           add gst_element_link_filtered
8375
8376 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8377
8378         * docs/gst/gstreamer-docs.sgml:
8379         * docs/gst/gstreamer-sections.txt:
8380         * docs/gst/tmpl/.cvsignore:
8381         * docs/gst/tmpl/gsterror.sgml:
8382         * docs/gst/tmpl/gstfilter.sgml:
8383         * docs/gst/tmpl/gsturihandler.sgml:
8384         * docs/gst/tmpl/gsturitype.sgml:
8385         * docs/gst/tmpl/gstutils.sgml:
8386         * docs/gst/tmpl/gstxml.sgml:
8387         * gst/gsterror.c:
8388         * gst/gsterror.h:
8389         * gst/gstfilter.c:
8390         * gst/gsturi.c:
8391         * gst/gsturitype.c:
8392         * gst/gstutils.c:
8393         * gst/gstxml.c:
8394           inlined more docs, fixed double id-ref
8395
8396 2005-08-31  Wim Taymans  <wim@fluendo.com>
8397
8398         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8399         (gst_base_transform_handle_buffer):
8400         Passthrough elements don't need the caps as they don't care.
8401
8402 2005-08-31  Wim Taymans  <wim@fluendo.com>
8403
8404         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8405         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8406         Don't leak refcounts on buffers.
8407
8408 2005-08-31  Wim Taymans  <wim@fluendo.com>
8409
8410         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8411         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8412         (gst_base_transform_chain), (gst_base_transform_change_state):
8413         * gst/base/gstbasetransform.h:
8414         Handle the case where we are not negotiated more gracefully.
8415
8416 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8417
8418         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8419         (gst_file_src_map_region):
8420           Set READONLY flag on mmap'ed buffers, otherwise
8421           gst_buffer_make_writable() won't work properly (#314708).
8422
8423 2005-08-31  Wim Taymans  <wim@fluendo.com>
8424
8425         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8426         passthrough elements can even do inplace on non writable
8427         buffers (as they don't touch them).
8428
8429 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8430
8431         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8432         (gst_test_mono_source_set_property),
8433         (gst_test_mono_source_class_init), (GST_START_TEST),
8434         (gst_controller_suite):
8435           more tests (hehe I have the most)
8436         * gst/gstbus.c:
8437           describe popping messages whenusing mulltiple sources
8438         * libs/gst/controller/gst-controller.c:
8439         (gst_controlled_property_set_interpolation_mode),
8440         (gst_controlled_property_new):
8441         * libs/gst/controller/gst-controller.h:
8442         * libs/gst/controller/gst-interpolation.c:
8443           implement boolean properties
8444
8445 2005-08-31  Wim Taymans  <wim@fluendo.com>
8446
8447         * gst/gstminiobject.c: (gst_mini_object_ref):
8448         Cannot assert that the refcount has to be positive
8449         since a disposed object can be resurrected.
8450
8451 2005-08-31  Wim Taymans  <wim@fluendo.com>
8452
8453         * gst/gstpad.c: (gst_pad_init):
8454         Revert change, need to first fix badly behaving 
8455         apps.
8456
8457 2005-08-30  Wim Taymans  <wim@fluendo.com>
8458
8459         * check/elements/fakesrc.c: (setup_fakesrc):
8460         * check/elements/identity.c: (setup_identity):
8461         Activate pads before using them.
8462
8463 2005-08-30  Wim Taymans  <wim@fluendo.com>
8464
8465         * gst/base/gstadapter.c: (gst_adapter_flush):
8466         Flushing out 0 bytes is ok for this function.
8467
8468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8469         no newsegment gives a warning and sets the start/stop to 
8470         invalid.
8471
8472         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8473         (gst_base_transform_set_passthrough):
8474         Some debug info.
8475
8476         * gst/gstminiobject.c: (gst_mini_object_ref):
8477         Check refcount here too.
8478
8479         * gst/gstpad.c: (gst_pad_init):
8480         Pads are initially flushing and refusing data.
8481
8482         * gst/gstutils.c: (gst_element_link_pads_filtered):
8483         When adding a capsfilter element make sure it has the
8484         same state as the parent bin.
8485
8486 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8487
8488         * docs/gst/tmpl/.cvsignore:
8489         * docs/gst/tmpl/gstformat.sgml:
8490         * docs/gst/tmpl/gstversion.sgml:
8491         * gst/gstbus.h:
8492         * gst/gstformat.c:
8493         * gst/gstformat.h:
8494         * gst/gstversion.h.in:
8495           more docs and two more inlined
8496
8497 2005-08-30  Wim Taymans  <wim@fluendo.com>
8498
8499         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8500         Don't sync to clock.
8501
8502 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8503
8504         * docs/gst/gstreamer-sections.txt:
8505           ultral33t func10ns deserve to appear in the docs actually
8506         * docs/gst/tmpl/.cvsignore:
8507         * docs/gst/tmpl/gstcompat.sgml:
8508         * docs/gst/tmpl/gstconfig.sgml:
8509         * gst/check/gstcheck.c:
8510         * gst/gstcompat.h:
8511         * gst/gstconfig.h.in:
8512           inlined more docs
8513
8514 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8515
8516         * docs/gst/tmpl/.cvsignore:
8517         * docs/gst/tmpl/gstquery.sgml:
8518         * docs/gst/tmpl/gstutils.sgml:
8519         * gst/gstquery.c:
8520         * gst/gstquery.h:
8521           inlined and extended docs
8522
8523 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8524
8525         * check/gst-libs/controller.c: (GST_START_TEST),
8526         (gst_controller_suite):
8527           more tests
8528         * docs/gst/tmpl/gstutils.sgml:
8529         * docs/libs/gstreamer-libs-sections.txt:
8530         * docs/libs/tmpl/gstdataprotocol.sgml:
8531           include path fixes
8532         * examples/controller/audio-example.c: (main):
8533           controller example works now
8534         * gst/gstclock.h:
8535           doc fixes
8536         * tools/gst-inspect.c: (print_element_properties_info):
8537           show param spec flags
8538
8539 2005-08-29  Andy Wingo  <wingo@pobox.com>
8540
8541         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8542
8543 2005-08-28  Andy Wingo  <wingo@pobox.com>
8544
8545         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8546         as having two arguments instead of just one. Allows superclasses
8547         to access information on subclasses -- see the terrible for() loop
8548         in gtype.c:g_type_create_instance for the reason why. All callers
8549         changed.
8550
8551 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8552
8553         * docs/design/part-messages.txt:
8554           update info
8555         * docs/gst/tmpl/.cvsignore:
8556         * docs/gst/tmpl/gstcaps.sgml:
8557         * docs/gst/tmpl/gstclock.sgml:
8558         * gst/gstbus.c:
8559         * gst/gstcaps.c:
8560         * gst/gstcaps.h:
8561         * gst/gstclock.c:
8562         * gst/gstclock.h:
8563         * gst/gstmessage.c:
8564           added descriptions for bus and message
8565           inline caps and clock docs
8566
8567 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8568
8569         * gst/gstmessage.c:
8570         * gst/gstmessage.h:
8571           doc fixes
8572
8573 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8574
8575         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8576           fix div-by-zero
8577
8578 2005-08-26  Andy Wingo  <wingo@pobox.com>
8579
8580         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8581         element_set_state's return val.
8582         (test_2_elements): Add test that's been disabled for months.
8583
8584         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8585         can-activate-pull properties.
8586
8587         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8588         can-activate-pull properties. Implement is_seekable so fakesrc can
8589         operate in pull mode.
8590
8591         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8592         properties.
8593         (gst_base_sink_activate, gst_base_sink_activate_pull)
8594         (gst_base_sink_activate_push): Make activation mode choosing work.
8595         Cleanups.
8596         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8597         is right. Make pull mode work. Post an eos before pausing in pull
8598         mode.
8599         (gst_base_sink_change_state): Pay attention to the core's
8600         change_state() return val.
8601         
8602         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8603         has-getrange properties. Cleanups.
8604         
8605         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8606         has_getrange and replace with can_activate_pull and
8607         can_activate_push.
8608
8609         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8610         locking comments. Remove has_loop, has_chain and replace with
8611         can_activate_pull and can_activate_push.
8612
8613 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8614
8615         * configure.ac:
8616         * examples/Makefile.am:
8617         * examples/metadata/Makefile.am:
8618         * examples/metadata/read-metadata.c: (message_loop),
8619         (have_pad_handler), (make_pipeline), (print_tag), (main):
8620           Add metadata reading example that loops over a list of filenames,
8621           dumping any tags found.
8622
8623         * gst/gstbus.c: (gst_bus_dispose):
8624         * gst/gstelement.c: (gst_element_dispose):
8625           Release a few potentially-held references in dispose.
8626
8627 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8628
8629         * docs/gst/tmpl/gstminiobject.sgml:
8630           do *not* add tmpl/*.sgml files to CVS!
8631
8632 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8633
8634         * libs/gst/bytestream/.cvsignore:
8635         * libs/gst/bytestream/Makefile.am:
8636         * libs/gst/bytestream/adapter.c:
8637         * libs/gst/bytestream/adapter.h:
8638         * libs/gst/bytestream/bytestream.c:
8639         * libs/gst/bytestream/bytestream.h:
8640         * libs/gst/bytestream/filepad.c:
8641         * libs/gst/bytestream/filepad.h:
8642           removing obsolete files
8643
8644 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8645
8646         * docs/gst/gstreamer-docs.sgml:
8647         * docs/libs/gstreamer-libs-docs.sgml:
8648           disabed additional index entries again, as this makes docs-gen just
8649           slow and they aren't useful yet
8650         * docs/libs/gstreamer-libs-sections.txt:
8651           little -section.txt cleanup for libs
8652
8653 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8654
8655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8656         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8657           fix up some debugging
8658         (gst_base_transform_get_unit_size),
8659         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8660         (gst_base_transform_handle_buffer):
8661         * gst/base/gstbasetransform.h:
8662           handle and store timed NEWSEGMENT events so that subclasses that
8663           calculate time by counting samples have a segment_start time they
8664           need to add to their timestamps - see audioresample
8665
8666 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8667
8668         * gst/gstbin.h:
8669           removed ';' from the end of macro defs
8670         * docs/gst/gstreamer-docs.sgml:
8671         * docs/gst/gstreamer-sections.txt:
8672         * docs/gst/tmpl/.cvsignore:
8673         * gst/gstbus.h:
8674         * gst/gstelement.c: (gst_element_class_init),
8675         (gst_element_set_state), (activate_pads),
8676         (gst_element_save_thyself):
8677         * gst/gstevent.c: (gst_event_new_newsegment):
8678         * gst/gstevent.h:
8679         * gst/gstiterator.c:
8680         * gst/gstiterator.h:
8681         * gst/gstpad.c:
8682         * gst/gstprobe.h:
8683         * gst/gstutils.c: (gst_pad_query_convert):
8684         * gst/gstutils.h:
8685           fixed parameter name mismatches between source, header and docs
8686           added some more docs, resolved the last batch of unused elements in
8687           docs (now someone needs to doc them)
8688
8689 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8690
8691         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8692         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8693           don't walk through the plugins backwards.  Where is all this
8694           reversed logic coming from ?
8695
8696 2005-08-25  Wim Taymans  <wim@fluendo.com>
8697
8698         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8699         (gst_base_transform_transform_size),
8700         (gst_base_transform_configure_caps),
8701         (gst_base_transform_get_unit_size),
8702         (gst_base_transform_buffer_alloc),
8703         (gst_base_transform_change_state):
8704         * gst/base/gstbasetransform.h:
8705         Cache caps unit_size.
8706         Make sure we cannot negotiate up and downstream at the
8707         same time.
8708
8709 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8710
8711         * gst/gst.c: (init_pre), (init_post):
8712           register the installed plugin path after the env var
8713         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8714         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8715           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8716           directories, so the tests can prefer uninstalled over installed
8717
8718 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8719
8720         * gst/base/gstbasetransform.h:
8721           comment
8722         * gst/gstpad.c:
8723           add to docs
8724
8725 2005-08-25  Wim Taymans  <wim@fluendo.com>
8726
8727         * gst/gstbin.c: (bin_bus_handler):
8728         Be a bit more conservative about the posted message.
8729         
8730         * gst/gstbus.c: (gst_bus_post):
8731         Some cleanups, warn wrong return values.
8732
8733 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8734
8735         * check/gst/gstbin.c: (GST_START_TEST):
8736         * gst/gstbin.c: (bin_bus_handler):
8737         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8738         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8739         (gst_message_new_warning), (gst_message_new_tag),
8740         (gst_message_new_state_changed), (gst_message_new_segment_start),
8741         (gst_message_new_segment_done), (gst_message_new_custom):
8742         * gst/gstmessage.h:
8743         * tools/gst-launch.c: (event_loop):
8744         * tools/gst-md5sum.c: (event_loop):
8745           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8746
8747 2005-08-25  Wim Taymans  <wim@fluendo.com>
8748
8749         * check/generic/states.c: (GST_START_TEST):
8750         Cleanup can be done at the end.
8751
8752         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8753         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8754         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8755         Oh boy.. Thanks for finding this, Thomas. 
8756
8757 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8758
8759         * docs/gst/gstreamer.types:
8760           added missing types
8761
8762 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8763
8764         * docs/gst/gstreamer-docs.sgml:
8765         * docs/gst/gstreamer-sections.txt:
8766         * docs/gst/tmpl/.cvsignore:
8767         * gst/gstbin.c:
8768         * gst/gstiterator.c:
8769         * gst/gstutils.c:
8770         * gst/registries/gstxmlregistry.h:
8771           added missing classes and symbols (123 more to go)
8772           removed removed symbols from section file
8773           fixed many doc-comments
8774
8775 2005-08-24  Wim Taymans  <wim@fluendo.com>
8776
8777         * check/generic/states.c: (GST_START_TEST):
8778         Make sure all tasks are stopped.
8779
8780         * check/gst/gstbin.c: (GST_START_TEST):
8781         Unref after usage for proper valgrinding.
8782
8783         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8784         Really wait for the task to stop before destroying the
8785         mutex.
8786
8787         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8788         (gst_queue_src_activate_push):
8789         Small cleanups. Don't stop the task when we did not start
8790         it.
8791
8792         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8793         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8794         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8795         (gst_task_join):
8796         * gst/gsttask.h:
8797         Protect the stream lock with the object lock.
8798         Disallow setting the stream lock when running.
8799         Add cleanup_all to wait for the threadpool to finish.
8800         Remove code to autoallocate a mutex if none was provided.
8801         Add _join() to wait for a task to stop.
8802         Protect the thread pool with a global lock.
8803
8804 2005-08-24  Wim Taymans  <wim@fluendo.com>
8805
8806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8807         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8808         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8809         * gst/base/gstbasesink.h:
8810         Handle newsegment events correctly.
8811         Drop buffers out of the segment range.
8812
8813 2005-08-22  Andy Wingo  <wingo@pobox.com>
8814
8815         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8816         macro, implements an interface and gstimplementsinterface for a
8817         new type.
8818
8819 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8820
8821         * check/Makefile.am:
8822         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8823           add a test that does a bunch of state changes on elements
8824           needs some fixing for valgrind
8825         * check/states/sinks.c: (gst_object_suite):
8826           whitespace
8827         * gst/gstcaps.h:
8828           add prototype for gst_caps_is_equal_fixed
8829         * gst/gstplugin.c:
8830         * gst/gstregistrypool.c:
8831           doc fixes
8832
8833 2005-08-24  Andy Wingo  <wingo@pobox.com>
8834
8835         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8836         convert a negative value. Doesn't make much sense. Mostly this is
8837         here to force callers to ensure -1 maps to -1.
8838
8839 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8840
8841         * docs/pwg/advanced-types.xml:
8842           Well done to Michael for catching my deliberate introduction
8843           of this spelling mistake. 
8844         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8845         * gst/gstelement.h:
8846           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8847           unlink pads before removing the element from the bin.
8848
8849 2005-08-24  Andy Wingo  <wingo@pobox.com>
8850
8851         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8852         the same thing as GST_DEBUG=*:4.
8853         (parse_debug_level, parse_debug_category): New helper parsers.
8854
8855 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8856
8857         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8858         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8859         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8860         (gst_base_transform_buffer_alloc),
8861         (gst_base_transform_handle_buffer):
8862           use gboolean return values and pointers to size so we can use the
8863           full GST_BUFFER_SIZE range (guint) for buffer sizes
8864           use GstPadDirection for transform_caps
8865         * gst/base/gstbasetransform.h:
8866           rename get_size to get_unit_size since that's what it is
8867         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8868           use GstPadDirection for transform_caps
8869         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8870         * gst/gstutils.h:
8871           cleanup and debugging
8872
8873 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8874
8875         * gst/gstelement.c: (gst_element_class_init),
8876         (gst_element_set_state), (activate_pads),
8877         (gst_element_save_thyself):
8878         * tools/gst-compprep.c: (main):
8879         * tools/gst-inspect.c: (print_element_properties_info):
8880         * tools/gst-xmlinspect.c: (print_element_properties):
8881           Fixed long standing mem-leak
8882
8883 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8884
8885         * check/gst/gstbin.c: (GST_START_TEST):
8886         * gst/gstbin.c: (bin_bus_handler):
8887         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8888         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8889         (gst_message_new_warning), (gst_message_new_tag),
8890         (gst_message_new_state_changed), (gst_message_new_segment_start),
8891         (gst_message_new_segment_done), (gst_message_new_custom):
8892         * gst/gstmessage.h:
8893         * tools/gst-launch.c: (event_loop):
8894         * tools/gst-md5sum.c: (event_loop):
8895           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8896           that applications can sensibly post custom messages with references
8897           to their own objects.
8898
8899 2005-08-24  Andy Wingo  <wingo@pobox.com>
8900
8901         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8902         already.
8903
8904 2005-08-24  Wim Taymans  <wim@fluendo.com>
8905
8906         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8907         (gst_base_transform_transform_caps),
8908         (gst_base_transform_transform_size),
8909         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8910         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8911         (gst_base_transform_handle_buffer):
8912         * gst/base/gstbasetransform.h:
8913         Many fixes and new features added by Thomas. Can now also do
8914         transforms with variable sizes and a custom fixate_caps function.
8915
8916 2005-08-24  Wim Taymans  <wim@fluendo.com>
8917
8918         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8919         Some debugging.
8920
8921         * gst/gstclock.h:
8922         Cast to ClockTime before formatting to time.
8923
8924         * gst/gstutils.h:
8925         Cleanups.
8926
8927 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8928
8929         * check/gst-libs/controller.c: (GST_START_TEST),
8930         (gst_controller_suite):
8931         * docs/gst/tmpl/gstcaps.sgml:
8932         * docs/gst/tmpl/gstghostpad.sgml:
8933         * docs/gst/tmpl/gstquery.sgml:
8934         * docs/gst/tmpl/gstutils.sgml:
8935         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8936         (gst_object_sink_values), (gst_object_get_value_arrays),
8937         (gst_object_get_value_array):
8938           gracefully handle helper method calls to objects that are not beeing
8939           controlled, added test case for that          
8940
8941 2005-08-23  Wim Taymans  <wim@fluendo.com>
8942
8943         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8944         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8945         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8946         (gst_event_parse_qos), (gst_event_new_seek),
8947         (gst_event_parse_seek):
8948         * gst/gstevent.h:
8949         Some more debugging output and doc cleanups.
8950
8951         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8952         Fix possible deadlock.
8953
8954 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8955
8956         * docs/gst/gstreamer-docs.sgml:
8957         * docs/gst/gstreamer-sections.txt:
8958         * docs/gst/gstreamer.types:
8959         * docs/gst/tmpl/.cvsignore:
8960         * gst/gstbin.h:
8961         * gst/gstbus.c:
8962         * gst/gstelement.c:
8963         * gst/gstevent.h:
8964           added 100 symbols from gstreamer-unused.txt to the right sections
8965           fixed more broken comments
8966           added GstBus to docs
8967
8968 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8969
8970         * docs/gst/gstreamer-sections.txt:
8971         * docs/gst/tmpl/.cvsignore:
8972         * docs/gst/tmpl/gstbin.sgml:
8973         * docs/gst/tmpl/gstbuffer.sgml:
8974         * gst/base/gstbasesrc.c:
8975         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8976         * gst/gstbuffer.c:
8977         * gst/gstbuffer.h:
8978         * tools/gst-launch.1.in:
8979           inlined more doc comments, added missing comments and fixed comments
8980           fixed typos
8981
8982 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8983
8984         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8985           some debugging
8986         * gst/gstcaps.h:
8987           whitespace fixes
8988         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8989           more debugging
8990         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8991         * gst/gststructure.h:
8992           add a fixate function for booleans; add a FIXME that these func
8993           names should probably be gst_structure_fixate_*
8994
8995 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8996
8997         * docs/gst/gstreamer-docs.sgml:
8998         * docs/gst/gstreamer-sections.txt:
8999         * gst/Makefile.am:
9000         * gst/gstbin.c: (gst_bin_get_type),
9001         (gst_bin_child_proxy_get_child_by_index),
9002         (gst_bin_child_proxy_get_children_count),
9003         (gst_bin_child_proxy_init):
9004         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9005         (gst_child_proxy_get_child_by_index),
9006         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9007         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9008         (gst_child_proxy_get), (gst_child_proxy_set_property),
9009         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9010         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9011         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9012         * gst/gstchildproxy.h:
9013         * gst/parse/grammar.y:
9014         * tools/gst-inspect.c: (print_interfaces),
9015         (print_element_properties_info), (print_element_info):
9016           ported gstchildproxy over from 0.8
9017           ported gst-inspect fixes and enhancements over from 0.8
9018
9019 2005-08-22  Wim Taymans  <wim@fluendo.com>
9020
9021         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9022         (gst_base_transform_handle_buffer):
9023         Also call the transform function if we have ANY caps.
9024
9025         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9026         Fix debug info.
9027
9028 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9029
9030         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9031           Don't pretend to handle seek events if the source is not seekable
9032
9033 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9034
9035         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9036           Remove extra parameter to debug output
9037
9038         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9039         (gst_base_src_do_seek), (gst_base_src_activate_push):
9040           Fix seek event handling.
9041
9042         * gst/gstpipeline.c: (gst_pipeline_change_state):
9043         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9044         (gst_queue_src_activate_push):
9045           Don't start the src pad task on FLUSH_STOP if the pad
9046           isn't linked.
9047           Debug changes.
9048
9049 2005-08-22  Wim Taymans  <wim@fluendo.com>
9050
9051         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9052         Added check for gst_static_caps_get() refcounting.
9053
9054 2005-08-22  Wim Taymans  <wim@fluendo.com>
9055
9056         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9057         Make _static_caps_get() refcounting sane.
9058         
9059         * gst/gstelement.c: (gst_element_set_state):
9060         Add g_return_val_if_fail() to protect against segfaults.
9061
9062 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9063
9064         * docs/gst/tmpl/gstevent.sgml:
9065         * gst/gstevent.c:
9066         * gst/gstevent.h:
9067           inlined remaining docs, added missing doc comments
9068
9069 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9070
9071         * check/gst/gstbin.c: (GST_START_TEST):
9072           since we don't know when preroll is done, use refcount range
9073           check for the sink
9074         * gst/check/gstcheck.h:
9075           add macro for checking refcount range
9076
9077 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9078
9079         * check/Makefile.am:
9080           clean up environment for when registry gets built versus
9081           when actual tests are run; valgrind seems to not report
9082           leaks if GST_PLUGIN_PATH is set to some specific values
9083         * check/gst/gstbin.c: (GST_START_TEST):
9084           add more refcounting checks; maybe this exposes a
9085           preroll lock bug ?
9086         * common/check.mak:
9087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9088         * gst/check/gstcheck.h:
9089         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9090         (gst_bin_change_state):
9091         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9092           add/fix debugging/whitespace
9093
9094 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9095
9096         * check/gst/gstevent.c: (event_probe), (test_event),
9097         (GST_START_TEST):
9098          Er, don't call gst_bin_watch_for_state_change you idiot.
9099
9100 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9101
9102         * check/Makefile.am:
9103           Use CHECK_CFLAGS and CHECK_LIBS
9104         * check/gst/gstevent.c: (event_probe), (test_event),
9105         (GST_START_TEST):
9106           Don't leak events.
9107         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9108         (gst_base_src_start), (gst_base_src_stop),
9109         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9110         (gst_base_src_change_state):
9111           Sprinkle gst_base_src_stop liberally around error paths to fix
9112           problems reusing a source after failed state changes.
9113         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9114         (helper_find_suggest), (gst_type_find_helper):
9115           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9116         * gst/gstevent.h:
9117         * docs/gst/tmpl/gstevent.sgml:
9118           Migrate part of the docs from the SGML file. Wait for ensonic to
9119           tell me how I did it wrong ;)
9120         * tools/gst-typefind.c: (main):
9121           Extra robustness to state changes between files.
9122
9123 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9124
9125         * check/Makefile.am:
9126           don't valgrind the controller test - it's leaking - Stefan, HELP
9127         * gst/check/gstcheck.c: (gst_check_message_error),
9128         (gst_check_chain_func), (gst_check_setup_element),
9129         (gst_check_teardown_element), (gst_check_setup_src_pad),
9130         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9131         (gst_check_teardown_sink_pad):
9132         * gst/check/gstcheck.h:
9133           add a bunch of methods to set up elements, and src and sink pads
9134         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9135         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9136         (GST_START_TEST):
9137           use them
9138         * gst/gstmessage.c:
9139         * gst/gsttag.h:
9140           whitespace/doc fixes
9141
9142 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * gst/gstelement.h:
9145           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9146           be handled by the application and not always printed as well
9147
9148 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * check/Makefile.am:
9151           set GST_TOOLS_DIR
9152         * gst/check/gstcheck.c: (gst_check_message_error):
9153         * gst/check/gstcheck.h:
9154           add a fail_unless_equals_int
9155           add fail_unless for error messages
9156
9157 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9158
9159         * check/Makefile.am:
9160         * check/gst.supp:
9161         * common/Makefile.am:
9162         * common/check.mak:
9163         * common/gst.supp:
9164           factor out some of the common stuff so we can use it
9165
9166 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9167
9168         * check/Makefile.am:
9169         * check/gst/gstiterator.c: (GST_START_TEST):
9170         * check/gst/gstsystemclock.c: (GST_START_TEST),
9171         (gst_systemclock_suite):
9172         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9173         * gst/gstclock.c:
9174           valgrind more tests
9175
9176 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9177
9178         * check/elements/.cvsignore:
9179         * check/elements/gstfakesrc.c:
9180           rename to name of element
9181         * check/elements/identity.c: (chain_func), (event_func),
9182         (setup_identity), (cleanup_identity), (GST_START_TEST),
9183         (identity_suite), (main):
9184           add a test for identity
9185         * check/Makefile.am:
9186         * pkgconfig/Makefile.am:
9187         * pkgconfig/gstreamer-check.pc.in:
9188         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9189         * gst/check:
9190         * gst/Makefile.am:
9191         * configure.ac:
9192           move the check stuff to a library that gets installed
9193         * check/gst-libs/controller.c: (GST_START_TEST):
9194         * check/gst-libs/gdp.c:
9195         * check/gst/gst.c: (GST_START_TEST):
9196         * check/gst/gstbin.c:
9197         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9198         * check/gst/gstbus.c:
9199         * check/gst/gstcaps.c: (GST_START_TEST):
9200         * check/gst/gstelement.c:
9201         * check/gst/gstghostpad.c:
9202         * check/gst/gstiterator.c:
9203         * check/gst/gstmessage.c:
9204         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9205         * check/gst/gstobject.c:
9206         * check/gst/gstpad.c: (GST_START_TEST):
9207         * check/gst/gststructure.c: (GST_START_TEST):
9208         * check/gst/gstsystemclock.c: (GST_START_TEST),
9209         (gst_systemclock_suite):
9210         * check/gst/gsttag.c: (gst_tag_suite):
9211         * check/gst/gstvalue.c:
9212         * check/pipelines/cleanup.c:
9213         * check/pipelines/simple_launch_lines.c:
9214         * check/states/sinks.c:
9215           change include statement
9216
9217         * docs/gst/gstreamer-sections.txt:
9218         * docs/gst/tmpl/gstpad.sgml:
9219           document more pad stuff
9220         * gst/gstminiobject.c: (gst_mini_object_ref),
9221         (gst_mini_object_unref):
9222           debug refcounting
9223
9224 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9225
9226         * docs/gst/tmpl/gst.sgml:
9227         * gst/gst.c:
9228           eliminate another tmpl file, fix spelling in the long-description
9229
9230 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9231
9232         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9233         (test_event), (timediff), (gstevents_suite):
9234           Should fix build on 64-bit arch's
9235
9236 2005-08-18  Andy Wingo  <wingo@pobox.com>
9237
9238         Make sure that when a pipeline goes to PLAYING, that data has
9239         actually hit the sink.
9240
9241         * check/states/sinks.c (test_sink): A sink that doesn't get any
9242         data shouldn't return SUCCESS for going to either PLAYING or
9243         PAUSED. Test also the return values on the way back down.
9244
9245         * gst/gstelement.c (gst_element_set_state): When changing the
9246         state of an element currently changing state asynchronously, go to
9247         lost-state after commiting the pending state. Makes future calls
9248         to get_state continue to return ASYNC.
9249
9250         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9251         ASYNC when going to PLAYING if we still don't have preroll, as can
9252         happen with live sources.
9253
9254 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9255
9256         * docs/pwg/advanced-types.xml:
9257           Hack long paragraph into 2 chunks as a workaround for buggy
9258           jadetex version in sid and breezy that loops infinitely and
9259           eats all RAM.
9260
9261 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9262
9263         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9264         (test_event), (timediff), (gstevents_suite):
9265           Provide more error margin in clock measurements to allow for 
9266           g_get_current_time inaccuracies.
9267
9268 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9269
9270         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9271         (test_event), (timediff), (gstevents_suite):
9272            Fix error message output so I might be able to tell why the
9273            test works here but fails on the build farm.
9274
9275 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9276
9277         * check/Makefile.am:
9278         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9279         (test_event), (timediff), (gstevents_suite), (main):
9280           I wrote a test!
9281
9282         * docs/design/part-seeking.txt:
9283           Spelling correction
9284
9285         * docs/gst/tmpl/gstevent.sgml:
9286         * docs/gst/tmpl/gstfakesrc.sgml:
9287           Docs updates.
9288
9289         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9290           Treat a buffer-without-newsegment the same as a receiving 
9291           a newsegment not in time format, and disable syncing to the clock
9292           with a warning.
9293
9294         * gst/gstbus.c: (gst_bus_set_sync_handler):
9295           Assert if anyone tries to replace the existing sync_handler for bus, 
9296           as only the owner should be setting it.
9297
9298         * gst/gstevent.h:
9299           Have a fixed set of custom event enums with events identified by
9300           their structure name (as in 0.8), rather than a free-for-all
9301           allowing collisions between enum values from different plugins.
9302
9303         * gst/gstpad.c: (gst_pad_class_init):
9304           Docs change.
9305           
9306         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9307           Handle out-of-band downstream events from the sending thread.
9308
9309 2005-08-17  Andy Wingo  <wingo@pobox.com>
9310
9311         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9312         play-timeout==0 to mean no timeout at all. In that case, don't
9313         bother with a get_state or a warning, just return directly, even
9314         if it's ASYNC.
9315
9316         * gst/base/gstbasetransform.c: Debug changes.
9317
9318         * gst/gstutils.h:
9319         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9320         ensure bins post state change messages. A bit of a hack but I can't
9321         think of a way to avoid it.
9322
9323         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9324
9325 2005-08-16  Andy Wingo  <wingo@pobox.com>
9326
9327         * gst/base/gstadapter.h:
9328         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9329         peek() but you own the data. Not terribly efficient atm.
9330
9331 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9332
9333         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9334         (gst_element_found_tags):
9335         * gst/gstutils.h:
9336           Add two utility functions for tag handling.
9337
9338 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9339
9340         * docs/manual/advanced-dataaccess.xml:
9341         * docs/manual/basics-helloworld.xml:
9342           Fix docs to use _bin_add() before _link(), which fixes the examples
9343           with recent core versions (reported by Madhan Raj M
9344           <raj_madan@rediffmail.com>, #313199).
9345
9346 2005-08-16  Wim Taymans  <wim@fluendo.com>
9347
9348         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9349         Added subtract checks.
9350
9351         * docs/design/part-events.txt:
9352         Some more docs about newsegment
9353
9354         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9355         Fix FIXME
9356
9357         * gst/gstcaps.c: (gst_caps_to_string):
9358         Add comments, cleanups.
9359         
9360         * gst/gstelement.c: (gst_element_save_thyself):
9361         cleanups
9362         
9363         * gst/gstvalue.c: (gst_value_collect_int_range),
9364         (gst_string_unwrap), (gst_value_union_int_int_range),
9365         (gst_value_union_int_range_int_range),
9366         (gst_value_intersect_int_int_range),
9367         (gst_value_intersect_int_range_int_range),
9368         (gst_value_intersect_double_double_range),
9369         (gst_value_intersect_double_range_double_range),
9370         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9371         (gst_value_subtract_int_range_int),
9372         (gst_value_subtract_double_range_double),
9373         (gst_value_subtract_double_range_double_range),
9374         (gst_value_subtract_from_list), (gst_value_subtract_list),
9375         (gst_value_can_compare), (gst_value_compare_fraction):
9376         Cleanups, add comments, remove unneeded asserts.
9377
9378 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9379
9380         * tools/gst-launch.c: (event_loop):
9381           don't convert NULL structures to strings
9382
9383 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9384
9385         * docs/gst/gstreamer-sections.txt:
9386           made some defines private
9387         * docs/gst/tmpl/gstconfig.sgml:
9388         * docs/gst/tmpl/gstqueue.sgml:
9389         * docs/gst/tmpl/gsttaglist.sgml:
9390         * docs/gst/tmpl/gsttypes.sgml:
9391         * docs/gst/tmpl/gstutils.sgml:
9392         * docs/pwg/appendix-porting.xml:
9393         * gst/base/gstbasesink.h:
9394         * gst/base/gstbasesrc.c:
9395         * gst/base/gstbasesrc.h:
9396         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9397         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9398         * gst/gstelement.c: (gst_element_class_init):
9399         * gst/gstpad.c: (gst_pad_class_init):
9400         * gst/gstqueue.c: (gst_queue_class_init):
9401         * gst/gstxml.c: (gst_xml_class_init):
9402           documented all undocumented signal inline
9403         * libs/gst/controller/gst-controller.h:
9404           added padding
9405
9406 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9407
9408         * docs/pwg/appendix-porting.xml:
9409           Document _set_link_function -> _set_setcaps_function.
9410
9411 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * check/Makefile.am:
9414           add a .check target for running the check
9415         * check/gst-libs/controller.c: (GST_START_TEST):
9416           cosmetic fixups
9417         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9418           complete checks for gstbuffer; would be nice if I could get the
9419           gcov stuff to work so I can see if I actually completed gstbuffer.c
9420         * check/gstcheck.h:
9421           add ASSERT_BUFFER_REFCOUNT
9422
9423 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9424
9425         * docs/gst/gstreamer-sections.txt:
9426         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9427         * gst/gsttag.h:
9428           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9429           spew out a warning if a tag that is already registered
9430           is re-registered, unless it is re-registered with a 
9431           different type (#308438).
9432
9433 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9434
9435         * docs/pwg/appendix-porting.xml:
9436         * docs/pwg/building-state.xml:
9437           Add some paragraphs about state changes in 0.9 to the PWG
9438           and the porting guide, in particular about the new meaning
9439           of GST_STATE_PAUSED and how to write state change functions
9440           with concurrent access by multiple threads in mind.
9441
9442 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9443
9444         * docs/gst/gstreamer-docs.sgml:
9445         * docs/libs/gstreamer-libs-docs.sgml:
9446           added deprecation and since indexes
9447         * libs/gst/controller/gst-controller.c:
9448         * libs/gst/controller/gst-helper.c:
9449           added since tags
9450
9451
9452 2005-08-11  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9455         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9456         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9457         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9458         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9459         (gst_ghost_pad_set_target):
9460         Actually implement (re)setting the target on a ghostpad
9461         as described in the docs.
9462
9463 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9464
9465         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9466           Check whether GST_DEBUG_NO_COLOR environment variable is
9467           set and disable coloured debug output if that is the case.
9468
9469 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9472         (gst_type_find_helper):
9473           The memory returned by gst_type_find_peek() needs to
9474           stay valid until the end of a typefind function, and
9475           typefind functions may keep results from different 
9476           offsets around, so we can't just unref the buffer from
9477           the previous _peek(), but have to save all buffers 
9478           returned by _peek() until typefinding is done and only
9479           free them then.
9480
9481 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9482
9483         * docs/gst/gstreamer-sections.txt:
9484         * gst/gstutils.h:
9485           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9486
9487 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9488
9489         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9490           Fix a pretty good memleak.
9491
9492 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9493
9494         * gst/gstiterator.h:
9495           Fix wrong include and 'make distcheck'.
9496
9497 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9498
9499         * gst/gstbin.c: (bin_bus_handler):
9500           Use gst_element_post_message() instead.
9501
9502 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9503
9504         * gst/base/gstadapter.h:
9505         * gst/base/gstbasesink.h:
9506         * gst/base/gstbasesrc.h:
9507         * gst/base/gstbasetransform.h:
9508         * gst/base/gstcollectpads.h:
9509         * gst/base/gstpushsrc.h:
9510         * gst/gstiterator.h:
9511           Add padding to our base elements' class and instance structs and
9512           to GstIterator (you will need to rebuild all plugins and apps!)
9513
9514 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9515
9516         * gst/gstbin.c: (bin_bus_handler):
9517           Make default message forwarding from child->bus to bin->bus
9518           threadsafe and make it not emit warnings if the parent has no bus.
9519
9520 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9521
9522         * gst/gstelement.c: (activate_pads):
9523           On paused->ready, set pad->caps to NULL, as is the documented
9524           behaviour in this state change. Fixes playback of series of
9525           media files when visualization is enabled in Totem.
9526
9527 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9528
9529         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9530           Allow NULL as filter-caps (which means "any").
9531
9532 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9533
9534         * docs/libs/gstreamer-libs-sections.txt:
9535         * libs/gst/controller/gst-controller.c:
9536         * libs/gst/controller/gst-controller.h:
9537         * libs/gst/controller/gst-helper.c:
9538           adding more entries to the docs and fix small doc-bugs
9539
9540 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9541
9542         * docs/gst/gstreamer-docs.sgml:
9543         * docs/gst/gstreamer-sections.txt:
9544         * docs/gst/gstreamer.types:
9545         * docs/gst/tmpl/gstbasesink.sgml:
9546         * docs/gst/tmpl/gstbasesrc.sgml:
9547         * docs/gst/tmpl/gstbasetransform.sgml:
9548         * docs/gst/tmpl/gstfakesrc.sgml:
9549         * gst/base/gstcollectpads.c:
9550         * gst/base/gstcollectpads.h:
9551         * libs/gst/controller/gst-controller.c:
9552         * libs/gst/controller/gst-controller.h:
9553         * libs/gst/controller/gst-helper.c:
9554         * libs/gst/controller/gst-interpolation.c:
9555         * libs/gst/controller/lib.c:
9556           added long/short desc for controller docs
9557           added collectpads base class docs
9558           added correct includes to base-class docs
9559
9560 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9561
9562         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9563         (gst_test_mono_source_set_property),
9564         (gst_test_mono_source_class_init), (GST_START_TEST),
9565         (gst_controller_suite):
9566         * docs/gst/gstreamer-docs.sgml:
9567         * docs/gst/gstreamer-sections.txt:
9568         * docs/gst/gstreamer.types:
9569         * docs/libs/gstreamer-libs-docs.sgml:
9570         * docs/libs/gstreamer-libs-sections.txt:
9571         * gst/base/gstadapter.c:
9572         * libs/gst/controller/gst-controller.c:
9573         (gst_controlled_property_new), (gst_controlled_property_free),
9574         (gst_controller_new_valist),
9575         (gst_controller_remove_properties_valist),
9576         (gst_controller_sink_values), (_gst_controller_finalize):
9577         * libs/gst/controller/gst-controller.h:
9578         * libs/gst/controller/gst-helper.c:
9579         (gst_object_control_properties), (gst_object_uncontrol_properties),
9580         (gst_object_get_controller), (gst_object_set_controller),
9581         (gst_object_sink_values), (gst_object_get_value_arrays),
9582         (gst_object_get_value_array):
9583           more tests (and fixes) for the controller
9584           more docs for the controller
9585           integrated companies docs for the adapter 
9586
9587 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9588
9589         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9590         (GST_START_TEST), (fakesrc_suite):
9591           add tests for sizetype
9592
9593 2005-08-04  Andy Wingo  <wingo@pobox.com>
9594
9595         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9596         fixes buffer_alloc proxying among other things.
9597
9598         * gst/base/gstbasetransform.c:
9599         * gst/base/gstbasetransform.h:
9600         Revert patch to gstbasetransform from 7-28 removing
9601         delay_configure.
9602
9603         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9604         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9605         Semantics changed, should return not the size of the output buffer
9606         but the byte size of a buffer with a given caps.
9607
9608         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9609         debug object.
9610         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9611         out) are not the pad caps until setcaps finishes.
9612         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9613         not-in-place case as well. Deal with changing from in-place to
9614         not-in-place within calling pad_alloc_buffer. Still a bit
9615         concerned about the overhead here...
9616
9617 2005-08-03  Andy Wingo  <wingo@pobox.com>
9618
9619         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9620         fixating is an error.
9621
9622 2005-08-04  Edward Hervey  <edward@fluendo.com>
9623
9624         * gst/base/gstadapter.h: 
9625         Added gst_adapter_get_type() to the header
9626
9627 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9628
9629         * check/Makefile.am:
9630         * check/gst-libs/controller.c:
9631         * libs/gst/controller/gst-controller.c:
9632         (gst_controller_new_valist):
9633           added check test suite for the controller
9634         * gst/base/gstpushsrc.c:
9635           fixed a doc typo
9636
9637 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9638
9639         * docs/gst/Makefile.am:
9640         * docs/gst/gstreamer-docs.sgml:
9641         * docs/gst/gstreamer-sections.txt:
9642         * docs/gst/gstreamer.types:
9643         * docs/gst/tmpl/gstfakesrc.sgml:
9644         * gst/base/README:
9645         * gst/base/gstbasesink.c:
9646         * gst/base/gstbasesink.h:
9647         * gst/base/gstbasesrc.c:
9648         * gst/base/gstbasesrc.h:
9649         * gst/base/gstbasetransform.c:
9650         * gst/base/gstpushsrc.c:
9651         * gst/base/gstpushsrc.h:
9652           add short/long description docs to base classes
9653           add pushsrc to the docs
9654           remove consolidated doc fragments
9655
9656 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9657
9658         * configure.ac:
9659         * docs/libs/Makefile.am:
9660         * docs/libs/gstreamer-libs-docs.sgml:
9661         * docs/libs/gstreamer-libs-sections.txt:
9662         * docs/libs/gstreamer-libs.types:
9663         * examples/Makefile.am:
9664         * examples/controller/.cvsignore:
9665         * examples/controller/Makefile.am:
9666         * examples/controller/audio-example.c: (main):
9667         * libs/gst/Makefile.am:
9668         * libs/gst/controller/.cvsignore:
9669         * libs/gst/controller/Makefile.am:
9670         * libs/gst/controller/gst-controller.c:
9671         (on_object_controlled_property_changed), (gst_timed_value_compare),
9672         (gst_timed_value_find),
9673         (gst_controlled_property_set_interpolation_mode),
9674         (gst_controlled_property_new), (gst_controlled_property_free),
9675         (gst_controller_find_controlled_property),
9676         (gst_controller_new_valist), (gst_controller_new),
9677         (gst_controller_remove_properties_valist),
9678         (gst_controller_remove_properties), (gst_controller_set),
9679         (gst_controller_set_from_list), (gst_controller_unset),
9680         (gst_controller_get), (gst_controller_get_all),
9681         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9682         (gst_controller_get_value_array),
9683         (gst_controller_set_interpolation_mode),
9684         (_gst_controller_finalize), (_gst_controller_init),
9685         (_gst_controller_class_init), (gst_controller_get_type):
9686         * libs/gst/controller/gst-controller.h:
9687         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9688         (g_object_uncontrol_properties), (g_object_get_controller),
9689         (g_object_set_controller), (g_object_sink_values),
9690         (g_object_get_value_arrays), (g_object_get_value_array):
9691         * libs/gst/controller/gst-interpolation.c:
9692         (gst_controlled_property_find_timed_value_node),
9693         (interpolate_none_get), (interpolate_trigger_get),
9694         (interpolate_trigger_get_value_array):
9695         * libs/gst/controller/lib.c: (gst_controller_init):
9696         * pkgconfig/Makefile.am:
9697         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9698         * pkgconfig/gstreamer-control.pc.in:
9699         * testsuite/Makefile.am:
9700         * testsuite/controller/.cvsignore:
9701         * testsuite/controller/Makefile.am:
9702         * testsuite/controller/interpolator.c: (main):
9703           added controller code
9704           removed dparam pc files
9705
9706 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9707         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9708         (gst_collectpads_stop):
9709           Broadcast the condition when shutting down, to make sure we wake all
9710           threads up. Shut down pads on finalize, for safety.
9711
9712 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9713         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9714         (gst_base_transform_handle_buffer),
9715         (gst_base_transform_change_state):
9716           Handle PAUSED->READY->PAUSED transition after negotiation
9717           occurred already.
9718         * gst/gstmessage.c: (gst_message_init):
9719           Extra piece of debug for new messages.
9720
9721 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9722
9723         * configure.ac:
9724         * docs/gst/tmpl/gstbasesrc.sgml:
9725         * docs/gst/tmpl/gstelement.sgml:
9726         * docs/gst/tmpl/gstevent.sgml:
9727         * docs/gst/tmpl/gstfakesrc.sgml:
9728         * docs/gst/tmpl/gstformat.sgml:
9729         * docs/gst/tmpl/gstghostpad.sgml:
9730         * docs/gst/tmpl/gstpad.sgml:
9731         * docs/gst/tmpl/gstquery.sgml:
9732         * docs/gst/tmpl/gststructure.sgml:
9733         * docs/gst/tmpl/gsttaglist.sgml:
9734         * docs/gst/tmpl/gstvalue.sgml:
9735         * docs/libs/gstreamer-libs-docs.sgml:
9736         * docs/libs/gstreamer-libs-sections.txt:
9737         * docs/libs/gstreamer-libs.types:
9738         * libs/gst/Makefile.am:
9739         * libs/gst/control/.cvsignore:
9740         * libs/gst/control/Makefile.am:
9741         * libs/gst/control/control.c:
9742         * libs/gst/control/control.h:
9743         * libs/gst/control/dparam.c:
9744         * libs/gst/control/dparam.h:
9745         * libs/gst/control/dparam_smooth.c:
9746         * libs/gst/control/dparam_smooth.h:
9747         * libs/gst/control/dparamcommon.h:
9748         * libs/gst/control/dparammanager.c:
9749         * libs/gst/control/dparammanager.h:
9750         * libs/gst/control/dplinearinterp.c:
9751         * libs/gst/control/dplinearinterp.h:
9752         * libs/gst/control/unitconvert.c:
9753         * libs/gst/control/unitconvert.h:
9754         * testsuite/Makefile.am:
9755         * testsuite/dynparams/.cvsignore:
9756         * testsuite/dynparams/Makefile.am:
9757         * testsuite/dynparams/dparamstest.c:
9758         * tools/Makefile.am:
9759         * tools/gst-inspect.c: (print_element_info), (main):
9760         * tools/gst-xmlinspect.c: (print_element_info), (main):
9761           deactivate and remove dparams (libgstcontrol)
9762
9763 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9764
9765         * gst/elements/gsttypefindelement.c:
9766         (gst_type_find_element_have_type), (gst_type_find_element_init),
9767         (stop_typefinding), (gst_type_find_element_handle_event),
9768         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9769         * gst/elements/gsttypefindelement.h:
9770           Set caps on all outgoing buffers, not just the first one.
9771
9772 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9773
9774         * gst/elements/gsttypefindelement.c:
9775         (gst_type_find_element_have_type),
9776         (gst_type_find_element_check_set_buffer_caps),
9777         (gst_type_find_element_init), (stop_typefinding),
9778         (gst_type_find_element_handle_event),
9779         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9780         * gst/elements/gsttypefindelement.h:
9781           Set caps on first outgoing buffer when we've found the type.
9782
9783 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9784
9785         * docs/gst/gstreamer-docs.sgml:
9786         * docs/gst/gstreamer-sections.txt:
9787         * docs/gst/tmpl/gstscheduler.sgml:
9788         * docs/gst/tmpl/gstschedulerfactory.sgml:
9789           Remove some old cruft from docs.
9790
9791 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9792
9793         * gst/gstpad.h:
9794           Fix inline docs for GstPadLinkReturn.
9795           
9796         * gst/gststructure.c: (gst_structure_has_name):
9797         * gst/gststructure.h:
9798         * docs/gst/gstreamer-sections.txt:
9799           New API: gst_structure_has_name().
9800
9801 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9802
9803         * configure.ac:
9804           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9805           and _LARGEFILE_SOURCE in config.h as required. Do not 
9806           export those flags in our .pc files any longer (#142209).
9807
9808           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9809
9810         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9811         (gst_file_sink_do_seek), (gst_file_sink_event),
9812         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9813           Redo seek/tell calls with large file support in mind; add some
9814           debugging messages; add log message that tells us when large
9815           file support is unavailable or not enabled for some reason.
9816
9817         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9818           Add log message that tells us when large file support 
9819           is unavailable or not enabled for some reason.
9820
9821 2005-07-29  Wim Taymans  <wim@fluendo.com>
9822
9823         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9824         Added test for removing an element with ghostpad from a bin.
9825         Fixed test as current implementation does the right thing.
9826
9827         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9828         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9829         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9830         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9831         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9832         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9833         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9834         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9835         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9836         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9837         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9838         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9839         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9840         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9841         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9842         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9843         * gst/gstghostpad.h:
9844         Clean up ghostpads, remove properties for internal stuff.
9845         Make threadsafe.
9846         Fix refcounting.
9847         Prepare for switching targets, not all use cases work yet.
9848
9849 2005-07-29  Wim Taymans  <wim@fluendo.com>
9850
9851         * docs/design/part-gstghostpad.txt:
9852         Small update.
9853
9854         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9855         (gst_bin_remove_func):
9856         Unlinking pads while holding the bin LOCK is not a good
9857         idea.
9858
9859         * gst/gstpad.c: (gst_pad_class_init),
9860         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9861         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9862         No prob setting template after creating the pad.
9863
9864 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9865
9866         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9867         (gst_bus_peek), (gst_bus_source_dispatch),
9868         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9869         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9870           gst_bus_poll may be called from other threads. Handle
9871           this nicely by not making poll_data disappear off the
9872           stack once gst_bus_poll returns.
9873           gst_bus_peek now increments the refcount on the returned
9874           message.
9875
9876 2005-07-29  Wim Taymans  <wim@fluendo.com>
9877
9878         * docs/design/part-gstghostpad.txt:
9879         Overview of current GhostPad datastructures and use
9880         cases for changing the target.
9881
9882 2005-07-28  Wim Taymans  <wim@fluendo.com>
9883
9884         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9885         Added checks for hierarchy consistency whan adding linked
9886         elements to bins.
9887
9888         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9889         Added check to test element scheduling without bin/pipeline.
9890
9891         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9892         First add elements to bin, then link.
9893         
9894         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9895         (gst_bin_remove_func):
9896         Unlink pads from elements added/removed from bin to maintain
9897         hierarchy consistency.
9898
9899 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9900
9901         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9902         (gst_base_transform_handle_buffer):
9903         * gst/base/gstbasetransform.h:
9904           Remove broken delay_configure (fixes renegotiation of software
9905           scaling pipelines); remove some leftover printf()s.
9906
9907 2005-07-28  Wim Taymans  <wim@fluendo.com>
9908
9909         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9910         Added some more tests for wrong hierarchy
9911
9912         * docs/design/part-overview.txt:
9913         Some updates.
9914
9915         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9916         Cleanups.
9917
9918         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9919         (gst_element_dispose):
9920         Some more cleanups.
9921
9922         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9923         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9924         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9925         (gst_pad_set_caps), (gst_pad_send_event):
9926         Check for correct hierarchy when linking pads. Moving to
9927         strict requirement for ghostpads when linking elements in
9928         different bins.
9929
9930         * gst/gstpad.h:
9931         Clean ups. Added WRONG_HIERARCHY return value.
9932
9933 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9934
9935         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9936           Better debug if no transform is possible.
9937
9938 2005-07-27  Wim Taymans  <wim@fluendo.com>
9939
9940         * docs/random/wtay/network-transp:
9941         Some old doc I had.
9942
9943 2005-07-27  Wim Taymans  <wim@fluendo.com>
9944
9945         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9946         (gst_dp_event_from_packet):
9947         Fix serialization of seek events.
9948
9949 2005-07-27  Wim Taymans  <wim@fluendo.com>
9950
9951         * check/gst-libs/gdp.c: (GST_START_TEST):
9952         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9953         Fix compilation and fix event serialization.
9954
9955 2005-07-27  Wim Taymans  <wim@fluendo.com>
9956
9957         * CHANGES-0.9:
9958         * docs/design/part-TODO.txt:
9959         * docs/design/part-events.txt:
9960         Some docs updates
9961
9962         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9963         (gst_base_sink_event), (gst_base_sink_do_sync),
9964         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9965         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9966         (gst_base_src_do_seek), (gst_base_src_event_handler),
9967         (gst_base_src_loop):
9968         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9969         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9970         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9971         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9972         (gst_base_transform_set_passthrough),
9973         (gst_base_transform_is_passthrough):
9974         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9975         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9976         Event updates.
9977
9978         * gst/gstbuffer.h:
9979         Use faster casts.
9980
9981         * gst/gstelement.c: (gst_element_seek):
9982         * gst/gstelement.h:
9983         Update gst_element_seek.
9984
9985         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9986         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9987         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9988         (gst_event_new_eos), (gst_event_new_newsegment),
9989         (gst_event_parse_newsegment), (gst_event_new_tag),
9990         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9991         (gst_event_parse_qos), (gst_event_new_seek),
9992         (gst_event_parse_seek), (gst_event_new_navigation):
9993         * gst/gstevent.h:
9994         Make GstEvent use GstStructure. Add parsing code, make sure the
9995         API is sufficiently generic.
9996         Mark possible directions of events and serialization.
9997
9998         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9999         (_gst_message_copy), (gst_message_new_segment_start),
10000         (gst_message_new_segment_done), (gst_message_new_custom),
10001         (gst_message_parse_segment_start),
10002         (gst_message_parse_segment_done):
10003         Small cleanups.
10004
10005         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10006         (gst_pad_set_caps), (gst_pad_send_event):
10007         Update for new events. 
10008         Catch events sent in wrong directions.
10009
10010         * gst/gstqueue.c: (gst_queue_link_src),
10011         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10012         (gst_queue_handle_src_query):
10013         Event updates.
10014
10015         * gst/gsttag.c:
10016         * gst/gsttag.h:
10017         Remove event code from this file.
10018
10019         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10020         (gst_dp_event_from_packet):
10021         Event updates.
10022
10023 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10024
10025         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10026         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10027         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10028           Make debugging actually useful.
10029
10030 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10031
10032         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10033         (gst_pad_fixate_caps):
10034           Implement default fixation once again, so that gst_pad_fixate()
10035           actually does anything at all. This probably needs to be some
10036           sort of a last resort, and use profile-based fixation first, but
10037           since that doesn't exist yet, this is the best we have. Fixes
10038           visualization in Totem.
10039
10040 2005-07-22  Wim Taymans  <wim@fluendo.com>
10041
10042         * docs/design/part-events.txt:
10043         Small update.
10044
10045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10046         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10047         (gst_base_sink_activate_pull):
10048         Some more comments.
10049
10050         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10051         (gst_fake_src_create):
10052         Fix handoff marshall.
10053
10054         * gst/elements/gstidentity.c: (gst_identity_class_init),
10055         (gst_identity_transform_ip):
10056         We're a real inplace element.
10057
10058         * gst/gstbus.c: (gst_bus_post):
10059         Added some comments.
10060
10061         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10062         * tests/muxing/case1.c: (main):
10063         * tests/sched/dynamic-pipeline.c: (main):
10064         * tests/sched/interrupt1.c: (main):
10065         * tests/sched/interrupt2.c: (main):
10066         * tests/sched/interrupt3.c: (main):
10067         * tests/sched/runxml.c: (main):
10068         * tests/sched/sched-stress.c: (main):
10069         * tests/seeking/seeking1.c: (event_received), (main):
10070         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10071         (main):
10072         * tests/threadstate/threadstate3.c: (main):
10073         * tests/threadstate/threadstate4.c: (main):
10074         * tests/threadstate/threadstate5.c: (main):
10075         Fix the tests.
10076
10077 2005-07-21  Wim Taymans  <wim@fluendo.com>
10078
10079         * docs/design/part-seeking.txt:
10080         Some small additions.
10081
10082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10083         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10084         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10085         * gst/base/gstbasesink.h:
10086         discont values are gint64, handle the math correctly.
10087
10088         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10089         Make the basesrc report error if the source pad is not linked.
10090
10091         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10092         (gst_queue_loop), (gst_queue_handle_src_query),
10093         (gst_queue_src_activate_push):
10094         Make queue collect data even if the srcpad is not linked.
10095         Start pushing out data as soon as it is linked.
10096
10097         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10098         * gst/gstutils.h:
10099         Added gst_flow_get_name() to ease error reporting.
10100
10101 2005-07-20  Wim Taymans  <wim@fluendo.com>
10102
10103         * gst/gstmessage.c: (gst_message_new_segment_start),
10104         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10105         (gst_message_parse_segment_done):
10106         * gst/gstmessage.h:
10107         Added a bunch of messages for advanced seeking.
10108
10109         * gst/parse/grammar.y:
10110         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10111         (gst_dpman_state_changed):
10112         Fix some new-pad -> pad-added signals
10113
10114 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10115
10116         * docs/manual/appendix-porting.xml:
10117         * docs/pwg/appendix-porting.xml:
10118           Document new-pad/state-change signal renames and the FixedList
10119           type rename.
10120
10121 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10122
10123         * docs/manual/advanced-autoplugging.xml:
10124         * docs/manual/basics-helloworld.xml:
10125         * docs/manual/basics-pads.xml:
10126         * docs/random/ds/0.9-suggested-changes:
10127         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10128         * gst/gstelement.h:
10129         * gst/gstevent.h:
10130         * gst/gstformat.h:
10131         * gst/gstquery.h:
10132         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10133         (gst_structure_parse_array), (gst_structure_parse_value):
10134         * gst/gstvalue.c: (gst_type_is_fixed),
10135         (gst_value_list_prepend_value), (gst_value_list_append_value),
10136         (gst_value_list_get_size), (gst_value_list_get_value),
10137         (gst_value_transform_array_string), (gst_value_serialize_array),
10138         (gst_value_deserialize_array), (gst_value_intersect_array),
10139         (gst_value_is_fixed), (_gst_value_initialize):
10140         * gst/gstvalue.h:
10141           GstElement::new-pad -> pad-added, GstElement::state-change ->
10142           state-changed, GstValueFixedList -> GstValueArray, add format and
10143           flags as their own arguments in gst_element_seek() (should improve
10144           "bindeability"), remove function generators since they don't work
10145           under a whole bunch of compilers (they were deprecated already
10146           anyway).
10147
10148 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10149
10150         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10151         (_gst_debug_register_funcptr):
10152         * gst/gstinfo.h:
10153           Fix illegal cast on some platforms (#309253).
10154
10155 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10156
10157         * gst/gstmessage.c: (gst_message_new_custom):
10158         * gst/gstmessage.h:
10159           Add _new_custom, make _new_application a macro to _new_custom.
10160
10161 2005-07-20  Wim Taymans  <wim@fluendo.com>
10162
10163         * gst/base/gstbasesrc.c: (gst_base_src_init),
10164         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10165         * gst/base/gstbasesrc.h:
10166         Add a gboolean to decide when to push out a discont.
10167
10168         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10169         (gst_queue_loop), (gst_queue_handle_src_query),
10170         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10171         (gst_queue_set_property), (gst_queue_get_property):
10172         Some cleanups.
10173
10174         * tests/threadstate/threadstate1.c: (main):
10175         Make a thread test compile and run... very silly..
10176
10177
10178 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10179
10180         * docs/manual/appendix-porting.xml:
10181           Mention removal of libgstgconf-0.9.la and existence of gconf
10182           elements.
10183
10184 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10185
10186         * docs/pwg/advanced-clock.xml:
10187         * docs/pwg/appendix-porting.xml:
10188         * docs/pwg/intro-preface.xml:
10189         * docs/pwg/other-base.xml:
10190         * docs/pwg/other-manager.xml:
10191         * docs/pwg/other-nton.xml:
10192         * docs/pwg/other-ntoone.xml:
10193         * docs/pwg/other-oneton.xml:
10194         * docs/pwg/pwg.xml:
10195           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10196           demuxer), remove n-to-n (was never written), fix some code examples
10197           and links and update the porting section to include all this.
10198
10199 2005-07-19  Wim Taymans  <wim@fluendo.com>
10200
10201         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10202         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10203         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10204         (gst_queue_src_activate_push), (gst_queue_change_state),
10205         (gst_queue_get_property):
10206         * gst/gstqueue.h:
10207         Propagate GstFlowReturn more intelligently upstream and output
10208         an ERROR/EOS when streaming stopped due to fatal error.
10209
10210 2005-07-19  Wim Taymans  <wim@fluendo.com>
10211
10212         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10213         Don't block forever for the state change to complete, the
10214         pipeline already did with a sensible timeout.
10215
10216 2005-07-19  Wim Taymans  <wim@fluendo.com>
10217
10218         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10219         Make sure we never call the create function is we
10220         got deactivated.
10221
10222 2005-07-19  Andy Wingo  <wingo@pobox.com>
10223
10224         * gst/parse/parse.l: Attempt to solve bug #172815.
10225
10226 2005-07-19  Wim Taymans  <wim@fluendo.com>
10227
10228         * docs/design/part-clocks.txt:
10229         * docs/design/part-events.txt:
10230         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10231         Small docs updates.
10232         Only update the seeking values when we are not
10233         busy streaming.
10234
10235 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10236
10237         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10238           Oops, ignore the result of gst_pad_push_event here.
10239
10240 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10241
10242         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10243         (gst_base_src_activate_push):
10244           Send discont event from the loop function, as pads
10245           aren't activated yet in the activate_push handler.
10246
10247         * gst/gstbin.c: (bin_bus_handler):
10248           Don't leak element name.
10249
10250 2005-07-18  Andy Wingo  <wingo@pobox.com>
10251
10252         * configure.ac: Use AS_LIBTOOL_TAGS.
10253
10254 2005-07-18  Wim Taymans  <wim@fluendo.com>
10255
10256         * docs/gst/gstreamer.types:
10257         Remove deleted types.
10258
10259 2005-07-18  Wim Taymans  <wim@fluendo.com>
10260
10261         * check/elements/gstfakesrc.c: (GST_START_TEST):
10262         * configure.ac:
10263         * gst/Makefile.am:
10264         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10265         (init_popt_callback):
10266         * gst/gst.h:
10267         * gst/gst_private.h:
10268         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10269         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10270         * gst/gstbin.h:
10271         * gst/gstbus.h:
10272         * gst/gstconfig.h.in:
10273         * gst/gstelement.c: (gst_element_class_init),
10274         (gst_element_set_base_time), (gst_element_get_base_time),
10275         (iterator_fold_with_resync), (gst_element_change_state),
10276         (gst_element_dispose), (gst_element_get_bus):
10277         * gst/gstelement.h:
10278         * gst/gstelementfactory.h:
10279         * gst/gsterror.c: (_gst_core_errors_init):
10280         * gst/gsterror.h:
10281         * gst/gstevent.h:
10282         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10283         * gst/gstindex.c:
10284         * gst/gstinfo.c: (_gst_debug_init):
10285         * gst/gstmessage.c: (_gst_message_copy):
10286         * gst/gstmessage.h:
10287         * gst/gstminiobject.h:
10288         * gst/gstobject.c:
10289         * gst/gstobject.h:
10290         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10291         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10292         * gst/gstpad.h:
10293         * gst/gstparse.h:
10294         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10295         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10296         (gst_pipeline_get_last_stream_time):
10297         * gst/gstpipeline.h:
10298         * gst/gstpluginfeature.h:
10299         * gst/gstquery.h:
10300         * gst/gstscheduler.c:
10301         * gst/gstscheduler.h:
10302         * gst/gststructure.h:
10303         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10304         (gst_task_finalize), (gst_task_func), (gst_task_create),
10305         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10306         (gst_task_stop), (gst_task_pause):
10307         * gst/gsttask.h:
10308         * gst/gsttypefind.h:
10309         * gst/gsttypes.h:
10310         * gst/registries/gstlibxmlregistry.c: (load_feature),
10311         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10312         * gst/registries/gstxmlregistry.c:
10313         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10314         * gst/schedulers/threadscheduler.c:
10315         * libs/gst/control/dparammanager.h:
10316         * tools/gst-inspect.c: (print_element_list),
10317         (print_plugin_features), (print_element_features):
10318         * tools/gst-xmlinspect.c: (print_element_list),
10319         (print_plugin_info), (main):
10320         Removed plugable schedulers.
10321         Removed Scheduler/Manager from elements.
10322         Removed gsttypes.h, rearranged includes.
10323         Removed dependency pad<->element, element<>pipeline, and
10324         various others,  fix includes.
10325         implement gst_pad_get_parent() with gst_object_get_parent()
10326         Make GstTask sefcontained.
10327         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10328         timeout.
10329         Fix endless loop in iterator_fold_with_resync.
10330
10331
10332 2005-07-18  Wim Taymans  <wim@fluendo.com>
10333
10334         * gst/Makefile.am:
10335         * gst/gstarch.h:
10336         Remove old file.
10337
10338 2005-07-18  Wim Taymans  <wim@fluendo.com>
10339
10340         * gst/Makefile.am:
10341         No more cothreads.h
10342
10343 2005-07-18  Wim Taymans  <wim@fluendo.com>
10344
10345         * gst/cothreads.c:
10346         * gst/cothreads.h:
10347         Let's remove these.
10348
10349 2005-07-18  Wim Taymans  <wim@fluendo.com>
10350
10351         * docs/design/part-dynamic.txt:
10352         * docs/design/part-events.txt:
10353         * docs/design/part-seeking.txt:
10354         Some more docs in the works.
10355
10356         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10357         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10358         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10359         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10360         (gst_base_transform_handle_buffer),
10361         (gst_base_transform_sink_activate_push),
10362         (gst_base_transform_src_activate_pull),
10363         (gst_base_transform_set_passthrough),
10364         (gst_base_transform_is_passthrough):
10365         Refcounting fixes.
10366
10367         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10368         Cleanups.
10369
10370         * gst/gstevent.c: (gst_event_finalize):
10371         Set SRC to NULL.
10372
10373         * gst/gstutils.c: (gst_element_unlink),
10374         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10375         (gst_pad_proxy_setcaps):
10376         * gst/gstutils.h:
10377         Add _get_parent_element() to get a pads parent as an element.
10378
10379 2005-07-18  Wim Taymans  <wim@fluendo.com>
10380
10381         * check/gst/gstbin.c: (GST_START_TEST):
10382         Remove bogus test.
10383
10384 2005-07-18  Wim Taymans  <wim@fluendo.com>
10385
10386         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10387         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10388         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10389         (gst_base_sink_event), (gst_base_sink_do_sync),
10390         (gst_base_sink_chain), (gst_base_sink_loop),
10391         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10392         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10393         Refcounting fixes.
10394         Fix logic for returning ASYNC when not prerolled.
10395
10396 2005-07-18  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10399         Fix nasty refcount bug.
10400
10401 2005-07-16 Philippe Khalaf <burger@speedy.org>
10402
10403         * gst/elements/gstfdsrc.c:
10404         * gst/elements/gstfdsrc.h:
10405         * gst/elements/gstelements.c:
10406         * gst/elements/Makefile.am:
10407         Ported fdsrc to 0.9.
10408
10409 2005-07-16  Wim Taymans  <wim@fluendo.com>
10410
10411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10412         (gst_base_sink_do_sync):
10413         Fix compile error.
10414
10415 2005-07-16  Wim Taymans  <wim@fluendo.com>
10416
10417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10418         (gst_base_sink_event), (gst_base_sink_get_times),
10419         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10420         * gst/base/gstbasesink.h:
10421         Store and use discont values when syncing buffers as described
10422         in design docs.
10423         
10424         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10425         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10426         (gst_base_src_activate_push):
10427         Push discont event when starting.
10428
10429         * gst/elements/gstidentity.c: (gst_identity_transform):
10430         Small cleanups.
10431
10432         * gst/gstbin.c: (gst_bin_change_state):
10433         Small cleanups in base_time  distribution.
10434
10435         * gst/gstelement.c: (gst_element_set_base_time),
10436         (gst_element_get_base_time), (gst_element_change_state):
10437         * gst/gstelement.h:
10438         Added methods for the base_time of the element.
10439         Some MT fixes.
10440
10441         * gst/gstpipeline.c: (gst_pipeline_send_event),
10442         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10443         (gst_pipeline_get_last_stream_time):
10444         * gst/gstpipeline.h:
10445         MT fixes.
10446         Handle seeking as described in design doc, remove stream_time
10447         hack.
10448         Cleanups clock and stream_time selection code. Added accessors
10449         for the stream_time.
10450         
10451
10452 2005-07-16  Andy Wingo  <wingo@pobox.com>
10453
10454         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10455         (#305291).
10456
10457 2005-07-16  Wim Taymans  <wim@fluendo.com>
10458
10459         * check/gst/gstbin.c: (GST_START_TEST):
10460         Make elements silent as the deep_notify refs the
10461         parent, which might make the test fail.
10462
10463         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10464         Don't hold the lock for too long.
10465
10466 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10467
10468         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10469           Don't unref the caps we passed to gst_caps_make_writable() after
10470           passing them. gst_caps_make_writable() will do that for us.
10471
10472 2005-07-15  Andy Wingo  <wingo@pobox.com>
10473
10474         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10475         (#157311).
10476
10477         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10478         own marshalling function for the handoff signal. Properly type the
10479         buffer as a buffer. Fixes some warnings. Should do a more general
10480         solution.
10481         (gst_identity_class_init): Plug into the right marshaller.
10482
10483 2005-07-15  Wim Taymans  <wim@fluendo.com>
10484
10485         * docs/design/part-TODO.txt:
10486         * docs/design/part-clocks.txt:
10487         * docs/design/part-element-sink.txt:
10488         * docs/design/part-events.txt:
10489         * docs/design/part-gstpipeline.txt:
10490         Updated docs, mostly DISCONT related.
10491
10492 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10493
10494         * docs/pwg/building-pads.xml:
10495           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10496
10497 2005-07-15  Andy Wingo  <wingo@pobox.com>
10498
10499         * tools/gst-typefind.c: Update, add copyright block.
10500
10501         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10502         Normalize and truncate caps before fixation.
10503
10504         * gst/gstcaps.h:
10505         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10506         discards all but the first structure from its argument.
10507
10508 2005-07-15  Wim Taymans  <wim@fluendo.com>
10509
10510         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10511         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10512         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10513         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10514         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10515         (gst_base_transform_chain), (gst_base_transform_change_state),
10516         (gst_base_transform_set_passthrough),
10517         (gst_base_transform_is_passthrough):
10518         * gst/base/gstbasetransform.h:
10519         Make passthrough work using the bufferpools.
10520         Changed API a bit, subclasses have to write into a buffer
10521         provided by the base class.
10522         More debug info in nego functions.
10523         
10524         * gst/elements/gstidentity.c: (gst_identity_init),
10525         (gst_identity_transform):
10526         Port to new base class.
10527
10528 2005-07-15  Wim Taymans  <wim@fluendo.com>
10529
10530         * gst/gstmessage.c: (gst_message_new_state_changed):
10531         * tools/gst-launch.c: (event_loop), (main):
10532         Totally dump messages in -launch with the -m option.
10533         Fix message name for State messages,
10534
10535 2005-07-14  Wim Taymans  <wim@fluendo.com>
10536
10537         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10538         Post error messages on errors.
10539
10540 2005-07-14  Wim Taymans  <wim@fluendo.com>
10541
10542         * gst/gstcaps.c: (gst_caps_do_simplify):
10543         Remove debug info.
10544
10545         * gst/gsterror.h:
10546         Define error for stream stopped.
10547
10548         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10549         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10550         Do proper return values.
10551
10552         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10553         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10554         (gst_pad_get_range):
10555         Better return values.
10556
10557         * gst/gstpad.h:
10558         Reorganise return values, add macro to check for fatal errors.
10559
10560         * gst/gstqueue.c: (gst_queue_chain):
10561         Return proper GstFlowReturn values,
10562
10563 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * docs/gst/gstreamer-sections.txt:
10566         * docs/gst/gstreamer.types:
10567         * docs/gst/tmpl/gst.sgml:
10568         * docs/gst/tmpl/gstbasesink.sgml:
10569         * docs/gst/tmpl/gstbasesrc.sgml:
10570         * docs/gst/tmpl/gstbasetransform.sgml:
10571         * docs/gst/tmpl/gstbin.sgml:
10572         * docs/gst/tmpl/gstbuffer.sgml:
10573         * docs/gst/tmpl/gstcaps.sgml:
10574         * docs/gst/tmpl/gstclock.sgml:
10575         * docs/gst/tmpl/gstcompat.sgml:
10576         * docs/gst/tmpl/gstconfig.sgml:
10577         * docs/gst/tmpl/gstelement.sgml:
10578         * docs/gst/tmpl/gstelementdetails.sgml:
10579         * docs/gst/tmpl/gstelementfactory.sgml:
10580         * docs/gst/tmpl/gstenumtypes.sgml:
10581         * docs/gst/tmpl/gsterror.sgml:
10582         * docs/gst/tmpl/gstevent.sgml:
10583         * docs/gst/tmpl/gstfakesink.sgml:
10584         * docs/gst/tmpl/gstfakesrc.sgml:
10585         * docs/gst/tmpl/gstfilesink.sgml:
10586         * docs/gst/tmpl/gstfilesrc.sgml:
10587         * docs/gst/tmpl/gstfilter.sgml:
10588         * docs/gst/tmpl/gstformat.sgml:
10589         * docs/gst/tmpl/gstghostpad.sgml:
10590         * docs/gst/tmpl/gstimplementsinterface.sgml:
10591         * docs/gst/tmpl/gstindex.sgml:
10592         * docs/gst/tmpl/gstindexfactory.sgml:
10593         * docs/gst/tmpl/gstinfo.sgml:
10594         * docs/gst/tmpl/gstiterator.sgml:
10595         * docs/gst/tmpl/gstmacros.sgml:
10596         * docs/gst/tmpl/gstmemchunk.sgml:
10597         * docs/gst/tmpl/gstminiobject.sgml:
10598         * docs/gst/tmpl/gstobject.sgml:
10599         * docs/gst/tmpl/gstpad.sgml:
10600         * docs/gst/tmpl/gstpadtemplate.sgml:
10601         * docs/gst/tmpl/gstparse.sgml:
10602         * docs/gst/tmpl/gstpipeline.sgml:
10603         * docs/gst/tmpl/gstplugin.sgml:
10604         * docs/gst/tmpl/gstpluginfeature.sgml:
10605         * docs/gst/tmpl/gstquery.sgml:
10606         * docs/gst/tmpl/gstqueue.sgml:
10607         * docs/gst/tmpl/gstregistry.sgml:
10608         * docs/gst/tmpl/gstregistrypool.sgml:
10609         * docs/gst/tmpl/gstscheduler.sgml:
10610         * docs/gst/tmpl/gstschedulerfactory.sgml:
10611         * docs/gst/tmpl/gststructure.sgml:
10612         * docs/gst/tmpl/gstsystemclock.sgml:
10613         * docs/gst/tmpl/gsttaglist.sgml:
10614         * docs/gst/tmpl/gsttagsetter.sgml:
10615         * docs/gst/tmpl/gsttrace.sgml:
10616         * docs/gst/tmpl/gsttrashstack.sgml:
10617         * docs/gst/tmpl/gsttypefind.sgml:
10618         * docs/gst/tmpl/gsttypefindfactory.sgml:
10619         * docs/gst/tmpl/gsttypes.sgml:
10620         * docs/gst/tmpl/gsturihandler.sgml:
10621         * docs/gst/tmpl/gsturitype.sgml:
10622         * docs/gst/tmpl/gstutils.sgml:
10623         * docs/gst/tmpl/gstvalue.sgml:
10624         * docs/gst/tmpl/gstversion.sgml:
10625         * docs/gst/tmpl/gstxml.sgml:
10626         * docs/libs/tmpl/gstcontrol.sgml:
10627         * docs/libs/tmpl/gstdataprotocol.sgml:
10628         * docs/libs/tmpl/gstdparam.sgml:
10629         * docs/libs/tmpl/gstdplinint.sgml:
10630         * docs/libs/tmpl/gstdpman.sgml:
10631         * docs/libs/tmpl/gstdpsmooth.sgml:
10632         * docs/libs/tmpl/gstgetbits.sgml:
10633         * docs/libs/tmpl/gstunitconvert.sgml:
10634         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10635         (gst_push_src_base_init), (gst_push_src_class_init),
10636         (gst_push_src_init), (gst_push_src_create):
10637         * gst/base/gstpushsrc.h:
10638         * gst/elements/gstelements.c:
10639         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10640         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10641         (gst_fake_sink_init), (gst_fake_sink_set_property),
10642         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10643         (gst_fake_sink_event), (gst_fake_sink_preroll),
10644         (gst_fake_sink_render), (gst_fake_sink_change_state):
10645         * gst/elements/gstfakesink.h:
10646         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10647         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10648         (gst_fake_src_base_init), (gst_fake_src_class_init),
10649         (gst_fake_src_init), (gst_fake_src_event_handler),
10650         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10651         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10652         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10653         (gst_fake_src_create_buffer), (gst_fake_src_create),
10654         (gst_fake_src_start), (gst_fake_src_stop):
10655         * gst/elements/gstfakesrc.h:
10656         * gst/elements/gstfilesink.c: (_do_init),
10657         (gst_file_sink_base_init), (gst_file_sink_class_init),
10658         (gst_file_sink_init), (gst_file_sink_dispose),
10659         (gst_file_sink_set_location), (gst_file_sink_set_property),
10660         (gst_file_sink_get_property), (gst_file_sink_open_file),
10661         (gst_file_sink_close_file), (gst_file_sink_query),
10662         (gst_file_sink_event), (gst_file_sink_render),
10663         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10664         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10665         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10666         * gst/elements/gstfilesink.h:
10667         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10668         (gst_file_src_class_init), (gst_file_src_init),
10669         (gst_file_src_finalize), (gst_file_src_set_location),
10670         (gst_file_src_set_property), (gst_file_src_get_property),
10671         (gst_file_src_map_region), (gst_file_src_map_small_region),
10672         (gst_file_src_create_mmap), (gst_file_src_create_read),
10673         (gst_file_src_create), (gst_file_src_is_seekable),
10674         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10675         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10676         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10677         (gst_file_src_uri_handler_init):
10678         * gst/elements/gstfilesrc.h:
10679           more autistic cleanliness in functions/names/defines
10680
10681 2005-07-13  Andy Wingo  <wingo@pobox.com>
10682
10683         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10684         source couldn't negotiate.
10685
10686         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10687         connections again.
10688
10689         * gst/gstutils.h:
10690         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10691         function. I am channeling Hades. Put your boots on suckers!!!
10692
10693 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10694
10695         * testsuite/caps/Makefile.am:
10696         * testsuite/caps/value_compare.c:
10697         * testsuite/caps/value_intersect.c:
10698         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10699           move two testsuite apps over to the check dir
10700
10701 2005-07-12  Wim Taymans  <wim@fluendo.com>
10702
10703         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10704         Added more debug info in the negotiate process.
10705
10706         * gst/gstmessage.h:
10707         Prepare for segment playback.
10708
10709         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10710         Better debugging.
10711
10712         * gst/gstutils.c:
10713         Some more docs.
10714
10715         * tools/gst-launch.c: (main):
10716         NULL pipeline on errors.
10717
10718 2005-07-12  Andy Wingo  <wingo@pobox.com>
10719
10720         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10721         not it comes from a malloc region. Make sure our copy gets freed.
10722
10723 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10724
10725         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10726         * check/gst/gstmessage.c: (GST_START_TEST):
10727         * check/gst/gststructure.c: (GST_START_TEST),
10728         (gst_structure_suite), (main):
10729           more testing
10730         * gst/gstelement.c: (gst_element_message_full):
10731           clean up GError and debug string now that they get copied
10732         * gst/gstmessage.c: (gst_message_new_error),
10733         (gst_message_new_warning), (gst_message_parse_error),
10734         (gst_message_parse_warning):
10735           use GST_TYPE_G_ERROR for structure_new, and take copies of
10736           arguments, so that we don't mess up refcounting
10737
10738 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * check/Makefile.am:
10741           add per-test valgrind targets
10742         * check/gst-libs/gdp.c: (GST_START_TEST),
10743         (gst_data_protocol_suite), (main):
10744           clean up
10745
10746 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * check/Makefile.am:
10749           instate more valgrindable tests
10750         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10751         (GST_START_TEST), (fakesrc_suite):
10752         * check/gst/gstpad.c: (GST_START_TEST):
10753         * check/gst/gststructure.c: (GST_START_TEST):
10754           fix test leaks
10755         * docs/gst/tmpl/gstminiobject.sgml:
10756         * gst/gstpad.c: (gst_pad_finalize):
10757           fix the static mutex leak
10758
10759 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10760
10761         * check/Makefile.am:
10762           add two more tests for valgrinding
10763         * check/gst/gstvalue.c: (GST_START_TEST):
10764           test refcount of deserialized buffer, found a leak
10765         * docs/gst/gstreamer-docs.sgml:
10766         * docs/gst/gstreamer-sections.txt:
10767         * docs/gst/gstreamer.types:
10768         * docs/gst/tmpl/gstminiobject.sgml:
10769           add miniobject to docs
10770         * gst/gstminiobject.c:
10771           add some docs
10772         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10773         (gst_string_unwrap):
10774           fix a hard-to-find invalid write for one of the tests
10775           fix a leak for deserialized buffers
10776
10777 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10778
10779         * docs/pwg/advanced-events.xml:
10780         * docs/pwg/advanced-request.xml:
10781         * docs/pwg/advanced-scheduling.xml:
10782         * docs/pwg/appendix-porting.xml:
10783         * docs/pwg/building-boiler.xml:
10784         * docs/pwg/intro-preface.xml:
10785         * docs/pwg/other-ntoone.xml:
10786           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10787           of example code and explanation for pad activation, loop() and
10788           getrange() functions and a bit more. Remove old comments pointing
10789           to loop-functions.
10790         * examples/pwg/Makefile.am:
10791           Add loop/getrange examples.
10792
10793 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10794
10795         * configure.ac:
10796           check for valgrind binary + some fixes
10797         * check/gst.supp:
10798           valgrind suppressions for the tests
10799         * check/Makefile.am:
10800           add a valgrind: target that valgrinds the unit tests
10801         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10802         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10803         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10804         * check/gst/gstghostpad.c:
10805           added some cleanup
10806         * check/gst/gstdata.c:
10807           removed
10808         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10809         (thread_unref), (gst_mini_object_suite), (main):
10810           added
10811         * gst/gst.c: (gst_deinit):
10812         * gst/gst.h:
10813           add a method to clean up.
10814         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10815         (gst_system_clock_obtain):
10816           allow for disposing the system clock.
10817         * tools/gst-launch.c: (main):
10818           deinit
10819
10820 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10821
10822         * docs/gst/tmpl/gstbasesrc.sgml:
10823         * docs/gst/tmpl/gstfakesrc.sgml:
10824         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10825         (gst_base_src_init), (gst_base_src_set_property),
10826         (gst_base_src_get_property), (gst_base_src_get_range),
10827         (gst_base_src_start):
10828         * gst/base/gstbasesrc.h:
10829           add num-buffers property
10830         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10831         (gst_fakesrc_init), (gst_fakesrc_set_property),
10832         (gst_fakesrc_get_property), (gst_fakesrc_create),
10833         (gst_fakesrc_start):
10834           remove num-buffers property
10835
10836 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * docs/gst/gstreamer-sections.txt:
10839         * docs/gst/tmpl/gstbasesink.sgml:
10840         * docs/gst/tmpl/gstbasesrc.sgml:
10841         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10842         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10843         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10844         (gst_base_sink_set_property), (gst_base_sink_get_property),
10845         (gst_base_sink_handle_object), (gst_base_sink_event),
10846         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10847         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10848         (gst_base_sink_loop), (gst_base_sink_deactivate),
10849         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10850         (gst_base_sink_change_state):
10851         * gst/base/gstbasesink.h:
10852         * gst/base/gstbasesrc.h:
10853         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10854         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10855         (gst_filesink_init):
10856           more macro splitting
10857
10858 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10859
10860         * gst/gstelement.c: (gst_element_get_bus):
10861           add debug
10862         * tools/gst-launch.c: (check_intr), (event_loop):
10863           fix bus leaks
10864
10865 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10866
10867         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10868           fix a caps leak
10869
10870 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10871
10872         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10873         (gst_base_src_finalize):
10874           add finalize method and clean up properly
10875         * gst/gstpipeline.c: (gst_pipeline_dispose):
10876           add debug
10877
10878 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10879
10880         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10881         (gst_bin_suite):
10882           add more things to check
10883         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10884         * gst/gstelement.c:
10885           more debug
10886
10887 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10890         (GST_START_TEST), (fakesrc_suite):
10891         * check/gst-libs/gdp.c: (GST_START_TEST):
10892         * check/gst/gst.c: (GST_START_TEST):
10893         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10894         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10895         * check/gst/gstbus.c: (GST_START_TEST):
10896         * check/gst/gstcaps.c: (GST_START_TEST):
10897         * check/gst/gstdata.c: (GST_START_TEST):
10898         * check/gst/gstelement.c: (GST_START_TEST):
10899         * check/gst/gstghostpad.c: (GST_START_TEST):
10900         * check/gst/gstiterator.c: (GST_START_TEST):
10901         * check/gst/gstmessage.c: (GST_START_TEST):
10902         * check/gst/gstobject.c: (GST_START_TEST):
10903         * check/gst/gstpad.c: (GST_START_TEST):
10904         * check/gst/gststructure.c: (GST_START_TEST):
10905         * check/gst/gstsystemclock.c: (GST_START_TEST),
10906         (gst_systemclock_suite):
10907         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10908         * check/gst/gstvalue.c: (GST_START_TEST):
10909         * check/pipelines/cleanup.c: (GST_START_TEST):
10910         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10911         * check/states/sinks.c: (GST_START_TEST):
10912         * check/gstcheck.c: (gst_check_init):
10913         * check/gstcheck.h:
10914           add debugging category
10915           use GST_START_TEST now, so we add a debug line
10916
10917 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10918
10919         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10920           add test for state change message on a bin
10921         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10922           add another test
10923         * gst/gstbin.c: (gst_bin_init):
10924         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10925         * gst/gstelement.c: (gst_element_post_message),
10926         (gst_element_set_state):
10927         * gst/gstelementfactory.c: (gst_element_factory_create):
10928         * gst/gstmessage.c: (gst_message_new):
10929         * gst/gstscheduler.c:
10930           various debugging additions and cleanups
10931
10932 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10933
10934         * check/Makefile.am:
10935         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10936         (main):
10937           adding tests for elements
10938         * gst/gstelement.c: (gst_element_dispose):
10939
10940 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10941
10942         * gst/registries/gstlibxmlregistry.c: (load_feature):
10943           plug more leaks.  A simple gst_init() now is leakfree, yay.
10944
10945 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10946
10947         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10948         (gst_xml_registry_load):
10949           plug another memleak
10950
10951 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10952
10953         * configure.ac:
10954           use GST_SET_ERROR_CFLAGS
10955         * docs/faq/cvs.xml:
10956           change to ERROR_CFLAGS
10957
10958 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10959
10960         * configure.ac:
10961           make GST_ERROR_CFLAGS overridable and re-enable Werror
10962         * docs/faq/cvs.xml:
10963           add a note about error CFLAGS
10964         * docs/gst/tmpl/gstfakesrc.sgml:
10965         * gst/elements/gstfakesrc.c:
10966           comment out some unused code
10967         * gst/gst.c: (split_and_iterate):
10968         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10969         (load_feature):
10970           plug some memleaks
10971
10972 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * common/Makefile.am:
10975         * common/gtk-doc.mak:
10976         * docs/gst/Makefile.am:
10977           factor out gtk-doc.mak
10978
10979 2005-07-07  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10982         (gst_thread_scheduler_dispose):
10983         Unlock the STREAM_LOCK completely.
10984
10985 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * check/Makefile.am:
10988         * check/elements/.cvsignore:
10989         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10990         (START_TEST), (fakesrc_suite), (main):
10991         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10992         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10993         (gst_fakesrc_create), (gst_fakesrc_start):
10994         * gst/elements/gstfakesrc.h:
10995           adding a first element test
10996
10997 2005-07-07  Andy Wingo  <wingo@pobox.com>
10998
10999         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11000         debug message.
11001
11002 2005-07-07  Wim Taymans  <wim@fluendo.com>
11003
11004         * gst/gstquery.c:
11005         * gst/gstquery.h:
11006         Remove old types
11007
11008 2005-07-07  Wim Taymans  <wim@fluendo.com>
11009
11010         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11011         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11012         Allow subclasses to implement their own negotiation.
11013
11014 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11015
11016         * docs/design/part-gstbin.txt:
11017         * docs/design/part-gstpipeline.txt:
11018           Update design notes to reflect the movement of
11019           responsibility for bus handling from GstPipeline to
11020           GstBin
11021
11022 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11023
11024         * configure.ac:
11025           Remove unnecessary queue2/3/4 examples.
11026
11027 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11028
11029         * examples/Makefile.am:
11030         * examples/helloworld/helloworld.c: (event_loop), (main):
11031         * examples/queue/queue.c: (event_loop), (main):
11032         * examples/queue2/queue2.c: (main):
11033           Update a couple of the examples to work again.
11034
11035         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11036         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11037          Spelling corrections and extra debug.
11038         
11039         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11040         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11041         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11042         * gst/gstbin.h:
11043         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11044         (gst_pipeline_change_state):
11045         * gst/gstpipeline.h:
11046           Move the bus handler for children to the GstBin, and create a
11047           separate bus for receiving messages from children to the one the
11048           bus sends 'upwards' on.
11049
11050 2005-07-06  Wim Taymans  <wim@fluendo.com>
11051
11052         * gst/base/README:
11053         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11054         (gst_base_sink_handle_object), (gst_base_sink_loop),
11055         (gst_base_sink_change_state):
11056         * gst/base/gstbasesink.h:
11057         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11058         (gst_base_src_init), (gst_base_src_setcaps),
11059         (gst_base_src_getcaps), (gst_base_src_loop),
11060         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11061         (gst_base_src_start), (gst_base_src_change_state):
11062         * gst/base/gstbasesrc.h:
11063         Make basesrc negotiate.
11064         Handle the case where preroll fails in basesink.
11065         Update README.
11066
11067 2005-07-06  Wim Taymans  <wim@fluendo.com>
11068
11069         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11070         Implement the fixate function.
11071         Clean up acceptcaps.
11072
11073 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11074
11075         * docs/pwg/building-filterfactory.xml:
11076         * docs/pwg/pwg.xml:
11077           Remove never-written filter-factory chapter; I'll add the various
11078           base classes to part 4 ("other element types") later on.
11079
11080 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11081
11082         * docs/pwg/advanced-negotiation.xml:
11083         * docs/pwg/building-boiler.xml:
11084         * docs/pwg/building-pads.xml:
11085         * docs/pwg/pwg.xml:
11086         * examples/pwg/Makefile.am:
11087           Add a chapter on caps negotiation, simplify the original code
11088           samples a bit w.r.t. caps negotiation, add link to the advanced
11089           section. Add a bunch of examples showing different use cases of
11090           different types of caps negotiation. Upstream renegotiation isn't
11091           fully documented yet since nobody knows how that works.
11092
11093 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11094
11095         * check/gst/gstpad.c:
11096         * check/gstcheck.c:
11097         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11098           if pad has no parent, return NULL as list of internal links
11099
11100 2005-07-05  Andy Wingo  <wingo@pobox.com>
11101
11102         * gst/elements/gstfilesrc.c:
11103         * gst/elements/gstfakesrc.c: 
11104         * gst/base/gstpushsrc.c:
11105         * gst/base/gstbasesrc.h: 
11106         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11107         
11108 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11109
11110         * Makefile.am:
11111           better report generation target (lcov needs a patch)
11112
11113 2005-07-05  Andy Wingo  <wingo@pobox.com>
11114
11115         * gst/elements, testsuite: Null if we got it...
11116
11117 2005-07-05  Wim Taymans  <wim@fluendo.com>
11118
11119         * configure.ac:
11120         * libs/gst/dataprotocol/Makefile.am:
11121         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11122         * libs/gst/dataprotocol/dataprotocol.h:
11123         * pkgconfig/Makefile.am:
11124         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11125         * pkgconfig/gstreamer-dataprotocol.pc.in:
11126         Ported dataprotol to 0.9. 
11127         Added pkgconfig files.
11128
11129 2005-07-05  Andy Wingo  <wingo@pobox.com>
11130
11131         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11132         Default to returning TRUE for the case when tranform_caps returns
11133         a fixed caps, like for identity or volume.
11134
11135         * check/gst/gstbus.c (pound_bus_with_messages): 
11136         * check/gst/gstmessage.c (START_TEST): 
11137         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11138         message API change.
11139
11140         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11141         logic weaks here: always run transform_caps, trying passthrough
11142         operation only if the original caps intersects with the transform.
11143
11144         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11145         source and sink caps.
11146
11147         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11148         Intersect the peer caps with the pad template before going into
11149         transform_caps.
11150         (gst_base_transform_transform_caps): More debugging.
11151
11152         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11153         src argument.
11154
11155 2005-07-04  Edward Hervey  <edward@fluendo.com>
11156
11157         * gst/gstutils.c:
11158         * gst/gstutils.h:
11159         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11160         in bindings.
11161
11162 2005-07-04  Andy Wingo  <wingo@pobox.com>
11163
11164         * check/gst/gstpad.c: Only set explicit caps on pads.
11165
11166 2005-07-01  Andy Wingo  <wingo@pobox.com>
11167
11168         * tests/network-clock.scm: Commentary update.
11169
11170         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11171         Didn't really make sense, not implementable with basetransform,
11172         etc.
11173         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11174         attempt at implementing the sync property, needs an unlock method.
11175
11176         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11177         New func, by default returns the same caps (the identity
11178         transformation).
11179         (gst_base_transform_getcaps): Uses transform_caps to return
11180         something sensible.
11181         (gst_base_transform_setcaps): Complicated logic to get caps on
11182         both pads, even if they are different, and to call set_caps once
11183         for every time both pads get their caps set.
11184         (gst_base_transform_handle_buffer): Give the ref to the transform
11185         function. Allows in-place modification of the buffer.
11186
11187         * gst/base/gstbasetransform.h (transform_caps): New class method.
11188         Given caps on one side, what can I do on the other.
11189         (set_caps): Take two caps, one for each side of the element.
11190
11191         * gst/gstpad.h:
11192         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11193         caps in place. This is safe because we can check the mutability of
11194         the caps, and a good idea because fixate functions are just called
11195         as a matter of last resort. (Not actually implemented.)
11196         (gst_pad_set_caps): If the caps we're setting is actually the same
11197         as the existing pad caps, just update the pointer without calling
11198         setcaps. Assert that caps is either NULL or fixed, as per the
11199         docs.
11200
11201         * gst/gstghostpad.c: Update for fixate changes.
11202
11203 2005-07-02  Andy Wingo  <wingo@pobox.com>
11204
11205         * gst/gstcaps.c:
11206         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11207         two refcounts makes it immutable, which is enough. Doc more.
11208
11209 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11210
11211         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11212           Put the mini_object into GValue as a mini_object,
11213           not a gpointer, since that's how we declared
11214           the signal.
11215
11216 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11217
11218         * examples/pwg/Makefile.am:
11219           Fix buildbot again.
11220
11221 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11222
11223         * docs/pwg/building-testapp.xml:
11224           Add extra check.
11225         * examples/pwg/Makefile.am:
11226           Fix buildbot.
11227
11228 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11229
11230         * configure.ac:
11231         * examples/Makefile.am:
11232         * examples/pwg/Makefile.am:
11233         * examples/pwg/extract.pl:
11234           Enable building the PWG examples.
11235         * docs/pwg/advanced-interfaces.xml:
11236           Add URI interface stub.
11237         * docs/pwg/advanced-types.xml:
11238         * docs/pwg/other-autoplugger.xml:
11239         * docs/pwg/appendix-porting.xml:
11240         * docs/pwg/pwg.xml:
11241           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11242         * docs/pwg/building-boiler.xml:
11243         * docs/pwg/building-chainfn.xml:
11244         * docs/pwg/building-pads.xml:
11245         * docs/pwg/building-props.xml:
11246         * docs/pwg/building-state.xml:
11247         * docs/pwg/building-testapp.xml:
11248           Update the building-*.xml parts for 0.9 changes. All examples
11249           code blocks compile in examples/pwg/*.
11250
11251 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11252
11253         * docs/manual/advanced-autoplugging.xml:
11254         * docs/manual/appendix-checklist.xml:
11255         * docs/manual/appendix-integration.xml:
11256         * docs/manual/highlevel-components.xml:
11257           Fix playbin/decodebin examples, update docs a bit, mention bus
11258           instead of signals in various places, mention kmplayer and
11259           kaffeine since they have a working GStreamer backend in the KDE
11260           section.
11261
11262 2005-06-30  Wim Taymans  <wim@fluendo.com>
11263
11264         * CHANGES-0.9:
11265         * docs/design/draft-ghostpads.txt:
11266         * docs/design/draft-push-pull.txt:
11267         * docs/design/draft-query.txt:
11268         * docs/design/part-TODO.txt:
11269         * docs/design/part-query.txt:
11270         Added CHANGES-0.9 doc, updated status of other docs.
11271         
11272         * gst/gstquery.h:
11273         Remove "hmm" macro
11274
11275 2005-06-30  Wim Taymans  <wim@fluendo.com>
11276
11277         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11278         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11279         (gst_base_sink_change_state):
11280         * gst/base/gstbasesink.h:
11281         Some tweaks, only EOS and a buffer complete a preroll.
11282
11283 2005-06-30  Andy Wingo  <wingo@pobox.com>
11284
11285         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11286         activate_push down to the internal pad as well.
11287
11288 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11289
11290         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11291
11292         * gst/gsttaginterface.c:
11293           Some documentation fixes (#307394 and #307397).
11294
11295 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11296
11297         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11298
11299         * gst/gstvalue.c: (gst_value_intersect_list):
11300           Fix memleak (#309125).
11301
11302 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11303
11304         * docs/manual/advanced-dataaccess.xml:
11305           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11306         * docs/manual/basics-pads.xml:
11307           Add reference for filtered caps to above chapter.
11308
11309 2005-06-30  Wim Taymans  <wim@fluendo.com>
11310
11311         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11312         (gst_bin_change_state):
11313         Probes are gone.
11314         Lame attempt at making the state change function a bit
11315         more readable.
11316
11317 2005-06-30  Wim Taymans  <wim@fluendo.com>
11318
11319         * docs/design/part-clocks.txt:
11320         * docs/design/part-element-sink.txt:
11321         * docs/design/part-events.txt:
11322         * docs/design/part-preroll.txt:
11323         * docs/design/part-states.txt:
11324         Some more tweeks and additions to the docs.
11325
11326 2005-06-30  Wim Taymans  <wim@fluendo.com>
11327
11328         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11329         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11330         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11331         (gst_pad_check_pull_range), (gst_pad_get_range),
11332         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11333         * gst/gstpad.h:
11334         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11335         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11336         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11337         (gst_pad_remove_buffer_probe):
11338         Removed atomic operations, use existing LOCK.
11339         Move exception handling out of main code path.
11340
11341 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11342
11343         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11344         (silly_return_true_function), (gst_pad_class_init),
11345         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11346         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11347         (gst_pad_send_event):
11348           Fix accumulator, add default value by using _emitv() instead
11349           of _emit() for signal emission.
11350
11351 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11352
11353         * docs/manual/advanced-dataaccess.xml:
11354         * examples/manual/Makefile.am:
11355           Add probe example.
11356         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11357           Make work (??).
11358
11359 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11360
11361         * gst/elements/gstfilesink.c: (gst_filesink_render):
11362           Simplify code so that we don't have to handle short
11363           writes and return GST_FLOW_ERROR if an error occured.
11364
11365 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11366
11367         * docs/gst/gstreamer-docs.sgml:
11368           Remove probes more.
11369
11370 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11371
11372         * docs/gst/gstreamer-sections.txt:
11373         * docs/gst/tmpl/gstpad.sgml:
11374         * docs/gst/tmpl/gstprobe.sgml:
11375         * gst/Makefile.am:
11376         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11377         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11378         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11379         (gst_pad_push_event), (gst_pad_send_event):
11380         * gst/gstpad.h:
11381         * gst/gstutils.c: (gst_pad_add_data_probe),
11382         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11383         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11384         (gst_pad_remove_buffer_probe):
11385         * gst/gstutils.h:
11386           Remove old probes, add new g-signal-based probes and some utility
11387           functions.
11388
11389 2005-06-29  Edward Hervey  <edward@fluendo.com>
11390
11391         * gst/gstelementfactory.c:
11392         * gst/gstutils.h:
11393         * gst/gstutils.c:
11394         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11395         the definition to the header file.
11396
11397 2005-06-29  Andy Wingo  <wingo@pobox.com>
11398
11399         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11400         plugins from the source directory.
11401
11402 2005-06-29  Wim Taymans  <wim@fluendo.com>
11403
11404         * docs/gst/tmpl/gstbuffer.sgml:
11405         * docs/gst/tmpl/gstclock.sgml:
11406         Some fixings for blantently wrong text.
11407
11408 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11409
11410         * check/Makefile.am:
11411         * gst/gst.c: (add_path_func), (init_pre):
11412         * gst/gstregistry.c: (gst_registry_add_path):
11413           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11414           only scan the GST_PLUGIN_PATH locations, and not add
11415           system locations
11416
11417 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * docs/gst/gstreamer-sections.txt:
11420         * docs/gst/tmpl/gstbasesrc.sgml:
11421         * gst/gstelement.c:
11422         * gst/gstelement.h:
11423         * gst/gstevent.c:
11424         * gst/gstutils.c:
11425           doc fixes
11426
11427 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11428
11429         * docs/manual/advanced-autoplugging.xml:
11430           Fix autoplugging example.
11431
11432 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11433
11434         * docs/manual/advanced-autoplugging.xml:
11435         * docs/manual/mime-world.fig:
11436           Try to get autoplugging working, fix type detection. Fix text
11437           in hello-world image.
11438
11439 2005-06-29  Wim Taymans  <wim@fluendo.com>
11440
11441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11442         (gst_base_sink_change_state):
11443         Small debug line.
11444
11445         * gst/gstclock.h:
11446         map SIGNAL and BROADCAST to the right function.
11447
11448         * gst/gstobject.h:
11449         Remove redundant braces.
11450
11451         * gst/gstpad.c: (gst_pad_set_caps):
11452         Don't call setcaps function when reseting caps to NULL.
11453
11454         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11455         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11456         (gst_system_clock_id_unschedule):
11457         Use BROADCAST as this is what we do.
11458
11459 2005-06-29  Wim Taymans  <wim@fluendo.com>
11460
11461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11462         We are actually prerolling before commiting the state
11463         change. 
11464
11465 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11466
11467         * docs/manual/advanced-clocks.xml:
11468         * docs/manual/advanced-interfaces.xml:
11469         * docs/manual/advanced-metadata.xml:
11470         * docs/manual/advanced-position.xml:
11471         * docs/manual/advanced-schedulers.xml:
11472         * docs/manual/advanced-threads.xml:
11473         * docs/manual/appendix-porting.xml:
11474         * docs/manual/basics-bins.xml:
11475         * docs/manual/basics-bus.xml:
11476         * docs/manual/basics-elements.xml:
11477         * docs/manual/basics-helloworld.xml:
11478         * docs/manual/basics-pads.xml:
11479         * docs/manual/highlevel-components.xml:
11480         * docs/manual/manual.xml:
11481         * docs/manual/thread.fig:
11482           Update (until threads/scheduling) Application Development Manual;
11483           remove GstThread, add GstBus, add simple porting checklist, add
11484           documentation for tag writing, clocks, make all examples until this
11485           part compile and run.
11486         * examples/manual/Makefile.am:
11487           Update from changes to Application Development Manual; add bus
11488           example, remove thread example.
11489
11490 2005-06-28  Wim Taymans  <wim@fluendo.com>
11491
11492         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11493         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11494         (gst_bus_source_dispatch):
11495         Add debugging messages.
11496         Make internal methods static.
11497         Handle the case where the bus is flushed in the handler.
11498         
11499         * gst/gstelement.c: (gst_element_get_bus):
11500         Fix refcount in _get_bus();
11501
11502         * gst/gstpipeline.c: (gst_pipeline_change_state),
11503         (gst_pipeline_get_clock_func):
11504         Clock refcounting fixes.
11505         Handle the case where preroll timed out more gracefully.
11506         
11507         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11508         Clean up the internal thread in dispose. This is needed
11509         for subclasses that actually get disposed.
11510         
11511         * gst/schedulers/threadscheduler.c:
11512         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11513         (gst_thread_scheduler_dispose):
11514         Free thread pool in dispose.
11515
11516 2005-06-28  Andy Wingo  <wingo@pobox.com>
11517
11518         * tests/network-clock-utils.scm (debug, print-event): New utils.
11519
11520         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11521         (*packet-loss*): Unified loss probability.
11522         (network-time): Report out-of-band events.
11523
11524         * tests/plot-data: Add support for out-of-band events. Hack it
11525         into this script instead of passing it down the pipe; should fix
11526         this later.
11527
11528 2005-06-28  Wim Taymans  <wim@fluendo.com>
11529
11530         * docs/gst/gstreamer.types:
11531         * docs/gst/tmpl/gstbasesrc.sgml:
11532         * docs/gst/tmpl/gstpad.sgml:
11533         Docs fixes.
11534
11535 2005-06-28  Wim Taymans  <wim@fluendo.com>
11536
11537         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11538         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11539         (gst_proxy_pad_do_fixatecaps):
11540         Correctly proxy the check_pull_range function.
11541
11542 2005-06-28  Andy Wingo  <wingo@pobox.com>
11543
11544         * tests/network-clock.scm: Removed need for slib.
11545         
11546 2005-06-28  Wim Taymans  <wim@fluendo.com>
11547
11548         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11549         (gst_basesink_preroll_queue_flush):
11550         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11551         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11552         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11553         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11554         (gst_proxy_pad_set_property):
11555         * gst/gstpad.c:
11556         * gst/gstpad.h:
11557         * gst/gstqueue.c: (gst_queue_init):
11558         The deprecated pad loop function is removed now.
11559
11560 2005-06-28  Andy Wingo  <wingo@pobox.com>
11561
11562         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11563         New parameters, simulate network packet loss.
11564
11565         * tests/network-clock-utils.scm: Initialize the RNG.
11566
11567 2005-06-28  Wim Taymans  <wim@fluendo.com>
11568
11569         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11570         (gst_basesink_event), (gst_basesink_deactivate):
11571         Flushing the preroll queue always needs to unlock the waiters.
11572
11573 2005-06-28  Edward Hervey  <edward@fluendo.com>
11574
11575         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11576         Wheen a seek was successful on a pipeline, set the stream_time to the
11577         seek offset in order to have a synchronized stream_time.
11578
11579 2005-06-28  Wim Taymans  <wim@fluendo.com>
11580
11581         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11582         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11583         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11584         (gst_proxy_pad_do_fixatecaps):
11585         Call wrapper function instead of just calling the function
11586         pointers. This takes care of any locking and whatmore.
11587
11588 2005-06-28  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11591         (gst_pad_pull_range):
11592         * gst/gstpad.h:
11593         CONNECTED -> LINKED.
11594
11595 2005-06-28  Andy Wingo  <wingo@pobox.com>
11596
11597         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11598         source-munging commit!!!
11599
11600         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11601         (gst_object_sink): Take gpointer arguments, not GstObject --
11602         avoids casts. Like GLib.
11603
11604         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11605         activate.
11606
11607 2005-06-27  Andy Wingo  <wingo@pobox.com>
11608
11609         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11610         remaining buffer.
11611
11612         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11613         returns a sorted copy of the trace list.
11614         (gst_alloc_trace_print_live): New API, only prints traces with
11615         live objects. Sort the list.
11616         (gst_alloc_trace_print_all): Sort the list.
11617         (gst_alloc_trace_print): Align columns.
11618
11619         * gst/elements/gstttypefindelement.c:
11620         * gst/elements/gsttee.c:
11621         * gst/base/gstbasesrc.c:
11622         * gst/base/gstbasesink.c:
11623         * gst/base/gstbasetransform.c:
11624         * gst/gstqueue.c: Adapt for pad activation changes.
11625
11626         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11627         sched.
11628         (gst_pipeline_dispose): Drop ref on sched.
11629
11630         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11631         (gst_pad_activate_default): Push mode by default.
11632         (pre_activate_switch, post_activate_switch): New stubs, things to
11633         do before and after switching activation modes on pads.
11634         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11635         the pad's activate function to choose which mode to activate.
11636         Shortcut on deactivation and call the right function directly.
11637         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11638         mode.
11639         (gst_pad_activate_push): New API, same for push mode.
11640         (gst_pad_set_activate_function) 
11641         (gst_pad_set_activatepull_function) 
11642         (gst_pad_set_activatepush_function): Setters for new API.
11643
11644         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11645         Trace all miniobjects.
11646         (gst_mini_object_make_writable): Unref the arg if we copy, like
11647         gst_caps_make_writable.
11648
11649         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11650
11651         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11652         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11653         Adapt for new pad API.
11654
11655         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11656
11657         * gst/gstelement.h:
11658         * gst/gstelement.c (gst_element_iterate_src_pads) 
11659         (gst_element_iterate_sink_pads): New API functions.
11660         
11661         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11662         should fold into gstiterator.c in some form.
11663         (gst_element_pads_activate): Simplified via use of fold and
11664         delegation of decisions to gstpad->activate.
11665
11666         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11667         help in debugging.
11668
11669         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11670         class once in init, like gstmessage. Didn't run into this issue
11671         but it seems correct. Don't initialize a trace, gstminiobject does
11672         that.
11673
11674         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11675         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11676         to the bus.
11677         (assert_live_count): New util function, uses alloc traces to check
11678         cleanup.
11679
11680         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11681         To be modified when unlink drops the internal pad.
11682
11683 2005-06-27  Wim Taymans  <wim@fluendo.com>
11684
11685         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11686         (gst_bin_change_state):
11687         Cleanup the get_state() function a little, make sure it
11688         iterates the same set of elements.
11689         Added stub iterate_state_order().
11690
11691 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11692
11693         * docs/gst/gstreamer-docs.sgml:
11694         * docs/gst/gstreamer-sections.txt:
11695         * docs/gst/gstreamer.types:
11696         * docs/gst/tmpl/gstbasesink.sgml:
11697         * docs/gst/tmpl/gstbasesrc.sgml:
11698         * docs/gst/tmpl/gstbasetransform.sgml:
11699         * docs/gst/tmpl/gstelement.sgml:
11700         * docs/gst/tmpl/gstiterator.sgml:
11701         * gst/base/gstbasesrc.c:
11702         * gst/base/gstbasesrc.h:
11703         * gst/base/gstbasetransform.h:
11704         * gst/gstelement.c:
11705         * gst/gstiterator.h:
11706           adding basetransform and iterator docs
11707
11708 2005-06-27  Andy Wingo  <wingo@pobox.com>
11709
11710         * docs/design/part-activation.txt: Notes on how activation should
11711         work -- not quite implemented yet.
11712
11713 2005-06-25  Wim Taymans  <wim@fluendo.com>
11714
11715         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11716         At least get the chain function correct, needs more
11717         fixing.
11718
11719 2005-06-25  Wim Taymans  <wim@fluendo.com>
11720
11721         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11722         (gst_basesink_handle_object), (gst_basesink_event),
11723         (gst_basesink_do_sync), (gst_basesink_handle_event),
11724         (gst_basesink_change_state):
11725         * gst/gsttask.h:
11726         Right, two problems here: ghostpads don't take locks and
11727         glib _rec_mutex_lock_full() with depth==0 still locks.
11728         Catch illegal locking and g_warn them.
11729
11730 2005-06-25  Wim Taymans  <wim@fluendo.com>
11731
11732         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11733         Have to check for completion now...
11734
11735 2005-06-25  Wim Taymans  <wim@fluendo.com>
11736
11737         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11738         (gst_basesink_handle_object), (gst_basesink_event),
11739         (gst_basesink_do_sync), (gst_basesink_handle_event),
11740         (gst_basesink_change_state):
11741         * gst/gstpad.h:
11742         Unlock STREAM_LOCK whatever the recursion was.
11743
11744 2005-06-25  Wim Taymans  <wim@fluendo.com>
11745
11746         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11747         (gst_basesink_preroll_queue_empty),
11748         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11749         (gst_basesink_event), (gst_basesink_do_sync),
11750         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11751         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11752         (gst_basesink_change_state):
11753         Reworked the base sink, handle event and buffer serialisation
11754         correctly and removed possible deadlock.
11755         Handle EOS correctly.
11756
11757 2005-06-25  Wim Taymans  <wim@fluendo.com>
11758
11759         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11760         (gst_pipeline_change_state):
11761         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11762         Allow elements to post EOS in the state change function.
11763         Fix up -launch, make it exit the poll loop when the
11764         pipeline actually changed state.
11765         Fix up warning parsing in -launch.
11766
11767 2005-06-25  Wim Taymans  <wim@fluendo.com>
11768
11769         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11770         (gst_tee_sink_activate):
11771         Core takes STREAM_LOCK for us now.
11772
11773 2005-06-25  Wim Taymans  <wim@fluendo.com>
11774
11775         * gst/gstelement.c: (gst_element_get_state_func),
11776         (gst_element_set_state):
11777         * gst/gstelement.h:
11778         * gst/gstmessage.c: (gst_message_parse_error),
11779         (gst_message_parse_warning):
11780         Keep track of current target state while performing a state
11781         change so that subclasses can do something interesting.
11782         Fix parsing of warning/error messages when GError is NULL.
11783
11784 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11785
11786         * docs/gst/Makefile.am:
11787         * docs/gst/gstreamer-docs.sgml:
11788         * docs/gst/gstreamer-sections.txt:
11789         * docs/gst/gstreamer.types:
11790         * docs/gst/tmpl/gstbasesink.sgml:
11791         * docs/gst/tmpl/gstbasesrc.sgml:
11792         * docs/gst/tmpl/gstbin.sgml:
11793         * docs/gst/tmpl/gstcompat.sgml:
11794         * docs/gst/tmpl/gstfakesink.sgml:
11795         * docs/gst/tmpl/gstfakesrc.sgml:
11796         * docs/gst/tmpl/gstfilesink.sgml:
11797         * docs/gst/tmpl/gstfilesrc.sgml:
11798         * docs/gst/tmpl/gstindex.sgml:
11799         * docs/manual/appendix-quotes.xml:
11800         * gst/base/gstbasesrc.h:
11801         * gst/elements/gstfakesrc.h:
11802         * gst/gstmessage.h:
11803           start pulling in base classes and elements in our docs
11804
11805 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11806
11807         * docs/gst/Makefile.am:
11808         * docs/libs/Makefile.am:
11809           fixed make distcheck with gtk-doc 1.3
11810
11811 2005-06-23  Wim Taymans  <wim@fluendo.com>
11812
11813         * gst/gstelement.c: (gst_element_get_state_func),
11814         (gst_element_set_state), (gst_element_change_state):
11815         When the state did not change, also report NO_PREROLL
11816         when it matters.
11817
11818 2005-06-23  Wim Taymans  <wim@fluendo.com>
11819
11820         * gst/gstpad.c: (gst_pad_event_default):
11821         * gst/gstqueue.c: (gst_queue_loop):
11822         No unsafe task pausing please.
11823
11824 2005-06-23  Wim Taymans  <wim@fluendo.com>
11825
11826         * gst/schedulers/threadscheduler.c:
11827         (gst_thread_scheduler_task_start),
11828         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11829         Ref the task before pushing it on the threadpool. This
11830         makes sure that we have a ref when the threadfunction is
11831         actually called.
11832
11833 2005-06-23  Andy Wingo  <wingo@pobox.com>
11834
11835         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11836         offset is greater than the file's size.
11837
11838         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11839         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11840         * gst/gstobject.c (gst_object_class_init): Make the class lock
11841         recursive. Wim won't let me drop deep_notify. Decodebin works
11842         again, whoopdy doo.
11843
11844         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11845         internal pad, and hacks accordingly. Doesn't do it on the target
11846         pad because we change its caps. Probably catches all cases of
11847         interest tho.
11848         (gst_ghost_pad_set_property): Connect to notify::caps as
11849         appropritate.
11850
11851         * tests/network-clock.scm (plot-simulation): Pipe data to the
11852         elite python skript.
11853
11854         * tests/network-clock-utils.scm (define-parameter): New macro,
11855         defines a parameter that can be set via the command line.
11856         (set-parameter!, parse-parameter-arguments): Command line args
11857         parser.
11858
11859         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11860         stdin.
11861
11862 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11863
11864         * gst/elements/gsttypefindelement.c:
11865         (gst_type_find_element_handle_event):
11866           Don't restart typefinding on a discont.
11867         * gst/gstelement.c: (gst_element_set_state):
11868           Debug spelling fix.
11869         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11870           Allow changing mode of an active pad.
11871           Debug output fixes.
11872         * gst/registries/gstlibxmlregistry.c: (load_feature):
11873           Don't cast a static pad template to a normal pad template.
11874
11875 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11878         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11879           remove gst_strtoll completely, since it didn't actually do
11880           anything more than what g_ascii_strtoull already does.
11881           check for range errors when deserializing
11882           do a cast for the unsigned cases; but further fixing needs
11883           a decision on what the interpretation of "(int)" and
11884           deserialization should be for values that fall outside the
11885           type's boundaries (ie, refuse, or interpret as casting)
11886
11887 2005-06-23  Wim Taymans  <wim@fluendo.com>
11888
11889         * check/Makefile.am:
11890         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11891         * docs/design/part-live-source.txt:
11892         * docs/design/part-states.txt:
11893         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11894         (gst_basesrc_set_live), (gst_basesrc_is_live),
11895         (gst_basesrc_get_range), (gst_basesrc_activate),
11896         (gst_basesrc_change_state):
11897         * gst/base/gstbasesrc.h:
11898         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11899         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11900         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11901         * gst/gstelement.c: (gst_element_get_state_func),
11902         (gst_element_set_state):
11903         * gst/gstelement.h:
11904         * gst/gsttypes.h:
11905         * tools/gst-launch.c: (event_loop), (main):
11906         Added support for live sources and other elements that
11907         cannot do preroll.
11908         Updated design docs, added live-source design doc.
11909         Implemented live source functionality in basesrc
11910         Fix error condition in _bin_get_state()
11911         Implement live source handling in -launch.
11912         Added check for live sources.
11913         Fixed case in GstBin where elements were changed state
11914         multiple times.
11915
11916
11917 2005-06-23  Andy Wingo  <wingo@pobox.com>
11918
11919         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11920         borken refcounting.
11921
11922         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11923         gst_caps_replace takes care of this for us.
11924
11925         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11926         gst_pad_set_caps on the target, not just its setcaps() function.
11927
11928         * tests/network-clock.scm: 
11929         * tests/network-clock-utils.scm: A network clock simulator.
11930         Something of an algorithmic testbed before doing something in C.
11931
11932 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11933
11934         * check/Makefile.am:
11935         * check/gst/capslist.h:
11936           copy over from 0.8, and add two with bitmasks specified with
11937           (int) 0xFF...
11938         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11939           add test to parse everything from capslist.h
11940         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11941         (main):
11942           add test for structure deserialization
11943         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11944           add tests for deserialization of strings to int types
11945         * gst/gststructure.c: (gst_structure_nth_field_name):
11946         * gst/gststructure.h:
11947           add a way to get the name of a field referenced by index
11948         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11949           instead of checking if the resulting long long lies between
11950           min and max, we check if the long long would fit into
11951           a number of bytes for the final type.
11952           This fixes cases where a string represents 2^32 - 1, which
11953           when cast to int would be the (valid) -1, but is bigger than
11954           G_MAXINT
11955
11956 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * gst/parse/grammar.y:
11959           add a log line for type deserialization
11960
11961 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11962
11963         * check/gst/gstvalue.c: (START_TEST):
11964         * gst/gstvalue.c: (gst_value_deserialize):
11965           return long long, not int, so gint64 deserialization actually
11966           works.  Is there any flag that makes the compiler check this ?
11967           Fixes #308559
11968
11969 2005-06-22  Wim Taymans  <wim@fluendo.com>
11970
11971         * gst/gstbuffer.h:
11972         Added convenience macros for setting buffers in GValue.
11973
11974 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11975
11976         * check/gst/.cvsignore:
11977         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11978           add a test deserializing int64, and comment part out because
11979           it fails, yay !
11980
11981 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11982
11983         * check/Makefile.am:
11984         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11985         * testsuite/Makefile.am:
11986         * testsuite/caps/Makefile.am:
11987         * testsuite/caps/value_serialize.c:
11988         * testsuite/test_gst_init.c:
11989           move a value_serialize test over
11990
11991 2005-06-20  Wim Taymans  <wim@fluendo.com>
11992
11993         * gst/gstpad.c:
11994         Small doc updates.
11995         
11996         * gst/gstvalue.c: (gst_value_compare_buffer),
11997         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11998         (gst_value_compare_flags), (gst_value_serialize_flags),
11999         (gst_value_deserialize_flags), (_gst_value_initialize):
12000         Fix serialisation of buffers, they are not boxed types anymore
12001
12002 2005-06-20  Wim Taymans  <wim@fluendo.com>
12003
12004         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12005         Testcase to show error in buffer-on-caps serialisation.
12006
12007 2005-06-20  Andy Wingo  <wingo@pobox.com>
12008
12009         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12010         will be adding to later.
12011
12012         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12013         if its socks fill with rocks.
12014         (gst_system_clock_obtain): Set the name on object construction.
12015         Avoid double-checked locking.
12016
12017 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12018
12019         * gst/gsturi.c: (gst_element_make_from_uri):
12020           Fix potential endless loop.
12021
12022 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * check/Makefile.am:
12025           add gsttag
12026         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12027         (main):
12028           move over from testsuite dir and clean up
12029         * configure.ac:
12030         * gst/gsttag.c:
12031         * testsuite/Makefile.am:
12032         * testsuite/tags/.cvsignore:
12033         * testsuite/tags/Makefile.am:
12034         * testsuite/tags/merge.c:
12035           remove testsuite/tags
12036
12037 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12038
12039         * docs/gst/gstreamer-sections.txt:
12040         * docs/gst/tmpl/gstenumtypes.sgml:
12041         * win32/gstenumtypes.c:
12042           clean up documentation build a little
12043
12044 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12045
12046         * check/gstcheck.h:
12047           add macros for checking refcounts on objects and caps
12048         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12049           add some more unit tests
12050         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12051         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12052           fix leaked refcounts (I hope :)) so unittest works
12053         * gst/gstpad.h:
12054           whitespace removal
12055
12056 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12057
12058         * configure.ac: back to HEAD
12059
12060 === release 0.9.1 ===
12061
12062 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12063
12064         * NEWS:
12065         * RELEASE:
12066           updated
12067
12068 2005-06-17  Andy Wingo  <wingo@pobox.com>
12069
12070         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12071         assert; it's always possible that the pad gets deactivated in
12072         between the checks in gstpad.c and the implementation. Rely on
12073         finish_preroll() to return a FLUSHING or similar instead of on the
12074         assert.
12075         
12076         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12077         clock and post an EOS message if we come out of finish_preroll in
12078         the playing state.
12079
12080 2005-06-16  David Schleef  <ds@schleef.org>
12081
12082         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12083         (gst_capsfilter_set_property): Allow NULL as possible value
12084         for filter_caps property, indicating GST_CAPS_ANY.
12085
12086 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12087
12088         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12089           fix debug output
12090         * gst/schedulers/Makefile.am:
12091           use libgst prefix
12092         * gstreamer.spec.in:
12093           fix spec for it
12094
12095 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12096
12097         * gstreamer.spec.in:
12098           clean up
12099
12100 2005-06-08  Andy Wingo  <wingo@pobox.com>
12101
12102         * gst/gstutils.c: RPAD fixes all around.
12103         (gst_element_link_pads): Refcounting fixes.
12104
12105         * tools/gst-inspect.c:
12106         * tools/gst-xmlinspect.c:
12107         * parse/grammar.y:
12108         * gst/base/gsttypefindhelper.c:
12109         * gst/base/gstbasesink.c:
12110         * gst/gstqueue.c: RPAD fixes.
12111
12112         * gst/gstghostpad.h:
12113         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12114         pads. The tricky thing is they provide both source and sink
12115         interfaces, since they proxy the internal pad for the external
12116         pad, and vice versa. Implement with lower-level ProxyPad objects,
12117         with the interior proxy pad as a child of the exterior ghost pad.
12118         Should write a doc on this.
12119         
12120         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12121         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12122         gst_object API.
12123         
12124         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12125         pads are real pads. No ghost pads in this file. Not documenting
12126         the myriad s/RPAD/PAD/ and REALIZE fixes.
12127         (gst_pad_class_init): Add properties for "direction" and
12128         "template". Both are construct-only, so they can't change during
12129         the life of the pad. Fixes properly deriving from GstPad.
12130         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12131         derived objects, just set properties when creating the objects via
12132         g_object_new.
12133         (gst_pad_get_parent): Implement as a function, return NULL if the
12134         parent is not an element.
12135         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12136         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12137         
12138         * gst/gstobject.c (gst_object_class_init): Make name a construct
12139         property. Don't set it in the object init.
12140
12141         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12142         with UNKNOWN direction.
12143         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12144         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12145         (gst_element_remove_pad): Remove ghost-pad special cases.
12146         (gst_element_pads_activate): Remove rpad cruft.
12147
12148         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12149         catch the pad's-parent-not-an-element case.
12150
12151         * gst/gst.h: Include gstghostpad.h.
12152
12153         * gst/gst.c (init_post): No more real, ghost pads.
12154
12155         * gst/Makefile.am: Add gstghostpad.[ch].
12156
12157         * check/Makefile.am:
12158         * check/gst/gstbin.c:
12159         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12160         into a bin creates ghost pads, and that the refcounts are right.
12161         Partly moved from gstbin.c.
12162
12163 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12164
12165         * check/gst-libs/.cvsignore:
12166         * check/gst/.cvsignore:
12167         * check/pipelines/.cvsignore:
12168           ignore more
12169         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12170         (START_TEST), (cleanup_suite), (main):
12171           add some tests related to cleanup after running pipelines
12172
12173 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12174
12175         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12176           add a testsuite for GstBuffer
12177
12178 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12179
12180         * gst/gstminiobject.h:
12181           add defines for accessing the refcount
12182
12183 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12184
12185         * Makefile.am: added support for html unit test coverage reports
12186
12187 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12188
12189         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12190           Free existing caps if the capsfilter changes. Add a FIXME about
12191           setting those caps on the pads.
12192
12193         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12194           Before adding a ghost pad to a parent bin, check that there isn't
12195           already one for the element on the bin. Prevents infinite recursion
12196           when using decodebin in parse pipelines. Andy says he'll rewrite the
12197           way this works anyway, so ignore the hack.
12198
12199 2005-06-02  Andy Wingo  <wingo@pobox.com>
12200
12201         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12202         file size, pass it on to the type find helper.
12203
12204         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12205         segment_start and segment_end properly according to the seek
12206         method. Segment_end is still a bit flaky because offset can be
12207         negative for CUR and END cases, but it takes -1 as an "unset"
12208         value.
12209
12210 2005-06-02  Wim Taymans  <wim@fluendo.com>
12211
12212         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12213         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12214         (gst_basesink_activate):
12215         * gst/base/gstbasesink.h:
12216         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12217         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12218         (gst_pad_query), (gst_pad_start_task):
12219         * gst/gstpad.h:
12220         * gst/gstqueue.c: (gst_queue_bufferalloc),
12221         (gst_queue_handle_sink_event), (gst_queue_chain):
12222         Bufferalloc: return GstFlowReturn to more accuratly report
12223         why allocation failed.
12224
12225 2005-06-02  Wim Taymans  <wim@fluendo.com>
12226
12227         * gst/gstpipeline.c: (gst_pipeline_send_event):
12228         Take snapshot of state without blocking.
12229
12230 2005-06-02  Wim Taymans  <wim@fluendo.com>
12231
12232         * docs/design/part-TODO.txt:
12233         * docs/design/part-caps.txt:
12234         * docs/design/part-clocks.txt:
12235         * docs/design/part-negotiation.txt:
12236         * docs/design/part-preroll.txt:
12237         Small doc updates 
12238
12239 2005-05-30  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/elements/gstidentity.c: (gst_identity_event),
12242         (gst_identity_transform), (gst_identity_get_property):
12243         Protect last_message property as it is accessed from
12244         multiple threads.
12245
12246 2005-05-30  Wim Taymans  <wim@fluendo.com>
12247
12248         * gst/gstelement.c: (gst_element_init),
12249         (gst_element_pads_activate), (gst_element_change_state):
12250         Slicker pad activation code.
12251
12252 2005-05-30  Wim Taymans  <wim@fluendo.com>
12253
12254         * gst/Makefile.am:
12255         * gst/gstelement.h:
12256         * gst/gstelementfactory.h:
12257         * gst/gsttypes.h:
12258         Move elementfactory methods to separate .h file.
12259
12260 2005-05-30  Wim Taymans  <wim@fluendo.com>
12261
12262         * docs/design/part-overview.txt:
12263         * gst/gstsystemclock.h:
12264         Small typo fixes, doc updates.
12265
12266 2005-05-30  Wim Taymans  <wim@fluendo.com>
12267
12268         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12269         (init_popt_callback):
12270         Remove cpu-opt flag.
12271
12272 2005-05-30  Wim Taymans  <wim@fluendo.com>
12273
12274         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12275         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12276         * gst/gstbuffer.h:
12277         Avoid typechecking in places where not needed.
12278         Added accessor for malloc_data.
12279
12280 2005-05-30  Wim Taymans  <wim@fluendo.com>
12281
12282         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12283         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12284         (gst_pad_configure_sink), (gst_pad_configure_src),
12285         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12286         (gst_pad_start_task):
12287         Propagate errors from _set_caps() in configure_src/sink
12288         functions instead of returning TRUE.
12289         FLUSH events can travel up and downstream
12290
12291
12292 2005-05-30  Wim Taymans  <wim@fluendo.com>
12293
12294         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12295         (gst_basesink_activate):
12296         Handle EOS in preroll.
12297
12298 2005-05-30  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12301         (gst_queue_loop), (gst_queue_handle_src_event):
12302         Remove old pieces of code
12303         Flushing the queue in an upstream event is a very bad idea.
12304
12305 2005-05-26  Andy Wingo  <wingo@pobox.com>
12306
12307         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12308         gst_value_set_mini_object so as to add a ref on the object (which
12309         will be removed when the value is unset).
12310
12311         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12312         arg type in ::handoff.
12313
12314         * gst/gstelement.c (gst_element_change_state): Also deactivate
12315         pads in READY->NULL, just in case the element didn't make it to
12316         PAUSED. Wingo tested, Wim approved.
12317
12318 2005-05-26  Wim Taymans  <wim@fluendo.com>
12319
12320         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12321         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12322         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12323         A flushing pad cannot be used to alloc_buffer from.
12324
12325 2005-05-26  Wim Taymans  <wim@fluendo.com>
12326
12327         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12328         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12329         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12330         (gst_bus_create_watch), (gst_bus_add_watch_full):
12331         * gst/gstbus.h:
12332         Implement a real GSource and use g_main_context_wakeup() to
12333         signal new messages instead of the socketpair.
12334
12335 2005-05-25  Wim Taymans  <wim@fluendo.com>
12336
12337         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12338         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12339         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12340         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12341         (gst_pad_send_event), (gst_pad_start_task):
12342         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12343         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12344         (gst_queue_sink_activate), (gst_queue_src_activate),
12345         (gst_queue_change_state):
12346         * gst/gstqueue.h:
12347         Fix state changes for non sinks. We now change sinks, then elements
12348         with unconnected srcpads, then the rest.
12349         More efficient queue unlocking in flush and state changes.
12350         Set the pad activate mode even if it does not have an activate
12351         function.
12352
12353 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12354
12355         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12356           Don't go in pull mode for non-seekable sources.
12357         * gst/elements/gsttypefindelement.h:
12358         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12359         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12360         (free_entry), (stop_typefinding),
12361         (gst_type_find_element_handle_event), (find_peek),
12362         (gst_type_find_element_chain), (do_pull_typefind),
12363         (gst_type_find_element_change_state):
12364           Allow typefinding (w/o seeking) in push-mode, simplified version
12365           of what was in 0.8.
12366         * gst/gstutils.c: (gst_buffer_join):
12367         * gst/gstutils.h:
12368           gst_buffer_join() from 0.8.
12369
12370 2005-05-25  Wim Taymans  <wim@fluendo.com>
12371
12372         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12373         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12374         (gst_pad_send_event), (gst_pad_start_task):
12375         Disable attempt at mode switching until it is figured out.
12376
12377 2005-05-25  Wim Taymans  <wim@fluendo.com>
12378
12379         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12380         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12381         (gst_basesink_finish_preroll), (gst_basesink_chain),
12382         (gst_basesink_loop), (gst_basesink_activate),
12383         (gst_basesink_change_state):
12384         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12385         (gst_basesrc_get_range), (gst_basesrc_loop),
12386         (gst_basesrc_activate):
12387         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12388         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12389         (gst_real_pad_init), (gst_real_pad_set_property),
12390         (gst_real_pad_get_property), (gst_pad_set_active),
12391         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12392         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12393         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12394         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12395         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12396         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12397         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12398         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12399         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12400         (gst_pad_stop_task):
12401         * gst/gstpad.h:
12402         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12403         (gst_queue_loop), (gst_queue_src_activate):
12404         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12405         (gst_task_get_state):
12406         * gst/gsttask.h:
12407         * gst/schedulers/threadscheduler.c:
12408         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12409         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12410         in task function.
12411         Remove ACTIVE pad flag, use FLUSHING everywhere
12412         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12413         functions.
12414         Add locks around IS_FLUSHING when reading.
12415         Take STREAM lock in chain(), get_range() functions so plugins
12416         don't need to take it anymore.
12417         
12418
12419
12420 2005-05-25  Wim Taymans  <wim@fluendo.com>
12421
12422         * tools/gst-launch.c: (event_loop):
12423         Unref message after using its contents instead of
12424         before.
12425
12426 2005-05-24  Wim Taymans  <wim@fluendo.com>
12427
12428         * docs/design/draft-ghostpads.txt:
12429         * docs/design/draft-push-pull.txt:
12430         * docs/design/draft-query.txt:
12431         * docs/design/part-overview.txt:
12432         Docs updates, added general overview doc.
12433
12434 2005-05-21  David Schleef  <ds@schleef.org>
12435
12436         * docs/gst/tmpl/old/GstBin.sgml:
12437         * docs/gst/tmpl/old/GstBuffer.sgml:
12438         * docs/gst/tmpl/old/GstCaps.sgml:
12439         * docs/gst/tmpl/old/GstClock.sgml:
12440         * docs/gst/tmpl/old/GstCompat.sgml:
12441         * docs/gst/tmpl/old/GstData.sgml:
12442         * docs/gst/tmpl/old/GstElement.sgml:
12443         * docs/gst/tmpl/old/GstEvent.sgml:
12444         * docs/gst/tmpl/old/GstIndex.sgml:
12445         * docs/gst/tmpl/old/GstStructure.sgml:
12446         * docs/gst/tmpl/old/GstTag.sgml:
12447         * docs/gst/tmpl/old/cothreads.sgml:
12448         * docs/gst/tmpl/old/cothreads_compat.sgml:
12449         * docs/gst/tmpl/old/gettext.sgml:
12450         * docs/gst/tmpl/old/gobject2gtk.sgml:
12451         * docs/gst/tmpl/old/grammar.tab.sgml:
12452         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12453         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12454         * docs/gst/tmpl/old/gst_private.sgml:
12455         * docs/gst/tmpl/old/gstaggregator.sgml:
12456         * docs/gst/tmpl/old/gstarch.sgml:
12457         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12458         * docs/gst/tmpl/old/gstbufferstore.sgml:
12459         * docs/gst/tmpl/old/gstdata_private.sgml:
12460         * docs/gst/tmpl/old/gstdisksink.sgml:
12461         * docs/gst/tmpl/old/gstdisksrc.sgml:
12462         * docs/gst/tmpl/old/gstelementfactory.sgml:
12463         * docs/gst/tmpl/old/gstextratypes.sgml:
12464         * docs/gst/tmpl/old/gstfakesink.sgml:
12465         * docs/gst/tmpl/old/gstfakesrc.sgml:
12466         * docs/gst/tmpl/old/gstfdsink.sgml:
12467         * docs/gst/tmpl/old/gstfdsrc.sgml:
12468         * docs/gst/tmpl/old/gstfilesink.sgml:
12469         * docs/gst/tmpl/old/gstfilesrc.sgml:
12470         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12471         * docs/gst/tmpl/old/gstidentity.sgml:
12472         * docs/gst/tmpl/old/gstindexfactory.sgml:
12473         * docs/gst/tmpl/old/gstmarshal.sgml:
12474         * docs/gst/tmpl/old/gstmd5sink.sgml:
12475         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12476         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12477         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12478         * docs/gst/tmpl/old/gstpipefilter.sgml:
12479         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12480         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12481         * docs/gst/tmpl/old/gstshaper.sgml:
12482         * docs/gst/tmpl/old/gstspider.sgml:
12483         * docs/gst/tmpl/old/gstspideridentity.sgml:
12484         * docs/gst/tmpl/old/gststatistics.sgml:
12485         * docs/gst/tmpl/old/gsttee.sgml:
12486         * docs/gst/tmpl/old/gsttimecache.sgml:
12487         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12488         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12489         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12490         * docs/gst/tmpl/old/types.sgml:
12491           I didn't intend to add these or check them in.
12492
12493 2005-05-19  David Schleef  <ds@schleef.org>
12494
12495         * configure.ac: Use -no-common everywhere.  In a sane world, it
12496           would be the default in libtool, because without it, you can't
12497           build DLLs on Windows.
12498         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12499         * docs/gst/gstreamer-sections.txt:
12500         * docs/gst/tmpl/gstcpu.sgml:
12501         * docs/gst/tmpl/gstdata.sgml:
12502         * docs/gst/tmpl/gstthread.sgml:
12503
12504 2005-05-19  David Schleef  <ds@schleef.org>
12505
12506         * gst/gstminiobject.c: (gst_value_set_mini_object),
12507         (gst_value_take_mini_object), (gst_value_get_mini_object):
12508         * gst/gstminiobject.h: Add GValue set/get functions.
12509
12510 2005-05-19  Wim Taymans  <wim@fluendo.com>
12511
12512         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12513         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12514         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12515         * gst/gstbuffer.h:
12516         * gst/gstbus.c: (gst_bus_post):
12517         * gst/gstelement.c: (gst_element_get_random_pad):
12518         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12519         Make subbufer unref the parent in finalize.
12520         some more debugging info.
12521
12522
12523 2005-05-19  Wim Taymans  <wim@fluendo.com>
12524
12525         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12526         (gst_basesink_init), (gst_basesink_finalize),
12527         (gst_basesink_activate), (gst_basesink_change_state):
12528         Don't free preroll queue too early.
12529
12530 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12531
12532         * gst/Makefile.am:
12533         * gst/ROADMAP:
12534           Hi, I'm outdated. Please shoot me.
12535
12536 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12537
12538         * gst/gstpipeline.c: (gst_pipeline_send_event):
12539           Do not access variables after they have been deleted.
12540
12541 2005-05-19  Wim Taymans  <wim@fluendo.com>
12542
12543         * tools/gst-inspect.c: (print_plugin_features):
12544         A plugin feature does unfortunatly not use the
12545         object name yet...
12546
12547 2005-05-18  Wim Taymans  <wim@fluendo.com>
12548
12549         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12550         Port _span() functions to new subbuffers.
12551
12552 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12553
12554         * gst/gstbin.c: (gst_bin_add_func):
12555           Fix clock settery in bins when adding kids after the clock has
12556           been selected.
12557
12558 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12559
12560         * gst/elements/gstidentity.c: (gst_identity_class_init):
12561           Workaround until signals support GstMiniObject.
12562
12563 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12564
12565         * gst/gstbuffer.c:
12566         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12567
12568 2005-05-18  Wim Taymans  <wim@fluendo.com>
12569
12570         * gst/base/Makefile.am:
12571         * gst/base/gstadapter.c: (gst_adapter_base_init),
12572         (gst_adapter_class_init), (gst_adapter_init),
12573         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12574         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12575         (gst_adapter_flush), (gst_adapter_available),
12576         (gst_adapter_available_fast):
12577         * gst/base/gstadapter.h:
12578         Ported and added adapter to the base classes.
12579
12580 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12581
12582         * gst/gst.c:
12583         * gst/gstmessage.c:
12584           Make sure the class is reffed/unreffed once before threads can be
12585           used.  Fixes #304551.
12586
12587 2005-05-17  Wim Taymans  <wim@fluendo.com>
12588
12589         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12590         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12591         * gst/gstminiobject.c: (gst_mini_object_get_type),
12592         (gst_mini_object_free):
12593         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12594         (gst_pad_push), (gst_pad_push_event):
12595         * gst/gstqueue.c: (gst_queue_change_state):
12596         Don't queue buffers in basesink when we are flushing.
12597         Unref buffer when flushing in basesink.
12598         Flush queue when going to READY
12599         Unref buffer when _push() returns an error.
12600         Don't free MiniObject instance when refcount is incremented
12601         in _finalize() so that we can recover objects.
12602
12603 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12604
12605         * docs/manual/advanced-schedulers.xml:
12606         * docs/manual/appendix-checklist.xml:
12607         * docs/pwg/advanced-clock.xml:
12608         * docs/pwg/advanced-interfaces.xml:
12609         * docs/pwg/advanced-request.xml:
12610         * docs/pwg/advanced-types.xml:
12611         * docs/pwg/intro-preface.xml:
12612         * examples/plugins/example.c: (gst_example_get_type),
12613         (gst_example_class_init), (gst_example_chain),
12614         (gst_example_set_property), (gst_example_get_property),
12615         (gst_example_change_state), (plugin_init):
12616         * examples/plugins/example.h:
12617           small doc fixes
12618
12619 2005-05-17  Wim Taymans  <wim@fluendo.com>
12620
12621         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12622         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12623         * gst/gstqueue.c: (gst_queue_change_state):
12624         Clear queue when going to READY.
12625         Remove IN_SETCAPS flag too.
12626
12627 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12628
12629         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12630           Remove implicit cast from gboolean to GstElementStateReturn;
12631           make sure we still return failure in paused => ready case if
12632           the parent class fails to change state and our own stop 
12633           vfunc succeeds.
12634
12635 2005-05-17  Wim Taymans  <wim@fluendo.com>
12636
12637         * tools/gst-launch.c: (event_loop):
12638         Message was unreffed too soon.
12639
12640 2005-05-16  Andy Wingo  <wingo@pobox.com>
12641
12642         * gst/gstbin.c (sink_iterator_filter): Err... um...
12643
12644         * check/gst/gstbin.c (test_ghost_pads): New test for the
12645         ghosting-if-elements-not-in-same-bin behavior.
12646
12647 2005-05-16  David Schleef  <ds@schleef.org>
12648
12649         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12650         accessing refcount directly.
12651
12652 2005-05-15  David Schleef  <ds@schleef.org>
12653
12654         * check/Makefile.am: remove GstData checks
12655         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12656         * gst/Makefile.am: add miniobject, remove data
12657         * gst/gst.h: add miniobject, remove data
12658         * gst/gstdata.c: remove
12659         * gst/gstdata.h: remove
12660         * gst/gstdata_private.h: remove
12661         * gst/gsttypes.h: remove GstEvent and GstMessage
12662         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12663         * gst/gstmarshal.list: change BOXED -> OBJECT
12664
12665         Implement GstMiniObject.
12666         * gst/gstminiobject.c:
12667         * gst/gstminiobject.h:
12668
12669         Modify to be subclasses of GstMiniObject.
12670         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12671         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12672         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12673         (gst_subbuffer_get_type), (gst_subbuffer_init),
12674         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12675         (gst_buffer_span):
12676         * gst/gstbuffer.h:
12677         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12678         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12679         (_gst_event_copy), (gst_event_new):
12680         * gst/gstevent.h:
12681         * gst/gstmessage.c: (_gst_message_initialize),
12682         (gst_message_get_type), (gst_message_class_init),
12683         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12684         (gst_message_new), (gst_message_new_error),
12685         (gst_message_new_warning), (gst_message_new_tag),
12686         (gst_message_new_state_changed), (gst_message_new_application):
12687         * gst/gstmessage.h:
12688         * gst/gstprobe.c: (gst_probe_perform),
12689         (gst_probe_dispatcher_dispatch):
12690         * gst/gstprobe.h:
12691         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12692         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12693         (_gst_query_copy), (gst_query_new):
12694
12695         Update elements for GstData -> GstMiniObject changes
12696         * gst/gstquery.h:
12697         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12698         (gst_queue_chain), (gst_queue_loop):
12699         * gst/elements/gstbufferstore.c:
12700         (gst_buffer_store_add_buffer_func),
12701         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12702         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12703         (gst_fakesink_render):
12704         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12705         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12706         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12707         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12708         (gst_filesrc_create_read):
12709         * gst/elements/gstidentity.c: (gst_identity_class_init):
12710         * gst/elements/gsttypefindelement.c:
12711         (gst_type_find_element_src_event), (free_entry_buffers),
12712         (gst_type_find_element_handle_event):
12713         * libs/gst/dataprotocol/dataprotocol.c:
12714         (gst_dp_header_from_buffer):
12715         * libs/gst/dataprotocol/dataprotocol.h:
12716         * libs/gst/dataprotocol/dp-private.h:
12717
12718 2005-05-15  David Schleef  <ds@schleef.org>
12719
12720         * gst/elements/gstelements.c: Don't include headers that were
12721         just removed.
12722
12723 2005-05-15  David Schleef  <ds@schleef.org>
12724
12725         * gst/elements/Makefile.am: Remove some elements that don't
12726         need to be in the core (or even exist at all).
12727         * gst/elements/gstaggregator.c:
12728         * gst/elements/gstaggregator.h:
12729         * gst/elements/gstmd5sink.c:
12730         * gst/elements/gstmd5sink.h:
12731         * gst/elements/gstmultifilesrc.c:
12732         * gst/elements/gstmultifilesrc.h:
12733         * gst/elements/gstpipefilter.c:
12734         * gst/elements/gstpipefilter.h:
12735         * gst/elements/gstshaper.c:
12736         * gst/elements/gstshaper.h:
12737         * gst/elements/gststatistics.c:
12738         * gst/elements/gststatistics.h:
12739         * po/POTFILES.in: Remove above files.
12740
12741 2005-05-14  Andy Wingo  <wingo@pobox.com>
12742
12743         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12744         so as to get the refs right.
12745         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12746         unreffing objects that don't pass the filter.
12747
12748         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12749         gst_element_set_bus.
12750         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12751         normal cases, this will destroy the bus.
12752
12753         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12754         object.
12755
12756         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12757         has no sinks.
12758
12759 2005-05-13  Andy Wingo  <wingo@pobox.com>
12760
12761         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12762         gst_pad_link, call pad_link_maybe_ghosting,
12763         (pad_link_maybe_ghosting): Links pads, making sure that the
12764         elements being linked are in the same bin.
12765         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12766         Helpers for pad_link_maybe_ghosting.
12767
12768 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12769
12770         * configure.ac:
12771           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12772
12773 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12774
12775         * docs/design/part-element-source.txt:
12776           Mention GstPushSrc
12777
12778 2005-05-12  Wim Taymans  <wim@fluendo.com>
12779
12780         * gst/base/gstbasesink.c: (gst_basesink_init),
12781         (gst_basesink_activate):
12782         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12783         (gst_basesrc_is_seekable):
12784         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12785         (bin_element_is_sink), (gst_bin_change_state):
12786         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12787         * gst/gstelement.h:
12788         Identify sinks by their flag to avoid overly complicated
12789         checks (fow now).
12790         Do state changes even for elements not reachable from the
12791         sinks.
12792         BaseSink is a sink now :)
12793         Some more debugging info in the basesrc.
12794
12795
12796 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12797
12798         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12799           Implement _query on a bin, similar to _send_event.
12800
12801 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12802
12803         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12804           Discont event offset format should be GST_FORMAT_BYTES,
12805           not GST_FORMAT_TIME.
12806
12807 2005-05-12  Wim Taymans  <wim@fluendo.com>
12808
12809         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12810         Same fix as Ronald's but without the signal. 
12811
12812 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12813
12814         * gst/gstutils.c: (gst_element_query_position):
12815           No, an element is not a pad.
12816
12817 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12818
12819         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12820         (gst_bin_get_state):
12821           If a child is removed from a bin while we remove the child from
12822           the bin and while we're retrieving its state, signal this to the
12823           get_state function so we abort the wait (instead of waiting for
12824           a timeout) and can immediately re-iterate over all other elements.
12825
12826 2005-05-12  Wim Taymans  <wim@fluendo.com>
12827
12828         * gst/base/Makefile.am:
12829         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12830         (gst_basesrc_start):
12831         * gst/base/gstbasesrc.h:
12832         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12833         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12834         (gst_pushsrc_init), (gst_pushsrc_create):
12835         * gst/base/gstpushsrc.h:
12836         Added is_seekable to BaseSrc
12837         Added simple PushSrc.
12838
12839 2005-05-11  Wim Taymans  <wim@fluendo.com>
12840
12841         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12842         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12843         (gst_element_link_pads), (gst_element_query_position),
12844         (gst_element_query_convert), (intersect_caps_func),
12845         (gst_pad_query_position), (gst_pad_query_convert):
12846         Fix refcounting in utils function.
12847         No point in trying to activate a pad when it's added, it could
12848         be added from the state change function and then we deadlock, the
12849         element has to decide what to do.
12850
12851 2005-05-10  Andy Wingo  <wingo@pobox.com>
12852
12853         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12854         *all* the arguments.
12855
12856         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12857         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12858         lock (according to the docs -- if this is wrong change the docs).
12859
12860         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12861         flush messages in the NULL state.
12862
12863         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12864         message immediately and return.
12865         (gst_bus_set_flushing): New function. If a bus is flushing, it
12866         flushes out any queued messages and immediately unrefs new
12867         messages. This is so when an element goes to NULL, all of the
12868         unhandled messages coming from it can be freed, and their
12869         references to the element dropped. In other words: message source
12870         ref considered harmful :P
12871
12872         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12873         we're finished with it.
12874
12875         * gst/gstmessage.c (gst_message_new_state_changed): 
12876
12877 2005-05-10  Wim Taymans  <wim@fluendo.com>
12878
12879         * gst/gstvalue.c: (gst_value_compare_flags),
12880         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12881         (_gst_value_initialize):
12882         Added flags serialize/deserialize/compare code.
12883
12884 2005-05-09  Andy Wingo  <wingo@pobox.com>
12885
12886         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12887         Intersect the peer's caps with our caps.
12888
12889 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12890
12891         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12892         * gst/elements/gsttypefindelement.c: (find_peek):
12893           Handle negative offsets better. Fixes decodebin.
12894
12895 2005-05-09  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12898         (gst_base_transform_event):
12899         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12900         Implement accept_caps.
12901         Fix silly lock/unlock mismatch in base class.
12902
12903 2005-05-09  Wim Taymans  <wim@fluendo.com>
12904
12905         * docs/design/draft-push-pull.txt:
12906         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12907         * gst/elements/gstfilesink.c: (gst_filesink_init),
12908         (gst_filesink_query):
12909         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12910         (gst_type_find_handle_src_query), (find_element_get_length):
12911         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12912         * gst/gstelement.h:
12913         * gst/gstmessage.c:
12914         * gst/gstmessage.h:
12915         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12916         (gst_real_pad_get_caps_unlocked),
12917         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12918         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12919         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12920         (gst_real_pad_dispose), (gst_real_pad_finalize),
12921         (gst_pad_load_and_link), (gst_pad_save_thyself),
12922         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12923         (gst_pad_check_pull_range), (gst_pad_pull_range),
12924         (gst_pad_template_get_type), (gst_pad_template_class_init),
12925         (gst_pad_template_init), (gst_pad_template_dispose),
12926         (name_is_valid), (gst_static_pad_template_get),
12927         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12928         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12929         (gst_pad_get_element_private), (gst_pad_start_task),
12930         (gst_pad_pause_task), (gst_pad_stop_task),
12931         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12932         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12933         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12934         (gst_ghost_pad_new):
12935         * gst/gstpad.h:
12936         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12937         (gst_query_new_position), (gst_query_set_position),
12938         (gst_query_parse_position), (gst_query_new_convert),
12939         (gst_query_set_convert), (gst_query_parse_convert):
12940         * gst/gstquery.h:
12941         * gst/gstqueryutils.c:
12942         * gst/gstqueryutils.h:
12943         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12944         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12945         (gst_queue_handle_src_query):
12946         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12947         (gst_element_query_position), (gst_element_query_convert),
12948         (intersect_caps_func), (gst_pad_query_position),
12949         (gst_pad_query_convert):
12950         * gst/gstutils.h:
12951         * tools/gst-inspect.c: (print_pad_info):
12952         * tools/gst-xmlinspect.c: (print_element_info):
12953         Remove old query functions. Ported old code.
12954         Added position/convert helper functions to gstutils.
12955         Reordered gstpad.c code, grouping relevant things.
12956         Remove gst_message_new(), always need to speficy a specific
12957         message.
12958
12959
12960 2005-05-09  Andy Wingo  <wingo@pobox.com>
12961
12962         * gst/gstiterator.h: Add some includes.
12963
12964         * gst/gstqueryutils.h: Include more headers.
12965
12966         * gst/gstpad.h:
12967         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12968         some uses of gst_pad_query.
12969
12970         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12971         NULL out parameters.
12972         (gst_query_new_position): New proc, allocates a new position
12973         query.
12974
12975         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12976         gstqueryutils.c to the build.
12977
12978         * gst/gststructure.c (gst_structure_set_valist): Implement with
12979         the generic G_VALUE_COLLECT.
12980         
12981 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12982
12983         * gst/Makefile.am: (gst_headers):
12984         Added gstqueryutils.h to the list of headers to install, that was
12985         a 'nachty' move wingo :)
12986
12987 2005-05-06  Andy Wingo  <wingo@pobox.com>
12988
12989         * gst/gstquery.h
12990         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12991         GstData, init a memchunk.
12992         (standard_definitions): Add a few query types, deprecate a few.
12993         (gst_query_get_type): New proc.
12994         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12995         implementation.
12996         (gst_query_new_application, gst_query_get_structure): New public
12997         procs.
12998
12999         * docs/design/draft-query.txt: Removed LINKS from the query types,
13000         because all the rest can be dispatched to other pads -- seemed
13001         ugly to have a query that couldn't be dispatched. internal_links
13002         is fine as a pad method.
13003
13004         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13005         in gstpad.c, but maintain binary compatibility for the moment.
13006         Will fix before 0.9 is out.
13007
13008         * gst/gstqueryutils.c: 
13009         * gst/gstqueryutils.h: New files, implement 3 methods for each
13010         query type: parse_query, parse_response, and set. Probably need an
13011         allocator as well.
13012
13013         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13014
13015         * gst/elements/gstfilesink.c (gst_filesink_query2):
13016         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13017         query_types, and formats methods.
13018
13019         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13020         (gst_pad_set_query2_function): New functions.
13021         (gst_real_pad_init): Set query2_default as the default query2
13022         function. Basically just dispatches to internally linked pads.
13023
13024         Needs review!
13025         
13026         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13027         without using the atomic operations. Only one thread can possibly
13028         be accessing the data at this point. Changed so as to avoid
13029         gst_atomic operations.
13030
13031 2005-05-06  Wim Taymans  <wim@fluendo.com>
13032
13033         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13034         Also set caps if we use the fallback buffer alloc.
13035
13036 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13037
13038         * docs/gst/Makefile.am:
13039         * docs/gst/gstreamer-docs.sgml:
13040         * docs/gst/gstreamer-sections.txt:
13041         * docs/gst/tmpl/gstatomic.sgml:
13042         * docs/gst/tmpl/gstmemchunk.sgml:
13043         * testsuite/elements/struct_i386.h:
13044         * win32/GStreamer.vcproj:
13045         * win32/Makefile:
13046           Purge GstAtomic stuff from docs and win32 makefiles as well
13047
13048 2005-05-06  Wim Taymans  <wim@fluendo.com>
13049
13050         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13051         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13052         * gst/gstpad.c: (gst_pad_peer_get_caps):
13053         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13054         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13055         (gst_queue_src_activate), (gst_queue_change_state):
13056         * gst/gstqueue.h:
13057         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13058         (intersect_caps_func):
13059         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13060         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13061         Some fixes for the peer_get_caps() change.
13062
13063 2005-05-06  Wim Taymans  <wim@fluendo.com>
13064
13065         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13066         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13067         (gst_basesink_activate):
13068         Actually do something with error codes returned from the push
13069         functions.
13070
13071 2005-05-06  Wim Taymans  <wim@fluendo.com>
13072
13073         * docs/design/part-element-sink.txt:
13074         * docs/design/part-element-source.txt:
13075         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13076         (gst_basesink_event), (gst_basesink_activate):
13077         * gst/base/gstbasesink.h:
13078         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13079         (gst_basesrc_activate):
13080         * gst/base/gstbasesrc.h:
13081         * gst/gstelement.c: (gst_element_pads_activate):
13082         Some more documentation.
13083         Fixed scheduling decision in _pads_activate().
13084
13085 2005-05-05  Andy Wingo  <wingo@pobox.com>
13086
13087         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13088         the test suite.
13089
13090 2005-05-05  Wim Taymans  <wim@fluendo.com>
13091
13092         * gst/base/Makefile.am:
13093         * gst/base/gstbasesink.h:
13094         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13095         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13096         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13097         (gst_collectpads_class_init), (gst_collectpads_init),
13098         (gst_collectpads_finalize), (gst_collectpads_new),
13099         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13100         (find_pad), (gst_collectpads_remove_pad),
13101         (gst_collectpads_is_active), (gst_collectpads_collect),
13102         (gst_collectpads_collect_range), (gst_collectpads_start),
13103         (gst_collectpads_stop), (gst_collectpads_peek),
13104         (gst_collectpads_pop), (gst_collectpads_available),
13105         (gst_collectpads_read), (gst_collectpads_flush),
13106         (gst_collectpads_chain):
13107         * gst/base/gstcollectpads.h:
13108         * gst/elements/Makefile.am:
13109         * gst/elements/gstelements.c:
13110         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13111         (gst_fakesink_get_times), (gst_fakesink_event),
13112         (gst_fakesink_preroll), (gst_fakesink_render):
13113         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13114         (gst_filesink_init), (gst_filesink_set_location),
13115         (gst_filesink_open_file), (gst_filesink_close_file),
13116         (gst_filesink_pad_query), (gst_filesink_event),
13117         (gst_filesink_render), (gst_filesink_change_state):
13118         * gst/elements/gstfilesink.h:
13119         Added object to help in making collect pad based elements.
13120         Ported filesink.
13121         Make event function in sink baseclass return gboolean.
13122
13123 2005-05-05  Wim Taymans  <wim@fluendo.com>
13124
13125         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13126         (gst_bin_get_by_name):
13127         * gst/gstbuffer.h:
13128         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13129         (gst_clock_finalize):
13130         * gst/gstdata.c: (gst_data_replace):
13131         * gst/gstdata.h:
13132         * gst/gstelement.c: (gst_element_request_pad),
13133         (gst_element_pads_activate):
13134         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13135         (gst_object_unref):
13136         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13137         (gst_pad_set_checkgetrange_function),
13138         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13139         (gst_pad_check_pull_range), (gst_pad_pull_range),
13140         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13141         (gst_pad_pause_task), (gst_pad_stop_task):
13142         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13143         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13144         Fix name lookup in GstBin.
13145         Added _data_replace() function and _buffer_replace()
13146         Use finalize method to clean up clock.
13147         Fix refcounting on request pads.
13148         Fix pad schedule mode error.
13149         Some more object refcounting debug info,
13150
13151
13152 2005-05-04  Andy Wingo <wingo@pobox.com>
13153
13154         * check/Makefile.am:
13155         * docs/gst/tmpl/gstatomic.sgml:
13156         * docs/gst/tmpl/gstplugin.sgml:
13157         * gst/base/gstbasesink.c: (gst_basesink_activate):
13158         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13159         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13160         (gst_basesrc_query), (gst_basesrc_set_property),
13161         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13162         (gst_basesrc_activate):
13163         * gst/base/gstbasesrc.h:
13164         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13165         (gst_base_transform_src_activate):
13166         * gst/elements/gstelements.c:
13167         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13168         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13169         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13170         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13171         (gst_type_find_element_checkgetrange),
13172         (gst_type_find_element_activate):
13173         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13174         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13175         (gst_caps_load_thyself):
13176         * gst/gstelement.c: (gst_element_pads_activate),
13177         (gst_element_save_thyself), (gst_element_restore_thyself):
13178         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13179         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13180         * gst/gstpad.h:
13181         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13182         (gst_xml_parse_file), (gst_xml_parse_memory),
13183         (gst_xml_get_element), (gst_xml_make_element):
13184         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13185         (_file_index_id_save_xml), (gst_file_index_commit):
13186         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13187         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13188         (load_paths):
13189         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13190         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13191         * tools/gst-complete.c: (main):
13192         * tools/gst-compprep.c: (main):
13193         * tools/gst-inspect.c: (print_element_properties_info):
13194         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13195         * tools/gst-xmlinspect.c: (print_element_properties):
13196         GCC 4 fixen.
13197         
13198 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13199
13200         * gst/gstplugin.c: (gst_plugin_check_module),
13201         (gst_plugin_check_file), (gst_plugin_load_file):
13202             apply patch from #172526 to make register work on MacOSX
13203
13204 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13205
13206         * docs/gst/tmpl/gstconfig.sgml:
13207         * gst/gstconfig.h.in:
13208           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13209         * testsuite/debug/printf_extension.c: (main):
13210           Do not use GST_PTR_FORMAT on pointers to types with
13211           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13212         * testsuite/elements/property.h:
13213           use correct printf format
13214
13215 2005-05-02  Wim Taymans  <wim@fluendo.com>
13216
13217         * docs/design/draft-push-pull.txt:
13218         * docs/design/draft-query.txt:
13219         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13220         (gst_basesrc_start):
13221         Added draft for new query API.
13222         Added draft for better selecting scheduling methods.
13223         Make basesrc ignore length if the subclass does not support
13224         it.
13225
13226 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13227
13228         * gst/Makefile.am:
13229           possible fixes for automake-1.5 - _LIBADD is reserved
13230
13231 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13232
13233         * docs/faq/Makefile.am:
13234         * docs/manual/Makefile.am:
13235         * docs/manuals.mak:
13236         * docs/pwg/Makefile.am:
13237         * gst/Makefile.am:
13238           possible fixes for automake-1.5
13239
13240 2005-04-28  Wim Taymans  <wim@fluendo.com>
13241
13242         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13243         (gst_basesink_pad_getcaps), (gst_basesink_init),
13244         (gst_basesink_do_sync):
13245         * gst/gstclock.c: (gst_clock_entry_new):
13246         * gst/gstevent.c: (gst_event_discont_get_value):
13247         * gst/gstpipeline.c: (pipeline_bus_handler),
13248         (gst_pipeline_change_state):
13249         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13250         Better debugging of clocking info.
13251         Allow NULL values when getting discont values.
13252
13253 2005-04-27  Wim Taymans  <wim@fluendo.com>
13254
13255         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13256         * check/gst/gstpad.c: (gst_pad_suite):
13257         Increase timeout for checks.
13258
13259 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13260
13261         * check/Makefile.am:
13262           fix the broken rule for cleanup.  Apparently this rule is
13263           only needed on FC2, so maybe this warrants further autotool
13264           inspection.
13265
13266 2005-04-26  Wim Taymans  <wim@fluendo.com>
13267
13268         * gst/gsttrashstack.h:
13269         Ooohh. a nasty one! After having a failed pop() from the stack,
13270         it's possible that the stack is empty. In that case, don't
13271         follow the NULL pointer.
13272
13273 2005-04-25  Wim Taymans  <wim@fluendo.com>
13274
13275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13276         (gst_pad_set_checkgetrange_function),
13277         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13278         (gst_pad_check_pull_range), (gst_pad_pull_range),
13279         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13280         (gst_pad_pause_task), (gst_pad_stop_task):
13281         * gst/gstplugin.c: (gst_plugin_load):
13282         * gst/gstplugin.h:
13283         Remove gst_library_load as it does more harm than good with
13284         the new g_module flags.
13285         Revert bogus caps template check in pad linking, pad caps
13286         are important when linking not the template, which is more
13287         general than the current caps.
13288
13289 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13290
13291         * gst/autoplug/.cvsignore:
13292         * gst/autoplug/Makefile.am:
13293         * gst/autoplug/gstsearchfuncs.c:
13294         * gst/autoplug/gstsearchfuncs.h:
13295         * gst/autoplug/gstspider.c:
13296         * gst/autoplug/gstspider.h:
13297         * gst/autoplug/gstspideridentity.c:
13298         * gst/autoplug/gstspideridentity.h:
13299         * gst/autoplug/spidertest.c:
13300           Die, spider, die.
13301
13302 2005-04-25  Wim Taymans  <wim@fluendo.com>
13303
13304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13305         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13306         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13307         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13308         * gst/gstpad.h:
13309         Added stubs for unimplemented functions. 
13310
13311 2005-04-24  David Schleef  <ds@schleef.org>
13312
13313         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13314         please fix.
13315
13316 2005-04-24  David Schleef  <ds@schleef.org>
13317
13318         Convert everything from GstAtomicInt to g_atomic_int_*, and
13319         remove gstatomic.
13320         * gst/Makefile.am:
13321         * gst/gstatomic.c:
13322         * gst/gstatomic.h:
13323         * gst/gstatomic_impl.h:
13324         * gst/gstbuffer.c:
13325         * gst/gstcaps.c:
13326         * gst/gstcaps.h:
13327         * gst/gstclock.c:
13328         * gst/gstclock.h:
13329         * gst/gstdata.c:
13330         * gst/gstdata.h:
13331         * gst/gstdata_private.h:
13332         * gst/gstevent.c:
13333         * gst/gstinfo.c:
13334         * gst/gstinfo.h:
13335         * gst/gstmessage.c:
13336         * gst/gstobject.c:
13337         * gst/gstobject.h:
13338         * gst/gststructure.c:
13339         * gst/gststructure.h:
13340         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13341         * gst/gstutils.h:
13342
13343 2005-04-24  David Schleef  <ds@schleef.org>
13344
13345         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13346         make the regressions tests work.  Remove some code that is no
13347         longer true.
13348         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13349         Disable warning for pads without templates.
13350
13351 2005-04-24  David Schleef  <ds@schleef.org>
13352
13353         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13354         functions that handle filtered links.
13355         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13356         removed functions.
13357         * gst/gstutils.c: Fix/remove utility functions that handle
13358         filtered caps.
13359         * gst/gstutils.h:
13360         * gst/gstvalue.c: Add serialization/deserialization of caps
13361         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13362         requires fixing so that the filter caps notation creates
13363         a capsfilter element and sets the filter_caps property.  I
13364         think everyone probably wants to keep the shorthand notation.
13365         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13366         * docs/gst/tmpl/gstpad.sgml:
13367
13368         * gst/elements/gstelements.c: Register capsfilter element.
13369         * gst/Makefile.am: fix spacing
13370         * docs/random/ds/0.9-suggested-changes: random
13371
13372 2005-04-23  David Schleef  <ds@schleef.org>
13373
13374         * gst/elements/Makefile.am:
13375         * gst/elements/gstcapsfilter.c: New element that acts like an
13376         identity, but filters caps.  Will eventually replace filtered
13377         caps in pad linking.
13378         * gst/gstutils.c: (gst_element_create_all_pads): New function
13379         to create all the ALWAYS pads that are registered with an
13380         element class.  This functionality should eventually be
13381         merged in with GstElement initialization.
13382         * gst/gstutils.h:
13383         * testsuite/trigger/README: part of trigger test code that should
13384         have been checked in a long time ago.
13385
13386 2005-04-23  David Schleef  <ds@schleef.org>
13387
13388         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13389         needed with new versions of libtool (nobody will confirm this),
13390         and hard to carry around.
13391         * gst/autoplug/Makefile.am:
13392         * gst/base/Makefile.am:
13393         * gst/elements/Makefile.am:
13394         * gst/indexers/Makefile.am:
13395         * gst/schedulers/Makefile.am:
13396         * libs/gst/bytestream/Makefile.am:
13397         * libs/gst/control/Makefile.am:
13398         * libs/gst/dataprotocol/Makefile.am:
13399         * libs/gst/getbits/Makefile.am:
13400
13401 2005-04-21  Wim Taymans  <wim@fluendo.com>
13402
13403         * docs/design/draft-push-pull.txt:
13404         * docs/design/part-MT-refcounting.txt:
13405         * docs/design/part-TODO.txt:
13406         * docs/design/part-caps.txt:
13407         * docs/design/part-events.txt:
13408         * docs/design/part-gstbus.txt:
13409         * docs/design/part-gstpipeline.txt:
13410         * docs/design/part-messages.txt:
13411         * docs/design/part-push-pull.txt:
13412         * docs/design/part-query.txt:
13413         Some more docs.
13414
13415 2005-04-21  Wim Taymans  <wim@fluendo.com>
13416
13417         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13418         (gst_message_new), (gst_message_new_error),
13419         (gst_message_new_warning), (gst_message_new_tag),
13420         (gst_message_new_state_changed), (gst_message_new_application),
13421         (gst_message_get_structure):
13422         * gst/gstmessage.h:
13423         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13424         (gst_structure_copy_conditional):
13425         Use parent refcount in GstMessage to ensure GstStructure
13426         consistency.
13427         Cleaned up headers a bit.
13428         
13429
13430 2005-04-20  Wim Taymans  <wim@fluendo.com>
13431
13432         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13433         (gst_basesink_pad_getcaps), (gst_basesink_init),
13434         (gst_basesink_chain_unlocked):
13435         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13436         (gst_type_find_helper):
13437         * gst/elements/gsttypefindelement.c:
13438         (gst_type_find_element_have_type), (gst_type_find_element_init),
13439         (stop_typefinding), (gst_type_find_element_handle_event),
13440         (find_suggest), (gst_type_find_element_chain),
13441         (gst_type_find_element_checkgetrange),
13442         (gst_type_find_element_getrange), (do_typefind),
13443         (gst_type_find_element_activate):
13444         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13445         (gst_buffer_default_free), (gst_buffer_default_copy),
13446         (gst_buffer_set_caps):
13447         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13448         (gst_caps_replace):
13449         * gst/gstmessage.c: (gst_message_new),
13450         (gst_message_new_state_changed):
13451         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13452         (gst_pad_set_checkgetrange_function),
13453         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13454         (gst_pad_set_caps), (gst_pad_check_pull_range),
13455         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13456         * gst/gstpad.h:
13457         * gst/gsttypefind.c: (gst_type_find_register):
13458         Make gst_caps_replace() work like other _replace() functions.
13459         Use _caps_replace() where possible.
13460         Make sure _message_new() initialises its field.
13461         Add gst_static_pad_template_get_caps()
13462
13463
13464 2005-04-18  Andy Wingo  <wingo@pobox.com>
13465
13466         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13467         on the peer, not the pad. I think that was a typo. Pass an extra
13468         arg to see if random access is possible. Activate the pads as
13469         PULL_RANGE if possible.
13470
13471         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13472
13473         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13474         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13475         to PROP_....
13476
13477 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13478
13479         * docs/faq/using.xml:
13480           Add note on gstreamer-properties (#154996).
13481
13482 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13483
13484         * docs/random/bbb/optional-properties:
13485           Some analysis on optional properties.
13486
13487 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13488
13489         * docs/gst/tmpl/gstelementfactory.sgml:
13490         * gst/gstelement.h:
13491         * gst/gstelementfactory.c: (gst_element_factory_init),
13492         (gst_element_factory_cleanup), (gst_element_register),
13493         (__gst_element_factory_add_static_pad_template),
13494         (gst_element_factory_get_static_pad_templates),
13495         (gst_element_factory_can_src_caps),
13496         (gst_element_factory_can_sink_caps):
13497         * gst/registries/Makefile.am:
13498         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13499         (gst_xml_registry_class_init), (gst_xml_registry_init),
13500         (gst_xml_registry_new), (gst_xml_registry_set_property),
13501         (gst_xml_registry_get_property), (get_time), (make_dir),
13502         (gst_xml_registry_get_perms_func),
13503         (plugin_times_older_than_recurse), (plugin_times_older_than),
13504         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13505         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13506         (add_to_char_array), (read_string), (read_uint), (read_enum),
13507         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13508         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13509         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13510         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13511         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13512         (gst_xml_registry_rebuild):
13513         * gst/registries/gstlibxmlregistry.h:
13514         * tools/gst-compprep.c: (main):
13515         * tools/gst-inspect.c: (print_pad_templates_info):
13516         * tools/gst-xmlinspect.c: (print_element_info):
13517           Use libxml2 for registry parsing, use staticpadtemplates in
13518           elementfactories. Makes gst_init() +/- 10x faster.
13519
13520 2005-04-12  Wim Taymans  <wim@fluendo.com>
13521
13522         * gst/base/Makefile.am:
13523         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13524         (gst_basesink_pad_getcaps), (gst_basesink_init),
13525         (gst_basesink_event), (gst_basesink_change_state):
13526         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13527         (gst_basesrc_init), (gst_basesrc_query),
13528         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13529         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13530         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13531         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13532         (gst_basesrc_stop), (gst_basesrc_activate),
13533         (gst_basesrc_change_state):
13534         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13535         (helper_find_suggest), (gst_type_find_helper):
13536         * gst/base/gsttypefindhelper.h:
13537         * gst/elements/Makefile.am:
13538         * gst/elements/gstelements.c:
13539         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13540         (gst_fakesink_get_times), (gst_fakesink_event),
13541         (gst_fakesink_preroll), (gst_fakesink_render):
13542         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13543         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13544         (gst_fakesrc_get_property), (gst_fakesrc_create),
13545         (gst_fakesrc_start), (gst_fakesrc_stop):
13546         * gst/elements/gstfakesrc.h:
13547         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13548         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13549         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13550         (gst_filesrc_create_read), (gst_filesrc_create),
13551         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13552         (gst_filesrc_start):
13553         * gst/elements/gsttypefindelement.c:
13554         (gst_type_find_element_have_type), (gst_type_find_element_init),
13555         (start_typefinding), (stop_typefinding), (push_buffer_store),
13556         (gst_type_find_element_handle_event),
13557         (gst_type_find_element_chain),
13558         (gst_type_find_element_checkgetrange),
13559         (gst_type_find_element_getrange), (do_typefind),
13560         (gst_type_find_element_activate),
13561         (gst_type_find_element_change_state):
13562         * gst/elements/gsttypefindelement.h:
13563         * gst/gstpipeline.c: (pipeline_bus_handler):
13564         Added typefind helper.
13565         Small preroll fix in the base sink.
13566         Disable typefind code in basesrc.
13567         Crude port of typefindelement.
13568         Fakesrc cleanups.
13569
13570
13571 2005-04-11  Wim Taymans  <wim@fluendo.com>
13572
13573         * check/gst/gstbus.c: (gstbus_suite):
13574         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13575         * check/gstcheck.h:
13576           Fix up the timeout so that the test does not fail.
13577
13578 2005-04-06  Wim Taymans  <wim@fluendo.com>
13579
13580         * gst/base/README:
13581         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13582         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13583         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13584         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13585         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13586         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13587         (gst_basesrc_stop), (gst_basesrc_activate),
13588         (gst_basesrc_change_state), (basesrc_find_peek),
13589         (basesrc_find_suggest), (gst_basesrc_type_find):
13590         * gst/base/gstbasesrc.h:
13591         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13592         (gst_filesrc_class_init), (gst_filesrc_init),
13593         (gst_filesrc_finalize), (gst_filesrc_set_location),
13594         (gst_filesrc_set_property), (gst_filesrc_get_property),
13595         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13596         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13597         (gst_filesrc_create_read), (gst_filesrc_create),
13598         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13599         * gst/elements/gstfilesrc.h:
13600         * gst/gstelement.c: (gst_element_get_state_func),
13601         (gst_element_lost_state), (gst_element_pads_activate):
13602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13603         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13604         (gst_pad_pull_range):
13605         * gst/gstpad.h:
13606         More work on the generic source base class, implement seeking,
13607         query.
13608         Make filesrc extend the base source class.
13609         Added gst_pad_set_checkgetrange_function to GstPad.
13610
13611 2005-04-06  Andy Wingo  <wingo@pobox.com>
13612
13613         * pkgconfig/gstreamer-base.pc.in:
13614         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13615
13616         * pkgconfig/Makefile.am:
13617         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13618
13619 2005-04-04  Wim Taymans  <wim@fluendo.com>
13620
13621         * gst/base/Makefile.am:
13622         * gst/base/README:
13623         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13624         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13625         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13626         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13627         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13628         (gst_basesrc_base_init), (gst_basesrc_class_init),
13629         (gst_basesrc_init), (gst_basesrc_get_formats),
13630         (gst_basesrc_get_query_types), (gst_basesrc_query),
13631         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13632         (gst_basesrc_set_property), (gst_basesrc_get_property),
13633         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13634         (gst_basesrc_loop), (gst_basesrc_activate),
13635         (gst_basesrc_change_state):
13636         * gst/base/gstbasesrc.h:
13637         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13638         (gst_fakesrc_class_init), (gst_fakesrc_init),
13639         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13640         (gst_fakesrc_get_property), (gst_fakesrc_create):
13641         * gst/elements/gstfakesrc.h:
13642         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13643         (gst_filesrc_open_file), (gst_filesrc_loop),
13644         (gst_filesrc_activate), (filesrc_find_peek),
13645         (gst_filesrc_type_find):
13646         Made base source class, make fakesrc extend it.
13647         Add comments to basesink class.
13648         Some filesrc cleanup.
13649
13650 2005-03-31  David Schleef  <ds@schleef.org>
13651
13652         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13653         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13654         expected to link against libgstreamer.
13655         * gst/base/Makefile.am: link against libgstreamer
13656         * gst/elements/Makefile.am: same
13657
13658 2005-03-31  Andy Wingo  <wingo@pobox.com>
13659
13660         * tests/instantiate/Makefile.am:
13661         * tests/instantiate/caps.c: Add test to test speed of caps copy
13662         and free.
13663
13664         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13665         GMemChunk to be fair.
13666
13667         * gst/gsttrashstack.h: Remove warning about using the fallback
13668         trash stack implementation, it's still faster than malloc.
13669
13670 2005-03-30  Andy Wingo  <wingo@pobox.com>
13671
13672         * tests/complexity.c: Add a copyright.
13673
13674 2005-03-31  Wim Taymans  <wim@fluendo.com>
13675
13676         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13677         (gst_base_transform_class_init), (gst_base_transform_init),
13678         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13679         (gst_base_transform_get_property),
13680         (gst_base_transform_sink_activate),
13681         (gst_base_transform_src_activate),
13682         (gst_base_transform_change_state):
13683         * gst/base/gstbasetransform.h:
13684         * gst/elements/gstidentity.c: (gst_identity_class_init),
13685         (gst_identity_event), (gst_identity_check_perfect),
13686         (gst_identity_transform), (gst_identity_start),
13687         (gst_identity_stop):
13688         Added start/stop methods to transform base class so subclasses 
13689         don't need to deal with state changes even.
13690
13691 2005-03-31  Wim Taymans  <wim@fluendo.com>
13692
13693         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13694         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13695         * gst/gstevent.h:
13696         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13697         (gst_pad_pull_range):
13698         Added rate to the discont event to prepare for variable speed
13699         and reverse playback.
13700
13701 2005-03-29  David Schleef  <ds@schleef.org>
13702
13703         * configure.ac:
13704         * testsuite/trigger/Makefile.am:
13705         * testsuite/trigger/trigger.c: A little example program to show
13706         how trigger-based elements can work.
13707
13708 2005-03-29  Wim Taymans  <wim@fluendo.com>
13709
13710         * gst/base/Makefile.am:
13711         * gst/base/README:
13712         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13713         (gst_basesink_base_init), (gst_basesink_class_init),
13714         (gst_basesink_pad_getcaps), (gst_basesink_init),
13715         (gst_basesink_activate), (gst_basesink_change_state):
13716         * gst/base/gstbasesink.h:
13717         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13718         (gst_base_transform_base_init), (gst_base_transform_finalize),
13719         (gst_base_transform_class_init), (gst_base_transform_init),
13720         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13721         (gst_base_transform_event), (gst_base_transform_getrange),
13722         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13723         (gst_base_transform_set_property),
13724         (gst_base_transform_get_property),
13725         (gst_base_transform_sink_activate),
13726         (gst_base_transform_src_activate),
13727         (gst_base_transform_change_state):
13728         * gst/base/gstbasetransform.h:
13729         * gst/elements/gstidentity.c: (gst_identity_finalize),
13730         (gst_identity_class_init), (gst_identity_init),
13731         (gst_identity_event), (gst_identity_check_perfect),
13732         (gst_identity_transform), (gst_identity_set_property),
13733         (gst_identity_get_property), (gst_identity_change_state):
13734         * gst/elements/gstidentity.h:
13735         * gst/gstelement.c: (gst_element_get_state_func),
13736         (gst_element_lost_state), (gst_element_pads_activate):
13737         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13738         (gst_pad_check_pull_range), (gst_pad_pull_range):
13739         * gst/gstpad.h:
13740         Simplify pad activation.
13741         Added function to check if pull_range can be performed.
13742         Error out when pulling inactive or flushing pads.
13743         Removed const from refcounted types as it does not make sense.
13744         Simplify pad templates in basesink
13745         Added base class for simple 1-to-1 transforms.
13746         Make identity subclass the base transform.
13747
13748 2005-03-29  Andy Wingo  <wingo@pobox.com>
13749
13750         * docs/libs/gstreamer-libs-overrides.txt: 
13751         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13752         really don't understand what's going on, but like whatever. I want
13753         green buildbot!
13754
13755         * docs/gst/Makefile.am:
13756         * docs/libs/Makefile.am: Dist the overrides files.
13757
13758         * check/Makefile.am (clean-local): Remove .libs directories.
13759
13760         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13761         elements to EXTRA_DIST, so po/ files are happy.
13762
13763         * po/POTFILES.in: Er, remove it here.
13764
13765         * po/POTFILES: Remove gstspider.c.
13766
13767         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13768
13769         * docs/libs/gstreamer-libs-docs.sgml: 
13770         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13771         bytestream.
13772
13773         * tests/complexity.c (main): Set the length of the preroll queue
13774         on the sinks to prevent a lockup.
13775
13776         * libs/gst/dataprotocol/Makefile.am: 
13777         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13778         the same as the one in check/gst-libs/gdp.c.
13779
13780         * po/, docs/gst/: Commit automatic changes to docs and po files.
13781
13782         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13783         the versioned libgstbase.
13784
13785         * check/Makefile.am: Depend on an unversioned gst-register, seems
13786         to make autoconf happier.
13787
13788         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13789
13790 2005-03-28  Wim Taymans  <wim@fluendo.com>
13791
13792         * configure.ac:
13793         * docs/design/part-gstelement.txt:
13794         * docs/design/part-negotiation.txt:
13795         * docs/design/part-preroll.txt:
13796         * docs/design/part-scheduling.txt:
13797         * docs/design/part-states.txt:
13798         * gst/Makefile.am:
13799         * gst/base/Makefile.am:
13800         * gst/base/README:
13801         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13802         (gst_basesink_base_init), (gst_basesink_class_init),
13803         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13804         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13805         (gst_basesink_set_pad_functions),
13806         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13807         (gst_basesink_set_property), (gst_basesink_get_property),
13808         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13809         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13810         (gst_basesink_preroll_queue_push),
13811         (gst_basesink_preroll_queue_empty),
13812         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13813         (gst_basesink_event), (gst_basesink_get_times),
13814         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13815         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13816         (gst_basesink_loop), (gst_basesink_activate),
13817         (gst_basesink_change_state):
13818         * gst/base/gstbasesink.h:
13819         * gst/elements/Makefile.am:
13820         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13821         (gst_fakesink_class_init), (gst_fakesink_init),
13822         (gst_fakesink_set_property), (gst_fakesink_get_property),
13823         (gst_fakesink_get_times), (gst_fakesink_event),
13824         (gst_fakesink_preroll), (gst_fakesink_render),
13825         (gst_fakesink_change_state):
13826         * gst/elements/gstfakesink.h:
13827         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13828         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13829         * gst/gstelement.c: (gst_element_add_pad),
13830         (gst_element_get_state_func), (gst_element_abort_state),
13831         (gst_element_commit_state), (gst_element_lost_state),
13832         (gst_element_set_state), (gst_element_pads_activate):
13833         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13834         * gst/gstpipeline.c: (gst_pipeline_send_event),
13835         (gst_pipeline_change_state):
13836         Added state change code.
13837         Added/updated docs.
13838         Added sink base class, make fakesink extend the base class.
13839         Small cleanups in GstPipeline.
13840
13841 2005-03-26  David Schleef  <ds@schleef.org>
13842
13843         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13844         is broken and should be implemented in a different library.
13845         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13846         * gst/gst.h: remove gstcpu.h
13847         * gst/gstcpu.c: remove
13848         * gst/gstcpu.h: remove
13849         * gst/Makefile.am.future: Remove this file.  It's ancient.
13850
13851 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13852
13853         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13854         (gst_bin_send_event):
13855           Add default event/set_manager handlers. The set_manager handler
13856           takes care that the manager is distributed over kids that were
13857           already in the bin before the manager was set. The event handler
13858           is a utility virtual function that sends the event over all sinks,
13859           so that gst_element_send_event (bin, event); has the expected
13860           behaviour.
13861         * gst/gstpad.c: (gst_pad_event_default):
13862           Re-install default event handling for discontinuities, so that
13863           seeking works without requiring hacks in applications or extra
13864           code in sinks.
13865         * gst/gstpipeline.c: (gst_pipeline_class_init),
13866         (gst_pipeline_send_event):
13867           Half hack, half utility: set a pipeline to PAUSED for seek events,
13868           since that is the only way we can guarantee a/v sync. Means that
13869           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13870           and it "just works".
13871
13872 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13873
13874         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13875           Lock/unlock mismatch.
13876
13877 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13878
13879         * docs/faq/gst-uninstalled:
13880           add gst-plugins-base
13881         * docs/gst/Makefile.am:
13882           don't error out until docs are fixed
13883         * docs/gst/gstreamer.types:
13884           remove thread
13885
13886 2005-03-22  Wim Taymans  <wim@fluendo.com>
13887
13888         * check/Makefile.am:
13889         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13890         * gst/gststructure.c: (gst_structure_set_valist),
13891         (gst_structure_copy_conditional):
13892         Activated more tests.
13893         Added message test.
13894         Added G_TYPE_POINTER to GstStructure.
13895         
13896
13897 2005-03-22  Wim Taymans  <wim@fluendo.com>
13898
13899         * docs/design/part-TODO.txt:
13900         * docs/design/part-events.txt:
13901         * docs/design/part-gstbin.txt:
13902         * docs/design/part-gstbus.txt:
13903         * docs/design/part-gstpipeline.txt:
13904         * docs/design/part-messages.txt:
13905         * gst/gstbus.c:
13906         * gst/gstmessage.c:
13907         Docs updates
13908
13909 2005-03-21  Wim Taymans  <wim@fluendo.com>
13910
13911         * gst/gstbus.c: (gst_bus_post):
13912         Fix copy-and-paste error.
13913
13914 2005-03-21  Wim Taymans  <wim@fluendo.com>
13915
13916         * check/Makefile.am:
13917         * gst/Makefile.am:
13918         * gst/elements/Makefile.am:
13919         * gst/elements/gstelements.c:
13920         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13921         (gst_fakesink_event), (gst_fakesink_chain):
13922         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13923         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13924         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13925         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13926         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13927         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13928         (gst_fakesrc_loop), (gst_fakesrc_activate),
13929         (gst_fakesrc_change_state):
13930         * gst/elements/gstfakesrc.h:
13931         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13932         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13933         (gst_filesrc_open_file), (gst_filesrc_loop),
13934         (gst_filesrc_activate), (gst_filesrc_change_state),
13935         (filesrc_find_peek), (filesrc_find_suggest),
13936         (gst_filesrc_type_find):
13937         * gst/elements/gstidentity.c: (gst_identity_finalize),
13938         (gst_identity_class_init), (gst_identity_init),
13939         (gst_identity_proxy_getcaps), (identity_queue_push),
13940         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13941         (gst_identity_getrange), (gst_identity_chain),
13942         (gst_identity_sink_loop), (gst_identity_src_loop),
13943         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13944         (gst_identity_set_property), (gst_identity_get_property),
13945         (gst_identity_change_state):
13946         * gst/elements/gstidentity.h:
13947         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13948         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13949         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13950         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13951         (gst_tee_sink_activate):
13952         * gst/elements/gsttee.h:
13953         * gst/gst.c: (gst_register_core_elements), (init_post):
13954         * gst/gst.h:
13955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13956         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13957         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13958         (gst_bin_change_state):
13959         * gst/gstbin.h:
13960         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13961         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13962         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13963         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13964         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13965         (bus_watch_callback), (bus_watch_destroy),
13966         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13967         (poll_timeout), (gst_bus_poll):
13968         * gst/gstbus.h:
13969         * gst/gstcaps.h:
13970         * gst/gstdata.h:
13971         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13972         (gst_element_post_message), (gst_element_message_full),
13973         (gst_element_get_state_func), (gst_element_get_state),
13974         (gst_element_abort_state), (gst_element_commit_state),
13975         (gst_element_lost_state), (gst_element_set_state),
13976         (gst_element_pads_activate), (gst_element_change_state),
13977         (gst_element_dispose), (gst_element_set_manager_func),
13978         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13979         (gst_element_set_manager), (gst_element_get_manager),
13980         (gst_element_set_bus), (gst_element_get_bus),
13981         (gst_element_set_scheduler), (gst_element_get_scheduler):
13982         * gst/gstelement.h:
13983         * gst/gstevent.c: (gst_event_new_segment_seek),
13984         (gst_event_new_flush):
13985         * gst/gstevent.h:
13986         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13987         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13988         (gst_message_new_eos), (gst_message_new_error),
13989         (gst_message_new_warning), (gst_message_new_tag),
13990         (gst_message_new_state_changed), (gst_message_new_application),
13991         (gst_message_get_structure), (gst_message_parse_tag),
13992         (gst_message_parse_state_changed), (gst_message_parse_error),
13993         (gst_message_parse_warning):
13994         * gst/gstmessage.h:
13995         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13996         (gst_real_pad_set_property), (gst_pad_set_active),
13997         (gst_pad_is_active), (gst_pad_set_blocked_async),
13998         (gst_pad_set_blocked), (gst_pad_is_blocked),
13999         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14000         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14001         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14002         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14003         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14004         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14005         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14006         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14007         (gst_pad_set_caps), (gst_pad_configure_sink),
14008         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14009         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14010         (gst_real_pad_dispose), (gst_real_pad_finalize),
14011         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14012         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14013         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14014         * gst/gstpad.h:
14015         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14016         (pipeline_bus_handler), (gst_pipeline_change_state),
14017         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14018         * gst/gstpipeline.h:
14019         * gst/gstprobe.h:
14020         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14021         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14022         (gst_queue_link_src), (gst_queue_bufferalloc),
14023         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14024         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14025         (gst_queue_loop), (gst_queue_handle_src_event),
14026         (gst_queue_handle_src_query), (gst_queue_src_activate),
14027         (gst_queue_change_state):
14028         * gst/gstqueue.h:
14029         * gst/gstscheduler.c: (gst_scheduler_init),
14030         (gst_scheduler_dispose), (gst_scheduler_create_task),
14031         (gst_scheduler_factory_create):
14032         * gst/gstscheduler.h:
14033         * gst/gststructure.c: (gst_structure_get_type),
14034         (gst_structure_copy_conditional):
14035         * gst/gststructure.h:
14036         * gst/gsttaginterface.h:
14037         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14038         (gst_task_init), (gst_task_dispose), (gst_task_create),
14039         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14040         (gst_task_pause):
14041         * gst/gsttask.h:
14042         * gst/gstthread.c:
14043         * gst/gstthread.h:
14044         * gst/gsttypes.h:
14045         * gst/schedulers/Makefile.am:
14046         * gst/schedulers/cothreads_compat.h:
14047         * gst/schedulers/entryscheduler.c:
14048         * gst/schedulers/faircothreads.c:
14049         * gst/schedulers/faircothreads.h:
14050         * gst/schedulers/fairscheduler.c:
14051         * gst/schedulers/gstbasicscheduler.c:
14052         * gst/schedulers/gstoptimalscheduler.c:
14053         * gst/schedulers/gthread-cothreads.h:
14054         * gst/schedulers/threadscheduler.c:
14055         (gst_thread_scheduler_task_get_type),
14056         (gst_thread_scheduler_task_class_init),
14057         (gst_thread_scheduler_task_init),
14058         (gst_thread_scheduler_task_start),
14059         (gst_thread_scheduler_task_stop),
14060         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14061         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14062         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14063         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14064         (plugin_init):
14065         * libs/gst/Makefile.am:
14066         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14067         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14068         (gst_file_pad_parent_set):
14069         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14070         (gst_dp_event_from_packet):
14071         * tests/complexity.c: (main):
14072         * tests/mass_elements.c: (main):
14073         * testsuite/states/locked.c: (message_received), (main):
14074         * testsuite/states/parent.c: (main):
14075         * tools/gst-inspect.c: (print_element_flag_info),
14076         (print_implementation_info), (print_pad_info):
14077         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14078         (main):
14079         * tools/gst-md5sum.c: (event_loop), (main):
14080         * tools/gst-typefind.c: (main):
14081         * tools/gst-xmlinspect.c: (print_element_info):
14082         Next big merge.
14083         Added GstBus for mainloop integration.
14084         Added GstMessage for sending notifications on the bus.
14085         Added GstTask as an abstraction for pipeline entry points.
14086         Removed GstThread.
14087         Removed Schedulers.
14088         Simplified GstQueue for multithreaded core.
14089         Made _link threadsafe, removed old capsnego.
14090         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14091         Added pad blocking functions.
14092         Reworked scheduling functions in GstPad to prepare for
14093         scheduling updates soon.
14094         Moved events out of data stream.
14095         Simplified GstEvent types.
14096         Added return values to push/pull.
14097         Removed clocking from GstElement.
14098         Added prototypes for state change function for next merge.
14099         Removed iterate from bins and state change management.
14100         Fixed some elements, disabled others for now.
14101         Fixed -inspect and -launch.
14102         Added check for GstBus.
14103
14104 2005-03-10  Wim Taymans  <wim@fluendo.com>
14105
14106         * docs/design/part-MT-refcounting.txt:
14107         * docs/design/part-clocks.txt:
14108         * docs/design/part-gstelement.txt:
14109         * docs/design/part-gstobject.txt:
14110         * docs/design/part-standards.txt:
14111         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14112         (gst_bin_remove_func), (gst_bin_remove):
14113         * gst/gstbin.h:
14114         * gst/gstbuffer.c:
14115         * gst/gstcaps.h:
14116         * testsuite/clock/clock1.c: (main):
14117         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14118         (main):
14119         * testsuite/dlopen/loadgst.c: (do_test):
14120         * testsuite/refcounting/bin.c: (add_remove_test1),
14121         (add_remove_test2), (main):
14122         * testsuite/refcounting/element.c: (main):
14123         * testsuite/refcounting/element_pad.c: (main):
14124         * testsuite/refcounting/pad.c: (main):
14125         * tools/gst-launch.c: (sigint_handler_sighandler):
14126         * tools/gst-typefind.c: (main):
14127         Doc updates.
14128         Added doc about clock.
14129         removed gst_bin_iterate_recurse_up(), marked methods
14130         for removal.
14131         Fix more testsuites.
14132
14133 2005-03-09  Wim Taymans  <wim@fluendo.com>
14134
14135         * gst/gstpad.c: (gst_pad_get_direction),
14136         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14137         (gst_pad_collect_valist):
14138         * testsuite/bins/interface.c: (main):
14139         * testsuite/caps/audioscale.c: (test_caps):
14140         * testsuite/caps/caps.c: (test1), (test2), (test3):
14141         * testsuite/caps/deserialize.c: (main):
14142         * testsuite/caps/enumcaps.c: (main):
14143         * testsuite/caps/filtercaps.c: (main):
14144         * testsuite/caps/intersect2.c: (main):
14145         * testsuite/caps/random.c: (main):
14146         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14147         * testsuite/caps/sets.c: (check_caps):
14148         * testsuite/caps/simplify.c: (check_caps), (main):
14149         * testsuite/caps/subtract.c: (check_caps):
14150         Fix _pad_get_direction wrt ghostpads.
14151         Fix caps testsuite.
14152
14153 2005-03-09  Wim Taymans  <wim@fluendo.com>
14154
14155         * check/Makefile.am:
14156         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14157         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14158         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14159         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14160         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14161         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14162         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14163         (bin_element_is_sink), (gst_bin_iterate_sinks),
14164         (gst_bin_iterate_all_by_interface):
14165         * gst/gstbin.h:
14166         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14167         (gst_element_change_state), (gst_element_dispose),
14168         (gst_element_finalize), (gst_element_set_loop_function):
14169         * gst/gstelement.h:
14170         * gst/gstiterator.c: (find_custom_fold_func):
14171         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14172         (gst_pad_collectv), (gst_pad_collect_valist),
14173         (gst_pad_template_new):
14174         * gst/gstpipeline.c: (gst_pipeline_class_init),
14175         (gst_pipeline_dispose), (gst_pipeline_set_property),
14176         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14177         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14178         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14179         * gst/gstutils.h:
14180         * gst/schedulers/entryscheduler.c:
14181         * gst/schedulers/gstbasicscheduler.c:
14182         (gst_basic_scheduler_cothreaded_chain),
14183         (gst_basic_scheduler_chain_add_element):
14184         * testsuite/bins/interface.c: (main):
14185         Added GstBin test.
14186         Added GstSystemClock test.
14187         Implemented clock distribution code in GstBin.
14188         Implemented iterate sinks method for future use.
14189         Rearranged gstelement.h
14190         Fix GstIterator comparison bug.
14191         Moved some code to GstPipeline, mostly clocking related.
14192
14193 2005-03-09  Wim Taymans  <wim@fluendo.com>
14194
14195         * configure.ac:
14196         * gst/gst_private.h:
14197         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14198         (gst_bin_remove_func), (gst_bin_remove),
14199         (gst_bin_get_by_name_recurse_up):
14200         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14201         (gst_clock_id_compare_func), (gst_clock_id_wait),
14202         (gst_clock_id_wait_async), (gst_clock_init),
14203         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14204         * gst/gstelement.h:
14205         * gst/gstinfo.c: (_gst_debug_init):
14206         * gst/gstobject.h:
14207         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14208         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14209         * gst/gstpad.h:
14210         Bump version number, we're now 0.9.0
14211         Add future debugging category.
14212         Fix NULL _unref() in _get_by_name_recurse_up
14213         Rearrange gstpad.h.
14214         Update some docs.
14215
14216 2005-03-08  Wim Taymans  <wim@fluendo.com>
14217
14218         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14219         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14220         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14221         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14222         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14223         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14224         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14225         * gst/elements/gstidentity.c: (gst_identity_class_init):
14226         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14227         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14228         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14229         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14230         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14231         (gst_tee_link):
14232         * gst/gstelement.c: (gst_element_class_init),
14233         (gst_element_base_class_init), (gst_element_init),
14234         (gst_element_get_random_pad), (gst_element_wait_state_change),
14235         (gst_element_change_state), (gst_element_dispose),
14236         (gst_element_finalize), (gst_element_set_loop_function):
14237         * gst/gstelement.h:
14238         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14239         * gst/gstthread.c: (gst_thread_class_init),
14240         (gst_thread_release_children_locks), (gst_thread_change_state):
14241         * gst/schedulers/gstbasicscheduler.c:
14242         (gst_basic_scheduler_loopfunc_wrapper),
14243         (gst_basic_scheduler_chain_wrapper),
14244         (gst_basic_scheduler_src_wrapper),
14245         (gst_basic_scheduler_remove_element):
14246         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14247         Remove threadsafe properties. Fix elements because GObject
14248         complains when installing a property before declaring a
14249         set/get_property handler.
14250         Rearrange gstelement.h file, use STATE macros for state locks.
14251         Free mutexes in the finalize method instead of dispose.
14252
14253 2005-03-08  Wim Taymans  <wim@fluendo.com>
14254
14255         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14256         * gst/gstthread.c: (gst_thread_release_children_locks):
14257         Added parentage check.
14258         Fix build og GstThread again.
14259
14260 2005-03-08  Wim Taymans  <wim@fluendo.com>
14261
14262         * docs/design/part-MT-refcounting.txt:
14263         * docs/design/part-conventions.txt:
14264         * docs/design/part-gstobject.txt:
14265         * docs/design/part-relations.txt:
14266         * docs/design/part-standards.txt:
14267         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14268         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14269         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14270         (gst_bin_iterate_all_by_interface):
14271         * gst/gstbuffer.h:
14272         * gst/gstclock.h:
14273         * gst/gstelement.c: (gst_element_class_init),
14274         (gst_element_change_state), (gst_element_set_loop_function):
14275         * gst/gstelement.h:
14276         * gst/gstiterator.c:
14277         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14278         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14279         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14280         (gst_object_set_parent), (gst_object_unparent),
14281         (gst_object_check_uniqueness):
14282         * gst/gstobject.h:
14283         Docs updates, clean up some headers.
14284
14285 2005-03-07  Wim Taymans  <wim@fluendo.com>
14286
14287         * check/.cvsignore:
14288         * check/Makefile.am:
14289         * check/gst-libs/.cvsignore:
14290         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14291         * check/gst/.cvsignore:
14292         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14293         (START_TEST), (gstbus_suite), (main):
14294         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14295         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14296         (gst_data_suite), (main):
14297         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14298         (add_fold_func), (gstiterator_suite), (main):
14299         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14300         (thread_name_object), (thread_name_object_default),
14301         (gst_object_name_compare), (gst_object_suite), (main):
14302         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14303         (gst_pad_suite), (main):
14304         * check/gstcheck.c: (gst_check_log_message_func),
14305         (gst_check_log_critical_func), (gst_check_init):
14306         * check/gstcheck.h:
14307         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14308         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14309         Added checks.
14310
14311 2005-03-07  Wim Taymans  <wim@fluendo.com>
14312
14313         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14314         (gst_list_iterator_next), (gst_list_iterator_resync),
14315         (gst_list_iterator_free), (gst_iterator_new_list),
14316         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14317         (gst_iterator_free), (gst_iterator_push), (filter_next),
14318         (filter_resync), (filter_uninit), (filter_free),
14319         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14320         (gst_iterator_foreach), (find_custom_fold_func),
14321         (gst_iterator_find_custom):
14322         * gst/gstiterator.h:
14323         Added missing files.
14324
14325 2005-03-07  Wim Taymans  <wim@fluendo.com>
14326
14327         * Makefile.am:
14328         * configure.ac:
14329         * docs/design/part-MT-refcounting.txt:
14330         * docs/design/part-conventions.txt:
14331         * docs/design/part-gstobject.txt:
14332         * docs/design/part-relations.txt:
14333         * examples/mixer/mixer.c: (main):
14334         * examples/thread/thread.c: (eos), (main):
14335         * gst/Makefile.am:
14336         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14337         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14338         (gst_spider_plug_from_srcpad):
14339         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14340         (gst_spider_identity_change_state),
14341         (gst_spider_identity_sink_loop_type_finding):
14342         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14343         * gst/elements/gstidentity.c: (gst_identity_init):
14344         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14345         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14346         * gst/elements/gsttypefindelement.c: (free_entry):
14347         * gst/gst.c:
14348         * gst/gst.h:
14349         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14350         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14351         (gst_bin_set_index), (gst_bin_set_element_sched),
14352         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14353         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14354         (gst_bin_iterate_elements), (iterate_child_recurse),
14355         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14356         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14357         (compare_interface), (gst_bin_get_by_interface),
14358         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14359         * gst/gstbin.h:
14360         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14361         (gst_buffer_default_free), (gst_buffer_default_copy),
14362         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14363         (gst_buffer_create_sub):
14364         * gst/gstbuffer.h:
14365         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14366         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14367         (gst_caps_unref), (gst_static_caps_get),
14368         (gst_caps_remove_and_get_structure), (gst_caps_append),
14369         (gst_caps_append_structure), (gst_caps_remove_structure),
14370         (gst_caps_copy_nth), (gst_caps_set_simple),
14371         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14372         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14373         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14374         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14375         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14376         (gst_caps_structure_figure_out_union),
14377         (gst_caps_switch_structures), (gst_caps_do_simplify),
14378         (gst_caps_replace), (gst_caps_from_string),
14379         (gst_caps_copy_conditional):
14380         * gst/gstcaps.h:
14381         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14382         (_gst_clock_id_free), (gst_clock_id_unref),
14383         (gst_clock_id_compare_func), (gst_clock_id_wait),
14384         (gst_clock_id_wait_async), (gst_clock_class_init),
14385         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14386         (gst_clock_get_time), (gst_clock_set_time_adjust),
14387         (gst_clock_set_property), (gst_clock_get_property):
14388         * gst/gstclock.h:
14389         * gst/gstcompat.h:
14390         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14391         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14392         * gst/gstdata.h:
14393         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14394         (gst_element_requires_clock), (gst_element_provides_clock),
14395         (gst_element_set_clock), (gst_element_clock_wait),
14396         (gst_element_wait), (gst_element_set_time_delay),
14397         (gst_element_is_indexable), (gst_element_add_pad),
14398         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14399         (pad_compare_name), (gst_element_get_static_pad),
14400         (gst_element_request_pad), (gst_element_get_request_pad),
14401         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14402         (gst_element_class_get_pad_template_list),
14403         (gst_element_class_get_pad_template), (gst_element_error_func),
14404         (gst_element_get_random_pad), (gst_element_get_event_masks),
14405         (gst_element_send_event), (gst_element_seek),
14406         (gst_element_get_query_types), (gst_element_query),
14407         (gst_element_get_formats), (gst_element_convert),
14408         (gst_element_is_locked_state), (gst_element_set_locked_state),
14409         (gst_element_sync_state_with_parent), (gst_element_change_state),
14410         (gst_element_finalize), (gst_element_yield),
14411         (gst_element_interrupt), (gst_element_set_scheduler),
14412         (gst_element_get_scheduler), (gst_element_set_loop_function):
14413         * gst/gstelement.h:
14414         * gst/gstevent.h:
14415         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14416         (gst_format_get_by_nick), (gst_format_get_details),
14417         (gst_format_iterate_definitions):
14418         * gst/gstformat.h:
14419         * gst/gstindex.c: (gst_index_gtype_resolver):
14420         * gst/gstinfo.c:
14421         * gst/gstinfo.h:
14422         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14423         (gst_mem_chunk_free):
14424         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14425         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14426         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14427         (gst_object_dispatch_properties_changed),
14428         (gst_object_set_name_default), (gst_object_set_name),
14429         (gst_object_get_name), (gst_object_set_name_prefix),
14430         (gst_object_get_name_prefix), (gst_object_set_parent),
14431         (gst_object_get_parent), (gst_object_unparent),
14432         (gst_object_check_uniqueness), (gst_object_save_thyself),
14433         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14434         (gst_object_set_property), (gst_object_get_property),
14435         (gst_object_get_path_string):
14436         * gst/gstobject.h:
14437         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14438         (gst_real_pad_init), (gst_real_pad_get_property),
14439         (gst_pad_custom_new), (gst_pad_get_direction),
14440         (gst_pad_set_active), (gst_pad_is_active),
14441         (gst_pad_set_event_function), (gst_pad_is_linked),
14442         (gst_pad_link_free), (gst_pad_link_intersect),
14443         (gst_pad_link_fixate), (gst_pad_set_caps),
14444         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14445         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14446         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14447         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14448         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14449         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14450         (gst_pad_realize), (gst_pad_get_allowed_caps),
14451         (gst_real_pad_dispose), (gst_real_pad_finalize),
14452         (gst_pad_collectv), (gst_pad_collect_valist),
14453         (gst_pad_template_dispose), (gst_pad_template_new),
14454         (gst_pad_get_internal_links):
14455         * gst/gstpad.h:
14456         * gst/gstpipeline.c: (gst_pipeline_dispose),
14457         (gst_pipeline_change_state):
14458         * gst/gstpipeline.h:
14459         * gst/gstplugin.c:
14460         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14461         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14462         * gst/gstpluginfeature.h:
14463         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14464         * gst/gstquery.c: (_gst_query_type_initialize),
14465         (gst_query_type_register), (gst_query_type_get_by_nick),
14466         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14467         * gst/gstquery.h:
14468         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14469         * gst/gstscheduler.c: (gst_scheduler_add_element),
14470         (gst_scheduler_factory_create):
14471         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14472         (gst_structure_free), (gst_structure_set_name),
14473         (gst_structure_id_set_value), (gst_structure_set_value),
14474         (gst_structure_set_valist), (gst_structure_remove_field),
14475         (gst_structure_remove_fields),
14476         (gst_structure_remove_fields_valist),
14477         (gst_structure_remove_all_fields), (gst_structure_foreach),
14478         (gst_structure_map_in_place),
14479         (gst_caps_structure_fixate_field_nearest_int),
14480         (gst_caps_structure_fixate_field_nearest_double):
14481         * gst/gststructure.h:
14482         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14483         (gst_system_clock_init), (gst_system_clock_dispose),
14484         (gst_system_clock_async_thread),
14485         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14486         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14487         * gst/gstsystemclock.h:
14488         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14489         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14490         * gst/gsttaginterface.c:
14491         * gst/gstthread.c: (gst_thread_dispose),
14492         (gst_thread_release_children_locks), (gst_thread_change_state),
14493         (gst_thread_main_loop):
14494         * gst/gsttrashstack.h:
14495         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14496         * gst/gsttypes.h:
14497         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14498         (gst_element_request_pad), (gst_element_get_pad_from_template),
14499         (gst_element_request_compatible_pad),
14500         (gst_element_get_compatible_pad_filtered),
14501         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14502         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14503         (gst_element_link_many), (gst_element_link),
14504         (gst_element_link_pads), (gst_element_unlink_pads),
14505         (gst_element_unlink_many), (gst_element_unlink),
14506         (gst_pad_can_link_filtered), (gst_pad_can_link),
14507         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14508         (gst_object_default_error), (gst_bin_add_many),
14509         (gst_bin_remove_many), (gst_element_populate_std_props),
14510         (gst_element_class_install_std_props), (gst_buffer_merge),
14511         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14512         (link_fold_func), (gst_pad_proxy_setcaps):
14513         * gst/gstutils.h:
14514         * gst/gstvalue.c: (gst_value_deserialize_string):
14515         * gst/parse/grammar.y:
14516         * gst/schedulers/gstbasicscheduler.c:
14517         (gst_basic_scheduler_cothreaded_chain),
14518         (gst_basic_scheduler_chain_recursive_add),
14519         (gst_basic_scheduler_pad_link):
14520         * gst/schedulers/gstoptimalscheduler.c:
14521         (get_group_schedule_function),
14522         (gst_opt_scheduler_state_transition),
14523         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14524         * libs/gst/bytestream/bytestream.c:
14525         * libs/gst/dataprotocol/dataprotocol.c:
14526         (gst_dp_header_from_buffer):
14527         * po/nb.po:
14528         * po/ru.po:
14529         * tests/threadstate/threadstate2.c: (eos):
14530         * tools/gst-compprep.c: (main):
14531         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14532         (print_pad_info), (print_children_info):
14533         * tools/gst-launch.c: (idle_func), (main):
14534         * tools/gst-md5sum.c: (idle_func), (main):
14535         * tools/gst-xmlinspect.c: (print_element_info):
14536         First THREADED backport attempt, focusing on adding locks and
14537         making sure the API is threadsafe. Needs more work. More docs
14538         follow this week.
14539
14540 2005-02-24  Andy Wingo  <wingo@pobox.com>
14541
14542         * tests/bench-complexity.scm:
14543         * tests/complexity.gnuplot: New files, good for running complexity
14544         benchmarks.
14545
14546         * tests/Makefile.am:
14547         * tests/complexity.c: New test, sets up N elements, at each level
14548         teeing into M streams per element. Eeeenteresting.
14549
14550         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14551         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14552         running bench-mass_elements.scm.
14553
14554         * tests/bench-mass_elements.scm: New script, runs mass_elements
14555         for various numbers of identities, outputting the results to a
14556         file. Requires guile 1.6. Just for testing.
14557
14558 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14559
14560         * gst/schedulers/fairscheduler.c:
14561           compile with debug disabled
14562
14563 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14564
14565         * configure.ac:
14566           hunting season on 0.9 is now OPEN