0ef747d8b082d62a75a78973800001b480ea7870
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2         
3         * win32/common/libgstreamer.def:
4                 export gst_value_compare
5
6 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
7
8         * plugins/elements/Makefile.am:
9         * plugins/elements/gstelements.c:
10         * plugins/elements/gstfdsink.c: (_do_init),
11         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
12         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
14         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
15         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
16         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
18         * plugins/elements/gstfdsink.h:
19         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
20
21 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
22
23         * docs/manual/advanced-dparams.xml:
24           describe controller
25         * docs/manual/advanced-position.xml:
26         * docs/manual/basics-init.xml:
27         * docs/manual/manual.xml:
28         * docs/manual/titlepage.xml:
29         * docs/pwg/pwg.xml:
30         * docs/pwg/titlepage.xml:
31           cleanup xml (more to come)
32         * libs/gst/controller/gstcontroller.c:
33           fix typo
34
35 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
36         
37         * win32/vs6/grammar.dsp:
38                 add autogen of gstmarshal.c,h for Release mode
39                 
40 2006-01-30  Wim Taymans  <wim@fluendo.com>
41
42         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
43         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
44         (gst_base_sink_handle_object), (gst_base_sink_event),
45         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
46         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
47         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
48         (gst_base_sink_deactivate), (gst_base_sink_activate),
49         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
50         (gst_base_sink_query), (gst_base_sink_change_state):
51         Basesink cleanups, remove some old code.
52         Handle the case where a subclass can preroll in the render
53         method (mostly audiosinks).
54         Handle more events.
55         Remove some locks around variables that are now protected
56         with the PREROLL_LOCK (clock_id, flushing, ..).
57         Optimize position query some more, do correct locking.
58         Remove old code to push queue in state change, this is not
59         needed anymore since preroll blocks on all prerollable items 
60         now.
61         Almost implemented as described in design doc.
62
63 2006-01-30  Wim Taymans  <wim@fluendo.com>
64
65         * tests/check/gst/gstbin.c: (GST_START_TEST):
66         Wait for refcount to settle down before checking.
67
68 2006-01-30  Wim Taymans  <wim@fluendo.com>
69
70         * docs/design/part-element-sink.txt:
71         Pseudo code overview of desired sink behaviour regarding
72         preroll.
73
74 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
75         * win32/vs6/grammar.dsp:
76                 fix some bugs in Release mode for autogenerated files
77                 
78 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
79         * win32/common/libgstbase.def:
80         * win32/common/libgstreamer.def:
81                 export some new symbols: gst_base_src_set_format,
82                 gst_iterator_next, gst_structure_set_valist
83
84 2006-01-29  Julien MOUTTE  <julien@moutte.net>
85
86         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
87         Set pad functions unconditionally. Fixes #329105.
88
89 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
90         * win32/vs8:
91                 add vs8 project files created by Sergey Scobich
92
93 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
94
95         * gst/gstutils.c: (gst_element_unlink_pads):
96         Don't leak pad references.
97
98         * tests/check/elements/fakesink.c: (GST_START_TEST):
99         * tests/check/generic/sinks.c: (GST_START_TEST):
100         * tests/check/generic/states.c: (GST_START_TEST):
101         * tests/check/gst/gstbin.c: (GST_START_TEST):
102         * tests/check/gst/gstcaps.c: (GST_START_TEST):
103         * tests/check/gst/gstelement.c: (GST_START_TEST):
104         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
105         * tests/check/gst/gstiterator.c: (GST_START_TEST):
106         * tests/check/gst/gstvalue.c: (GST_START_TEST):
107         Fix a bunch of leaks. Make generic/sinks.c
108         use a bit less cpu by slowing the buffer rate
109         between fakesrc and fakesink.
110         
111 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
112         * gst/gstcaps.c:
113         * gst/gstelement.c: (gst_element_send_event):
114         * gst/gstevent.c:
115         * gst/gstinfo.c:
116         * gst/gstiterator.c:
117         * gst/gstiterator.h:
118         * gst/gstpad.c: (gst_pad_send_event):
119         * gst/gststructure.c:
120         * gst/gsturi.c:
121         * gst/gstutils.c:
122         * gst/gstvalue.c:
123         * libs/gst/base/gstadapter.c:
124           doc fixes, to link to function, just write gst_cool_function(), don't
125           prefix with '#'
126
127 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
128
129         * plugins/elements/gsttee.c: (gst_tee_do_push),
130         (gst_tee_handle_buffer):
131         Always prefer an actual return value from a src
132         pad in place of NOT_LINKED. This means we return
133         WRONG_STATE when all src pads are WRONG_STATE
134         instead of NOT_LINKED.
135
136         Lock when replacing the last message to prevent
137         racing with the get_property method.
138
139         Add debug output
140
141 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
142
143         * tests/check/Makefile.am:
144         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
145         (main):
146         Add a very simple check that should have caught the memleak I fixed
147         last night (if not for the slice allocator hiding it)
148
149 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
150
151         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
152         (gst_bin_remove_func), (gst_bin_handle_message_func),
153         (bin_query_duration_fold), (bin_query_generic_fold):
154         Clean up references to the clock provider when disposed or when
155         handling a clock-lost message from it.
156
157         Unref sinks when performing a query via gst_iterator_fold, as the
158         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
159
160         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
161         (gst_clock_set_master):
162         Drop our reference to the master clock, if any, when we are disposed.
163
164         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
165         Chain up in dispose. 
166
167 2006-01-26  Wim Taymans  <wim@fluendo.com>
168
169         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
170         Add some debugging.
171
172 2006-01-26  Julien MOUTTE  <julien@moutte.net>
173
174         * plugins/elements/gsttee.c: (gst_tee_do_push),
175         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
176         handles pad being NOT_LINKED or in WRONG_STATE.
177
178 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
179
180         * win32/MANIFEST:
181           more updating
182
183 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
184
185         * win32/MANIFEST:
186           remove obsolete entry
187
188 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
189
190         * docs/gst/gstreamer-sections.txt:
191         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
192         (gst_bin_iterate_sources), (gst_bin_send_event):
193         * gst/gstbin.h:
194         * gst/gstelement.c: (gst_element_send_event):
195         * gst/gstevent.c:
196         * gst/gstpad.c: (gst_pad_send_event):
197           added code for downstream events, reviewed docs in gstevent.c
198
199 2006-01-25  Julien MOUTTE  <julien@moutte.net>
200
201         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
202         We only query position using the clock in the playing state.
203         Query peer in the other cases.
204         * win32/common/config.h: Updates.
205
206 2006-01-24  Wim Taymans  <wim@fluendo.com>
207
208         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
209         A clock entry that is scheduled for the exact time of the
210         clock is still in time.
211
212         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
213         (gst_base_sink_do_sync):
214         Add some more debug info.
215
216 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
217
218         * win32/vs7:
219           Add new vs7 project files and solution.
220
221 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
222
223         * win32/vs7:
224           all files removed as they were out-dated.
225
226 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
227
228         * docs/random/release:
229           update notes
230         * gst/gstbin.c: (gst_bin_init):
231         * gst/gstbus.c: (gst_bus_new):
232         * gst/gstbus.h:
233         * gst/gstpipeline.c: (gst_pipeline_init):
234           use gst_bus_new(), improve logging, fix docs
235         * win32/common/config.h:
236           update for cvs build
237
238 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * autogen.sh:
241           up required version of automake to 1.7
242
243 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
244
245         * win32/common/libgstreamer.def:
246           export gst_buffer_is_metadata_writable
247
248 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
249
250         * docs/gst/gstreamer-sections.txt:
251         * gst/gstevent.h:
252           Add gst_event_replace() (#327001)
253
254 2006-01-20  Wim Taymans  <wim@fluendo.com>
255
256         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
257         Make it actually compile too..
258
259 2006-01-20  Wim Taymans  <wim@fluendo.com>
260
261         * gst/gstcaps.c:
262         Clarify behaviour of _is_equal() when passing NULL parameters.
263
264         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
265         (gst_pad_set_caps):
266         Cleanups. Don't unref NULL caps.
267         When setting the same caps, protect caps of the pad with
268         proper lock.
269         Use full functionality of _is_equal() when comparing caps.
270
271 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
272
273         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
274         Don't loop infinitely if there are no buffers to present. Partially
275         fixes #327197, but collectpads is just broken for reusing elements
276         to do multiple encodes atm.
277
278 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
279
280         * tools/gst-inspect.c: (print_element_features):
281         * tools/gst-xmlinspect.c: (main):
282         URL_HANDLER is not a plugin feature we can search for in
283         the registry.
284
285 2006-01-19  Edward Hervey  <edward@fluendo.com>
286
287         * gst/gstelement.c: (gst_element_pads_activate): 
288         When activating, do src pads first, then sink pads.
289         When de-activating, do sink pads first, then src pads.
290
291 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
292
293         * docs/gst/gstreamer-sections.txt:
294         Add gst_index_add_associationv to the docs
295
296 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
297
298         * gst/gstevent.c:
299           Fix docs typo
300
301         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
302         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
303           Do some refactoring. Doesn't actually change functionality,
304           but makes landing the DRAIN event easier later.
305
306 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
307
308         * docs/pwg/advanced-scheduling.xml:
309           Update from 0.9.x to 0.10 API and make example a bit
310           clearer.
311
312 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
313
314         * docs/gst/gstreamer-sections.txt:
315         Add gst_buffer_(is|make)_metadata_writable methods.
316
317 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
318
319         * docs/design/part-sparsestreams.txt:
320         Update sparse streams doc, hopefully for greater clarity
321
322 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
323
324         * docs/design/part-events.txt:
325         Remove mention of FILLER events.
326         Add DRAIN event.
327
328         * docs/design/part-sparsestreams.txt:
329         Write some things about using NEWSEGMENT to keep sparse streams
330         flowing.
331
332 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
333
334         * gst/gstbin.c: (gst_bin_dispose):
335           Guard gst_object_unref call against a NULL object (dispose
336           can theoretically be called multiple times).
337           
338 2006-01-18  Wim Taymans  <wim@fluendo.com>
339
340         * gst/gstbin.c: (gst_bin_element_set_state):
341         * gst/gstclock.c: (gst_clock_id_wait):
342         Added some more debug info.
343
344         * libs/gst/base/gstadapter.c:
345         Added more docs.
346
347         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
348         (gst_base_sink_do_sync), (gst_base_sink_chain):
349         Added some comments.
350
351 2006-01-18  Wim Taymans  <wim@fluendo.com>
352
353         * tests/check/Makefile.am:
354         * tests/check/elements/fakesink.c: (chain_async_buffer),
355         (chain_async), (chain_async_return), (GST_START_TEST),
356         (fakesink_suite), (main):
357         Added fakesink test that checks prerolling and clipping
358         behaviour.
359
360         * tests/check/gst/gstutils.c: (GST_START_TEST):
361         Make check run faster so that buildbots don't timeout.
362
363 2006-01-18  Wim Taymans  <wim@fluendo.com>
364
365         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
366         (gst_base_sink_do_sync):
367         Some cleanups.
368         When the sink finishes blocking on the preroll buffer, it can
369         immediatly render it instead of rendering when the next buffer
370         arrives.
371
372 2006-01-18  Wim Taymans  <wim@fluendo.com>
373
374         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
375         (gst_base_sink_get_property), (gst_base_sink_do_sync),
376         (gst_base_sink_chain):
377         Small cleanups.
378         GST_ELEMENT_CLOCK and sync are protected with LOCK.
379         Don't store _last_stop if the buffer is dropped.
380
381 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
382
383         * plugins/elements/gsttypefindelement.c:
384         (gst_type_find_element_class_init):
385           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
386           object method handler that sets the caps on the pad and we want
387           that to happen before we emit the signal (fixes e.g. feeding a
388           plain text file to decodebin).
389
390 2006-01-18  Christian Schaller  <Christian@fluendo.com>
391
392         * gst/gstplugin.c: Add MPL and Proprietary as license options
393
394 2006-01-18  Andy Wingo  <wingo@pobox.com>
395
396         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
397         symbol was exported before, it appears this was just an oversight.
398         Fixes #168703.
399         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
400
401         * gst/gstindex.c (gst_index_add_associationv): Changed int in
402         prototype to gint. OK since this prototype was not in the header.
403
404 2006-01-17  Andy Wingo  <wingo@pobox.com>
405
406         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
407         registry while we remove plugins.
408
409         * tools/gst-inspect.c (print_element_info): Don't unref the
410         factory arg, that should be the responsibility of whatever code
411         received the ref. Fixes a double-free when called from
412         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
413         (main): Unref the factory if we have one.
414         (print_element_list): No change -- relies on the
415         plugin_feature_list_free to free the list of features.
416
417 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
418
419         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
420         (gst_buffer_make_metadata_writable):
421         * gst/gstbuffer.h:
422         * libs/gst/base/gstbasetransform.c:
423         (gst_base_transform_prepare_output_buf):
424         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
425         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
426           Replace gst_buffer_(make|is)_metadata_writable patch now
427           that the release is out.
428
429 2006-01-17  Andy Wingo  <wingo@pobox.com>
430
431         * gst/gstregistry.c: Reflow design comment. Update so as to speak
432         in the present tense without reference to versions.
433
434         * gst/gstregistry.c (gst_registry_add_plugin)
435         (gst_registry_remove_plugin, gst_registry_remove_feature)
436         (gst_registry_find_feature, gst_registry_get_feature_list)
437         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
438         (gst_registry_lookup, gst_registry_scan_path)
439         (_gst_registry_remove_cache_plugins)
440         (gst_registry_get_feature_list_by_plugin): Add argument
441         validation.
442
443 === release 0.10.2 ===
444
445 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
446
447         * configure.ac:
448           releasing 0.10.2, "If man is five"
449
450 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
451
452         * gst/gstbuffer.c:
453         * gst/gstbuffer.h:
454         * libs/gst/base/gstbasetransform.c:
455         (gst_base_transform_prepare_output_buf):
456         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
457         * tests/check/gst/gstbuffer.c: (gst_test_suite):
458           Back out patch until after the release.
459
460 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
461
462         * gst/gstminiobject.c:
463           Spelling fix in docs.
464         * ChangeLog - remove conflict indicator
465
466 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
467
468         Reviewed By: Andy Wingo
469
470         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
471         (gst_buffer_make_metadata_writable):
472         * gst/gstbuffer.h:
473           Add gst_buffer_(is|make)_metadata_writable as analogues of
474           gst_buffer_(is|make)_writable.
475
476         * libs/gst/base/gstbasetransform.c:
477         (gst_base_transform_prepare_output_buf):
478         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
479           Use name gst_buffer_(is|make)_metadata_writable functions.
480
481         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
482           Test gst_buffer_(is|make)_metadata_writable
483         
484           (Closes: #324162)
485
486 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
487
488         * docs/manual/Makefile.am:
489           don't do parallel make
490         * configure.ac:
491           AC_SUBST HOST_CPU
492         * win32/common/config.h.in:
493           add generations for HOST_CPU and GST_MAJORMINOR
494         * win32/common/config.h:
495           commit generated result
496
497 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
498
499         * docs/manual/appendix-integration.xml:
500           Update GNOME integration section to use gst_init_get_option_group()
501           instead of the old popt stuff (#322911). Also, GNOME applications
502           should  now use gconf*sink and gconf*src instead of the old gconf
503           helper lib we had.
504
505 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
506
507
508         * docs/gst/gstreamer-docs.sgml:
509         * docs/gst/gstreamer-sections.txt:
510         * docs/libs/gstreamer-libs-sections.txt:
511           add new API entries to the docs
512         * libs/gst/controller/Makefile.am:
513         * libs/gst/controller/gstcontroller.c:
514         * libs/gst/controller/gstcontroller.h:
515         * libs/gst/controller/gstcontrollerprivate.h:
516         * libs/gst/controller/gsthelper.c:
517         * libs/gst/controller/gstinterpolation.c:
518           move private structs to private header
519         * po/README:
520           gstreamer-0.7 -> gstreamer-0.10
521         * tests/check/libs/struct_i386.h:
522           remove private structs
523
524 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
525
526         * plugins/indexers/Makefile.am:
527           Fixes as part of #317048
528
529 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
530
531         * plugins/indexers/Makefile.am:
532           fix #316086 - compilation when mmap is missing
533
534 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
535
536         * libs/gst/base/gstbasesink.c:
537           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
538           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
539         * win32/common/config.h:
540           added some defines GST_MAJORMINOR and HOST_CPU
541         * win32/common/libgstbase.def:
542         * win32/common/libgstreamer.def:
543           added some exported functions.
544
545 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
546
547         * libs/gst/controller/gstcontroller.c:
548         (gst_controlled_property_set_interpolation_mode),
549         (gst_controlled_property_new):
550         * libs/gst/controller/gstcontroller.h:
551         * libs/gst/controller/gstinterpolation.c:
552         (interpolate_none_get_string_value_array):
553           make G_TYPE_STRING controlable
554
555 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
556
557         * tools/README:
558         * tools/gst-feedback.1.in:
559         * tools/gst-inspect.1.in:
560         * tools/gst-launch.1.in:
561         * tools/gst-md5sum.1.in:
562         * tools/gst-typefind.1.in:
563         * tools/gst-xmlinspect.1.in:
564         * tools/gst-xmllaunch.1.in:
565           cleanup man-pages, remove reference to gst-register, document env-vars
566
567 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
568
569         * gst/gstbuffer.c: (gst_buffer_span):
570           gst_buffer_span should copy the timestamp of the first buffer
571           if they were both originally overlapping subbuffers of the 
572           same parent, using the same logic as the 'slow copy' case.
573
574 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
575
576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
577           Need to awaken ALL the pads when we pop a buffer, otherwise
578           collectpads only works when there is 2 input streams.
579
580 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
581
582         * docs/random/ensonic/media-device-daemon.txt:
583           more ideas (dbus)
584         * gst/gstbuffer.c:
585           fix doc example, add clarification
586         * tools/gst-launch.1.in:
587           add initial info about GST_PLUGIN_PATH, needs more work
588
589 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
590
591         * docs/manual/basics-bins.xml:
592         * docs/manual/basics-elements.xml:
593         * docs/manual/intro-basics.xml:
594           Some more minor docs additions and updates.
595
596 2006-01-11  Wim Taymans  <wim@fluendo.com>
597
598         * docs/manual/basics-bins.xml:
599         * docs/manual/basics-elements.xml:
600         Some small fixes as pointed out by Ser-ver on IRC.
601
602 2006-01-10  Edward Hervey  <edward@fluendo.com>
603
604         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
605         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
606         the single-segment mode.
607
608 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
609
610         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
611
612         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
613         (gst_base_src_perform_seek), (gst_base_src_send_event),
614         (gst_base_src_set_property), (gst_base_src_get_property),
615         (gst_base_src_loop), (gst_base_src_start),
616         (gst_base_src_activate_push):
617         * libs/gst/base/gstbasesrc.h:
618           Name (private) union; makes Sun's Forte compiler happy (#324900).
619
620 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
621
622         * README:
623           gst-register is gone.
624
625 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * gst/gstvalue.c: (_gst_value_initialize):
628           make the G_TYPE_DATE instantiation work if debug is disabled
629
630 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
631
632         * gst/gstmessage.c: (gst_message_parse_tag),
633         (gst_message_parse_error), (gst_message_parse_warning):
634           Don't crash when return location for error/warning debug
635           string is NULL; add fact that return locations can be
636           NULL to docs where appropriate.
637
638 2006-01-05  Wim Taymans  <wim@fluendo.com>
639
640         * gst/gstplugin.c: (gst_plugin_load_file):
641         Replace strdup by g_strdup.
642
643 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
644
645         * docs/pwg/advanced-types.xml:
646           fix doc borkage
647
648 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
649
650         submitted by: Abel Cheung
651
652         * po/LINGUAS:
653         * po/zh_TW.po:
654           Added Chinese (traditional) translation
655
656 2006-01-04  Wim Taymans  <wim@fluendo.com>
657
658         * docs/manual/basics-pads.xml:
659         * docs/plugins/Makefile.am:
660         * docs/plugins/gstreamer-plugins-docs.sgml:
661         * docs/plugins/gstreamer-plugins-sections.txt:
662         * docs/pwg/advanced-clock.xml:
663         * docs/pwg/advanced-scheduling.xml:
664         * docs/pwg/advanced-types.xml:
665         * plugins/elements/gstfdsink.c:
666         * plugins/elements/gstfdsrc.c:
667         * plugins/elements/gstfdsrc.h:
668         * plugins/elements/gstidentity.c: (gst_identity_class_init):
669         * plugins/elements/gstidentity.h:
670         * plugins/elements/gstqueue.h:
671         * plugins/elements/gsttee.c:
672         * plugins/elements/gsttee.h:
673         * plugins/elements/gsttypefindelement.c:
674         (gst_type_find_element_class_init):
675         * plugins/elements/gsttypefindelement.h:
676         Small updates to various docs.
677         Added core plugins to docs.
678
679 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
680
681         * common/gst.supp:
682           add a suppression for liboil's uninitialized variable
683
684 2006-01-02  James Livingston  <jrl at ids dot org dot au>
685
686         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
687
688         * gst/gstutils.h:
689           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
690           macro, so that gcc doesn't complain if the -Wmissing-prototypes
691           compiler switch is being used (#325429).
692
693 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
694
695         * gst/gstbin.c: (gst_bin_query):
696           Disable duration query caching in bins until it gets
697           fixed (see #324807).
698
699 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
700
701         * tools/gst-inspect.c: (print_element_properties_info):
702           Handle properties of POINTER and BOXED type.
703
704 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
705
706         * gst/gst.c: (init_post):
707           Init tags stuff and some other things before loading
708           any static plugins (there may be other static plugins
709           than just the GStreamer ones, and they may want to
710           register their own tags or formats or whatever, and
711           preferably without segfaulting).
712
713         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
714           Print at least a warning in the debug logs if we drop a
715           query just because we don't know how to adjust the value
716           in the particular format.
717
718 2005-12-24  David Schleef  <ds@schleef.org>
719
720         * tools/gstreamer-completion:
721           Replacement for gst-complete written in sh and sed.  Only
722           completes names of features, but that's 90% of what I want
723           it for.  Properties are not available in registry.xml.  (Maybe
724           they should be...)
725
726 === release 0.10.1 ===
727
728 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
729
730         * configure.ac:
731           releasing 0.10.1, "Nollaig chridheil"
732
733 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
734
735         * docs/faq/cvs.xml:
736           Add missing quote, should be make ERROR_CFLAGS="".
737
738 2005-12-20  Wim Taymans  <wim@fluendo.com>
739
740         * docs/design/part-trickmodes.txt:
741         More documentation on trickmodes.
742
743 2005-12-20  Edward Hervey  <edward@fluendo.com>
744
745         * gst/gstcaps.c: (gst_static_caps_get_type):
746         * gst/gstcaps.h:
747           API addition: GST_TYPE_STATIC_CAPS
748         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
749         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
750         * gst/gstpadtemplate.h:
751           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
752         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
753         bindings.
754
755 2005-12-18  Wim Taymans  <wim@fluendo.com>
756
757         * libs/gst/base/gstadapter.c:
758         * libs/gst/base/gstadapter.h:
759         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
760         (gst_base_sink_get_position):
761         * libs/gst/base/gstbasesink.h:
762         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
763         (gst_base_src_default_query), (gst_base_src_default_do_seek),
764         (gst_base_src_do_seek), (gst_base_src_perform_seek),
765         (gst_base_src_send_event), (gst_base_src_update_length),
766         (gst_base_src_get_range), (gst_base_src_loop),
767         (gst_base_src_start):
768         * libs/gst/base/gstbasesrc.h:
769         * libs/gst/base/gstbasetransform.h:
770         * libs/gst/base/gstcollectpads.h:
771         * libs/gst/base/gstpushsrc.c:
772         * libs/gst/base/gstpushsrc.h:
773         * libs/gst/dataprotocol/dataprotocol.c:
774         * libs/gst/dataprotocol/dataprotocol.h:
775         * libs/gst/net/gstnetclientclock.h:
776         * libs/gst/net/gstnettimeprovider.h:
777         Documentation updates.
778
779 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
780
781         * docs/manual/basics-helloworld.xml:
782           Remove superfluous closing bracket in helloworld example.
783
784 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
785
786         * tools/gst-launch.1.in:
787           Update gst-launch man page; add a section with useful
788           environment variables. Fixes #323882.
789
790 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
791
792         * gst/gst.c:
793         * gst/gst_private.h:
794           change some char* into char[]
795
796 2005-12-16  Wim Taymans  <wim@fluendo.com>
797
798         * gst/gstregistryxml.c: (load_feature):
799         Cleanups.
800         Don't use g_object_unref on GstObjects so that we avoid
801         leaks on unsafe glibs.
802
803 2005-12-16  Wim Taymans  <wim@fluendo.com>
804
805         * gst/gstbin.c: (gst_bin_recalc_state):
806         Small doc updates.
807
808 2005-12-16  Wim Taymans  <wim@fluendo.com>
809
810         * common/check.mak:
811         Added make forever target for check.
812
813 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
814
815         * gst/gst.c: (init_post):
816           make the registry cache file HOST_CPU-dependent
817
818 2005-12-16  Andy Wingo  <wingo@pobox.com>
819
820         * plugins/elements/gstbufferstore.c
821         (gst_buffer_store_cleared_func): Pay attention to g_list_append
822         return value.
823
824         * tests/check/gst/gstobject.c
825         (test_fake_object_name_threaded_unique): Pay attention to
826         g_list_sort return value.
827
828 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
829
830         * tools/gst-feedback-m.m:
831           Update for 0.9/0.10 (fixes #323870).
832
833 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
834
835         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
836           Fix lcopy for mini objects, the mini object needs to be ref'ed.
837           
838         * tests/check/gst/gstminiobject.c: (my_foo_init),
839         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
840         (test_value_collection), (gst_mini_object_suite):
841           Add test to ensure refcounts end up as expected when passing
842           GstMiniObjects through g_object_get() and g_object_set().
843
844 2005-12-14  Julien MOUTTE  <julien@moutte.net>
845
846         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
847         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
848         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
849         of collectpads. This version removes a lot of races without
850         touching API/ABI. Yay !
851
852 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
853
854         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
855           Don't allow activation of a srcpad in pull_range if it has no
856           getrange function.
857           Change some debug statements to be a little clearer
858
859         * plugins/elements/gsttypefindelement.c:
860         (gst_type_find_handle_src_query):
861           Check that we have a peer before executing queries thereupon.
862
863         * tests/examples/metadata/read-metadata.c: (message_loop):
864           Use gst_bus_pop instead of gst_bus_poll when we just want it to
865           immediately return us any available message with 0 timeout.
866
867 2005-12-12  Michael Smith  <msmith@fluendo.com>
868
869         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
870           Don't unref factories after calling them.
871         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
872         * plugins/elements/gsttypefindelement.c:
873         (gst_type_find_element_chain):
874           Free lists of factories after using them. Fixing typefinding memory
875           leaks.
876
877 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
878
879         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
880         (gst_plugin_feature_load):
881           more meaningful debug output
882         * configure.ac:
883         * tests/Makefile.am:
884         * tests/old/examples/Makefile.am:
885           make make distcheck happy again
886
887 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
888
889         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
890           Catch the special case where we are operating chain-based,
891           but the downstream peer pad has no chain function. Emit a
892           custom error message in this case instead of letting the
893           core generate one implying that this is some sort of core
894           bug. It's not, it just means that whatever got plugged
895           into the pipeline downstream when we announced the type
896           can only operate pull-based, while our source can only
897           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
898           Error string has not been marked for translation yet, as
899           it probably needs some more work first.
900
901         (gst_type_find_element_get_best_possibility):
902           Add helper function to find the best of all available
903           found possibilities that qualify given the min. threshold.
904
905         (gst_type_find_element_handle_event):
906           Fix the case where we get an EOS while still in TYPEFIND
907           mode (we want to chose the best of all possible types,
908           not just the first type that happens to be in our unsorted
909           list of possible types).
910
911         (gst_type_find_element_chain):
912           Make sure we return GST_FLOW_ERROR when we errored out
913           in stop_typefinding(); also, don't just find the best of
914           all found type entries and then use the last examined
915           type entry, but actually use the best entry.
916
917 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
918
919         * tests/examples/typefind/typefind.c: (type_found):
920         * tests/examples/xml/runxml.c: (xml_loaded):
921           More gcc4 fixes and a mem leak fix.
922
923 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
924
925         * tests/examples/xml/createxml.c: (object_saved):
926           gcc 4 fixes
927
928 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
929
930         * tests/Makefile.am:
931           enable the examples even more
932
933 2005-12-12  Andy Wingo  <wingo@pobox.com>
934
935         * libs/gst/net/gstnettimeprovider.c
936         (gst_net_time_provider_class_init, gst_net_time_provider_init)
937         (gst_net_time_provider_set_property)
938         (gst_net_time_provider_get_property):
939         API addition: Export "active" as a GObject property.
940         (gst_net_time_provider_thread): Only respond to time queries if
941         the time provider is active.
942
943         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
944         NetTimeProvider, preserving binary compat.
945
946 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
947
948         * tests/examples/controller/audio-example.c: (main):
949         * tests/examples/launch/Makefile.am:
950           convert comments again
951
952 2005-12-12  Wim Taymans  <wim@fluendo.com>
953
954         * libs/gst/base/gstpushsrc.c:
955         Fix typo.
956
957 2005-12-12  Wim Taymans  <wim@fluendo.com>
958
959         * docs/libs/gstreamer-libs-sections.txt:
960         Added new symbol to docs.
961
962         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
963         (gst_base_src_init), (gst_base_src_set_format),
964         (gst_base_src_default_query), (gst_base_src_query),
965         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
966         (gst_base_src_perform_seek), (gst_base_src_send_event),
967         (gst_base_src_default_event), (gst_base_src_event_handler),
968         (gst_base_src_set_property), (gst_base_src_get_property),
969         (gst_base_src_wait), (gst_base_src_do_sync),
970         (gst_base_src_update_length), (gst_base_src_get_range),
971         (gst_base_src_check_get_range), (gst_base_src_loop),
972         (gst_base_src_default_negotiate), (gst_base_src_start),
973         (gst_base_src_activate_push), (gst_base_src_activate_pull),
974         (gst_base_src_change_state):
975         * libs/gst/base/gstbasesrc.h:
976         Implement seeking to other formats than _BYTES.
977         Implement more seeking methods correctly.
978         Doc updates.
979         Added query vmethod.
980         Added do_seek vmethod to make life easier for subclasses
981         when seeking.
982         API addition: gst_base_src_set_format()
983
984 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
985
986         * tests/examples/Makefile.am:
987           added that too
988
989 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
990
991         * configure.ac:
992         * docs/random/ensonic/media-device-daemon.txt:
993         * tests/examples/controller/.cvsignore:
994         * tests/examples/controller/Makefile.am:
995         * tests/examples/controller/audio-example.c: (main):
996         * tests/examples/helloworld/.cvsignore:
997         * tests/examples/helloworld/Makefile.am:
998         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
999         * tests/examples/launch/.cvsignore:
1000         * tests/examples/launch/Makefile.am:
1001         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1002         * tests/examples/metadata/.cvsignore:
1003         * tests/examples/metadata/Makefile.am:
1004         * tests/examples/metadata/read-metadata.c: (message_loop),
1005         (make_pipeline), (print_tag), (main):
1006         * tests/examples/queue/.cvsignore:
1007         * tests/examples/queue/Makefile.am:
1008         * tests/examples/queue/queue.c: (event_loop), (main):
1009         * tests/examples/typefind/.cvsignore:
1010         * tests/examples/typefind/Makefile.am:
1011         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1012         (main):
1013         * tests/examples/xml/.cvsignore:
1014         * tests/examples/xml/Makefile.am:
1015         * tests/examples/xml/createxml.c: (object_saved), (main):
1016         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1017         * tests/old/examples/Makefile.am:
1018         * tests/old/examples/TODO:
1019         * tests/old/examples/controller/.cvsignore:
1020         * tests/old/examples/controller/Makefile.am:
1021         * tests/old/examples/controller/audio-example.c:
1022         * tests/old/examples/helloworld/.cvsignore:
1023         * tests/old/examples/helloworld/Makefile.am:
1024         * tests/old/examples/helloworld/helloworld.c:
1025         * tests/old/examples/launch/.cvsignore:
1026         * tests/old/examples/launch/Makefile.am:
1027         * tests/old/examples/launch/mp3parselaunch.c:
1028         * tests/old/examples/launch/mp3play:
1029         * tests/old/examples/manual/Makefile.am:
1030         * tests/old/examples/metadata/Makefile.am:
1031         * tests/old/examples/metadata/read-metadata.c:
1032         * tests/old/examples/queue/.cvsignore:
1033         * tests/old/examples/queue/Makefile.am:
1034         * tests/old/examples/queue/queue.c:
1035         * tests/old/examples/typefind/.cvsignore:
1036         * tests/old/examples/typefind/Makefile.am:
1037         * tests/old/examples/typefind/typefind.c:
1038         * tests/old/examples/xml/.cvsignore:
1039         * tests/old/examples/xml/Makefile.am:
1040         * tests/old/examples/xml/createxml.c:
1041         * tests/old/examples/xml/runxml.c:
1042           applied some simple fixing to some examples
1043           re-enabled the working examples
1044
1045 2005-12-12  Wim Taymans  <wim@fluendo.com>
1046
1047         * gst/gstsegment.c: (gst_segment_init),
1048         (gst_segment_set_last_stop), (gst_segment_set_seek),
1049         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1050         (gst_segment_to_running_time):
1051         Added more documentation.
1052         Make sure the last_pos value is updated properly.
1053         Make sure to_stream_time and to_running_time don't
1054         operate on wrong values.
1055
1056         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1057         Update check.
1058
1059 2005-12-12  Michael Smith  <msmith@fluendo.com>
1060
1061         * plugins/elements/gsttypefindelement.c: (free_entry),
1062         (gst_type_find_element_chain):
1063           Now that we're not leaking factories, make sure we keep references
1064           to them while we need them.
1065
1066 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * tests/check/gst/struct_i386.h:
1069           ifdef out the XML structs
1070
1071 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1074           floor is not needed, F is always positive; this obviates the
1075           need for adding -lm when building without libxml
1076
1077 2005-12-12  Wim Taymans  <wim@fluendo.com>
1078
1079         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1080         Take current playback rate into account when reporting
1081         the position.
1082
1083 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1084
1085         * docs/manual/mime-world.fig:
1086           Let's try this again, this time with a file that is
1087           actually in XFig format.
1088
1089 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1090
1091         * docs/manual/mime-world.fig:
1092           Add audioconvert element to diagram so that it
1093           matches the text and the code (fixes #319526).
1094
1095 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1096
1097         * docs/pwg/building-chainfn.xml:
1098         * docs/pwg/building-pads.xml:
1099         * docs/pwg/building-state.xml:
1100         * docs/pwg/other-source.xml:
1101           Update state change stuff for 0.10 (fixes #322969).
1102
1103 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1104
1105         * docs/manual/advanced-dataaccess.xml:
1106         * docs/manual/appendix-checklist.xml:
1107         * docs/manual/appendix-programs.xml:
1108         * docs/manual/basics-pads.xml:
1109         * docs/manual/highlevel-components.xml:
1110         * docs/manual/manual.xml:
1111           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1112           add converters in front of pipelines; remove curly
1113           brackets for threads stuff, they no longer exist; use
1114           GST_TYPE_FRACTION for framerates; update some pieces of
1115           code to 0.10, but there's plenty more to do.
1116
1117         * docs/manual/appendix-porting.xml:
1118           Expand on asynchroneous state changes; s/0.9/0.10/;
1119           mention disappearance of gst_init_get_popt_table()
1120           (fixes #322916).
1121
1122 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1123
1124         * docs/faq/using.xml:
1125           Spider no longer exists, and neither does gst-launch-ext.
1126           Update examples to use decodebin and playbin and put
1127           converters in front of sinks (fixes #323726).
1128
1129 2005-12-09  Michael Smith  <msmith@fluendo.com>
1130
1131         * plugins/elements/gsttypefindelement.c: (find_peek),
1132         (gst_type_find_element_chain):
1133           Fix leaking element factories in typefinding.
1134           Fix problem where we forgot about a probable type on non-seekable
1135           files, and thus later mis-typefound it.
1136
1137 2005-12-09  Michael Smith  <msmith@fluendo.com>
1138
1139         * common/m4/gst-makecontext.m4:
1140         * common/m4/gst-mcsc.m4:
1141         * configure.ac:
1142         * win32/common/config.h:
1143         * win32/common/config.h.in:
1144           Remove makecontext stuff; not used in 0.10 and causes problems on
1145           HPUX according to bug #322441
1146
1147 2005-12-07  Wim Taymans  <wim@fluendo.com>
1148
1149         * tests/check/Makefile.am:
1150         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1151         (main):
1152         * tests/check/libs/struct_i386.h:
1153         Added ABI check for libs
1154
1155 2005-12-07  Wim Taymans  <wim@fluendo.com>
1156
1157         * tests/check/Makefile.am:
1158         And add the struct_i386.h to dist.
1159
1160 2005-12-07  Wim Taymans  <wim@fluendo.com>
1161
1162         * tests/check/Makefile.am:
1163         * tests/check/gst/.cvsignore:
1164         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1165         (main):
1166         * tests/check/gst/struct_i386.h:
1167         Added check for ABI compatibility.
1168
1169 2005-12-07  Wim Taymans  <wim@fluendo.com>
1170
1171         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1172         (gst_fake_src_get_times), (gst_fake_src_create):
1173         Fix broken sync option, fixes #323259
1174
1175 2005-12-07  Wim Taymans  <wim@fluendo.com>
1176
1177         * gst/gstbuffer.c:
1178         Small docs update.
1179
1180         * gst/gstcaps.c: (gst_caps_is_equal):
1181         Don't assert on NULL <--> X. Fixes #323260
1182
1183         * gst/gstminiobject.c: (gst_mini_object_replace):
1184         If we're doing atomic operations, we might just as well use
1185         the proper way to get an atomic pointer.
1186
1187         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1188         Clean up debugging.
1189
1190 2005-12-07  Michael Smith  <msmith@fluendo.com>
1191
1192         * gst/parse/grammar.y:
1193           Remove handling of { } for threads.
1194
1195 2005-12-06  David Schleef  <ds@schleef.org>
1196
1197         * libs/gst/base/gstbasetransform.c: speling fix.
1198
1199 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * docs/libs/tmpl/gstdataprotocol.sgml:
1202         * docs/random/omega/testing/gstobject.c:
1203         * gst/gst.c:
1204         * gst/gstclock.c:
1205         * gst/gstelement.c:
1206         * gst/gstelementfactory.c:
1207         * gst/gsterror.c:
1208         * gst/gstevent.c:
1209         * gst/gstghostpad.c:
1210         * gst/gstinfo.c:
1211         * gst/gstpadtemplate.c:
1212         * gst/gstregistryxml.c:
1213         * gst/gsttaglist.c:
1214         * gst/gsttagsetter.c:
1215         * gst/gsttypefind.c:
1216         * gst/gstvalue.c:
1217         * libs/gst/base/gstbasesrc.c:
1218         * libs/gst/net/gstnetclientclock.c:
1219         * libs/gst/net/gstnettimeprovider.c:
1220         * plugins/elements/gstfakesrc.c:
1221         * plugins/elements/gstfdsrc.c:
1222         * plugins/elements/gstfilesrc.c:
1223         * plugins/elements/gstidentity.c:
1224         * plugins/elements/gstqueue.c:
1225         * plugins/elements/gsttypefindelement.c:
1226         * plugins/indexers/gstfileindex.c:
1227         * plugins/indexers/gstmemindex.c:
1228         * tests/check/gst/gsttag.c:
1229         * tests/old/examples/cutter/cutter.c:
1230         * tests/old/examples/mixer/mixer.c:
1231         * tests/old/examples/xml/runxml.c: (main):
1232         * tests/old/testsuite/caps/normalisation.c:
1233         * tests/old/testsuite/debug/global.c:
1234         * tests/old/testsuite/parse/parse1.c:
1235         * tools/gst-xmlinspect.c:
1236         * win32/common/dirent.c:
1237           expand tabs
1238
1239 === release 0.10.0 ===
1240
1241 2005-12-05   <thomas (at) apestaart (dot) org>
1242
1243         * configure.ac:
1244           releasing 0.10.0, "Maroilles"
1245
1246 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1247
1248         submitted by: Funda Wang <fundawang@linux.net.cn>
1249
1250         * po/LINGUAS:
1251         * po/zh_CN.po:
1252           added Chinese (Traditional) translation
1253
1254 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1255
1256         * docs/gst/gstreamer-sections.txt:
1257         * docs/libs/tmpl/gstdataprotocol.sgml:
1258         * docs/random/thomasvs/TODO:
1259         * gst/gstutils.c:
1260         * gst/gstutils.h:
1261           fix docs
1262
1263 2005-12-05  Andy Wingo  <wingo@pobox.com>
1264
1265         patch by: Wim Taymans <wim@fluendo.com>
1266
1267         * libs/gst/base/gstbasetransform.c
1268         (gst_base_transform_prepare_output_buf)
1269         (gst_base_transform_buffer_alloc):
1270         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1271         alloc_buffer_and_set_caps.
1272
1273         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1274         set_caps on the source pad.
1275         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1276         alloc_buffer used to do. Fixes #322874.
1277
1278         * docs/gst/gstreamer-sections.txt: 
1279         * docs/design/part-negotiation.txt: 
1280         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1281         changes.
1282
1283 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1284
1285         patch by: Sebastien Moutte
1286
1287         * win32/MANIFEST:
1288         * win32/common/config.h.in:
1289         * win32/vs6/libgstcontroller.dsp:
1290           win32 build fixes
1291
1292 2005-12-05  Wim Taymans  <wim@fluendo.com>
1293
1294         * gst/gstcaps.c: (gst_caps_is_equal):
1295         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1296         (gst_fake_src_create):
1297         Back out previous code changes, leave doc updates, file bugs 
1298         instead. 
1299
1300 2005-12-05  Wim Taymans  <wim@fluendo.com>
1301
1302         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1303         (gst_fake_src_get_times), (gst_fake_src_create):
1304         * plugins/elements/gstfakesrc.h:
1305         Fix broken sync code.
1306
1307 2005-12-05  Wim Taymans  <wim@fluendo.com>
1308
1309         * gst/gstcaps.c: (gst_caps_is_equal):
1310         Comparing NULL against !NULL yields different caps, not a
1311         failure.
1312
1313 2005-12-05  Wim Taymans  <wim@fluendo.com>
1314
1315         * gst/gstpipeline.c:
1316         Fix small typo in docs.
1317
1318 2005-12-05  Andy Wingo  <wingo@pobox.com>
1319
1320         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1321
1322         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1323         registries/plugins with a MAJORMINOR one.
1324         (plugin_desc): Rename library from gstcoreleements to
1325         staticelements. Fixes #323222.
1326
1327 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1328
1329         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1330           Change debug category to 'collectpads' from 'collect_pads'
1331           (fixes #323250).
1332
1333 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1334
1335         patch by: Sebastien Moutte
1336
1337         * libs/gst/controller/gstinterpolation.c:
1338           use convert function for uint64/double
1339         * win32/vs6/libgstcontroller.dsp:
1340           link to GLib
1341
1342 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1343
1344         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1345         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1346         * gst/gstutils.h:
1347         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1348           add tests that seem to show that the guint64/gdouble conversions
1349           are correct.
1350
1351 2005-12-02  Wim Taymans  <wim@fluendo.com>
1352
1353         * gst/gstregistry.c: (gst_registry_add_path):
1354         * gst/gstregistry.h:
1355         * gst/gstregistryxml.c:
1356         Fix docs again.
1357
1358 2005-12-02  Wim Taymans  <wim@fluendo.com>
1359
1360         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1361         (gst_util_uint64_scale_int):
1362         Small cleanup.
1363
1364         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1365         Add debug log line.
1366
1367         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1368         Add FIXME.
1369
1370 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1371
1372         * win32/MANIFEST:
1373         * win32/common/config.h:
1374         * win32/vs6/gstreamer.dsw:
1375         * win32/vs6/libgstcoreelements.dsp:
1376         * win32/vs6/libgstelements.dsp:
1377           renamed core elements plugin
1378
1379 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1380
1381         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1382         (get_candidates):
1383           do piece-wise major/minor comparison so 0.9 < 0.10
1384           also allow .exe extensions for tools
1385
1386 2005-12-02  Michael Smith  <msmith@fluendo.com>
1387
1388         * gst/gst.c:
1389           Escape a % to make gtkdoc happier; bug 322958.
1390
1391 === release 0.9.7 ===
1392
1393 2005-12-01   <thomas (at) apestaart (dot) org>
1394
1395         * configure.ac:
1396           releasing 0.9.7, "My Dog Has No Nose"
1397
1398 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1399
1400         * common/gst-xmlinspect.py:
1401         * configure.ac:
1402         * docs/libs/tmpl/gstdataprotocol.sgml:
1403         * docs/random/release:
1404         * po/af.po:
1405         * po/az.po:
1406         * po/bg.po:
1407         * po/ca.po:
1408         * po/cs.po:
1409         * po/de.po:
1410         * po/en_GB.po:
1411         * po/fr.po:
1412         * po/it.po:
1413         * po/nb.po:
1414         * po/nl.po:
1415         * po/ru.po:
1416         * po/sq.po:
1417         * po/sr.po:
1418         * po/sv.po:
1419         * po/tr.po:
1420         * po/uk.po:
1421         * po/vi.po:
1422         * win32/common/config.h:
1423         * win32/common/config.h.in:
1424         * win32/vs6/gst_inspect.dsp:
1425         * win32/vs6/gst_launch.dsp:
1426         * win32/vs6/libgstbase.dsp:
1427         * win32/vs6/libgstelements.dsp:
1428         * win32/vs6/libgstreamer.dsp:
1429         * win32/vs7/GStreamer.vcproj:
1430         * win32/vs7/gst-inspect.vcproj:
1431         * win32/vs7/gst-launch.vcproj:
1432         * win32/vs7/libgstbase.vcproj:
1433           bump GST_MAJORMINOR to 0.10
1434           reset libtool version
1435
1436 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1437
1438         * po/LINGUAS:
1439         * po/bg.po:
1440           Added Bulgarian translation by (Alexander Shopov)
1441
1442 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1443
1444         * tests/check/gst/gstplugin.c:
1445           fix test
1446
1447 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1448
1449         * common/gst-xmlinspect.py:
1450         * common/gtk-doc-plugins.mak:
1451         * configure.ac:
1452         * docs/Makefile.am:
1453         * docs/gst/Makefile.am:
1454         * docs/gst/gstreamer-docs.sgml:
1455         * docs/gst/gstreamer-sections.txt:
1456         * docs/gst/gstreamer.types:
1457         * docs/gst/gstreamer.types.in:
1458         * docs/plugins/Makefile.am:
1459         * docs/plugins/gstreamer-plugins-docs.sgml:
1460         * docs/plugins/gstreamer-plugins-sections.txt:
1461         * docs/plugins/gstreamer-plugins.types:
1462         * docs/plugins/inspect.stamp:
1463         * docs/plugins/inspect/plugin-coreelements.xml:
1464         * docs/plugins/inspect/plugin-coreindexers.xml:
1465         * docs/plugins/scanobj-build.stamp:
1466         * gstreamer.spec.in:
1467         * plugins/elements/Makefile.am:
1468         * plugins/elements/gstelements.c:
1469         * plugins/elements/gstfakesink.c:
1470         * plugins/elements/gstfakesrc.c:
1471         * plugins/elements/gstfilesink.c:
1472         * plugins/elements/gstfilesrc.c:
1473         * plugins/elements/gstqueue.c:
1474         * plugins/indexers/Makefile.am:
1475         * plugins/indexers/gstindexers.c:
1476           document core plugins in a separate document just like all the
1477           others
1478           rename these plugins to something starting with core
1479
1480 2005-12-01  Andy Wingo  <wingo@pobox.com>
1481
1482         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1483         padding here before, but it missed the commit.
1484
1485 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1486
1487         * libs/gst/controller/gstinterpolation.c:
1488           whitespace prices have crashed, we should feel free to use some now
1489           use gst_guint64_to_gdouble
1490
1491 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1492
1493         * libs/gst/controller/gstcontroller.c:
1494         * libs/gst/controller/gsthelper.c:
1495         * libs/gst/controller/gstinterpolation.c:
1496         * libs/gst/controller/lib.c:
1497           wrap config.h include
1498
1499 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1500
1501         * docs/gst/gstreamer-sections.txt:
1502           update docs
1503
1504 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1505
1506         * plugins/elements/gstelements.c:
1507         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1508         (gst_fd_sink__class_init), (gst_fd_sink__init),
1509         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1510         (gst_fd_sink__get_property):
1511         * plugins/elements/gstfdsink.h:
1512         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1513         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1514         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1515         (gst_fd_src_unlock), (gst_fd_src_set_property),
1516         (gst_fd_src_get_property), (gst_fd_src_create),
1517         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1518         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1519         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1520         (gst_fd_src_uri_handler_init):
1521         * plugins/elements/gstfdsrc.h:
1522         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1523           more anal cleanup
1524
1525 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1526
1527         * docs/gst/Makefile.am:
1528         * docs/gst/gstreamer.types.in:
1529         * gst/Makefile.am:
1530           fix the docs build
1531
1532 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1533
1534         * configure.ac:
1535         * gst/Makefile.am:
1536         * gst/gst.c:
1537         * gst/gstplugin.h:
1538         * gst/gstregistry.h:
1539         * tests/benchmarks/complexity.c:
1540         * tests/benchmarks/mass-elements.c:
1541         * tests/check/Makefile.am:
1542         * tools/Makefile.am:
1543         * tools/gst-inspect.c:
1544         * tools/gst-xmlinspect.c:
1545           various fixes to make
1546           --disable-nls --disable-registry --disable-loadsave
1547           --disable-parse --disable-gst-debug
1548           work and get the core .so down to 360444 bytes after stripping
1549
1550 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1551
1552         * Makefile.am:
1553         * configure.ac:
1554           descend into tests
1555         * docs/random/thomasvs/TODO:
1556         * tests/Makefile.am:
1557         * tests/README:
1558           add a README
1559
1560 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1561
1562         * win32/GStreamer.vcproj:
1563         * win32/MANIFEST:
1564         * win32/Makefile:
1565         * win32/Makefile.inspect:
1566         * win32/Makefile.launch:
1567         * win32/Makefile.register:
1568         * win32/README.txt:
1569         * win32/gst-inspect.vcproj:
1570         * win32/gst-launch.vcproj:
1571         * win32/gst-register.vcproj:
1572         * win32/gstelements.vcproj:
1573         * win32/gstgetbits.def:
1574         * win32/gstgetbits.vcproj:
1575         * win32/gstreamer-dbg.def:
1576         * win32/gstreamer.def:
1577         * win32/libgstbase.def:
1578         * win32/libgstbase.vcproj:
1579         * win32/link_oldruntime.c:
1580         * win32/mman.c:
1581         * win32/mman.h:
1582         * win32/mman.inl:
1583         * win32/msvc71.sln:
1584           move even more stuff, win32/ is nice and clean now
1585
1586 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1587
1588         * libs/gst/control/.cvsignore:
1589         * win32/MANIFEST:
1590         * win32/config.h:
1591         * win32/dirent.c:
1592         * win32/dirent.h:
1593         * win32/gstbytestream.def:
1594         * win32/gstbytestream.vcproj:
1595         * win32/gstconfig.h:
1596         * win32/gstenumtypes.c:
1597         * win32/gstenumtypes.h:
1598         * win32/gstoptimalscheduler.vcproj:
1599         * win32/gstversion.h:
1600         * win32/gtchar.h:
1601         * win32/testsuite/bins.vcproj:
1602         * win32/testsuite/bytestream.vcproj:
1603         * win32/testsuite/caps.vcproj:
1604         * win32/testsuite/cleanup.vcproj:
1605         * win32/testsuite/clock.vcproj:
1606         * win32/testsuite/debug.vcproj:
1607         * win32/testsuite/dlopen.vcproj:
1608         * win32/testsuite/dynparams.vcproj:
1609         * win32/testsuite/elements.vcproj:
1610         * win32/testsuite/ghostpads.vcproj:
1611         * win32/testsuite/indexers.vcproj:
1612         * win32/testsuite/negotiation.vcproj:
1613         * win32/testsuite/parse.vcproj:
1614         * win32/testsuite/plugin.vcproj:
1615         * win32/testsuite/refcounting.vcproj:
1616         * win32/testsuite/schedulers.vcproj:
1617         * win32/testsuite/states.vcproj:
1618         * win32/testsuite/tags.vcproj:
1619         * win32/testsuite/threads.vcproj:
1620           remove old win32 stuff that isn't maintained and should be
1621           reorganized
1622
1623 2005-11-30  Andy Wingo  <wingo@pobox.com>
1624
1625         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1626         loading the gst.interfaces python module bork.
1627
1628         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1629         available since GLib 2.2. Fixes #318031.
1630
1631 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1632
1633         * Makefile.am:
1634         * check/.cvsignore:
1635         * check/Makefile.am:
1636         * check/elements/.cvsignore:
1637         * check/elements/fakesrc.c:
1638         * check/elements/fdsrc.c:
1639         * check/elements/identity.c:
1640         * check/generic/.cvsignore:
1641         * check/generic/states.c:
1642         * check/gst-libs/.cvsignore:
1643         * check/gst-libs/controller.c:
1644         * check/gst-libs/gdp.c:
1645         * check/gst/.cvsignore:
1646         * check/gst/capslist.h:
1647         * check/gst/gst.c:
1648         * check/gst/gstbin.c:
1649         * check/gst/gstbuffer.c:
1650         * check/gst/gstbus.c:
1651         * check/gst/gstcaps.c:
1652         * check/gst/gstelement.c:
1653         * check/gst/gstevent.c:
1654         * check/gst/gstghostpad.c:
1655         * check/gst/gstiterator.c:
1656         * check/gst/gstmessage.c:
1657         * check/gst/gstminiobject.c:
1658         * check/gst/gstobject.c:
1659         * check/gst/gstpad.c:
1660         * check/gst/gstpipeline.c:
1661         * check/gst/gstplugin.c:
1662         * check/gst/gstsegment.c:
1663         * check/gst/gststructure.c:
1664         * check/gst/gstsystemclock.c:
1665         * check/gst/gsttag.c:
1666         * check/gst/gstutils.c:
1667         * check/gst/gstvalue.c:
1668         * check/net/.cvsignore:
1669         * check/net/gstnetclientclock.c:
1670         * check/net/gstnettimeprovider.c:
1671         * check/pipelines/.cvsignore:
1672         * check/pipelines/cleanup.c:
1673         * check/pipelines/simple_launch_lines.c:
1674         * check/pipelines/stress.c:
1675         * check/states/.cvsignore:
1676         * check/states/sinks.c:
1677         * configure.ac:
1678         * examples/Makefile.am:
1679         * examples/appreader/.cvsignore:
1680         * examples/appreader/Makefile.am:
1681         * examples/appreader/appreader.c:
1682         * examples/controller/.cvsignore:
1683         * examples/controller/Makefile.am:
1684         * examples/controller/audio-example.c:
1685         * examples/cutter/.cvsignore:
1686         * examples/cutter/Makefile.am:
1687         * examples/cutter/cutter.c:
1688         * examples/cutter/cutter.h:
1689         * examples/events/Makefile.am:
1690         * examples/events/seek.c:
1691         * examples/helloworld/.cvsignore:
1692         * examples/helloworld/Makefile.am:
1693         * examples/helloworld/helloworld.c:
1694         * examples/helloworld2/.cvsignore:
1695         * examples/helloworld2/Makefile.am:
1696         * examples/helloworld2/helloworld2.c:
1697         * examples/launch/.cvsignore:
1698         * examples/launch/Makefile.am:
1699         * examples/launch/mp3parselaunch.c:
1700         * examples/launch/mp3play:
1701         * examples/manual/.cvsignore:
1702         * examples/manual/Makefile.am:
1703         * examples/manual/extract.pl:
1704         * examples/metadata/Makefile.am:
1705         * examples/metadata/read-metadata.c:
1706         * examples/mixer/.cvsignore:
1707         * examples/mixer/Makefile.am:
1708         * examples/mixer/mixer.c:
1709         * examples/mixer/mixer.h:
1710         * examples/pingpong/.cvsignore:
1711         * examples/pingpong/Makefile.am:
1712         * examples/pingpong/pingpong.c:
1713         * examples/plugins/.cvsignore:
1714         * examples/plugins/Makefile.am:
1715         * examples/plugins/example.c:
1716         * examples/plugins/example.h:
1717         * examples/pwg/.cvsignore:
1718         * examples/pwg/Makefile.am:
1719         * examples/pwg/extract.pl:
1720         * examples/queue/.cvsignore:
1721         * examples/queue/Makefile.am:
1722         * examples/queue/queue.c:
1723         * examples/queue2/.cvsignore:
1724         * examples/queue2/Makefile.am:
1725         * examples/queue2/queue2.c:
1726         * examples/queue3/.cvsignore:
1727         * examples/queue3/Makefile.am:
1728         * examples/queue3/queue3.c:
1729         * examples/queue4/.cvsignore:
1730         * examples/queue4/Makefile.am:
1731         * examples/queue4/queue4.c:
1732         * examples/retag/.cvsignore:
1733         * examples/retag/Makefile.am:
1734         * examples/retag/retag.c:
1735         * examples/retag/transcode.c:
1736         * examples/thread/.cvsignore:
1737         * examples/thread/Makefile.am:
1738         * examples/thread/thread.c:
1739         * examples/typefind/.cvsignore:
1740         * examples/typefind/Makefile.am:
1741         * examples/typefind/typefind.c:
1742         * examples/xml/.cvsignore:
1743         * examples/xml/Makefile.am:
1744         * examples/xml/createxml.c:
1745         * examples/xml/runxml.c:
1746         * tests/Makefile.am:
1747         * tests/check/Makefile.am:
1748         * testsuite/.cvsignore:
1749         * testsuite/Makefile.am:
1750         * testsuite/Rules:
1751         * testsuite/caps/.cvsignore:
1752         * testsuite/caps/Makefile.am:
1753         * testsuite/caps/app_fixate.c:
1754         * testsuite/caps/audioscale.c:
1755         * testsuite/caps/caps.c:
1756         * testsuite/caps/caps.h:
1757         * testsuite/caps/caps_strings:
1758         * testsuite/caps/compatibility.c:
1759         * testsuite/caps/deserialize.c:
1760         * testsuite/caps/enumcaps.c:
1761         * testsuite/caps/eratosthenes.c:
1762         * testsuite/caps/filtercaps.c:
1763         * testsuite/caps/fixed.c:
1764         * testsuite/caps/fraction-convert.c:
1765         * testsuite/caps/fraction-multiply-and-zero.c:
1766         * testsuite/caps/intersect2.c:
1767         * testsuite/caps/intersection.c:
1768         * testsuite/caps/normalisation.c:
1769         * testsuite/caps/random.c:
1770         * testsuite/caps/renegotiate.c:
1771         * testsuite/caps/sets.c:
1772         * testsuite/caps/simplify.c:
1773         * testsuite/caps/string-conversions.c:
1774         * testsuite/caps/structure.c:
1775         * testsuite/caps/subtract.c:
1776         * testsuite/caps/union.c:
1777         * testsuite/debug/.cvsignore:
1778         * testsuite/debug/Makefile.am:
1779         * testsuite/debug/category.c:
1780         * testsuite/debug/commandline.c:
1781         * testsuite/debug/global.c:
1782         * testsuite/debug/output.c:
1783         * testsuite/debug/printf_extension.c:
1784         * testsuite/dlopen/.cvsignore:
1785         * testsuite/dlopen/Makefile.am:
1786         * testsuite/dlopen/dlopen_gst.c:
1787         * testsuite/dlopen/loadgst.c:
1788         * testsuite/elements/.cvsignore:
1789         * testsuite/elements/Makefile.am:
1790         * testsuite/elements/gst-inspect-check.in:
1791         * testsuite/elements/struct_i386.h:
1792         * testsuite/elements/struct_size.c:
1793         * testsuite/indexers/.cvsignore:
1794         * testsuite/indexers/Makefile.am:
1795         * testsuite/indexers/cache1.c:
1796         * testsuite/indexers/indexdump.c:
1797         * testsuite/parse/.cvsignore:
1798         * testsuite/parse/Makefile.am:
1799         * testsuite/parse/parse1.c:
1800         * testsuite/parse/parse2.c:
1801         * testsuite/plugin/.cvsignore:
1802         * testsuite/plugin/Makefile.am:
1803         * testsuite/plugin/README:
1804         * testsuite/plugin/dynamic.c:
1805         * testsuite/plugin/linked.c:
1806         * testsuite/plugin/loading.c:
1807         * testsuite/plugin/registry.c:
1808         * testsuite/plugin/static.c:
1809         * testsuite/plugin/static2.c:
1810         * testsuite/plugin/testplugin.c:
1811         * testsuite/plugin/testplugin2.c:
1812         * testsuite/plugin/testplugin2_s.c:
1813         * testsuite/plugin/testplugin_s.c:
1814         * testsuite/refcounting/.cvsignore:
1815         * testsuite/refcounting/Makefile.am:
1816         * testsuite/refcounting/bin.c:
1817         * testsuite/refcounting/element.c:
1818         * testsuite/refcounting/element_pad.c:
1819         * testsuite/refcounting/mainloop.c:
1820         * testsuite/refcounting/mem.c:
1821         * testsuite/refcounting/mem.h:
1822         * testsuite/refcounting/object.c:
1823         * testsuite/refcounting/pad.c:
1824         * testsuite/refcounting/sched.c:
1825         * testsuite/refcounting/thread.c:
1826         * testsuite/states/.cvsignore:
1827         * testsuite/states/Makefile.am:
1828         * testsuite/states/bin.c:
1829         * testsuite/states/locked.c:
1830         * testsuite/states/parent.c:
1831         * testsuite/threads/.cvsignore:
1832         * testsuite/threads/159566.c:
1833         * testsuite/threads/159852.c:
1834         * testsuite/threads/Makefile.am:
1835         * testsuite/threads/queue.c:
1836         * testsuite/threads/signals.c:
1837         * testsuite/threads/staticrec.c:
1838         * testsuite/threads/thread.c:
1839         * testsuite/threads/threadb.c:
1840         * testsuite/threads/threadc.c:
1841         * testsuite/threads/threadd.c:
1842         * testsuite/threads/threade.c:
1843         * testsuite/threads/threadf.c:
1844         * testsuite/threads/threadg.c:
1845         * testsuite/threads/threadh.c:
1846         * testsuite/threads/threadi.c:
1847           move all of these under tests
1848
1849 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1850
1851         * configure.ac:
1852         * tests/Makefile.am:
1853           fix distcheck
1854
1855 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         * docs/gst/gstreamer-sections.txt:
1858         * tests/sched/.cvsignore:
1859         * tests/sched/Makefile.am:
1860         * tests/sched/cases/(fs-fs).xml:
1861         * tests/sched/cases/(fs-i-fs).xml:
1862         * tests/sched/cases/(fs-i-i-fs).xml:
1863         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1864         * tests/sched/dynamic-pipeline.c:
1865         * tests/sched/interrupt1.c:
1866         * tests/sched/interrupt2.c:
1867         * tests/sched/interrupt3.c:
1868         * tests/sched/runtestcases:
1869         * tests/sched/runxml.c:
1870         * tests/sched/sched-stress.c:
1871         * tests/sched/sort.c:
1872         * tests/sched/testcases:
1873         * tests/sched/testcases1.tc:
1874         * tests/seeking/.cvsignore:
1875         * tests/seeking/Makefile.am:
1876         * tests/seeking/seeking1.c:
1877         * tests/threadstate/.cvsignore:
1878         * tests/threadstate/Makefile.am:
1879         * tests/threadstate/test1.c:
1880         * tests/threadstate/test2.c:
1881         * tests/threadstate/threadstate1.c:
1882         * tests/threadstate/threadstate2.c:
1883         * tests/threadstate/threadstate3.c:
1884         * tests/threadstate/threadstate4.c:
1885         * tests/threadstate/threadstate5.c:
1886           remove obsolete tests
1887         * configure.ac:
1888         * tests/bench-complexity.scm:
1889         * tests/bench-mass_elements.scm:
1890         * tests/complexity.c:
1891         * tests/complexity.gnuplot:
1892         * tests/instantiate/.cvsignore:
1893         * tests/instantiate/Makefile.am:
1894         * tests/instantiate/caps.c:
1895         * tests/mass_elements.c:
1896         * tests/network-clock-utils.scm:
1897         * tests/network-clock.scm:
1898         * tests/plot-data:
1899         First pass at cleaning up tests/ dir before moving the rest
1900         Combined with CVS surgery
1901
1902 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1903
1904         * po/POTFILES.in:
1905           queue has moved, update
1906
1907 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1908
1909         * docs/gst/gstreamer-sections.txt:
1910           remove double entries from the docs
1911         * gst/gst_private.h:
1912         * gst/gstinfo.c: (_gst_debug_init):
1913           remove the THREAD debug category
1914         * gst/Makefile.am:
1915         * gst/gstqueue.c:
1916         * gst/gstqueue.h:
1917         * docs/gst/gstreamer.types:
1918         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1919         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1920           completely move queue and fix up debugging categories
1921
1922 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1923
1924         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1925           make initialization portable, using LL is not
1926
1927 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1928
1929         * win32/common/gstconfig.h:
1930           add large padding
1931
1932 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1933
1934         * win32/common/libgstreamer.def:
1935           rename symbols; sort base section
1936
1937 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1938
1939         * gst/gstclock.c: (do_linear_regression):
1940           remove crack non-portable handrolled DEBUG macro
1941
1942 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1943
1944         * docs/random/release:
1945           update notes
1946         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1947         (gst_object_flags_get_type), (register_gst_bin_flags),
1948         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1949         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1950         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1951         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1952         (gst_caps_flags_get_type), (register_gst_clock_return),
1953         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1954         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1955         (gst_clock_flags_get_type), (register_gst_state),
1956         (gst_state_get_type), (register_gst_state_change_return),
1957         (gst_state_change_return_get_type), (register_gst_state_change),
1958         (gst_state_change_get_type), (register_gst_element_flags),
1959         (gst_element_flags_get_type), (register_gst_core_error),
1960         (gst_core_error_get_type), (register_gst_library_error),
1961         (gst_library_error_get_type), (register_gst_resource_error),
1962         (gst_resource_error_get_type), (register_gst_stream_error),
1963         (gst_stream_error_get_type), (register_gst_event_type_flags),
1964         (gst_event_type_flags_get_type), (register_gst_event_type),
1965         (gst_event_type_get_type), (register_gst_seek_type),
1966         (gst_seek_type_get_type), (register_gst_seek_flags),
1967         (gst_seek_flags_get_type), (register_gst_format),
1968         (gst_format_get_type), (register_gst_index_certainty),
1969         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1970         (gst_index_entry_type_get_type),
1971         (register_gst_index_lookup_method),
1972         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1973         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1974         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1975         (gst_index_flags_get_type), (register_gst_debug_level),
1976         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1977         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1978         (gst_iterator_result_get_type), (register_gst_iterator_item),
1979         (gst_iterator_item_get_type), (register_gst_message_type),
1980         (gst_message_type_get_type), (register_gst_mini_object_flags),
1981         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1982         (gst_pad_link_return_get_type), (register_gst_flow_return),
1983         (gst_flow_return_get_type), (register_gst_activate_mode),
1984         (gst_activate_mode_get_type), (register_gst_pad_direction),
1985         (gst_pad_direction_get_type), (register_gst_pad_flags),
1986         (gst_pad_flags_get_type), (register_gst_pad_presence),
1987         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1988         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1989         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1990         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1991         (gst_plugin_flags_get_type), (register_gst_rank),
1992         (gst_rank_get_type), (register_gst_query_type),
1993         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1994         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1995         (gst_tag_flag_get_type), (register_gst_task_state),
1996         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1997         (gst_alloc_trace_flags_get_type),
1998         (register_gst_type_find_probability),
1999         (gst_type_find_probability_get_type), (register_gst_uri_type),
2000         (gst_uri_type_get_type), (register_gst_parse_error),
2001         (gst_parse_error_get_type):
2002         * win32/common/gstenumtypes.h:
2003         * win32/common/gstversion.h:
2004           update visual studio generated files
2005
2006 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2007
2008         * win32/vs6/libgstbase.dsp:
2009         * win32/vs6/libgstelements.dsp:
2010           update project files for new locations
2011
2012 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * Makefile.am:
2015           remove some files
2016         * README:
2017           reinstate and update
2018         * DEVEL:
2019         * REQUIREMENTS:
2020           removed
2021         * LICENSE:
2022         * docs/random/LICENSE:
2023           moved to random
2024
2025 2005-11-30  Edward Hervey  <edward@fluendo.com>
2026
2027         * gst/gsttypefind.c: (gst_type_find_register):
2028         * gst/gsttypefind.h:
2029         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2030         (gst_type_find_factory_dispose):
2031         * gst/gsttypefindfactory.h:
2032         Fix memory leak in GstTypeFindFactory.
2033
2034 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2035
2036         * gst/gst.c:
2037         * plugins/elements/Makefile.am:
2038         * plugins/elements/gstelements.c:
2039         * plugins/elements/gstqueue.c:
2040           move queue from core to the elements plugin
2041
2042 2005-11-29  Andy Wingo  <wingo@pobox.com>
2043
2044         * libs/gst/base/gstbasetransform.h: 
2045         * libs/gst/base/gstbasesrc.h: 
2046         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2047
2048         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2049         of pointers by which to pad very extensible base classes (like the
2050         ones in libs/gst/base).
2051
2052 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2053
2054         * docs/gst/gstreamer-docs.sgml:
2055         * docs/gst/gstreamer-sections.txt:
2056         * docs/libs/gstreamer-libs-docs.sgml:
2057         * docs/libs/gstreamer-libs-sections.txt:
2058           moving documentation from core to lib
2059
2060 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2061
2062         * check/Makefile.am:
2063         * configure.ac:
2064         * docs/gst/Makefile.am:
2065         * gst/Makefile.am:
2066         * gst/base/.cvsignore:
2067         * gst/base/Makefile.am:
2068         * gst/base/README:
2069         * gst/base/gstadapter.c:
2070         * gst/base/gstadapter.h:
2071         * gst/base/gstbasesink.c:
2072         * gst/base/gstbasesink.h:
2073         * gst/base/gstbasesrc.c:
2074         * gst/base/gstbasesrc.h:
2075         * gst/base/gstbasetransform.c:
2076         * gst/base/gstbasetransform.h:
2077         * gst/base/gstcollectpads.c:
2078         * gst/base/gstcollectpads.h:
2079         * gst/base/gstpushsrc.c:
2080         * gst/base/gstpushsrc.h:
2081         * gst/base/gsttypefindhelper.c:
2082         * gst/base/gsttypefindhelper.h:
2083         * gst/check/Makefile.am:
2084         * gst/check/gstcheck.c:
2085         * gst/check/gstcheck.h:
2086         * gst/net/Makefile.am:
2087         * gst/net/gstnet.h:
2088         * gst/net/gstnetclientclock.c:
2089         * gst/net/gstnetclientclock.h:
2090         * gst/net/gstnettimepacket.c:
2091         * gst/net/gstnettimepacket.h:
2092         * gst/net/gstnettimeprovider.c:
2093         * gst/net/gstnettimeprovider.h:
2094         * libs/gst/Makefile.am:
2095         * libs/gst/base/Makefile.am:
2096         * libs/gst/base/gstbasetransform.c:
2097         * libs/gst/check/Makefile.am:
2098         * plugins/elements/Makefile.am:
2099         * po/POTFILES.in:
2100           CVS surgery + support to move base, check, and net out of gst
2101           and into libs/gst
2102
2103 2005-11-29  Andy Wingo  <wingo@pobox.com>
2104
2105         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2106
2107         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2108         padding.
2109
2110         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2111
2112         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2113
2114         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2115
2116         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2117         padding; reduces object size by about 30%. We don't expect
2118         anything else to go into gstobject.
2119
2120         * gst/gstminiobject.h (struct _GstMiniObject)
2121         (struct _GstMiniObjectClass): Only one pointer of padding; the
2122         payload is only a pointer and two ints anyway. For the class there
2123         are only two methods as well.
2124         
2125         * gst/gstelement.h (struct _GstElementClass): Removed
2126         the state_changed signal callback, it is not used.
2127
2128 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2129
2130         * docs/gst/gstreamer.types:
2131           fix includes, though they are a little dinky
2132
2133 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2134
2135         * check/Makefile.am:
2136           look in the right place for elements, a lot more chance of
2137           success
2138         * gst/Makefile.am:
2139           remove indexers and elements subdirs
2140         * plugins/Makefile.am:
2141           make indexers conditional
2142
2143 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2144
2145         * Makefile.am:
2146         * configure.ac:
2147         * plugins/elements/Makefile.am:
2148         * plugins/elements/gstcapsfilter.c:
2149         * plugins/elements/gstfilesink.c:
2150         * plugins/elements/gstfilesrc.c:
2151         * plugins/elements/gstidentity.c:
2152         * plugins/indexers/Makefile.am:
2153           do CVS surgery and related build fixery to move elements
2154           and indexers in a new gstreamer/plugins directory, out of the
2155           gst/ directory
2156
2157 2005-11-29  Andy Wingo  <wingo@pobox.com>
2158
2159         * check/Makefile.am:
2160         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2161         * pkgconfig/gstreamer-net.pc.in:
2162         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2163         #322257.
2164
2165 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2166
2167         * tools/Makefile.am:
2168         * tools/gst-complete.1.in:
2169         * tools/gst-complete.c:
2170         * tools/gst-compprep.1.in:
2171         * tools/gst-compprep.c:
2172           removing -compprep and -complete
2173
2174 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2175
2176         * gst/gstevent.c: (gst_event_new_new_segment),
2177         (gst_event_parse_new_segment):
2178         * gst/gstevent.h:
2179           fix #320529 - clean up new_segment API and structure.
2180           Let's hope everyone was using the methods, and not the structure.
2181
2182 2005-11-29  Edward Hervey  <edward@fluendo.com>
2183
2184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2185         (gst_base_sink_event), (gst_base_sink_do_sync),
2186         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2187         Properly handle non GST_FORMAT_TIME segment
2188         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2189         Properly handle non GST_FORMAT_TIME segment
2190         * gst/gstsegment.c:
2191         This function is valid if the accumulator is 0 and the format
2192         is different from the requested format.
2193         
2194 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2195
2196         * docs/gst/gstreamer-sections.txt:
2197         Add gst_query_new_seeking and gst_query_parse_seeking to the
2198         docs.
2199
2200 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2201
2202         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2203           Treat a pad alloc with new caps the same as if we were not
2204           negotiated, in order to allow a changing upstream output
2205           to produce a new format of data.
2206
2207 2005-11-29  Edward Hervey  <edward@fluendo.com>
2208
2209         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2210         (gst_base_transform_event), (gst_base_transform_eventfunc):
2211         The event virtual method is now properly implemented, with a default
2212         handler
2213         Sub classes should call the parent_class event method. They should
2214         return FALSE if they had a problem handling the given event, or don't
2215         want GstBaseTransform to send that even downstream
2216         * gst/elements/gstidentity.c: (gst_identity_class_init),
2217         (gst_identity_init), (gst_identity_event),
2218         (gst_identity_transform_ip), (gst_identity_set_property),
2219         (gst_identity_get_property):
2220         * gst/elements/gstidentity.h:
2221         Added the single-segment boolean property.
2222         If set to TRUE, it will output a single segment of data, starting from
2223         0, will eat up all incoming newsegment, and modify the timestamp of the
2224         buffers accordingly
2225
2226 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2227
2228         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2229           Don't ref NULL target pad (#322751). Improve docs.
2230
2231 2005-11-29  Michael Smith  <msmith@fluendo.com>
2232
2233         * gst/gstregistryxml.c: (load_plugin):
2234           Don't crash if we failed to load a feature from a plugin. 
2235
2236 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2237
2238         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2239         (GST_START_TEST):
2240           use more check API and less GLib API
2241
2242 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2243
2244         * Makefile.am:
2245           don't run checks if we don't have check
2246         * common/check.mak:
2247           remove the registry when running make torture
2248         * docs/gst/gstreamer-sections.txt:
2249           remove second multiply
2250         * gst/gstqueue.c: (gst_queue_loop):
2251           fix a compile warning when disabling debug
2252
2253 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2254
2255         * gst/gstinfo.h:
2256         Hey! Let's print the pad name if the pointer != NULL instead
2257         of when it == NULL :-)
2258
2259 2005-11-28  Wim Taymans  <wim@fluendo.com>
2260
2261         * check/gst/gstutils.c: (GST_START_TEST):
2262         Updated check, add some scaling accuracy checking code.
2263
2264         * gst/gstutils.c: (gst_util_div128_64),
2265         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2266         (gst_util_uint64_scale_int):
2267         Fix 6 times faster division code. Optimize for common 
2268         1/1 and less common X/1 cases.
2269
2270 2005-11-28  Wim Taymans  <wim@fluendo.com>
2271
2272         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2273         More checks.
2274
2275         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2276         (do_linear_regression), (gst_clock_add_observation):
2277         Cleanups.
2278         Release lock when the clock cannot be slaved.
2279         Catch the case where the regression returned an invalid denominator.
2280
2281         * gst/gstutils.c: (gst_util_div128_64_iterate),
2282         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2283         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2284         Add protentially more performant non-iterative 128/64 divide function
2285         that unfortunatly does not work yet.
2286         Shortcut the trivial 0/X = 0 case.
2287         Remove the warnings on overflow.
2288
2289 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2290
2291         * gst/gstplugin.c: (gst_plugin_register_func):
2292           everything causing a plugin not to load should be at least a WARNING
2293
2294 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2295
2296         * docs/random/ensonic/dparams.txt:
2297           some TODOs for the next dev cycle
2298         * libs/gst/controller/gstcontroller.c:
2299         (gst_controlled_property_set_interpolation_mode),
2300         (gst_controlled_property_new):
2301         * libs/gst/controller/gstcontroller.h:
2302           use base type to assign acccessor functions
2303
2304 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2305
2306         * check/Makefile.am:
2307         Oops, that should have been top_srcdir
2308
2309 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2310
2311         * check/Makefile.am:
2312         * check/elements/fdsrc.c: (GST_START_TEST):
2313         Use a cmdline define to specify the location of a file to use for
2314         testing, to avoid breaking distcheck.
2315
2316 2005-11-28  Andy Wingo  <wingo@pobox.com>
2317
2318         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2319
2320 2005-11-28  Edward Hervey  <edward@fluendo.com>
2321
2322         * tools/gst-launch.c: (main):
2323         Clarify the output strings, makes it easier to translate.
2324         Fixes #322626
2325
2326 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2327
2328         * gst/Makefile.am:
2329           don't try and build net if we don't even have <sys/socket.h>
2330
2331 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2332
2333         * check/Makefile.am:
2334         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2335         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2336           Add tests for fdsrc seekability
2337
2338         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2339         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2340         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2341         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2342         * gst/elements/gstfdsrc.h:
2343           fdsrc should not be a 'live' source.
2344           Implement seeking on seekable fd's.
2345
2346         * gst/gstquery.c: (gst_query_new_seeking),
2347         (gst_query_parse_seeking):
2348         * gst/gstquery.h:
2349           Implement SEEKING query functions: 
2350             *_new_seeking and *_parse_seeking
2351
2352 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2353
2354         * gst/gstelement.c: (gst_element_dispose):
2355           don't loop forever
2356
2357         * gst/gstiterator.c:
2358         * gst/gststructure.c:
2359           doc fixes
2360
2361         * libs/gst/controller/gstcontroller.c:
2362         (gst_controlled_property_set_interpolation_mode):
2363         * libs/gst/controller/gstcontroller.h:
2364         * libs/gst/controller/gstinterpolation.c:
2365         (interpolate_none_get_enum_value_array):
2366           support controlling enums
2367
2368 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2369
2370         * gst/gstvalue.c:
2371           Improve documentation for gst_value_union().
2372
2373         * gst/gstvalue.h:
2374           Change return value for union, intersect and subtract functions
2375           from gint to gboolean.
2376
2377 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * gst/gstvalue.c: (gst_value_serialize_any_list),
2380         (gst_value_transform_any_list_string),
2381         (gst_value_deserialize_list), (gst_value_deserialize_array),
2382         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2383         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2384         (gst_value_set_fraction_range_full),
2385         (gst_value_deserialize_fraction_range),
2386         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2387         (gst_value_deserialize_boolean),
2388         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2389         (gst_value_serialize_float), (gst_value_deserialize_float),
2390         (gst_string_wrap), (gst_value_deserialize_string),
2391         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2392         (gst_value_union_int_range_int_range),
2393         (gst_value_intersect_int_range_int_range),
2394         (gst_value_intersect_double_range_double_range),
2395         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2396         (gst_value_subtract_int_range_int_range),
2397         (gst_value_subtract_double_double_range),
2398         (gst_value_subtract_double_range_double_range),
2399         (gst_value_deserialize_fraction):
2400         * gst/gstvalue.h:
2401           Use gint, gdouble and gchar in our API instead of int, double and
2402           char (and make usage in gstvalue.c more consistent).
2403
2404 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2405
2406         * check/Makefile.am:
2407         * libs/gst/controller/Makefile.am:
2408         * libs/gst/dataprotocol/Makefile.am:
2409           fix up Makefile.am and remove GST_ENABLE_NEW
2410
2411 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2412
2413         * configure.ac:
2414         * gst/Makefile.am:
2415         * gst/base/Makefile.am:
2416         * gst/check/Makefile.am:
2417         * gst/elements/Makefile.am:
2418         * gst/net/Makefile.am:
2419           update LDFLAGS use some more
2420
2421 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2422
2423         * common/m4/gst-doc.m4:
2424           Fixes #312589
2425
2426 2005-11-26  Edward Hervey  <edward@fluendo.com>
2427
2428         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2429         This shouldn't issue a g_warning since it returns NULL if it
2430         couldn't find the plugin, and all functions using this behave
2431         properly on a NULL return. Switching to a GST_WARNING.
2432
2433 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2434
2435         * gst/gstbin.c: (gst_bin_handle_message_func):
2436         Don't leak clock messages.
2437
2438 2005-11-25  Wim Taymans  <wim@fluendo.com>
2439
2440         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2441         (gst_util_uint64_scale_int):
2442         Optimisations, remove unneeded vars.
2443
2444 2005-11-25  Wim Taymans  <wim@fluendo.com>
2445
2446         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2447         Added more checks for the high precision uint64 cases.
2448
2449         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2450         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2451         Implement high precision (guint64 * guint64) / guint64.
2452
2453 2005-11-24  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/base/gstbasesrc.c: (gst_base_src_query):
2456         Fix wrong percentage query.
2457
2458         * gst/gstutils.c: (gst_util_uint64_scale),
2459         (gst_util_uint64_scale_int):
2460         Add some more common cases that can be handled 
2461         efficiently to _scale.
2462
2463 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2464
2465         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2466         (gst_mini_object_suite):
2467           don't use check calls from threads; check probably isn't
2468           threadsafe and using a lock to make it threadsafe would
2469           defeat the purpose of this check
2470         * gst/check/gstcheck.c:
2471         * gst/check/gstcheck.h:
2472           use GST_DEBUG some more
2473
2474 2005-11-24  Wim Taymans  <wim@fluendo.com>
2475
2476         * gst/gstutils.c: (gst_util_uint64_scale),
2477         (gst_util_uint64_scale_int):
2478         Chain trivial case to _scale_int.
2479
2480 2005-11-24  Wim Taymans  <wim@fluendo.com>
2481
2482         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2483         Added test for scaling.
2484
2485         * gst/gstclock.h:
2486         Small doc fix.
2487
2488         * gst/gstutils.c: (gst_util_uint64_scale_int):
2489         Implemented high precision scaling code.
2490
2491 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2492
2493         * gst/gstinfo.h:
2494           do not crash on pad==NULL
2495
2496 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2497
2498         Patch by: Stefan Kost
2499
2500         * common/gtk-doc.mak:
2501         * docs/gst/Makefile.am:
2502         * docs/libs/Makefile.am:
2503           Fix distcheck issues for the libraries docs build
2504           Closes #319599.
2505
2506 2005-11-24  Michael Smith <msmith@fluendo.com>
2507
2508         * docs/manual/basics-helloworld.xml:
2509           Fix bug #315027: memory leak in example code in docs.
2510
2511 2005-11-24  Michael Smith <msmith@fluendo.com>
2512
2513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2514           Unlock the PREROLL_LOCK in a failure case.
2515
2516 2005-11-24  Wim Taymans  <wim@fluendo.com>
2517
2518         * docs/gst/gstreamer-sections.txt:
2519         * gst/base/gstadapter.h:
2520         * gst/base/gstbasesink.h:
2521         * gst/base/gstbasesrc.h:
2522         * gst/base/gstbasetransform.h:
2523         * gst/base/gstpushsrc.h:
2524         * gst/elements/gstfakesink.h:
2525         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2526         * gst/elements/gstfakesrc.h:
2527         * gst/elements/gstfilesink.h:
2528         * gst/elements/gstfilesrc.h:
2529         * gst/gst.c:
2530         * gst/gstbin.c:
2531         * gst/gstbuffer.c: (_gst_buffer_copy):
2532         * gst/gstbus.h:
2533         * gst/gstcaps.c:
2534         * gst/gstchildproxy.c:
2535         * gst/gstclock.c:
2536         * gst/gstelement.c:
2537         * gst/gstelementfactory.c:
2538         * gst/gstelementfactory.h:
2539         * gst/gstevent.c:
2540         * gst/gstghostpad.h:
2541         * gst/gstindex.h:
2542         * gst/gstinterface.h:
2543         * gst/gstminiobject.c:
2544         * gst/gstminiobject.h:
2545         * gst/gstpad.c:
2546         * gst/gstpad.h:
2547         * gst/gstpadtemplate.h:
2548         * gst/gstpipeline.h:
2549         * gst/gstpluginfeature.h:
2550         * gst/gstquery.h:
2551         * gst/gstqueue.h:
2552         * gst/gsttaglist.c:
2553         * gst/gsttaglist.h:
2554         * gst/gsttagsetter.c:
2555         * gst/gsttagsetter.h:
2556         * gst/gsttrace.c:
2557         * gst/gsttrace.h:
2558         * gst/gsttypefind.h:
2559         * gst/gsturi.h:
2560         * gst/gstvalue.c:
2561         * gst/net/gstnetclientclock.c:
2562         * gst/net/gstnetclientclock.h:
2563         * gst/net/gstnettimepacket.c:
2564         * gst/net/gstnettimeprovider.c:
2565         * gst/net/gstnettimeprovider.h:
2566         Doc fixes.
2567
2568 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2569
2570         * configure.ac: back to HEAD
2571
2572 === release 0.9.6 ===
2573
2574 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2575
2576         * configure.ac:
2577           releasing 0.9.6, "Always On Time"
2578
2579 2005-11-23  Wim Taymans  <wim@fluendo.com>
2580
2581         * docs/gst/gstreamer-sections.txt:
2582         * gst/glib-compat.c:
2583         * gst/gsttagsetter.c:
2584         * gst/gstvalue.c:
2585         * gst/net/gstnetclientclock.c:
2586         * gst/net/gstnettimepacket.h:
2587         Doc updates.
2588
2589 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2590
2591         * docs/faq/using.xml:
2592         * docs/libs/tmpl/gstcontrol.sgml:
2593         * docs/manual/advanced-dparams.xml:
2594         * docs/manual/appendix-checklist.xml:
2595         * docs/manual/basics-elements.xml:
2596         * docs/pwg/other-source.xml:
2597         * docs/random/moving-plugins:
2598         * gst/gstpad.c:
2599         * tools/gst-launch.1.in:
2600           remove mentions of sinesrc
2601
2602 2005-11-23  Michael Smith <msmith@fluendo.com>
2603
2604         * docs/gst/gstreamer-sections.txt:
2605           Update for new API and API changes.
2606         * gst/gstobject.h:
2607           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2608         * gst/gstvalue.c:
2609           Documentation typo fix.
2610         * gst/net/gstnettimepacket.c:
2611           Documentation fixes for arguments.
2612
2613 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2614
2615         * gst/gststructure.c: (gst_structure_get_fraction),
2616         (gst_structure_parse_value),
2617         (gst_structure_fixate_field_nearest_fraction):
2618         * gst/gststructure.h:
2619         * gst/gstutils.c: (gst_util_uint64_scale_int):
2620         * gst/gstutils.h:
2621         * scripts/update-funcnames:
2622         API Changes. 
2623         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2624         Make gst_structure_fixate_field_nearest_fraction take a numerator
2625         and denominator argument instead of a GValue
2626         add gst_structure_get_fraction helper function.
2627
2628 2005-11-23  Wim Taymans  <wim@fluendo.com>
2629
2630         * docs/design/part-TODO.txt:
2631         Update TODO.
2632
2633         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2634         * gst/net/gstnetclientclock.h:
2635         Use parent fields for timeout and window_size.
2636
2637 2005-11-23  Andy Wingo  <wingo@pobox.com>
2638
2639         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2640         rate_num/rate_denom change.
2641
2642         * gst/net/gstnetclientclock.c
2643         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2644         OBJECT_LOCK. Don't call add_observation with the lock.
2645
2646         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2647         fraction.
2648         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2649         rate fraction.
2650         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2651         deal with rate as a fraction whose numerator and denominator are
2652         GstClockTime values.
2653         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2654         master; the other fields are protected by the SLAVE_LOCK.
2655         (do_linear_regression): Note that this must be called with the
2656         SLAVE_LOCK.
2657         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2658         OBJECT_LOCK. Call set_calibration instead of touching the
2659         variables directly.
2660         (gst_clock_set_property, gst_clock_get_property): Protect
2661         master/slave parameters with the SLAVE_LOCK.
2662
2663         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2664         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2665         note that all of the instance variables that add_observation and
2666         the set_master functions use are protected by that lock and not
2667         the OBJECT_LOCK.
2668         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2669
2670         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2671         the caller to take the object lock.
2672
2673 2005-11-23  Wim Taymans  <wim@fluendo.com>
2674
2675         * gst/gsterror.c: (_gst_core_errors_init):
2676         * gst/gsterror.h:
2677         Add error for clock stuff.
2678
2679         * gst/gstpipeline.c: (gst_pipeline_change_state),
2680         (gst_pipeline_set_clock):
2681         Post clock error when clock cannot be used in a pipeline.
2682
2683 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2684
2685         * docs/gst/gstreamer-sections.txt:
2686           make two symbols from gstinfo private for the docs
2687         * gst/base/gstcollectpads.h:
2688         * gst/gstutils.c:
2689           fix doc typos, update docs
2690
2691 2005-11-22  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2694         (gst_base_sink_wait), (gst_base_sink_do_sync),
2695         (gst_base_sink_handle_event):
2696         * gst/base/gstbasesink.h:
2697         No need to store the clock, the parent element class already
2698         has it.
2699
2700         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2701         Updates for clock_set returning a gboolean
2702
2703         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2704         (gst_clock_id_wait_async), (gst_clock_class_init),
2705         (gst_clock_init), (gst_clock_finalize),
2706         (gst_clock_get_internal_time), (gst_clock_get_time),
2707         (gst_clock_slave_callback), (gst_clock_set_master),
2708         (gst_clock_get_master), (do_linear_regression),
2709         (gst_clock_add_observation), (gst_clock_set_property),
2710         (gst_clock_get_property):
2711         * gst/gstclock.h:
2712         Implement master/slave. When setting a clock as a slave, a
2713         periodic timeout is scheduled to sample master and slave times.
2714         Then the slave clock is recalibrated to match offset and rate
2715         of the master clock.
2716         Update logging a bit.
2717         Add flag so that a clock can state that is cannot be slaved to
2718         another clock.
2719
2720         * gst/gstelement.c: (gst_element_set_clock):
2721         * gst/gstelement.h:
2722         The set clock returns a gboolean for when an element cannot
2723         deal with the selected clock in the pipeline. 
2724
2725         * gst/gstpipeline.c: (gst_pipeline_change_state),
2726         (gst_pipeline_set_clock):
2727         * gst/gstpipeline.h:
2728         Handle the case where the selected clock cannot be set on
2729         the pipeline.
2730
2731         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2732         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2733         (gst_net_client_clock_set_property),
2734         (gst_net_client_clock_get_property),
2735         (gst_net_client_clock_observe_times):
2736         * gst/net/gstnetclientclock.h:
2737         Use regression code in GstClock parent, remove duplicated
2738         functionality.
2739
2740 2005-11-22  Michael Smith <msmith@fluendo.com>
2741
2742         * gst/gstutils.c: (gst_util_clock_time_scale):
2743         * gst/gstutils.h:
2744         * docs/gst/gstreamer-sections.txt:
2745           Rename method to have extra underscore.
2746
2747 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2748
2749         * gst/elements/Makefile.am:
2750         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2751         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2752         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2753         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2754         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2755         * gst/elements/gstfakesrc.h:
2756         * gst/gstqueue.c: (queue_leaky_get_type):
2757           correctly fix GEnumValues so that nick is the short lowercase
2758           dashed tag
2759         * tools/gst-inspect.c: (print_element_properties_info):
2760           also show the nick, since it's useful to use from parse_launch
2761           syntax
2762           Fixes #322139
2763
2764 2005-11-22  Michael Smith <msmith@fluendo.com>
2765
2766         * gst/gstutils.c: (gst_util_clocktime_scale):
2767         * gst/gstutils.h:
2768         * docs/gst/gstreamer-sections.txt:
2769           Add util method for scaling a clocktime by a fraction. Useful 
2770           implementation is left as an exercise for the reader.
2771
2772 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2773
2774         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2775         If needed, allocate storage in the destination value during
2776         collection.
2777
2778 2005-11-22  Edward Hervey  <edward@fluendo.com>
2779
2780         * docs/gst/gstreamer-sections.txt:
2781         * gst/Makefile.am:
2782         * gst/gst.h:
2783         * gst/gsturitype.c:
2784         * gst/gsturitype.h:
2785         * gst/gstutils.c: (gst_util_set_object_arg):
2786         * tools/gst-compprep.c: (main):
2787         * tools/gst-inspect.c: (print_element_properties_info):
2788         Removed GstURI, closes bug #321061
2789
2790 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2791
2792         * check/gst/gststructure.c: (GST_START_TEST):
2793         * gst/gststructure.c: (gst_structure_parse_value):
2794           Oops, broke automatic string type parsing.
2795           Add a test to catch it in future.
2796
2797 2005-11-22  Andy Wingo  <wingo@pobox.com>
2798
2799         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2800         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2801         Actually rename the function implementations. Grr.
2802
2803 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2804
2805         * check/gst/capslist.h:
2806           Comment test cases
2807         * check/gst/gststructure.c: (GST_START_TEST),
2808         (gst_structure_suite):
2809           Test automatic value type detection in gst_structure_from_string.
2810         * gst/gststructure.c: (gst_structure_parse_value):
2811           Add fraction as a type we try and guess automatically in
2812           caps/structure strings.
2813
2814 2005-11-22  Andy Wingo  <wingo@pobox.com>
2815
2816         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2817
2818         * gst/gsttagsetter.h:
2819         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2820         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2821         (gst_tag_setter_add_tag_valist)
2822         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2823         _add_values, _add_valist, and _add_valist_values. Since this is an
2824         interface the function suffixes should be more explicit so
2825         language binding don't end up with element.add_valist ->
2826         gst_tag_setter_add_valist, for example. Fixes #322069.
2827
2828 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2829
2830         * check/gst/gstcaps.c: (GST_START_TEST):
2831           Extend caps string tests to check that a caps to string
2832           conversion is reversible and produces the same caps.
2833
2834         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2835           Output "fraction" as the generic type fraction range, so caps
2836           serialisation and deserialisation works.
2837         * check/gst/capslist.h:
2838         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2839           Support 'MIN' and 'MAX' for deserialising fractions.
2840
2841 2005-11-22  Andy Wingo  <wingo@pobox.com>
2842
2843         * gst/gstevent.h (gst_event_new_new_segment)
2844         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2845         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2846         Renamed from *_newsegment, *_buffersize, *_notarget.
2847
2848         * scripts/update-funcnames: New script, performs the changes
2849         listed above.
2850
2851 2005-11-22  Wim Taymans  <wim@fluendo.com>
2852
2853         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2854         Make sure the GstFlowReturn is returned.
2855
2856         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2857         (gst_bus_add_signal_watch):
2858         * gst/gstbus.h:
2859         add gst_bus_add_signal_watch_full.
2860
2861         * gst/gstplugin.c: (gst_plugin_load_file):
2862         Small style cleanup.
2863
2864 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2865
2866         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2867           Block the fakesrc srcpad when we send an event, to avoid
2868           contention on the stream_lock causing random test failures.
2869
2870 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2871
2872         * check/gst/gstvalue.c: (GST_START_TEST):
2873         * gst/gstvalue.c: (gst_value_fraction_subtract):
2874           Fix subtraction.
2875
2876 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2877
2878         * gst/gst.h:
2879           include "gstchildproxy.h"
2880         * gst/gstchildproxy.h:
2881         * libs/gst/controller/gstcontroller.h:
2882           use G_GNUC_NULL_TERMINATED
2883
2884 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2885
2886         * check/gst/capslist.h:
2887         * check/gst/gstcaps.c: (GST_START_TEST):
2888         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2889         * gst/gststructure.c: (gst_structure_parse_range),
2890         (gst_structure_fixate_field_nearest_fraction):
2891         * gst/gststructure.h:
2892         * gst/gstvalue.c: (gst_value_init_fraction_range),
2893         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2894         (gst_value_collect_fraction_range),
2895         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2896         (gst_value_set_fraction_range_full),
2897         (gst_value_get_fraction_range_min),
2898         (gst_value_get_fraction_range_max),
2899         (gst_value_serialize_fraction_range),
2900         (gst_value_transform_fraction_range_string),
2901         (gst_value_compare_fraction_range),
2902         (gst_value_deserialize_fraction_range),
2903         (gst_value_intersect_fraction_fraction_range),
2904         (gst_value_intersect_fraction_range_fraction_range),
2905         (gst_value_subtract_fraction_fraction_range),
2906         (gst_value_subtract_fraction_range_fraction),
2907         (gst_value_subtract_fraction_range_fraction_range),
2908         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2909         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2910         (gst_value_transform_string_fraction), (_gst_value_initialize):
2911         * gst/gstvalue.h:
2912           Implement fraction ranges and extend GstFraction to support
2913           arithmetic subtraction, as well as deserialization from integer
2914           strings such as "100"
2915           Add a testsuite as for int and double range set operations
2916
2917 2005-11-21  Andy Wingo  <wingo@pobox.com>
2918
2919         * gst/gsttaglist.h: 
2920         * gst/gstcaps.h: 
2921         * gst/gststructure.h: Add glib-compat.h.
2922
2923 2005-11-21  Wim Taymans  <wim@fluendo.com>
2924
2925         * gst/gstbin.c: (gst_bin_change_state_func):
2926         Fix for #321595
2927
2928 2005-11-21  Wim Taymans  <wim@fluendo.com>
2929
2930         * gst/gstsegment.h:
2931         And add a nice define too.
2932
2933 2005-11-21  Wim Taymans  <wim@fluendo.com>
2934
2935         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2936         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2937         (gst_segment_set_duration), (gst_segment_set_last_stop),
2938         (gst_segment_set_seek), (gst_segment_set_newsegment),
2939         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2940         (gst_segment_clip):
2941         * gst/gstsegment.h:
2942         Make binding friendly.
2943
2944 2005-11-21  Andy Wingo  <wingo@pobox.com>
2945
2946         * gst/gsttagsetter.h: 
2947         * gst/gsttaglist.h: 
2948         * gst/gststructure.h: 
2949         * gst/gstcaps.h: 
2950         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2951         #319940.
2952
2953         * gst/gsterror.c (_gst_core_errors_init):
2954         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2955         category.
2956
2957         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2958         (noinst_HEADERS): noinst the -private.
2959
2960 2005-11-21  Michael Smith <msmith@fluendo.com>
2961
2962         * gst/gstplugin.h:
2963         * gst/gstregistry.h:
2964           Remove unimplemented declarations for which we can see no sensible
2965           use.
2966
2967 2005-11-21  Andy Wingo  <wingo@pobox.com>
2968
2969         * gst/gst.h: Include glib-compat.h.
2970
2971         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2972
2973         * gst/glib-compat.c: Include the public and the private header.
2974
2975         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2976
2977         * gst/gstvalue.c: 
2978         * gst/gstpad.c: 
2979         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2980
2981         * check/gst/gstevent.c (create_custom_events): Check that
2982         FLUSH_STOP is serialized.
2983
2984         * check/elements/identity.c (event_func): 
2985         * check/elements/fakesrc.c (event_func): No stream lock, the core
2986         takes it.
2987
2988         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2989         stream lock taking, yay.
2990
2991         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2992         ensure that core takes the stream lock.
2993
2994         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2995         lock name change.
2996
2997         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2998         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2999         it already. For the flush start we do take it though so we get the
3000         right preroll state change messages.
3001
3002         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3003         the stream lock here, the core does it for us.
3004
3005         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3006         GST_STREAM_GET_LOCK.
3007         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3008         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3009         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3010         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3011         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3012         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3013
3014         * gst/gstpad.c: Update for stream lock name change.
3015
3016         * gst/base/gstbasesink.c: Update for preroll lock name change.
3017
3018 2005-11-21  Wim Taymans  <wim@fluendo.com>
3019
3020         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3021         (gst_clock_get_master):
3022         * gst/gstclock.h:
3023         * gst/gstsystemclock.c: (gst_system_clock_init):
3024         Convert Clock flags to object flags.
3025         Added methods to manage master/slave clocks.
3026
3027 2005-11-21  Wim Taymans  <wim@fluendo.com>
3028
3029         * check/gst/gstsegment.c: (GST_START_TEST):
3030         * docs/design/part-TODO.txt:
3031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3032         (gst_base_sink_event), (gst_base_sink_do_sync),
3033         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3034         (gst_base_sink_query), (gst_base_sink_change_state):
3035         * gst/base/gstbasesink.h:
3036         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3037         (gst_base_src_default_newsegment),
3038         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3039         (gst_base_src_get_range), (gst_base_src_loop),
3040         (gst_base_src_change_state):
3041         * gst/base/gstbasesrc.h:
3042         * gst/base/gstbasetransform.c:
3043         (gst_base_transform_prepare_output_buf),
3044         (gst_base_transform_event), (gst_base_transform_change_state):
3045         * gst/base/gstbasetransform.h:
3046         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3047         (gst_collect_pads_event):
3048         * gst/base/gstcollectpads.h:
3049         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3050         (gst_fake_src_create):
3051         * gst/elements/gstfakesrc.h:
3052         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3053         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3054         (gst_segment_set_last_stop), (gst_segment_set_seek),
3055         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3056         (gst_segment_to_running_time), (gst_segment_clip):
3057         * gst/gstsegment.h:
3058         More segment updates, replace code in plugins with segment
3059         helper functions.
3060
3061 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3062
3063         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3064         Don't ignore sscanf results
3065
3066 2005-11-21  Andy Wingo  <wingo@pobox.com>
3067
3068         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3069
3070         * *.h:
3071         * *.c: Ran scripts/update-macros. Oh yes.
3072
3073         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3074         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3075         GST_GET_LOCK, etc.
3076
3077         * scripts/update-macros: New script. Run it on your files to
3078         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3079         well.
3080
3081 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3082
3083         * docs/gst/Makefile.am:
3084         * docs/gst/gstreamer-docs.sgml:
3085         * docs/gst/gstreamer-sections.txt:
3086         * docs/gst/gstreamer.types:
3087         * gst/gstinfo.h:
3088           more docs fixes, add new api to the docs
3089
3090 2005-11-21  Andy Wingo  <wingo@pobox.com>
3091
3092         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3093         state_broadcast call.
3094
3095         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3096
3097 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3098
3099         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3100         function calls for arrays.
3101
3102 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3103
3104         * docs/random/ensonic/media-device-daemon.txt:
3105           wild idea, can this be done?
3106         * docs/gst/gstreamer-sections.txt:
3107         * gst/gsterror.h:
3108         * gst/gstfilter.c:
3109         * gst/gstfilter.h:
3110         * gst/gstplugin.h:
3111         * gst/gstpluginfeature.c:
3112         * gst/gsttrace.c:
3113         * gst/gstvalue.c:
3114         * gst/gstvalue.h:
3115           doc fixes and additions
3116
3117 2005-11-21  Andy Wingo  <wingo@pobox.com>
3118
3119         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3120         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3121         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3122         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3123         private to the basesrc implementation.
3124
3125         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3126         behalf of event function if necessary. It should no longer be
3127         necessary to take the stream lock in pad's event functions. Fixes
3128         #320299.
3129
3130 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3131         * docs/gst/gstreamer-sections.txt:
3132         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3133         (gst_structure_fixate_field_nearest_double),
3134         (gst_structure_fixate_field_boolean):
3135         * gst/gststructure.h:
3136         * win32/common/libgstreamer.def:
3137         * win32/gstreamer.def:
3138
3139         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3140         (#322027)
3141
3142 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3143
3144         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3145         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3146         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3147         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3148         (gst_fdsrc_uri_handler_init):
3149         * gst/elements/gstfdsrc.h:
3150           Port fd:// URI handler from 0.8 to fdsrc
3151
3152 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3153
3154         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3155         (gst_value_serialize_fourcc):
3156         * gst/gstvalue.h:
3157           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3158           consistent with our other format defines (#320324).
3159
3160 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst/gstvalue.c: (gst_value_is_fixed):
3163           Revert previous commit. Value lists are by definition
3164           not fixed, as they are a list of possible values.
3165
3166 2005-11-21  Andy Wingo  <wingo@pobox.com>
3167
3168         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3169         during the stable series if we need it. Fixes #319178.
3170
3171         * gst/gstevent.c (gst_event_new_filler): Removed.
3172
3173         * check/gst/gstevent.c: Update comment about filler events.
3174
3175 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3176
3177         * gst/gstvalue.c: (gst_value_is_fixed):
3178           Should handle both value arrays and value lists.
3179
3180 2005-11-21  Andy Wingo  <wingo@pobox.com>
3181
3182         patch by: Alessandro Dessina <alessandro nnva org>
3183
3184         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3185         functions to access arrays. Fixes #321962.
3186
3187 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3188
3189         * docs/gst/gstreamer.types:
3190           gst_collectpads_get_type => gst_collect_pads_get_type.
3191           
3192         * gst/base/gstbasetransform.c:
3193           Remove unused SIGNAL_HANDOFF enum.
3194
3195 2005-11-21  Andy Wingo  <wingo@pobox.com>
3196
3197         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3198         the event type (upstream, downstream, serialized). Renamed
3199         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3200         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3201         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3202
3203         * gst/gstevent.c: Update for new CUSTOM event names.
3204
3205         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3206
3207         * gst/gstevent.h:
3208         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3209         bug #319392.
3210
3211 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3212
3213         * docs/gst/gstreamer-sections.txt:
3214         * win32/common/libgstbase.def:
3215         * win32/libgstbase.def:
3216         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3217         (gst_collect_pads_class_init), (gst_collect_pads_init),
3218         (gst_collect_pads_finalize), (gst_collect_pads_new),
3219         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3220         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3221         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3222         (gst_collect_pads_start), (gst_collect_pads_stop),
3223         (gst_collect_pads_peek), (gst_collect_pads_pop),
3224         (gst_collect_pads_available), (gst_collect_pads_read),
3225         (gst_collect_pads_flush), (gst_collect_pads_event),
3226         (gst_collect_pads_chain):
3227         * gst/base/gstcollectpads.h:
3228           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3229           unimplemented functions as unimplemented. Add padding to
3230           GstCollectData. (#320766, #320423)
3231
3232 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3233
3234         * gst/gstmessage.c:
3235           Improve docs for DURATION message (usage of duration parameter)
3236           (#320113)
3237
3238 2005-11-20  Wim Taymans  <wim@fluendo.com>
3239
3240         * check/Makefile.am:
3241         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3242         (main):
3243         * gst/Makefile.am:
3244         * gst/gst.h:
3245         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3246         (gst_segment_set_seek), (gst_segment_set_newsegment),
3247         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3248         (gst_segment_clip):
3249         * gst/gstsegment.h:
3250         Added segment helper structure and methods. Not fully implemented
3251         yet.
3252         Added segment check.
3253
3254 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3255
3256         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3257           Add a deserialisation test for fractions
3258         * examples/metadata/read-metadata.c: (message_loop),
3259         (make_pipeline), (main):
3260           Fix up metadata reading sample.
3261         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3262           Debug format fix
3263         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3264           Don't try and fixate empty caps
3265         * gst/gst_private.h:
3266           Wrap in G_BEGIN_DECLS/G_END_DECLS
3267         * gst/gstvalue.c: (gst_value_collect_fraction),
3268         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3269         (gst_value_transform_string_fraction),
3270         (gst_value_compare_fraction):
3271           Add some extra guards to ensure that we don't end up 
3272           with an invalid denominator of 0 in a gstfraction and
3273           that fractions always get reduced.
3274
3275 2005-11-20  Wim Taymans  <wim@fluendo.com>
3276
3277         * docs/gst/gstreamer-sections.txt:
3278         * gst/gstbuffer.h:
3279         * gst/gstelement.c:
3280         * gst/gstformat.c:
3281         * gst/gstformat.h:
3282         * gst/gstindex.h:
3283         * gst/gstquery.c:
3284         * gst/gstquery.h:
3285         * gst/gstvalue.c:
3286         Doc fixes.
3287
3288 2005-11-20  Wim Taymans  <wim@fluendo.com>
3289
3290         * docs/design/part-TODO.txt:
3291         * gst/gstcaps.h:
3292         Make a proper enum of the flag.
3293
3294 2005-11-19  Wim Taymans  <wim@fluendo.com>
3295
3296         * docs/design/part-TODO.txt:
3297         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3298         (gst_format_to_quark), (gst_format_register):
3299         * gst/gstformat.h:
3300         * gst/gstquery.c: (_gst_query_initialize),
3301         (gst_query_type_get_name), (gst_query_type_to_quark),
3302         (gst_query_type_register):
3303         * gst/gstquery.h:
3304         Add type to quark and type to string conversions.
3305
3306 2005-11-19  Andy Wingo  <wingo@pobox.com>
3307
3308         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3309         #320097.
3310
3311 2005-11-19  Wim Taymans  <wim@fluendo.com>
3312
3313         * docs/design/part-TODO.txt:
3314         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3315         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3316         (gst_bin_handle_message_func):
3317         * gst/gstbin.h:
3318         Make message handling overridable.
3319
3320 2005-11-19  Andy Wingo  <wingo@pobox.com>
3321
3322         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3323
3324         * gst/gstclock.h:
3325         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3326         be a GstClockTime.
3327         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3328         is a GstClockTime. Fixes #321710.
3329
3330         * gst/gstclock.h (GstClock): Remove offset property. Add
3331         internal_calibration and external_calibration. Fix padding. Pad
3332         also by GstClockTime so we don't run into problems.
3333
3334         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3335         (gst_clock_get_rate_offset): Remove.
3336         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3337
3338         * gst/gstutils.h:
3339         * gst/gstutils.c (g_static_rec_cond_wait)
3340         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3341
3342         * gst/gstbin.c: Remove terrible continue_state prototype.
3343
3344         * gst/gstelement.h (gst_element_continue_state): Make public.
3345
3346         * gst/gstelement.h:
3347         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3348         by continue_state. Fixes #319389.
3349
3350         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3351         Really fixes #168438. However I don't see anywhere where the
3352         filter function is called... stupid GStreamer...
3353         
3354         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3355         don't have a dispose function, so it won't get called when the
3356         object is unreffed, but oh well!
3357
3358         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3359         allows a destroy function to be set so user_data can be freed.
3360         Fixes #168438.
3361         (gst_index_set_filter): Call gst_index_set_filter_full.
3362
3363         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3364
3365         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3366         string should produce an error, given the lack of a way to
3367         represent NULL strings. Fixes #165650.
3368         
3369         * gst/gstvalue.h: 
3370         * gst/gstvalue.c (gst_value_array_append_value) 
3371         (gst_value_array_prepend_value, gst_value_array_get_size) 
3372         (gst_value_array_get_value): New API, copied from
3373         gst_value_list_*, only operates on arrays.
3374         (gst_value_list_append_value, gst_value_list_prepend_value) 
3375         (gst_value_list_concat, gst_value_list_get_size) 
3376         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3377
3378         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3379         init_list, because it works on both.
3380         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3381         (gst_value_copy_list_or_array): Renamed from copy_list.
3382         (gst_value_free_list_or_array): Renamed from free_list.
3383         (gst_value_collect_list_or_array): Renamed from collect_list.
3384         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3385         (gst_value_list_or_array_peek_pointer): Renamed from
3386         list_peek_pointer.
3387         (_gst_value_array_value_table, _gst_value_list_value_table):
3388         Update value table functions.
3389         (gst_value_compare_list_or_array): Renamed from compare_list.
3390
3391         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3392         some constness.
3393
3394         * gst/gsttaglist.c:
3395         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3396         GstTagList*. Fixes #143472.
3397
3398         * gst/gststructure.h: Clarify what the foreach/map functions can
3399         or can't do to their arguments.
3400
3401 2005-11-18  Wim Taymans  <wim@fluendo.com>
3402
3403         * gst/gstclock.c: (gst_clock_set_calibration),
3404         (gst_clock_get_calibration):
3405         Doc and API fixes.
3406         Calibration can be set with internal time equal to current
3407         internal time too.
3408
3409 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3410
3411         * gst/gsterror.c:
3412         * gst/gsterror.h:
3413           document
3414
3415 2005-11-18  Andy Wingo  <wingo@pobox.com>
3416
3417         * configure.ac: 
3418         * pkgconfig/gstreamer-net.pc.in:
3419         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3420         * pkgconfig/Makefile.am: Add net pkgconfig files.
3421
3422 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3423
3424         * gst/gstcaps.c:
3425         * gst/gstghostpad.c:
3426         * gst/gsttrace.c:
3427         * gst/gstvalue.c:
3428         * gst/gstvalue.h:
3429           docs fixes
3430
3431 2005-11-18  Andy Wingo  <wingo@pobox.com>
3432
3433         * gst/net/gstnetclientclock.c: Turn off debugging.
3434
3435         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3436         times connverge somewhat. Can't make a real test.
3437
3438         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3439         integer arithmetic. Return the minimum of the domain, which can be
3440         set as "internal" for gst_clock_set_calibration.
3441         (gst_net_client_clock_observe_times): Call _set_calibration.
3442         (gst_net_client_clock_new): Call _set_calibration instead of
3443         rate_offset.
3444
3445         * check/net/gstnetclientclock.c (test_functioning): Use the right
3446         adjustment api.
3447
3448         * gst/gstclock.h:
3449         * gst/gstclock.c (gst_clock_get_calibration) 
3450         (gst_clock_set_calibration): New functions, obsolete the ones I
3451         added yesterday. Doh. Precision issues mean we have to extrapolate
3452         from a point in the more recent past than 1970.
3453         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3454         obsolete.
3455         (gst_clock_adjust_unlocked): Use the right calibration data.
3456
3457 2005-11-18  Edward Hervey  <edward@fluendo.com>
3458
3459         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3460         Also reset the ->current_* values in READY->PAUSED
3461
3462 2005-11-18  Andy Wingo  <wingo@pobox.com>
3463
3464         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3465         Whoops, check the right fd. Also add some debugging.
3466         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3467         (do_linear_regression): Add a crapload of debugging. Subtract off
3468         the minimum values from the input series to discard unneeded bits.
3469         Use only int arithmetic. There is still double arithmetic when
3470         calculating the intercept that needs fixing. Return boolean to
3471         indicate success; FALSE would mean the domain or range is too
3472         great. Still needs fixes.
3473
3474 2005-11-18  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3477         For the current position in stream time, we need to subtract
3478         accumulated time.
3479         
3480         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3481         Release lock before calling the callback function of async
3482         entries.
3483
3484 2005-11-18  Andy Wingo  <wingo@pobox.com>
3485
3486         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3487         Port goes all the way to MAXUINT16.
3488
3489         * gst/net/gstnettimeprovider.c: Make the port range the same as
3490         for the kernel: 0 assigns, otherwise ports are less than
3491         MAXUINT16.
3492
3493         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3494         port change.
3495
3496         * check/net/gstnetclientclock.c (test_functioning): Add the start
3497         of another test. 
3498
3499 2005-11-18  Wim Taymans  <wim@fluendo.com>
3500
3501         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3502         (gst_bin_remove_func), (bin_bus_handler):
3503         * gst/gstbin.h:
3504         Removing a clock provider from a bin, triggers a clock lost message
3505         so that a new clock will be selected.
3506         Adding a clock to a bin triggers a clock provider message.
3507         Make sure we reselect a clock when we received a clock lost message.
3508         Keep a reference to the element that provided the clock.
3509
3510 2005-11-18  Andy Wingo  <wingo@pobox.com>
3511
3512         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3513         the clock initially so it produces values around the base time.
3514         (gst_net_client_clock_class_init): Typo fix.
3515         (gst_net_client_clock_thread): Add note on when the socket gets
3516         closed.
3517
3518 2005-11-17  Wim Taymans  <wim@fluendo.com>
3519
3520         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3521         Free remote and local time arrays.
3522
3523 2005-11-17  Wim Taymans  <wim@fluendo.com>
3524
3525         * gst/net/gstnetclientclock.c: (do_linear_regression),
3526         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3527         Fix compilation, uninitialized vars and a forgotten continue.
3528
3529 2005-11-17  Andy Wingo  <wingo@pobox.com>
3530
3531         * check/Makefile.am (check_PROGRAMS): 
3532         * check/net/gstnetclientclock.c: Add a most minimal test for the
3533         net client clock. More to come later.
3534
3535         * gst/net/gstnet.h: 
3536         * gst/net/Makefile.am: Add netclientclock.
3537
3538         * gst/net/gstnetclientclock.h:
3539         * gst/net/gstnetclientclock.c: New files, implement an untested
3540         GstClock that takes its time from a network time provider.
3541         Implements the algorithm in network-clock.scm.
3542
3543         * tests/network-clock.scm (*window-size*): Rename from
3544         *queue-length*.
3545         * tests/network-clock.scm (network-time): 
3546         * tests/network-clock-utils.scm (q-push): Update callers.
3547
3548 2005-11-17  Wim Taymans  <wim@fluendo.com>
3549
3550         * gst/gstbin.c: (gst_bin_provide_clock_func),
3551         (gst_bin_sort_iterator_new):
3552         And unref the child too..
3553
3554 2005-11-17  Wim Taymans  <wim@fluendo.com>
3555
3556         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3557         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3558         Refactor the sort iterator so it can be used while holding the
3559         LOCK too.
3560         Make clock selection select a clock closest to the source.
3561
3562 2005-11-17  Michael Smith <msmith@fluendo.com>
3563
3564         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3565         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3566         * gst/gstclock.h:
3567           Anonymous structs are a gcc (and some other compilers) extension, so
3568           don't use them. Since this is only for ABI-compatibility, and our
3569           API/ABI freeze is over in a few days, this whole thing will only
3570           last a few days, so don't bother trying to think up a meaningful
3571           name for the struct.
3572
3573 2005-11-17  Andy Wingo  <wingo@pobox.com>
3574
3575         * gst/gstclock.h (GstClock): Add rate and offset properties,
3576         preserving ABI stability. Add rate/offset accessors. Will file bug
3577         for the freeze break.
3578
3579         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3580         and offset, trying to keep precision and avoiding
3581         underflow/overflow.
3582         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3583         functions. Make gst_clock_set_time_adjust obsolete.
3584         (gst_clock_set_time_adjust): Note that this function is obsolete.
3585         Will file bug soon.
3586
3587         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3588         greppable by using GST_PADDING-1+1.
3589
3590 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3591
3592         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3593
3594         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3595           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3596
3597         * gst/gstpadtemplate.h:
3598         * gst/gstpluginfeature.h:
3599           Don't use c++ style comments in headers (#321638).
3600
3601 2005-11-16  Andy Wingo  <wingo@pobox.com>
3602
3603         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3604         buffer.
3605
3606         * check/net/gstnettimeprovider.c: Check to see that the time
3607         provider actually provides times. Works, yo!
3608
3609 2005-11-16  Wim Taymans  <wim@fluendo.com>
3610
3611         * check/Makefile.am:
3612         Enable more tests.
3613
3614         * check/elements/fakesrc.c: (GST_START_TEST):
3615         Set element to NULL before disposing it.
3616
3617 2005-11-16  Andy Wingo  <wingo@pobox.com>
3618
3619         * gst/net/Makefile.am:
3620         * gst/net/gstnet.h:
3621         * gst/net/gstnettimeprovider.c: 
3622         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3623         provider, include it from gstnet.h, and add it to the build.
3624
3625         * gst/net/gstnettimepacket.h: 
3626         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3627         sending and receiving.
3628
3629 2005-11-16  Wim Taymans  <wim@fluendo.com>
3630
3631         * check/Makefile.am:
3632         Enable valgrind check.
3633
3634         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3635         (gst_fake_src_alloc_buffer):
3636         Fix memleak.
3637
3638 2005-11-16  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3641         Call parent finalize too.
3642
3643 2005-11-16  Wim Taymans  <wim@fluendo.com>
3644
3645         * check/Makefile.am:
3646         Enable valgrind check that should work fine now.
3647
3648         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3649         * gst/gstqueue.c: (gst_queue_init):
3650         Fix memleaks in pad allocation.
3651
3652 2005-11-16  Andy Wingo  <wingo@pobox.com>
3653
3654         * gst/net/Makefile.am:
3655         * gst/net/gstnet.h: New part of core to hold network elements and
3656         objects. Put in core because it exposes API that applications want
3657         to use. The library is named libgstnet-tempname right now because
3658         of the existing libgstnet in gst-plugins-base. Solution is
3659         probably to rename the one in plugins-base; will file a bug for
3660         the freeze break.
3661
3662         * gst/net/gstnettimeprovider.c: 
3663         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3664         get_time call over the network.
3665
3666         * configure.ac: 
3667         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3668
3669         * check/Makefile.am:
3670         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3671         get additions shortly.
3672
3673 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3674
3675         * gst/gstpad.c: (gst_pad_new_from_static_template):
3676         * gst/gstpad.h:
3677           add gst_pad_new_from_static_template functions
3678         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3679         (gst_check_setup_sink_pad):
3680         * gst/elements/gsttee.c: (gst_tee_init):
3681           and use them
3682
3683 2005-11-16  Wim Taymans  <wim@fluendo.com>
3684
3685         * gst/gstpad.c: (gst_pad_pause_task):
3686         Removed warning, it's not really an error either.
3687
3688 2005-11-16  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/base/gstbasetransform.c:
3691         (gst_base_transform_prepare_output_buf),
3692         (gst_base_transform_event):
3693         Check if the caps are NULL, this can happen if the element
3694         is shutting down and the pad caps are set to NULL.
3695
3696 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * gst/elements/gsttee.c: (gst_tee_init):
3699           fix pad template leak in tee
3700
3701 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3702
3703         * gst/glib-compat.c: (g_value_dup_gst_object):
3704         * gst/glib-compat.h:
3705         * gst/gstpad.c: (gst_pad_set_property):
3706           use gst_object_ref when setting the pad template; this will
3707           trigger the pad template leaks on GLib 2.6 and the slaves
3708
3709 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3710
3711         * gst/glib-compat.c: (gst_flags_get_first_value):
3712         * gst/glib-compat.h:
3713         * gst/gstregistryxml.c:
3714           remove functions copied from GLib 2.6
3715
3716 2005-11-16  Michael Smith <msmith@fluendo.com>
3717
3718         * gst/Makefile.am:
3719           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3720           do, but only breaks with newer valgrind versions. We're not a
3721           valgrind tool, we have no link-time dependencies on libcoregrind.
3722
3723 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3724
3725         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3726           some debug changes
3727         * gst/gstmessage.h:
3728           typo fixes
3729
3730 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3731
3732         * gst/base/gstbasesrc.c: (gst_base_src_init):
3733         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3734         * gst/gstqueue.c: (gst_queue_init):
3735         * gst/gstregistryxml.c: (load_feature):
3736           Revert all these unrefs, they don't even pass make check !
3737
3738 2005-11-15  Johan Dahlin  <johan@gnome.org>
3739
3740         * gst/base/gstbasesrc.c: (gst_base_src_init):
3741         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3742         * gst/gstqueue.c: (gst_queue_init): 
3743         Free pad templates, fixes a couple of leaks.
3744
3745 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3746
3747         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3748
3749         * gst/gstpad.c: (gst_pad_get_property):
3750           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3751           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3752           (#321452)
3753
3754 2005-11-15  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/gstevent.c:
3757         Small doc update.
3758
3759 2005-11-15  Andy Wingo  <wingo@pobox.com>
3760
3761         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3762
3763         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3764         using GST_CLOCK_TIME_NONE to disable base time management.
3765         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3766         time if it was NONE before.
3767         (gst_pipeline_change_state): Only munge the base time if
3768         stream_time != GST_CLOCK_TIME_NONE.
3769
3770         * check/gst/gstpipeline.c (test_base_time): Punt around the
3771         problem of the probe not being called, because that's not the
3772         issue I'm looking at. Add a check that setting stream_time to NONE
3773         disables base time management.
3774         
3775 2005-11-15  Wim Taymans  <wim@fluendo.com>
3776
3777         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3778         segment_stop == -1 at startup.
3779
3780         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3781         (gst_base_transform_change_state):
3782         Init segment values at start.
3783
3784 2005-11-15  Wim Taymans  <wim@fluendo.com>
3785
3786         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3787         0 segment values are 0 in any format.
3788
3789         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3790         * gst/base/gstbasetransform.h:
3791         Parse newsegment correctly in basetransform
3792
3793         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3794         Sync to clock using updated segment values.
3795
3796 2005-11-15  Andy Wingo  <wingo@pobox.com>
3797
3798         * check/gst/gstpipeline.c (test_base_time): Add check that the
3799         base time and stream time are reset correctly.
3800
3801 2005-11-15  Wim Taymans  <wim@fluendo.com>
3802
3803         * docs/design/part-TODO.txt:
3804         Some more TODO items.
3805
3806 2005-11-15  Andy Wingo  <wingo@pobox.com>
3807
3808         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3809         error if the user selected "no clock" as the clocking method.
3810
3811         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3812         timestamps with live capture.
3813
3814         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3815         is 0 but we are a live source, timestamp the buffers using the
3816         element's clock.
3817
3818 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3819
3820         * docs/gst/gstreamer-sections.txt:
3821         * gst/gsterror.c:
3822         * gst/gstghostpad.c:
3823         * gst/gstobject.h:
3824         * gst/gstxml.c:
3825           more section docs
3826
3827 2005-11-14  Wim Taymans  <wim@fluendo.com>
3828
3829         * common/gst.supp:
3830           add suppressions from Wim's Debian machine
3831
3832 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3833
3834         * common/gst.supp:
3835           add suppressions from Andy's AMD64 Ubuntu machine
3836
3837 2005-11-14  Andy Wingo  <wingo@pobox.com>
3838
3839         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3840         STATE_LOCK not necessary. Fixes #311489.
3841
3842         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3843         #305291.
3844
3845         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3846         this function is not implemented.
3847
3848 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3849
3850         * gst/base/gstbasetransform.c:
3851         (gst_base_transform_prepare_output_buf):
3852         Ref the source pad caps while we need them.
3853         Fixes (#321386)
3854
3855 2005-11-11  Wim Taymans  <wim@fluendo.com>
3856
3857         * docs/gst/gstreamer-sections.txt:
3858         Added some docs for GstCollectData.
3859
3860         * gst/base/gstadapter.c:
3861         Some small code example fix.
3862
3863         * gst/base/gstcollectpads.c:
3864         * gst/base/gstcollectpads.h:
3865         Document some more.
3866
3867 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3868
3869         * configure.ac: back to HEAD
3870
3871 === release 0.9.5 ===
3872
3873 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3874
3875         * configure.ac:
3876           releasing 0.9.5, "Bike Lunch Day"
3877
3878 2005-11-11  Wim Taymans  <wim@fluendo.com>
3879
3880         * gst/gstbuffer.c: (_gst_buffer_copy):
3881         Copy more flags.
3882
3883         * gst/gstcaps.c: (gst_caps_is_equal):
3884         Fix some docs.
3885         Make _is_equal fast in the trivial cases.
3886
3887         * gst/gstminiobject.c:
3888         * gst/gstminiobject.h:
3889         More docs. Spifify .h file.
3890
3891         * gst/gstutils.c:
3892         Small doc update.
3893
3894 2005-11-11  Wim Taymans  <wim@fluendo.com>
3895
3896         * gst/base/gstbasetransform.c:
3897         (gst_base_transform_prepare_output_buf),
3898         (gst_base_transform_handle_buffer):
3899         Small cleanups.
3900         If we're processing a buffer and need to allocate an output
3901         buffer, we cannot accept a format change. If we did get a 
3902         format change, we have to alloc a buffer ourselves of the 
3903         right size.
3904
3905 2005-11-11  Wim Taymans  <wim@fluendo.com>
3906
3907         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3908         While checking the flag for reentrancy in the gstcaps function
3909         is nice to detect recursive invocations, it also makes it 
3910         impossible to call getcaps from multiple threads, which must be
3911         possible. So, checking for recursive calls has to go.
3912
3913 2005-11-11  Michael Smith <msmith@fluendo.com>
3914
3915         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3916           Don't sync on buffers that fall partially outside our current
3917           segment. Prevents an assertion failure/abort playing some files.
3918
3919 2005-11-10  Andy Wingo  <wingo@pobox.com>
3920
3921         * check/gst/gstbin.c (test_message_state_changed_children): Style
3922         fix..
3923
3924         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3925         gst_bus_poll with the signal watch. Ensures that poll and a signal
3926         watch see the same messages.
3927
3928         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3929         a poll and a watch at the same time get the same messages.
3930
3931 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3932
3933         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3934         * gst/gstcaps.c: (gst_caps_intersect):
3935           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3936           and it's not needed.
3937
3938 2005-11-10  Wim Taymans  <wim@fluendo.com>
3939
3940         * docs/design/part-TODO.txt:
3941         Updated todo.
3942
3943 2005-11-10  Wim Taymans  <wim@fluendo.com>
3944
3945         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3946         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3947         (gst_base_src_do_sync), (gst_base_src_get_range):
3948         Implement clock sync in base class.
3949
3950 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3951
3952         patch by: Tim-Philipp Müller <tim at centricular dot net>
3953
3954         * gst/gststructure.c: (gst_structure_parse_field),
3955         (gst_structure_from_string):
3956           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3957           so that gst_parse_launch() can deal with spaces in filtered link
3958           caps (fixes #164479)
3959         * check/gst/capslist.h:
3960         * check/gst/gststructure.c: (GST_START_TEST):
3961           add unit tests for this change
3962
3963 2005-11-10  Wim Taymans  <wim@fluendo.com>
3964
3965         * docs/gst/gstreamer-sections.txt:
3966         * gst/gstelement.c:
3967         * gst/gstelement.h:
3968         Fix docs, move some STATE macros to private.
3969
3970 2005-11-10  Wim Taymans  <wim@fluendo.com>
3971
3972         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3973         Added check for bug #317341
3974
3975         * gst/gstbuffer.c:
3976         * gst/gstbuffer.h:
3977         Some more spiffifying.
3978
3979         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3980         Call peer linkfunction if we are a source pad. Totally fixes
3981         #317341
3982
3983         * gst/gstpad.c:
3984         Update docs, source pads should call the peer linkfunction
3985         so they can atomically perform the pad link.
3986
3987 2005-11-09  Wim Taymans  <wim@fluendo.com>
3988
3989         * gst/gstbuffer.c:
3990         * gst/gstbuffer.h:
3991         Uber-spiffy-spiffify some more.
3992
3993 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3994
3995         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3996         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3997         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3998         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3999         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4000         * gst/gstpad.c: (gst_pad_init):
4001           Use GST_DEBUG_FUNCPTR() more extensively.
4002
4003 2005-11-09  Wim Taymans  <wim@fluendo.com>
4004
4005         * gst/gstobject.c: (gst_object_class_init):
4006         * gst/gstobject.h:
4007         Documentation fixes.
4008
4009 2005-11-09  Edward Hervey  <edward@fluendo.com>
4010
4011         * gst/gsttypefindfactory.c:
4012         Fix docs.
4013         
4014 2005-11-09  Edward Hervey  <edward@fluendo.com>
4015
4016         * gst/base/gsttypefindhelper.c:
4017         * gst/gsttypefind.c:
4018         * gst/gsttypefind.h:
4019         Fix docs.
4020
4021 2005-11-09  Wim Taymans  <wim@fluendo.com>
4022
4023         * gst/gstiterator.c:
4024         Fix revision data.
4025
4026         * gst/gsttask.c:
4027         * gst/gsttask.h:
4028         Fix docs.
4029
4030 2005-11-09  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/gstevent.h:
4033         * gst/gsturi.h:
4034         Fix docs.
4035
4036 2005-11-09  Wim Taymans  <wim@fluendo.com>
4037
4038         * docs/gst/gstreamer-sections.txt:
4039         Moved the message async delivery private lock and cond
4040         to the private section.
4041
4042         * gst/gstmessage.c:
4043         * gst/gstmessage.h:
4044         Fixed docs.
4045
4046 2005-11-09  Edward Hervey  <edward@fluendo.com>
4047
4048         * docs/gst/gstreamer-sections.txt:
4049         * gst/gsturi.c:
4050         * gst/gsturi.h:
4051         Document GstURIHandler
4052
4053 2005-11-09  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4056         (gst_iterator_find_custom):
4057         * gst/gstiterator.h:
4058         Fix iterator docs.
4059
4060 2005-11-09  Wim Taymans  <wim@fluendo.com>
4061
4062         * gst/gstbin.h:
4063         Document another field.
4064
4065         * gst/gststructure.c:
4066         * gst/gststructure.h:
4067         Document.
4068
4069 2005-11-09  Wim Taymans  <wim@fluendo.com>
4070
4071         * gst/gstbin.h:
4072         Documented structs.
4073
4074 2005-11-09  Wim Taymans  <wim@fluendo.com>
4075
4076         * docs/gst/gstreamer-sections.txt:
4077         Added some new macros.
4078
4079         * gst/gstclock.c:
4080         * gst/gstclock.h:
4081         * gst/gstobject.h:
4082         Docs updates.
4083
4084 2005-11-09  Wim Taymans  <wim@fluendo.com>
4085
4086         * docs/design/part-TODO.txt:
4087         Some more items for the TODO
4088
4089         * gst/gstcaps.c:
4090         * gst/gstcaps.h:
4091         Document GstCaps.
4092
4093 2005-11-09  Andy Wingo  <wingo@pobox.com>
4094
4095         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4096         to work on something else now tho...
4097
4098         * gst/base/gstadapter.c: More adapter docs.
4099
4100         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4101         (gst_file_sink_stop): New functions, replace the state change
4102         handler.
4103         (gst_file_sink_class_init): Hook up the start and stop functions.
4104         (gst_file_sink_base_init): Don't set the state change handler any
4105         more. It was a bit ugly too, being set from here...
4106         (gst_file_sink_get_property, gst_file_sink_set_property):
4107         Cleanups...
4108         (gst_file_sink_set_location): More robust check that doesn't call
4109         GST_STATE. Ugggggg.
4110
4111 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4112
4113         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4114           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4115
4116 2005-11-08  Wim Taymans  <wim@fluendo.com>
4117
4118         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4119         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4120         (gst_base_sink_chain), (gst_base_sink_change_state):
4121         * gst/base/gstbasesink.h:
4122         * gst/base/gstbasesrc.h:
4123         * gst/gstelement.h:
4124         * gst/gstevent.h:
4125         Avoid excessive typechecking in macros.
4126
4127         * gst/gstminiobject.c: (gst_mini_object_get_type),
4128         (gst_mini_object_init), (gst_mini_object_new),
4129         (gst_mini_object_free):
4130         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4131         (gst_object_finalize):
4132         Remove cruft code, optimize alloc_trace.
4133
4134 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * docs/faq/gst-uninstalled:
4137           fix up PS1 for systems that try to reset it
4138
4139 2005-11-07  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/base/gstbasesrc.c: (gst_base_src_init),
4142         (gst_base_src_get_range):
4143         Set the segment_end to -1 initially. Fixed typefind.
4144
4145 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4146
4147         * gst/base/gstadapter.c:
4148           Debug category should be 'adapter', not 'GstAdapter'.
4149           
4150         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4151         (gst_collectpads_class_init), (gst_collectpads_init),
4152         (gst_collectpads_peek), (gst_collectpads_pop),
4153         (gst_collectpads_event), (gst_collectpads_chain):
4154           Add debug category and some debugging output. Use boilerplate
4155           macros. Remove some extraneous words from docs.
4156
4157 2005-11-05  Andy Wingo  <wingo@pobox.com>
4158
4159         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4160         macro.
4161
4162 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4163
4164         * docs/gst/gstreamer-sections.txt:
4165         * gst/gstcaps.h:
4166         * gst/gstinfo.c:
4167         * gst/gstminiobject.h:
4168         * gst/gstobject.h:
4169         * gst/gstutils.h:
4170           more docs added
4171
4172 2005-11-04  Wim Taymans  <wim@fluendo.com>
4173
4174         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4175         Small update to stop at the configured segment_end
4176         position.
4177
4178 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4179
4180         * gst/gstregistry.c:
4181         * gst/gstregistry.h:
4182           added missing docs
4183
4184 2005-11-04  Edward Hervey  <edward@fluendo.com>
4185
4186         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4187         Check if we are doing a segment seek and have arrived at the
4188         end of that segment.
4189
4190 2005-11-04  Wim Taymans  <wim@fluendo.com>
4191
4192         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4193         Don't leak a mutex unlock in case of an error.
4194
4195         * gst/gstbus.h:
4196         Doc fixes.
4197
4198 2005-11-04  Wim Taymans  <wim@fluendo.com>
4199
4200         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4201         (gst_bus_post):
4202         Get the context to wake up only once.
4203
4204 2005-11-03  Wim Taymans  <wim@fluendo.com>
4205
4206         * check/states/sinks.c: (GST_START_TEST):
4207         Uncomment fixed check.
4208
4209         * docs/design/part-TODO.txt:
4210         Updated TODO.
4211
4212         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4213         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4214         (gst_base_sink_get_position):
4215         If we are going to PLAYING, post the right pending state
4216         when we post the intermediate paused message.
4217
4218         * gst/gstelement.c: (gst_element_continue_state),
4219         (gst_element_set_state_func), (gst_element_change_state):
4220         Don't post state changes that were between the same state
4221         and were not ASYNC.
4222
4223 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4224
4225         * docs/gst/gstreamer-sections.txt:
4226         * gst/gstcaps.h:
4227         * gst/gstinfo.c:
4228         * gst/gstminiobject.h:
4229         * gst/gstobject.h:
4230         * gst/gstutils.h:
4231           more docs and doc style fixes
4232
4233 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4234
4235         * docs/gst/gstreamer-sections.txt:
4236         * gst/gstelement.c:
4237         * gst/gstminiobject.c:
4238         doc fixes
4239
4240 2005-11-03  Andy Wingo  <wingo@pobox.com>
4241
4242         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4243         state-changed messages actually have the right order and the right
4244         values.
4245
4246 2005-11-03  Wim Taymans  <wim@fluendo.com>
4247
4248         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4249         Added some more checks. Specifically the case where NO_PREROLL
4250         elements are in the pipeline.
4251
4252         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4253         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4254         (gst_base_sink_get_position):
4255         Post READY->PAUSED state change messages too.
4256         Fix bug where VOID was posted as pending state...
4257
4258         * gst/gstbin.c: (gst_bin_recalc_state):
4259         use _element_continue_state() to continue the state change.
4260
4261         * gst/gstelement.c: (gst_element_continue_state),
4262         (gst_element_commit_state), (gst_element_set_state_func),
4263         (gst_element_change_state), (gst_element_change_state_func):
4264         Lots of state change cleanups, assign the STATE_RETURN in
4265         a new continue_state() function that also propagates the
4266         last return value from a state change to the app.
4267         Update some debug statements with proper category.
4268
4269 2005-11-03  Wim Taymans  <wim@fluendo.com>
4270
4271         * docs/design/part-events.txt:
4272         * docs/design/part-gstpipeline.txt:
4273         * docs/design/part-messages.txt:
4274         * docs/design/part-overview.txt:
4275         * docs/design/part-seeking.txt:
4276         * docs/design/part-states.txt:
4277         * docs/design/part-trickmodes.txt:
4278         * docs/manual/advanced-position.xml:
4279         Small docs updates.
4280
4281         * gst/gstobject.h:
4282         People think !! is ugly, this looks better.
4283
4284         * gst/gstpad.c: (gst_pad_set_blocked_async):
4285         Remove !! since it's fixed elsewhere now.
4286
4287 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4288
4289         * gst/gstminiobject.h:
4290         * gst/gstobject.h:
4291           Add !! to _FLAG_IS_SET macros to make the result boolean.
4292
4293 2005-11-03  Edward Hervey  <edward@fluendo.com>
4294
4295         * gst/gstpad.c: (gst_pad_set_blocked_async):
4296         comparing a flag and a gboolean rarely returns coherent results...
4297         Added two characters (!!) to make that work correctly.
4298         
4299 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4300
4301         * gst/gstbus.c: (gst_bus_class_init):
4302           Fix some typos.
4303           
4304         * gst/gstqueue.c: (gst_queue_loop):
4305           Don't assume a miniobject that isn't a buffer is an
4306           event (it could be that there is a refcounting
4307           problem somewhere and the pointer is stale and
4308           refers to an already destroyed miniobject).
4309
4310 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4311
4312         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4313
4314 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4315
4316         * docs/manual/advanced-position.xml:
4317           Update seek example and explanations to current 0.9 API.
4318
4319         * gst/elements/gsttypefindelement.c:
4320         (gst_type_find_element_activate):
4321           Remove FIXME comment now that the found caps
4322           are unreffed.
4323
4324 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4325
4326         * gst/gstregistryxml.c: (load_feature):
4327           Add another GST_STR_NULL instance
4328
4329 2005-11-02  Edward Hervey  <edward@fluendo.com>
4330
4331         * gst/gstpad.c: (handle_pad_block):
4332         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4333         
4334 2005-11-02  Wim Taymans  <wim@fluendo.com>
4335
4336         * gst/gstbin.c:
4337         Fix typo in docs.
4338
4339         * gst/gstelement.c: (gst_element_commit_state):
4340         Remove unused value.
4341
4342         * gst/gstiterator.c:
4343         Mention that the returned element is reffed in the docs.
4344
4345 2005-11-02  Wim Taymans  <wim@fluendo.com>
4346
4347         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4348         (gst_pad_push), (gst_pad_push_event):
4349         Unlock blocked pads when they are flushed.
4350
4351 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4352
4353         * docs/README:
4354         * docs/gst/gstreamer-sections.txt:
4355         * gst/gstbin.c:
4356           doc updates
4357         * gst/gstregistry.c: (gst_registry_scan_path_level):
4358           fix for a nasty little missed situation where an installed plug-in
4359           which was in the cache did not get overridden by an uninstalled one
4360           which was earlier in the plugin path because the newly created plugin
4361           for the uninstalled one (not in the registry) didn't get its
4362           ->registered set to TRUE
4363
4364 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4365
4366         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4367         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4368         (gst_collectpads_is_active), (gst_collectpads_collect),
4369         (gst_collectpads_collect_range), (gst_collectpads_start),
4370         (gst_collectpads_stop), (gst_collectpads_peek),
4371         (gst_collectpads_pop), (gst_collectpads_available),
4372         (gst_collectpads_read), (gst_collectpads_flush):
4373           Guard public API with assertions.
4374         
4375         * gst/gstpad.c:
4376           Fix docs for gst_pad_set_link_function().
4377
4378 2005-11-02  Johan Dahlin  <johan@gnome.org>
4379
4380         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4381         Unref found_caps after we used it.
4382
4383 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4384
4385         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4386           Don't try to ref NULL.
4387
4388 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4389
4390         * win32/common/config.h.in:
4391           provide a GST_FUNCTION that just gives a string for now
4392
4393 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4394
4395         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4396         (gst_object_flags_get_type), (register_gst_bin_flags),
4397         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4398         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4399         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4400         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4401         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4402         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4403         (gst_clock_flags_get_type), (register_gst_state),
4404         (gst_state_get_type), (register_gst_state_change_return),
4405         (gst_state_change_return_get_type), (register_gst_state_change),
4406         (gst_state_change_get_type), (register_gst_element_flags),
4407         (gst_element_flags_get_type), (register_gst_core_error),
4408         (gst_core_error_get_type), (register_gst_library_error),
4409         (gst_library_error_get_type), (register_gst_resource_error),
4410         (gst_resource_error_get_type), (register_gst_stream_error),
4411         (gst_stream_error_get_type), (register_gst_event_type),
4412         (gst_event_type_get_type), (register_gst_seek_type),
4413         (gst_seek_type_get_type), (register_gst_seek_flags),
4414         (gst_seek_flags_get_type), (register_gst_format),
4415         (gst_format_get_type), (register_gst_index_certainty),
4416         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4417         (gst_index_entry_type_get_type),
4418         (register_gst_index_lookup_method),
4419         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4420         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4421         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4422         (gst_index_flags_get_type), (register_gst_debug_level),
4423         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4424         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4425         (gst_iterator_result_get_type), (register_gst_iterator_item),
4426         (gst_iterator_item_get_type), (register_gst_message_type),
4427         (gst_message_type_get_type), (register_gst_mini_object_flags),
4428         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4429         (gst_pad_link_return_get_type), (register_gst_flow_return),
4430         (gst_flow_return_get_type), (register_gst_activate_mode),
4431         (gst_activate_mode_get_type), (register_gst_pad_direction),
4432         (gst_pad_direction_get_type), (register_gst_pad_flags),
4433         (gst_pad_flags_get_type), (register_gst_pad_presence),
4434         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4435         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4436         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4437         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4438         (gst_plugin_flags_get_type), (register_gst_rank),
4439         (gst_rank_get_type), (register_gst_query_type),
4440         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4441         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4442         (gst_tag_flag_get_type), (register_gst_task_state),
4443         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4444         (gst_alloc_trace_flags_get_type),
4445         (register_gst_type_find_probability),
4446         (gst_type_find_probability_get_type), (register_gst_uri_type),
4447         (gst_uri_type_get_type), (register_gst_parse_error),
4448         (gst_parse_error_get_type):
4449         * win32/common/gstversion.h:
4450           update win32 copies
4451
4452 2005-11-01  Luca Ognibene  <luogni@tin.it>
4453
4454         * gst/gst.c:
4455           fix docs. popt is dead, long live GOption.
4456
4457 2005-10-31  Wim Taymans  <wim@fluendo.com>
4458
4459         * gst/gstbuffer.h:
4460         Small doc fix.
4461
4462 2005-10-31  Andy Wingo  <wingo@pobox.com>
4463
4464         * Boo!
4465
4466         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4467
4468         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4469         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4470         the possibility of deadlocks here if code calling notify() or
4471         set() has a lock that can be taken in another notify handler (ABBA
4472         with class lock and e.g. python GIL state lock).
4473
4474 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4475
4476         * gst/gstbus.c: Doc updates.
4477
4478 2005-10-28  Wim Taymans  <wim@fluendo.com>
4479
4480         * docs/design/part-TODO.txt:
4481         * gst/gstiterator.c:
4482         * gst/gstsystemclock.c:
4483         * gst/gstsystemclock.h:
4484         Doc updates.
4485
4486 2005-10-28  Edward Hervey  <edward@fluendo.com>
4487
4488         * docs/gst/gstreamer-docs.sgml:
4489         * docs/gst/gstreamer-sections.txt:
4490         the GstURIType documentation page is private, it only defines GstURIType
4491         which should be defined in the GstURIHandler page
4492         
4493 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4494
4495         * gst/gstbin.c: (gst_bin_class_init):
4496         * gst/gstbin.h:
4497         * gst/gstutils.c:
4498         Documentation updates.
4499
4500 2005-10-28  Wim Taymans  <wim@fluendo.com>
4501
4502         * docs/gst/gstreamer-sections.txt:
4503         * gst/gstclock.c:
4504         * gst/gstclock.h:
4505         Documented the clocks.
4506
4507 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4508
4509         * docs/gst/gstreamer-sections.txt:
4510           move some macros to private sections
4511         * gst/gstminiobject.c:
4512         * gst/gstminiobject.h:
4513           add descriptions provided by ds and some more
4514         * gst/gstpad.h:
4515           mark macro as to be removed
4516
4517 2005-10-28  Wim Taymans  <wim@fluendo.com>
4518
4519         * docs/design/part-TODO.txt:
4520         Add an item to TODO.
4521
4522         * gst/gstiterator.c: (gst_iterator_fold),
4523         (gst_iterator_find_custom):
4524         * gst/gstiterator.h:
4525         Add iterator docs.
4526
4527 2005-10-28  Wim Taymans  <wim@fluendo.com>
4528
4529         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4530         (gst_base_transform_init):
4531         Don't leak class.
4532
4533         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4534         An EOS event marks the queue as completely filled.
4535
4536 2005-10-27  Wim Taymans  <wim@fluendo.com>
4537
4538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4539         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4540         Some more debugging.
4541
4542         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4543         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4544         (gst_base_transform_event), (gst_base_transform_getrange),
4545         (gst_base_transform_chain):
4546         * gst/base/gstbasetransform.h:
4547         Fix debugging,
4548         Protect transform and concurrent buffer alloc with a new lock.
4549         Try not to break ABI/API.
4550
4551 2005-10-27  Wim Taymans  <wim@fluendo.com>
4552
4553         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4554         (gst_base_src_init), (gst_base_src_query),
4555         (gst_base_src_default_newsegment),
4556         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4557         (gst_base_src_send_event), (gst_base_src_event_handler),
4558         (gst_base_src_pad_get_range), (gst_base_src_loop),
4559         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4560         (gst_base_src_start), (gst_base_src_deactivate),
4561         (gst_base_src_activate_push), (gst_base_src_change_state):
4562         Move some stuff around and cleanup things.
4563
4564 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4565
4566         * gst/base/gstbasesrc.c: (gst_base_src_query):
4567           Add missing break statements.
4568
4569 2005-10-27  Wim Taymans  <wim@fluendo.com>
4570
4571         * check/gst/gstbin.c: (GST_START_TEST):
4572         An extra refcount is taken in basesrc.
4573
4574         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4575         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4576         (gst_base_src_loop):
4577         Small cleanups, check for flushing after being unlocked from the 
4578         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4579         Don't send out EOS when going to READY.
4580
4581 2005-10-27  Wim Taymans  <wim@fluendo.com>
4582
4583         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4584         (gst_base_sink_get_position):
4585         Some more debug.
4586
4587         * gst/gstbin.c: (message_check), (bin_replace_message),
4588         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4589         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4590         (bin_query_duration_init), (bin_query_duration_fold),
4591         (bin_query_duration_done), (bin_query_generic_fold),
4592         (gst_bin_query):
4593         * tools/gst-launch.c: (main):
4594         Remove old option.
4595
4596 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4597
4598         * examples/controller/audio-example.c: (main):
4599         * examples/queue/queue.c: (event_loop):
4600         * gst/base/gstbasetransform.h:
4601         * gst/gstelement.c: (gst_element_send_event):
4602         * gst/gstevent.h:
4603         * gst/gstpad.c: (gst_pad_send_event):
4604           fixing examples
4605           fixing docs typos
4606           changing log priority in error situations
4607
4608 2005-10-25  Wim Taymans  <wim@fluendo.com>
4609
4610         * gst/gstbin.c: (message_check), (bin_replace_message),
4611         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4612         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4613         (bin_query_duration_init), (bin_query_duration_fold),
4614         (bin_query_duration_done), (bin_query_generic_fold),
4615         (gst_bin_query):
4616         Some doc and debug updates.
4617         Cache previously requested query DURATION for speed. invalidate
4618         cached duration if element posts a DURATION message.
4619
4620 2005-10-25  Wim Taymans  <wim@fluendo.com>
4621
4622         * docs/design/part-TODO.txt:
4623         Update TODO.
4624
4625         * gst/gstbin.c: (message_check), (bin_replace_message),
4626         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4627         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4628         (bin_query_duration_init), (bin_query_duration_fold),
4629         (bin_query_duration_done), (bin_query_generic_fold),
4630         (gst_bin_query):
4631         Handle SEGMENT_START/DONE messages correctly.
4632         More evolved query algorithm that handles duration queries
4633         correctly.
4634
4635         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4636         (gst_element_get_state_func), (gst_element_abort_state),
4637         (gst_element_commit_state), (gst_element_lost_state):
4638         Some more debugging.
4639
4640         * gst/gstmessage.h:
4641         Added doc.
4642
4643 2005-10-25  Wim Taymans  <wim@fluendo.com>
4644
4645         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4646         Don't use invalid stream_time.
4647
4648         * gst/gstevent.c: (gst_event_new_newsegment):
4649         stream_time in newsegment cannot be undefined.
4650
4651 2005-10-24  Wim Taymans  <wim@fluendo.com>
4652
4653         * gst/gstbus.c:
4654         Doc fix.
4655
4656         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4657         (gst_queue_loop):
4658         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4659
4660 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4661
4662         * docs/libs/tmpl/gstdparam.sgml:
4663         * docs/libs/tmpl/gstdplinint.sgml:
4664         * docs/libs/tmpl/gstdpman.sgml:
4665         * docs/libs/tmpl/gstdpsmooth.sgml:
4666         * docs/libs/tmpl/gstunitconvert.sgml:
4667           these are obsolete
4668
4669 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4670
4671         * configure.ac:
4672           back to HEAD
4673
4674 === release 0.9.4 ===
4675
4676 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4677
4678         * configure.ac:
4679           releasing 0.9.4, "Tyrannosaurus Rex"
4680
4681 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4682
4683         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4684         (gst_file_sink_get_current_offset):
4685           Use fseeko() and ftello() if available. When falling back on
4686           lseek() to get the current offset, fflush() first to make sure
4687           everything is up-to-date and we get the right offset.
4688
4689 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4690
4691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4692         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4693         * gst/gsterror.c: (_gst_stream_errors_init):
4694         * gst/gsterror.h:
4695         * gst/gstqueue.c: (gst_queue_loop):
4696         * po/POTFILES.in:
4697           remove prematurely added error category and clean up the instances
4698
4699 2005-10-21  Wim Taymans  <wim@fluendo.com>
4700
4701         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4702         (gst_base_sink_get_position), (gst_base_sink_query),
4703         (gst_base_sink_change_state):
4704         Simply set the right flag when going to playing, that's all
4705         we need to do instead of calling a function inside the object
4706         lock (that could take the lock as well and deadlock)
4707
4708 2005-10-21  Wim Taymans  <wim@fluendo.com>
4709
4710         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4711         (gst_base_src_loop):
4712         Don't warn, the peer element knows what to do best when
4713         the seek failed, it might try something else.
4714
4715 2005-10-21  Wim Taymans  <wim@fluendo.com>
4716
4717         * gst/base/gstbasesrc.c: (gst_base_src_init),
4718         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4719         Fix seeking.
4720
4721 2005-10-21  Wim Taymans  <wim@fluendo.com>
4722
4723         * docs/design/part-segments.txt:
4724         More docs.
4725
4726         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4727         Correctly set caps, even on the subbufer.
4728
4729 2005-10-21  Wim Taymans  <wim@fluendo.com>
4730
4731         * docs/gst/gstreamer-docs.sgml:
4732         * docs/gst/gstreamer-sections.txt:
4733         * gst/gstelement.h:
4734         * gst/gstevent.c:
4735         * gst/gstevent.h:
4736         * gst/gstmessage.h:
4737         * gst/gstpad.h:
4738         * gst/gstparse.h:
4739         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4740         * gst/gsttask.h:
4741         * gst/gstutils.c:
4742         * gst/gstutils.h:
4743         And 2% more doc coverage.
4744
4745 2005-10-21  Andy Wingo  <wingo@pobox.com>
4746
4747         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4748         position reporting.
4749
4750 2005-10-20  Wim Taymans  <wim@fluendo.com>
4751
4752         * gst/gsterror.c: (gst_error_get_message):
4753         * gst/gstparse.h:
4754         * gst/gstquery.h:
4755         * gst/gststructure.c:
4756         * gst/gsttrace.c:
4757         * gst/gstutils.c:
4758         More docs.
4759
4760 2005-10-20  Wim Taymans  <wim@fluendo.com>
4761
4762         * gst/gstbuffer.h:
4763         * gst/gstpad.c:
4764         * gst/gstparse.c:
4765         Another 1% more coverage.
4766
4767 2005-10-20  Wim Taymans  <wim@fluendo.com>
4768
4769         * docs/gst/gstreamer-sections.txt:
4770         * gst/gstelement.c: (gst_element_get_state_func),
4771         (gst_element_abort_state), (gst_element_commit_state),
4772         (gst_element_lost_state):
4773         * gst/gstevent.h:
4774         * gst/gstquery.c: (gst_query_set_position),
4775         (gst_query_parse_position), (gst_query_set_duration),
4776         (gst_query_parse_duration), (gst_query_new_convert):
4777         * gst/gstutils.c:
4778         Yay! 1% more docs coverage.
4779
4780 2005-10-20  Wim Taymans  <wim@fluendo.com>
4781
4782         * gst/gstpad.h:
4783         * gst/gstquery.c: (gst_query_set_position),
4784         (gst_query_parse_position), (gst_query_set_duration),
4785         (gst_query_parse_duration), (gst_query_new_convert):
4786         * gst/gstquery.h:
4787         * gst/gstutils.c: (gst_element_query_convert):
4788         * gst/gstutils.h:
4789         Docs and consistency fixes.
4790
4791 2005-10-20  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/gsttask.c:
4794         * gst/gsttask.h:
4795         More docs.
4796
4797 2005-10-20  Wim Taymans  <wim@fluendo.com>
4798
4799         * gst/gstbin.c: (message_check), (bin_replace_message),
4800         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4801         (update_degree), (gst_bin_sort_iterator_next),
4802         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4803         Reworked the message handling a bit, cache the messages instead of
4804         only the senders. alows us to do more in the future.
4805
4806 2005-10-20  Wim Taymans  <wim@fluendo.com>
4807
4808         * docs/design/part-TODO.txt:
4809         Update TODO
4810
4811         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4812         (gst_base_sink_query):
4813         Don't use clock time to report position when in EOS.
4814
4815 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4816
4817         * tools/gst-inspect.c: (print_interfaces),
4818         (print_element_properties_info), (print_element_info):
4819           Fix interface output with gst-inspect -a; don't print
4820           newlines after double/float properties.
4821
4822 2005-10-20  Wim Taymans  <wim@fluendo.com>
4823
4824         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4825         (gst_base_sink_query):
4826         Speed up current position calculation.
4827
4828         * gst/base/gstbasesrc.c: (gst_base_src_query),
4829         (gst_base_src_default_newsegment):
4830         Correctly set stream position in newsegment.
4831
4832         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4833         (update_degree), (gst_bin_sort_iterator_next),
4834         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4835         * gst/gstmessage.c: (gst_message_new_custom):
4836         Clean up debugging info
4837
4838         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4839         (gst_queue_loop), (gst_queue_handle_src_query):
4840         Pause task faster.
4841
4842 2005-10-19  Wim Taymans  <wim@fluendo.com>
4843
4844         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4845         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4846         Fix query handling again.
4847
4848 2005-10-19  Wim Taymans  <wim@fluendo.com>
4849
4850         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4851         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4852         * gst/base/gstbasesrc.c: (gst_base_src_query):
4853         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4854         * gst/elements/gsttypefindelement.c:
4855         (gst_type_find_handle_src_query), (find_element_get_length),
4856         (gst_type_find_element_activate):
4857         API change fix.
4858
4859         * gst/gstquery.c: (gst_query_new_position),
4860         (gst_query_set_position), (gst_query_parse_position),
4861         (gst_query_new_duration), (gst_query_set_duration),
4862         (gst_query_parse_duration), (gst_query_set_segment),
4863         (gst_query_parse_segment):
4864         * gst/gstquery.h:
4865         Bundling query position/duration is not a good idea since duration
4866         does not change much and we don't want to recalculate it for every
4867         position query, so they are separated again..
4868         Base value in segment query is not needed.
4869
4870         * gst/gstqueue.c: (gst_queue_handle_src_query):
4871         * gst/gstutils.c: (gst_element_query_position),
4872         (gst_element_query_duration), (gst_pad_query_position),
4873         (gst_pad_query_duration):
4874         * gst/gstutils.h:
4875         Updates for query API change.
4876         Added some docs here and there.
4877
4878 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4879
4880         * check/gst/gstbin.c: (GST_START_TEST):
4881         * check/gst/gstghostpad.c: (GST_START_TEST):
4882         * check/pipelines/cleanup.c: (GST_START_TEST):
4883           wait on thread to die so we can check refcount correctly
4884
4885 2005-10-18  Wim Taymans  <wim@fluendo.com>
4886
4887         * check/pipelines/stress.c: (GST_START_TEST):
4888         Make check a little more time consuming.
4889
4890 2005-10-18  Wim Taymans  <wim@fluendo.com>
4891
4892         * check/Makefile.am:
4893         * check/pipelines/stress.c: (GST_START_TEST),
4894         (simple_launch_lines_suite), (main):
4895         Small state change torture test.
4896
4897         * docs/design/part-states.txt:
4898         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4899         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4900         (gst_base_sink_change_state):
4901         Never take state lock from streaming thread, clean up ugly
4902         hacks. Unfortunatly core does not yet support nice ways to
4903         async commit state.
4904         
4905         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4906         (bin_bus_handler):
4907         Start state recalc if a STATE_DIRTY message is posted, but only
4908         on the toplevel bin.
4909
4910         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4911         (gst_element_get_state_func), (gst_element_abort_state),
4912         (gst_element_commit_state), (gst_element_lost_state),
4913         (gst_element_set_state_func), (gst_element_change_state):
4914         * gst/gstelement.h:
4915         State variables are now protected with the LOCK, the state
4916         lock is only used to serialize _set_state().
4917
4918 2005-10-18  Wim Taymans  <wim@fluendo.com>
4919
4920         * check/gst/gstbin.c: (GST_START_TEST):
4921         * check/gst/gstmessage.c: (GST_START_TEST):
4922         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4923         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4924         (bin_bus_handler):
4925         * gst/gstelement.c: (gst_element_abort_state),
4926         (gst_element_commit_state), (gst_element_lost_state):
4927         * gst/gstmessage.c: (gst_message_new_state_changed),
4928         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4929         (gst_message_new_segment_done), (gst_message_new_duration),
4930         (gst_message_parse_state_changed),
4931         (gst_message_parse_segment_start),
4932         (gst_message_parse_segment_done), (gst_message_parse_duration):
4933         * gst/gstmessage.h:
4934         * tools/gst-launch.c: (event_loop):
4935         Seriously, this is better than a previous commit as we only need
4936         to notify the fact that an element changed state in a streaming
4937         thread, marking the state of the parents dirty, hence the 
4938         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4939         message.
4940
4941 2005-10-18  Wim Taymans  <wim@fluendo.com>
4942
4943         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4944         (gst_bin_recalc_func):
4945         * gst/gstelement.c: (gst_element_set_clock),
4946         (gst_element_abort_state), (gst_element_lost_state):
4947         Cleanups, prepare for state change fixes.
4948
4949 2005-10-18  Wim Taymans  <wim@fluendo.com>
4950
4951         * gst/gstbin.h:
4952         * gst/gstelement.c: (gst_element_class_init),
4953         (gst_element_set_state), (gst_element_set_state_func):
4954         * gst/gstelement.h:
4955         Pending ABI changes.
4956         GThreadPool in GstBinClass to monitor async state changes.
4957         state_cookie in GstElement to detect concurrent gst/set state.
4958         set_state is now virtual too in case a very complicated element
4959         has to be constructed.
4960
4961 2005-10-18  Wim Taymans  <wim@fluendo.com>
4962
4963         * check/gst/gstbin.c: (GST_START_TEST):
4964         * check/gst/gstmessage.c: (GST_START_TEST):
4965         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4966         * gst/gstbin.c: (bin_bus_handler):
4967         * gst/gstelement.c: (gst_element_commit_state),
4968         (gst_element_lost_state):
4969         * gst/gstmessage.c: (gst_message_new_state_changed),
4970         (gst_message_new_segment_start), (gst_message_new_segment_done),
4971         (gst_message_new_duration), (gst_message_parse_state_changed),
4972         (gst_message_parse_segment_start),
4973         (gst_message_parse_segment_done), (gst_message_parse_duration):
4974         * gst/gstmessage.h:
4975         * tools/gst-launch.c: (event_loop):
4976         Make messages future proof.
4977         state-change gets a flag if it was a message comming from the
4978         streaming thread.
4979         segment-start/stop can also be specified in other formats.
4980         A message to notify an app that a pipeline changed playback 
4981         duration.
4982         Also fix a GstMessage leak in -launch
4983
4984 2005-10-18  Andy Wingo  <wingo@pobox.com>
4985
4986         * gst/gstelement.c (gst_element_dispose): More helpful message.
4987
4988 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4989
4990         reviewed by: <delete if not using a buddy>
4991
4992         * common/gtk-doc.mak:
4993
4994 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4995
4996         * gst/gstregistry.c: (gst_registry_scan_path_level):
4997           unref a plug-in we get that was already initialized
4998
4999 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5000
5001         * docs/gst/gstreamer-sections.txt:
5002         * docs/libs/gstreamer-libs-sections.txt:
5003         * gst/gstelement.h:
5004           add new api entries
5005           hide internal macro
5006
5007 2005-10-17  Andy Wingo  <wingo@pobox.com>
5008
5009         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5010         cleanup.
5011
5012         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5013
5014         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5015
5016         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5017         (gst_element_get_state_func): Better debug message.
5018         (gst_element_commit_state): s/INFO/DEBUG/.
5019         (gst_element_lost_state, gst_element_change_state): 
5020
5021         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5022         (gst_message_new_custom): s/INFO/LOG/.
5023
5024 2005-10-17  Michael Smith <msmith@fluendo.com>
5025
5026         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5027           Check if end time is valid using end time, not start time.
5028
5029 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5030
5031         * check/gst-libs/controller.c: (GST_START_TEST),
5032         (gst_controller_suite):
5033         * libs/gst/controller/gstcontroller.c:
5034         (gst_controlled_property_set_interpolation_mode):
5035         * libs/gst/controller/gstcontroller.h:
5036         * libs/gst/controller/gstinterpolation.c:
5037         * testsuite/controller/.cvsignore:
5038         * testsuite/controller/Makefile.am:
5039         * testsuite/controller/interpolator.c:
5040           merge controller testsuites
5041           fix broken tests
5042           remove mem-chunk from docs
5043
5044 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5045
5046         * gst/gstmemchunk.c:
5047         * gst/gstmemchunk.h:
5048         * gst/gsttrashstack.c:
5049         * gst/gsttrashstack.h:
5050           out.  get out.  you're fired.  to the Attic !
5051
5052 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5053
5054         * gst/gstcaps.c: (gst_caps_intersect):
5055           fix signedness issues in a (hopefully) correct way
5056         * gst/gstelement.c: (gst_element_pads_activate):
5057           some debugging
5058         * gst/gstobject.c: (gst_object_set_parent):
5059           some debugging
5060
5061 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5062
5063         * gst/gstvalue.h: Fix prototypes.
5064
5065 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5066
5067         * docs/gst/gstreamer-sections.txt:
5068         * gst/gst.c: (gst_version_string):
5069         * gst/gst.h:
5070         * gst/gstversion.h.in:
5071         * win32/common/libgstreamer.def:
5072           add gst_version_string ()
5073
5074 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * configure.ac:
5077           clean up further
5078         * gst/gst.c: (init_post):
5079         * win32/common/config.h.in:
5080           it's PLUGINDIR now
5081         * gst/gstcaps.c: (gst_caps_intersect):
5082           use gint64, the range could be bigger than a guint
5083
5084 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5085
5086         * gst/gstclock.h:
5087           document potential problem in 2038
5088
5089 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * gst/gstcaps.c: (gst_caps_intersect):
5092           Fix guint j diving under 0
5093
5094 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * configure.ac:
5097         * win32/common/config.h:
5098         * win32/common/config.h.in:
5099           check for process.h, declares getpid() on Windows
5100         * gst/gstinfo.c:
5101           include process.h if we have it
5102         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5103         * gst/gstmemchunk.h:
5104           fix signedness issues
5105         * win32/common/libgstreamer.def:
5106           fix get_type's
5107
5108 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5109
5110         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5111         fix. Because of unsigned ints, caps intersection was going nuts and
5112         trying to access structures with G_MAXUINT index. That fixes
5113         videotestsrc ! ffmpegcolorspace ! fakesink
5114         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5115         consistency.
5116
5117 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5118
5119         * configure.ac:
5120           use the gettext macro
5121         * gst/elements/gstelements.c:
5122         * gst/gst.c:
5123         * gst/indexers/gstindexers.c:
5124           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5125         * win32/common/config.h:
5126           updated config.h
5127         * win32/common/config.h.in:
5128           add the template to generate config.h
5129         * win32/common/gstenumtypes.c:
5130         * win32/common/gstversion.h:
5131           updated copies
5132
5133 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5134
5135         * gst/gst.c: (gst_version):
5136         * gst/gstversion.h.in:
5137           add the nano
5138
5139 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * gst/gstevent.h:
5142           Oops, add missing closing bracket.
5143
5144 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5145
5146         * configure.ac:
5147           use common m4's for argument checking
5148
5149 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5150
5151         * docs/gst/gstreamer-sections.txt:
5152         * gst/gstevent.h:
5153           Add GST_EVENT_TYPE_NAME() macro.
5154
5155 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5156
5157         * gst/gstinfo.c:
5158         * gst/gstpluginfeature.c:
5159         * gst/gsttask.c:
5160           privatize more symbols
5161
5162 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5163
5164         * configure.ac:
5165           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5166           everything that uses GStreamer API should have the includes
5167
5168 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5169
5170         * docs/gst/gstreamer-sections.txt:
5171         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5172         * gst/gstvalue.h:
5173           give each value a _get_type, removes the DATA exports
5174
5175 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5176
5177         * gst/gst.c:
5178         * gst/gst.h:
5179           remove _gst_registry_auto_load, not used anymore
5180         * gst/gstbin.c: (gst_bin_get_type):
5181         * gst/gstbin.h:
5182         * gst/gstelement.c: (gst_element_get_type):
5183         * gst/gstelement.h:
5184         * gst/gstobject.c: (gst_object_get_type):
5185         * gst/gstobject.h:
5186         * gst/gstpad.c: (gst_pad_get_type):
5187         * gst/gstpad.h:
5188           make _get_type functions similar, fixes data export from library
5189
5190 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * configure.ac:
5193           correctly make conditionals
5194         * gst/elements/Makefile.am:
5195         * gst/elements/gstelements.c:
5196           fix typo causing fdsrc not to build
5197
5198 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5199
5200         * testsuite/Makefile.am:
5201         * testsuite/bytestream/.cvsignore:
5202         * testsuite/bytestream/Makefile.am:
5203         * testsuite/bytestream/filepadsink.c:
5204         * testsuite/bytestream/gstbstest.c:
5205         * testsuite/bytestream/test1.c:
5206         * testsuite/bytestream/testfile1:
5207         * testsuite/caps/normalisation.c:
5208         * testsuite/caps/random.c: (main):
5209         * testsuite/cleanup/.cvsignore:
5210         * testsuite/cleanup/Makefile.am:
5211         * testsuite/cleanup/cleanup1.c:
5212         * testsuite/cleanup/cleanup2.c:
5213         * testsuite/cleanup/cleanup3.c:
5214         * testsuite/cleanup/cleanup4.c:
5215         * testsuite/cleanup/cleanup5.c:
5216         * testsuite/controller/interpolator.c:
5217         * testsuite/debug/printf_extension.c: (main):
5218         * testsuite/elements/tee.c:
5219         * testsuite/negotiation/.cvsignore:
5220         * testsuite/negotiation/Makefile.am:
5221         * testsuite/negotiation/pad_link.c:
5222         * testsuite/pad/Makefile.am:
5223         * testsuite/pad/chainnopull.c:
5224         * testsuite/pad/getnopush.c:
5225         * testsuite/pad/link.c:
5226         * testsuite/refcounting/sched.c: (create_pipeline):
5227         * testsuite/registry/Makefile.am:
5228         * testsuite/registry/gst-print-formats.c:
5229         * testsuite/schedulers/.cvsignore:
5230         * testsuite/schedulers/142183-2.c:
5231         * testsuite/schedulers/142183.c:
5232         * testsuite/schedulers/143777-2.c:
5233         * testsuite/schedulers/143777.c:
5234         * testsuite/schedulers/147713.c:
5235         * testsuite/schedulers/147819.c:
5236         * testsuite/schedulers/147894-2.c:
5237         * testsuite/schedulers/147894.c:
5238         * testsuite/schedulers/Makefile.am:
5239         * testsuite/schedulers/group_link.c:
5240         * testsuite/schedulers/queue_link.c:
5241         * testsuite/schedulers/relink.c:
5242         * testsuite/schedulers/unlink.c:
5243         * testsuite/schedulers/unref.c:
5244         * testsuite/schedulers/useless_iteration.c:
5245         * testsuite/states/bin.c:
5246           clean out/remove some stuff from the testsuite directories
5247
5248 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * configure.ac:
5251           check for some headers
5252         * gst/elements/Makefile.am:
5253         * gst/elements/gstelements.c:
5254           don't compile fdsrc without sys/socket.h
5255         * gst/indexers/Makefile.am:
5256         * gst/indexers/gstindexers.c: (plugin_init):
5257           don't compile fileindex without mmap
5258
5259 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5260
5261         * configure.ac:
5262           reorganize
5263           clean up
5264           document more
5265           remove cruft
5266         * check/Makefile.am:
5267         * docs/gst/Makefile.am:
5268         * examples/helloworld/Makefile.am:
5269         * gst/Makefile.am:
5270         * gst/base/Makefile.am:
5271         * gst/check/Makefile.am:
5272         * gst/elements/Makefile.am:
5273         * gst/indexers/Makefile.am:
5274         * gst/parse/Makefile.am:
5275         * libs/gst/controller/Makefile.am:
5276         * libs/gst/dataprotocol/Makefile.am:
5277         * examples/helloworld/helloworld.c: (event_loop):
5278           compile fixes, though it's not being compiled currently
5279
5280 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5281
5282         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5283           Add some simple tests for the new taglist date API.
5284
5285 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5286
5287         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5288         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5289           Beautify 'last-message' output: print 'none' for buffer timestamps
5290           and durations if none is set; improve alignment with next messages.
5291
5292 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5293
5294         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5295         * gst/gstpluginfeature.h:
5296         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5297         * gst/gstregistry.h:
5298         * docs/gst/gstreamer-sections.txt:
5299           Add new API to check plugin feature version requirements.
5300
5301         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5302           Some basic tests for the above.         
5303
5304 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5305
5306         * gst/gststructure.c: (gst_structure_to_string):
5307           guard against NULL printf - happens when for example
5308           a message structure with GstClock gets serialized
5309
5310 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5311
5312         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5313           Fix presumable copy'n'pasto.
5314
5315 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * gst/elements/gstfakesrc.h:
5318         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5319         * gst/elements/gsttypefindelement.c:
5320           fix some signedness
5321         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5322           I wonder if this could actually write +2GB files before
5323
5324 2005-10-13  Andy Wingo  <wingo@pobox.com>
5325
5326         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5327         Fix Timmeke Waymans bug.
5328         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5329         string of the proper length to gst_caps_from_string. There's a
5330         potential for, before this fix, that this could cause someone
5331         connecting over the network to cause a segfault if the payload is
5332         not NUL-terminated.
5333
5334 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5335
5336         * docs/design/draft-push-pull.txt:
5337         * docs/design/part-overview.txt:
5338         * docs/random/TODO-pre-0.9:
5339         * docs/random/old/ChangeLog.gstreamer:
5340         * gst/base/gstpushsrc.c:
5341         * gst/gstclock.c:
5342           fixed typos
5343
5344 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * gst/glib-compat.c: (gst_flags_get_first_value):
5347         * gst/glib-compat.h:
5348         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5349         (gst_value_compare_double), (gst_value_serialize_flags):
5350           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5351           infinite loop
5352
5353 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5354
5355         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5356         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5357           fix up debugging
5358         * tools/gst-launch.c: (event_loop):
5359           print out clock nicely
5360
5361 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5362
5363         * docs/gst/gstreamer-sections.txt:
5364         * gst/gsttaglist.h:
5365         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5366         (gst_tag_list_get_date_index):
5367           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5368           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5369
5370 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5371
5372         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5373         (gst_collectpads_chain):
5374         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5375         in CollectData.
5376
5377 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5378
5379         * docs/gst/gstreamer-sections.txt:
5380         * gst/gst.c:
5381         * gst/gsterror.h:
5382         * tools/gst-inspect.c: (main):
5383         * tools/gst-launch.c: (main):
5384         * tools/gst-run.c: (main):
5385         * tools/gst-xmlinspect.c: (main):
5386           fix GOption context leaks
5387           doc fixes
5388
5389 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5390
5391         * gst/gstbus.c:
5392           use HAVE_UNISTD_H
5393         * win32/common/config.h:
5394           update config
5395         * win32/vs6/grammar.dsp:
5396         * win32/vs6/libgstelements.dsp:
5397         * win32/vs6/libgstreamer.dsp:
5398           update vs6 files
5399
5400 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5401
5402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5403         * gst/base/gstbasesrc.c: (gst_base_src_query):
5404           fix more guint64<->gdouble conversions
5405
5406 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5407
5408         * Makefile.am:
5409           add win32-update target
5410         * win32/common/gstconfig.h:
5411         * win32/common/gstenumtypes.c:
5412         * win32/common/gstenumtypes.h:
5413         * win32/common/gstversion.h:
5414           add files that visual studio can't generate
5415
5416 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5417
5418         * Makefile.am:
5419           add a win32-update target
5420         * configure.ac:
5421
5422 2005-10-12  Wim Taymans  <wim@fluendo.com>
5423
5424         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5425         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5426         * gst/gstelement.c: (gst_element_commit_state),
5427         (gst_element_set_state):
5428         Protect flags with proper lock.
5429         unref provided cached clock in dispose.
5430
5431 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5432
5433         * gst/gst.c:
5434         * gst/gstminiobject.h:
5435         * gst/gstpad.h:
5436         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5437           removed unused flags from miniobject
5438           doc fixes
5439
5440 2005-10-12  Wim Taymans  <wim@fluendo.com>
5441
5442         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5443         (gst_file_sink_event), (gst_file_sink_render):
5444         Flush before seeking.
5445
5446 2005-10-12  Andy Wingo  <wingo@pobox.com>
5447
5448         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5449         always been the case.
5450
5451 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5452
5453         * check/gst/gstbin.c: (GST_START_TEST):
5454         * docs/gst/gstreamer-sections.txt:
5455         * gst/base/gstbasesink.c: (gst_base_sink_init):
5456         * gst/base/gstbasesrc.c: (gst_base_src_init),
5457         (gst_base_src_get_range), (gst_base_src_check_get_range),
5458         (gst_base_src_start), (gst_base_src_stop):
5459         * gst/base/gstbasesrc.h:
5460         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5461         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5462         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5463         (bin_bus_handler):
5464         * gst/gstbin.h:
5465         * gst/gstbuffer.h:
5466         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5467         * gst/gstbus.h:
5468         * gst/gstelement.c: (gst_element_is_locked_state),
5469         (gst_element_set_locked_state), (gst_element_commit_state),
5470         (gst_element_set_state):
5471         * gst/gstelement.h:
5472         * gst/gstindex.c: (gst_index_init):
5473         * gst/gstindex.h:
5474         * gst/gstminiobject.h:
5475         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5476         (gst_object_set_parent):
5477         * gst/gstobject.h:
5478         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5479         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5480         * gst/gstpad.h:
5481         * gst/gstpadtemplate.h:
5482         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5483         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5484         * gst/gstpipeline.h:
5485         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5486         (gst_file_index_commit):
5487         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5488         * testsuite/pad/link.c: (gst_test_src_init),
5489         (gst_test_filter_init), (gst_test_sink_init):
5490         * testsuite/states/locked.c: (main):
5491           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5492           moved bitshift from macro to enum definition
5493
5494 2005-10-12  Wim Taymans  <wim@fluendo.com>
5495
5496         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5497         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5498         (gst_file_sink_render):
5499         Some more debugging info.
5500
5501 2005-10-12  Wim Taymans  <wim@fluendo.com>
5502
5503         * docs/design/part-states.txt:
5504         * tools/gst-launch.c: (main):
5505         Some doc updates.
5506         Revert non-intentional change.
5507
5508 2005-10-12  Wim Taymans  <wim@fluendo.com>
5509
5510         * check/gst/gstbin.c: (GST_START_TEST):
5511         * check/gst/gstelement.c: (GST_START_TEST):
5512         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5513         * check/gst/gstghostpad.c: (GST_START_TEST):
5514         * check/gst/gstpipeline.c: (GST_START_TEST):
5515         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5516         * check/states/sinks.c: (GST_START_TEST):
5517         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5518         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5519         (gst_bin_remove_func), (gst_bin_get_state_func),
5520         (gst_bin_recalc_state), (gst_bin_change_state_func),
5521         (bin_bus_handler):
5522         * gst/gstelement.c: (gst_element_get_state_func),
5523         (gst_element_get_state), (gst_element_abort_state),
5524         (gst_element_commit_state), (gst_element_set_state),
5525         (gst_element_change_state), (gst_element_change_state_func):
5526         * gst/gstelement.h:
5527         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5528         (gst_pipeline_provide_clock_func):
5529         * gst/gstutils.c: (gst_element_link_pads_filtered):
5530         * tools/gst-launch.c: (main):
5531         * tools/gst-typefind.c: (main):
5532         Use GstClockTime in _get_state() instead of GTimeVal.
5533         Remove old code in gstutils.c
5534
5535 2005-10-12  Andy Wingo  <wingo@pobox.com>
5536
5537         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5538         removed.
5539
5540         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5541         there is no task. Shouldn't affect any code, as nothing in our
5542         plugins checks this return value.
5543         (gst_pad_stop_task): Also take the stream lock if the pad has no
5544         task. Docs updated.
5545
5546 2005-10-12  Wim Taymans  <wim@fluendo.com>
5547
5548         * gst/gstpad.c: (pre_activate), (post_activate),
5549         (gst_pad_activate_pull), (gst_pad_activate_push):
5550         Cleanup activation code. Reset old state if
5551         activation failed.
5552
5553 2005-10-12  Wim Taymans  <wim@fluendo.com>
5554
5555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5556         (gst_base_sink_change_state):
5557         No need to prerol after receiving EOS.
5558
5559         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5560         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5561         * gst/elements/gstidentity.c: (gst_identity_event):
5562         Print events more verbosely.
5563
5564 2005-10-12  Wim Taymans  <wim@fluendo.com>
5565
5566         * check/Makefile.am:
5567         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5568         * check/states/sinks2.c:
5569         Moved sinks2 testcode in sinks check.
5570
5571         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5572         (gst_bin_remove_func), (gst_bin_recalc_state),
5573         (gst_bin_change_state_func), (bin_bus_handler):
5574         Fix potential race condition when _get_state() iterated over an
5575         ASYNC element right before it posted a state completion.
5576
5577         * gst/gstclock.h:
5578         Do proper cast here.
5579
5580         * gst/gstevent.c: (gst_event_new_newsegment),
5581         (gst_event_parse_newsegment):
5582         A playback rate of 0.0 is not allowed.
5583
5584 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5585
5586         * win32/common/config.h:
5587         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5588         (_trewinddir), (_ttelldir), (_tseekdir):
5589         * win32/common/dirent.h:
5590         * win32/common/gtchar.h:
5591         * win32/common/libgstbase.def:
5592         * win32/common/libgstreamer.def:
5593         * win32/vs6/grammar.dsp:
5594         * win32/vs6/gst_inspect.dsp:
5595         * win32/vs6/gst_launch.dsp:
5596         * win32/vs6/gstreamer.dsw:
5597         * win32/vs6/libgstbase.dsp:
5598         * win32/vs6/libgstelements.dsp:
5599         * win32/vs6/libgstreamer.dsp:
5600           Visual Studio 6 project files, and a new common directory.
5601           Phear.
5602
5603 2005-10-11  Wim Taymans  <wim@fluendo.com>
5604
5605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5606         (gst_base_sink_do_sync), (gst_base_sink_query),
5607         (gst_base_sink_change_state):
5608         * gst/base/gstbasesink.h:
5609         Correctly parse newsegment info.
5610
5611 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5612
5613         * gst/gst.c: (init_post):
5614           split plugin paths correctly
5615
5616 2005-10-11  Wim Taymans  <wim@fluendo.com>
5617
5618         * check/gst/gstevent.c: (GST_START_TEST):
5619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5620         (gst_base_sink_change_state):
5621         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5622         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5623         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5624         * gst/gstevent.c: (gst_event_new_newsegment),
5625         (gst_event_parse_newsegment):
5626         * gst/gstevent.h:
5627         Added extra flag to newsegment for future API freeze.
5628         Updated check and base elements.
5629
5630 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5631
5632         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5633         (gst_collectpads_add_pad), (gst_collectpads_pop),
5634         (gst_collectpads_event), (gst_collectpads_chain):
5635         * gst/base/gstcollectpads.h: Handle EOS correctly.
5636
5637 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5638
5639         * tools/gst-launch.c: (main):
5640           more null protecting
5641
5642 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * gst/gst-i18n-lib.h:
5645           check for ENABLE_NLS, not GETTEXT_PACKAGE
5646         * gst/gstregistry.c: (gst_registry_add_plugin),
5647         (gst_registry_scan_path_level),
5648         (_gst_registry_remove_cache_plugins):
5649           protect possibly NULL strings
5650         * gst/parse/types.h:
5651           config.h already included before
5652         * tools/gst-inspect.c: (main):
5653           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5654           check for ENABLE_NLS, not GETTEXT_PACKAGE
5655         * tools/gst-launch.c: (main):
5656           check for ENABLE_NLS, not GETTEXT_PACKAGE
5657
5658 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * configure.ac:
5661           if we don't have glib, fail before testing 2.8
5662         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5663           fix a leak, should fix plugins-base testsuite
5664
5665 2005-10-11  Andy Wingo  <wingo@pobox.com>
5666
5667         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5668         take the mode we're going to as an arg. Go head and set the mode
5669         and flushing flags now, so that if the activate function starts a
5670         thread all the flags will be in the right state.
5671         (post_activate): Renamed also. Just handle making sure streaming
5672         finishes for the deactivation case, and setting the deactivated
5673         mode.
5674         (gst_pad_set_active): Complain loudly if deactivation fails.
5675         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5676         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5677         remove the terrible hack.
5678
5679 2005-10-11  Wim Taymans  <wim@fluendo.com>
5680
5681         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5682         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5683         (gst_bin_recalc_state), (gst_bin_change_state_func),
5684         (gst_bin_dispose), (bin_bus_handler):
5685         * gst/gstbin.h:
5686         Prepare to make current EOS message queue more generic.
5687         Fix some typos.
5688
5689         * gst/gstevent.c: (gst_event_new_newsegment),
5690         (gst_event_parse_newsegment):
5691         * gst/gstevent.h:
5692         Rename base to stream_time.
5693
5694         * gst/gstmessage.h:
5695         Fix typo in docs.
5696
5697 2005-10-11  Wim Taymans  <wim@fluendo.com>
5698
5699         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5700         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5701         (gst_bin_change_state_func), (bin_bus_handler):
5702         * gst/gstbin.h:
5703         Work on proper clock selection.
5704
5705 2005-10-11  Edward Hervey  <edward@fluendo.com>
5706
5707         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5708         * libs/gst/controller/gstcontroller.h:
5709         Added GList* version of _remove_properties() in order to be able to wrap
5710         it in bindings.
5711
5712 2005-10-11  Wim Taymans  <wim@fluendo.com>
5713
5714         * docs/design/part-states.txt:
5715         Some more docs.
5716
5717         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5718         (gst_bin_change_state_func), (bin_bus_handler):
5719         Doc updates. Don't distribute the same clock over and over again.
5720
5721         * gst/gstclock.c:
5722         * gst/gstclock.h:
5723         Doc updates.
5724
5725         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5726         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5727         (gst_pad_send_event):
5728         * gst/gstpad.h:
5729         Make probe emission threadsafe again.
5730         Register quarks and move _get_name() from utils.
5731         Doc updates.
5732
5733         * gst/gstpipeline.c: (gst_pipeline_class_init),
5734         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5735         Only redistribute the clock of it changed.
5736
5737         * gst/gstsystemclock.h:
5738         Doc updates. 
5739
5740         * gst/gstutils.c:
5741         * gst/gstutils.h:
5742         Moved the _flow_get_name() to GstPad.
5743
5744 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * check/gst-libs/gdp.c: (GST_START_TEST):
5747         * check/gst/gstcaps.c: (GST_START_TEST):
5748         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5749         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5750         (gst_dp_packet_from_caps):
5751           fix more valgrind warnings before turning up the heat
5752
5753 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * gst/parse/grammar.y:
5756           some cleanup before the hacking
5757
5758 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5759
5760         * gst/base/gstbasesrc.c: (gst_base_src_query):
5761           use conversions
5762         * gst/gstutils.c: (gst_guint64_to_gdouble),
5763         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5764         * gst/gstutils.h:
5765           externalize, basesrc uses it
5766           obviously the implementation needs testing
5767
5768 2005-10-10  Wim Taymans  <wim@fluendo.com>
5769
5770         * tests/sched/Makefile.am:
5771         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5772         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5773
5774 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5775
5776         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5777           apparently converting from guint64 to double is not implemented
5778           on MSVC
5779
5780 2005-10-10  Wim Taymans  <wim@fluendo.com>
5781
5782         * check/Makefile.am:
5783         * check/generic/states.c: (GST_START_TEST):
5784         * check/gst/gstbin.c: (GST_START_TEST):
5785         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5786         * check/states/sinks.c: (GST_START_TEST):
5787         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5788         (main):
5789         Check fixes, use API as stated in design docs, remove hacks.
5790
5791         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5792         (gst_base_sink_change_state):
5793         Catch stopping our task while we're shutting down.
5794
5795         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5796         (gst_bin_remove_func), (gst_bin_get_state_func),
5797         (gst_bin_recalc_state), (gst_bin_change_state_func),
5798         (bin_bus_handler):
5799         * gst/gstbin.h:
5800         * gst/gstelement.c: (gst_element_init),
5801         (gst_element_get_state_func), (gst_element_abort_state),
5802         (gst_element_commit_state), (gst_element_lost_state),
5803         (gst_element_set_state), (gst_element_change_state),
5804         (gst_element_change_state_func):
5805         * gst/gstelement.h:
5806         New state change algorithm (see #318116)
5807
5808         * gst/gstpipeline.c: (gst_pipeline_class_init),
5809         (gst_pipeline_init), (gst_pipeline_set_property),
5810         (gst_pipeline_get_property), (do_pipeline_seek),
5811         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5812         * gst/gstpipeline.h:
5813         Remove crude state change hacks.
5814
5815         * gst/gstutils.h:
5816         Remove crude hacks.
5817
5818         * tools/gst-launch.c: (main):
5819         Fixes for state change. Needs some more work to fully use the
5820         new stuff.
5821
5822 2005-10-10  Andy Wingo  <wingo@pobox.com>
5823
5824         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5825
5826         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5827         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5828         issue.
5829
5830 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * gst/gstiterator.c: (gst_iterator_new):
5833           Fix my previous commit: GTypes passed to gst_iterator_new()
5834           can be fundamental types.
5835
5836 2005-10-10  Wim Taymans  <wim@fluendo.com>
5837
5838         * gst/gstelement.c: (gst_element_iterate_pad_list),
5839         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5840         (gst_element_iterate_sink_pads):
5841         Use src/sink pads lists for the respective iterators instead
5842         of filtering.
5843
5844 2005-10-10  Andy Wingo  <wingo@pobox.com>
5845
5846         Merged in popt removal + GOption addition patch from Ronald, bug
5847         #169772.
5848
5849         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5850         GstElement macros around, remove popt-related symbols, add goption
5851         stuff.
5852
5853         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5854         
5855         * docs/gst/Makefile.am:
5856         * docs/libs/Makefile.am: No POPT_CFLAGS.
5857         
5858         * examples/manual/Makefile.am:
5859         * docs/manual/basics-init.xml: Doc updates with an example.
5860         
5861         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5862         (gst_init), (parse_one_option), (parse_goption_arg):
5863         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5864         bit of hand merging and debugging to get the GOption stuff working
5865         tho.
5866         
5867         * tests/Makefile.am:
5868         * tools/Makefile.am:
5869         * tools/gst-inspect.c: (main):
5870         * tools/gst-launch.c: (main):
5871         * tools/gst-run.c: (main):
5872         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5873
5874 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * gst/gstiterator.c: (gst_iterator_new):
5877           Add assertions to make sure passed GType is likely to really
5878           be a GType (as the compiler won't catch it if the size and
5879           GType arguments get mixed up, see #318447).
5880
5881 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5882
5883         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5884
5885         * gst/gstbin.c: (gst_bin_iterate_sorted):
5886           Pass GType and size arguments to gst_iterator_new() in the right
5887           order (maybe we should make _new() take the GType as first argument
5888           just like _new_list()?) (#318447).
5889           
5890
5891 2005-10-10  Wim Taymans  <wim@fluendo.com>
5892
5893         * gst/gstelement.c: (gst_element_finalize):
5894         And free the GStaticRecMutex too
5895
5896 2005-10-10  Andy Wingo  <wingo@pobox.com>
5897
5898         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5899         Allocate and free the mutex properly.
5900
5901         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5902         New macros.
5903         (GstElement): The state_lock is now recursive. Rebuild your
5904         plugins, suckers. Old macros adapted.
5905
5906         * docs/gst/gstreamer-sections.txt: Doc updates.
5907
5908         * gst/gstutils.h:
5909         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5910         (g_static_rec_cond_wait): Ported from state changes patch, while
5911         we wait on bug #317802 to be solved in a well-distributed GLib.
5912
5913         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5914         gst_element_change_state, variable name changes.
5915         (gst_element_change_state): Split out of gst_element_set_state in
5916         preparation for the state change merge. Doesn't pay attention to
5917         the 'transition' argument.
5918         (gst_element_set_state): Updates, hopefully purely cosmetic.
5919         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5920         state change patch.
5921         (gst_element_get_state_func): Renamed from get_state, cosmetic
5922         changes.
5923
5924 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5925
5926         * gst/elements/gstelements.c:
5927         * win32/GStreamer.vcproj:
5928         * win32/config.h:
5929         * win32/dirent.c: (_tseekdir):
5930         * win32/gst-inspect.vcproj:
5931         * win32/gst-launch.vcproj:
5932         * win32/gstconfig.h:
5933         * win32/gstelements.vcproj:
5934         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5935         * win32/gstreamer.def:
5936         * win32/msvc71.sln:
5937           updates for the win32 build (patch from Sebastien Moutte)
5938
5939 2005-10-10  Andy Wingo  <wingo@pobox.com>
5940
5941         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5942         gst_bin_get_state, cleaned up (but no logic changes).
5943         (bin_element_is_sink): Comment updates.
5944         (sink_iterator_filter): Remove needless cast.
5945         (gst_bin_iterate_sinks): Doc update.
5946         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5947         cleaned up (but no logic changes).
5948
5949         * check/states/sinks.c (test_src_sink): Cleanups from the state
5950         change patch.
5951         (test_livesrc_sink): Sync on the state.
5952
5953         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5954         the state change patch.
5955
5956         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5957         change patch.
5958
5959         * check/gst/gstbin.c: Merge in some style fixes and additional
5960         checks from Wim's state change patch.
5961
5962 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5963
5964         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5965         (gst_type_find_helper):
5966           Check whether we have the requested data already in our list of
5967           cached buffers before pulling a new buffer; also make the buffer
5968           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5969
5970 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5971
5972         * gst/gstcaps.c:
5973         * gst/gstevent.c:
5974           doc updates
5975         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5976           don't use long long, it's not portable.  Replacing with
5977           gint64 seems to work; let's hope no skeletons fall out of the closet.
5978
5979 2005-10-10  Andy Wingo  <wingo@pobox.com>
5980
5981         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5982
5983 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5984
5985         * docs/gst/gstreamer-sections.txt:
5986         * gst/gstevent.c:
5987         * gst/gstevent.h:
5988         * gst/gstinfo.c:
5989         * gst/gstinfo.h:
5990         * gst/gstmessage.c: (gst_message_parse_state_changed):
5991         * gst/gstpad.c:
5992         * gst/gstpad.h:
5993           more docs, fix compilation
5994
5995 2005-10-09  Philippe Khalaf <burger@speedy.org>
5996         * gst/gstmessage.c:
5997           Fixed a few forgotten variables on previous commit
5998
5999 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6000
6001         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6002           Fix evil typefind crasher: getrange() might return a short
6003           buffer at the end of a file, but gst_type_find_peek() must
6004           either return the full data as requested or NULL, but
6005           never a short buffer.
6006
6007 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * gst/gstmessage.c: (gst_message_new_state_changed),
6010         (gst_message_parse_state_changed):
6011         * gst/gstmessage.h:
6012           don't use "new", it's a C++ keyword
6013
6014 2005-10-08  Wim Taymans  <wim@fluendo.com>
6015
6016         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6017         * gst/gstelement.c: (gst_element_post_message):
6018         * gst/gstpipeline.c: (gst_pipeline_change_state):
6019         Small docs and debug updates.
6020
6021 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6022
6023         * docs/gst/gstreamer-sections.txt:
6024         * gst/gstelementfactory.c:
6025         * gst/gstevent.c:
6026         * gst/gsttaglist.c:
6027           more docs
6028
6029 2005-10-08  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6032         (gst_bin_dispose), (bin_bus_handler):
6033         Fix typos, add comments.
6034         Clear EOS list when going to PAUSED from any direction and do it
6035         in a threadsafe way.
6036         Get base time in a threadsafe way too.
6037         Fix confusing debug in the change_state function.
6038         Various other small cleanups.
6039         
6040         * gst/gstelement.c: (gst_element_post_message):
6041         Fix very verbose bus posting code.
6042
6043         * gst/gstpipeline.c: (gst_pipeline_class_init),
6044         (gst_pipeline_set_property), (gst_pipeline_get_property),
6045         (gst_pipeline_change_state):
6046         Small ARG_ -> PROP_ cleanup
6047
6048 2005-10-08  Wim Taymans  <wim@fluendo.com>
6049
6050         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6051         Do a less CPU demanding EOS check because we can.
6052
6053 2005-10-08  Wim Taymans  <wim@fluendo.com>
6054
6055         * libs/gst/dataprotocol/dataprotocol.c:
6056         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6057         (gst_dp_packet_from_event):
6058         * libs/gst/dataprotocol/dataprotocol.h:
6059         * libs/gst/dataprotocol/dp-private.h:
6060         It's about time we bump the version number.
6061         Since event types don't fit in the guint8 anymore describing
6062         the payload type, make payload type 16 bits wide.
6063
6064 2005-10-08  Wim Taymans  <wim@fluendo.com>
6065
6066         * docs/design/part-TODO.txt:
6067         * docs/design/part-clocks.txt:
6068         * docs/design/part-events.txt:
6069         * docs/design/part-gstbin.txt:
6070         * docs/design/part-gstelement.txt:
6071         * docs/design/part-gstpipeline.txt:
6072         * docs/design/part-live-source.txt:
6073         * docs/design/part-messages.txt:
6074         * docs/design/part-overview.txt:
6075         * docs/design/part-states.txt:
6076         Many doc updates.
6077
6078 2005-10-08  Wim Taymans  <wim@fluendo.com>
6079
6080         * gst/gstevent.c:
6081         * gst/gstevent.h:
6082         Fix event quark registration.
6083         Add some space between events so we can insert them in the
6084         right groups.
6085
6086 2005-10-08  Wim Taymans  <wim@fluendo.com>
6087
6088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6089         (gst_base_sink_handle_buffer):
6090         Better log message.
6091
6092         * gst/gstbus.h:
6093         * gst/gstelement.h:
6094         More docs.
6095
6096         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6097         (gst_queue_set_property), (gst_queue_get_property):
6098         * gst/gstqueue.h:
6099         Remove old unused properties.
6100
6101 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6102         * docs/gst/gstreamer-sections.txt:
6103         * gst/gstmessage.c:
6104         * gst/gstmessage.h:
6105         * gst/gstminiobject.c:
6106         * gst/gstminiobject.h:
6107         * gst/gstobject.h:
6108         * gst/gstpad.h:
6109         * gst/gstutils.h:
6110           lots of new docs and doc fixes
6111
6112 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6115         * gst/gstplugin.h:
6116         * gst/gstregistry.c: (gst_registry_lookup_locked),
6117         (gst_registry_scan_path_level):
6118         * gst/gstregistryxml.c: (load_plugin):
6119           Only ever load one plugin for a given plugin basename.
6120           This ensures correct overriding of GST_PLUGIN_PATH over
6121           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6122           system installed plugins.
6123
6124 2005-10-08  Wim Taymans  <wim@fluendo.com>
6125
6126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6127         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6128         Prepare for doing QOS.
6129
6130 2005-10-08  Wim Taymans  <wim@fluendo.com>
6131
6132         * check/gst/gstbin.c: (GST_START_TEST):
6133         * check/pipelines/cleanup.c: (GST_START_TEST):
6134         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6135         Allow new clock message too.
6136
6137 2005-10-08  Wim Taymans  <wim@fluendo.com>
6138
6139         * gst/gstmessage.c: (gst_message_new_error),
6140         (gst_message_new_warning), (gst_message_new_tag),
6141         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6142         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6143         (gst_message_new_segment_start), (gst_message_new_segment_done),
6144         (gst_message_parse_state_changed),
6145         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6146         (gst_message_parse_new_clock):
6147         * gst/gstmessage.h:
6148         Also carry the clock in question.
6149
6150 2005-10-08  Wim Taymans  <wim@fluendo.com>
6151
6152         * gst/gstmessage.c: (gst_message_new_custom),
6153         (gst_message_new_eos), (gst_message_new_error),
6154         (gst_message_new_warning), (gst_message_new_tag),
6155         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6156         (gst_message_new_new_clock), (gst_message_new_segment_start),
6157         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6158         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6159         * gst/gstmessage.h:
6160         Clean up.
6161         Added clock related messages.
6162
6163         * gst/gstpipeline.c: (gst_pipeline_change_state):
6164         Post message when the clock changed.
6165
6166         * tools/gst-launch.c: (event_loop):
6167         Print new clock.
6168
6169 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6170
6171         * tools/gst-inspect.c: (print_element_properties_info):
6172           Can't pass NULL strings to g_print() on windows.
6173
6174 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6175
6176         * docs/Makefile.am:
6177         * docs/gst/Makefile.am:
6178         * docs/gst/gstreamer-docs.sgml:
6179         * docs/gst/running.xml:
6180         * docs/version.entities.in:
6181           add a chapter on running GStreamer.
6182           document GST_DEBUG and GST_PLUGIN* env vars
6183
6184 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6185
6186         * Makefile.am:
6187           remove include dir
6188         * configure.ac:
6189           remove PLUGINS_BUILDDIR stuff
6190         * gst/gst.c: (init_post):
6191           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6192         * idiottest.mak:
6193           remove, it was condescending and not needed
6194
6195 2005-10-08  Wim Taymans  <wim@fluendo.com>
6196
6197         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6198         (gst_base_sink_handle_object), (gst_base_sink_event),
6199         (gst_base_sink_wait), (gst_base_sink_handle_event),
6200         (gst_base_sink_change_state):
6201         * gst/base/gstbasesink.h:
6202         Repost EOS message while going to PLAYING if still EOS.
6203         Make sure that when receiving a FLUSH_START we don't attempt
6204         to sync on the clock anymore.
6205
6206 2005-10-08  Wim Taymans  <wim@fluendo.com>
6207
6208         * tools/gst-launch.c: (event_loop):
6209         Better message printout.
6210
6211 2005-10-08  Wim Taymans  <wim@fluendo.com>
6212
6213         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6214         (gst_bin_child_proxy_get_children_count):
6215         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6216         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6217         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6218         (gst_child_proxy_set_valist):
6219         * gst/parse/grammar.y:
6220         Make ChildProxy threadsafe and fix mem leaks.
6221
6222 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6223
6224         * gst/gst.c: (init_post):
6225           debug the GST_PLUGIN_ env vars
6226
6227 2005-10-08  Wim Taymans  <wim@fluendo.com>
6228
6229         * check/gst/gstbin.c: (GST_START_TEST):
6230         * check/gst/gstmessage.c: (GST_START_TEST):
6231         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6232         * gst/gstelement.c: (gst_element_commit_state),
6233         (gst_element_lost_state):
6234         * gst/gstmessage.c: (gst_message_new_state_changed),
6235         (gst_message_parse_state_changed):
6236         * gst/gstmessage.h:
6237         * tools/gst-launch.c: (event_loop):
6238         Added extra field to STATE_CHANGE message with the pending
6239         state, which will be different from the new state soon.
6240
6241 2005-10-08  Wim Taymans  <wim@fluendo.com>
6242
6243         * gst/gstbus.c: (gst_bus_pop):
6244         * gst/gstclock.c:
6245         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6246         Small cleanups and doc updates.
6247
6248 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6249
6250         * gst/gst.c: (init_pre):
6251         * gst/gstbin.c: (gst_bin_add_func):
6252           log distributing clocks and base time
6253         * gst/gstregistry.c: (gst_registry_add_plugin),
6254         (gst_registry_scan_path_level), (gst_registry_scan_path):
6255           clean up the debugging output a little
6256         * gst/gstutils.c: (gst_element_state_get_name):
6257           warn about a memleak (I've actually seen this be used, though
6258           it was probably a bug)
6259
6260 2005-10-07  Wim Taymans  <wim@fluendo.com>
6261
6262         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6263         (gst_base_src_init), (gst_base_src_default_newsegment),
6264         (gst_base_src_newsegment), (gst_base_src_do_seek),
6265         (gst_base_src_loop), (gst_base_src_start):
6266         * gst/base/gstbasesrc.h:
6267         Make the newsegment event customizable by subclasses.
6268
6269 2005-10-07  Wim Taymans  <wim@fluendo.com>
6270
6271         * gst/gstevent.c: (gst_event_new_buffersize),
6272         (gst_event_parse_buffersize):
6273         * gst/gstevent.h:
6274         New event for future idea.
6275
6276 2005-10-07  Andy Wingo  <wingo@pobox.com>
6277
6278         * gst/gstelement.c (gst_element_post_message): Doc update.
6279
6280         * docs/gst/gstreamer-sections.txt: Update.
6281
6282         * gst/gstmessage.c (gst_message_new_application): Made into a
6283         function like honest API calls.
6284         (gst_message_new_element): New message type.
6285
6286         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6287
6288         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6289         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6290         times.
6291
6292         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6293         NO_PREROLL from gst_element_change_state to fall through.
6294
6295 2005-10-07  Wim Taymans  <wim@fluendo.com>
6296
6297         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6298         (gst_ghost_pad_do_activate_push):
6299         Activating a ghostpad with no internal pad in push mode
6300         is ok.
6301
6302 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6303
6304         * gst/gstobject.h:
6305           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6306           Fixes compilation on Windows.
6307
6308 2005-10-07  Michael Smith <msmith@fluendo.com>
6309
6310         * tools/gst-inspect.c:
6311           Print out feature and plugin count at the end when printing out
6312           all features.
6313
6314 2005-10-04  Michael Smith <msmith@fluendo.com>
6315
6316         * gst/gsterror.c: (_gst_stream_errors_init):
6317           Add another error string used in a few existing plugins.
6318
6319         * gst/gstplugin.c:
6320         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6321         * tools/gst-inspect.c: (print_element_info):
6322           When a feature disappears from a plugin (and the feature exists in
6323           the cached registry file), things went horribly wrong. This isn't a
6324           complete fix, we should actually be removing the 'missing' features
6325           from the features list when we load the actual plugin. That's not
6326           yet implemented. 
6327
6328 2005-10-04  Johan Dahlin  <johan@gnome.org>
6329
6330         * check/gst/gstiterator.c: (GST_START_TEST):
6331         * gst/gstbin.c: (gst_bin_iterate_elements),
6332         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6333         * gst/gstelement.c: (gst_element_iterate_pads):
6334         * gst/gstformat.c: (gst_format_iterate_definitions):
6335         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6336         (gst_iterator_new_list), (gst_iterator_filter):
6337         * gst/gstiterator.h:
6338         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6339         Add a GType to GstIterator, update callsites and tests.
6340
6341 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6342
6343         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6344           give events a chance to be handled by event probes when the pad
6345           is not linked
6346
6347 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6348
6349         * gst/gstevent.c: (gst_event_type_get_name),
6350         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6351         * gst/gstevent.h:
6352           add string representations for event types
6353
6354 2005-10-06  Wim Taymans  <wim@fluendo.com>
6355
6356         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6357         Don't use NULL pointers.
6358
6359 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6360
6361         * gst/gst_private.h:
6362         * gst/gstbus.c:
6363         * gst/gstelement.c:
6364         * gst/gstinfo.c:
6365         * gst/gstpluginfeature.c:
6366           widen the debug category in output to fit the biggest one we have
6367           add a bus category and use it
6368           play with the colors
6369           fix up some categories
6370
6371 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6372
6373         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6374           add push activation of sink ghost pads.
6375           Andye, please verify
6376
6377 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6378
6379         * gst/gstutils.c: (gst_element_link_pads):
6380           fix a bug in the case where neither element has a pad
6381         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6382           add a test for that case
6383
6384 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6385
6386         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6387           emit have-data before checking for peers.  This allows
6388           for probe handlers to connect elements.  This helps autopluggers.
6389         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6390         (gst_pad_suite):
6391           add six checks, linked/unlinked with no/true/false probe
6392
6393 2005-10-04  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6396         (gst_fake_sink_event), (gst_fake_sink_preroll),
6397         (gst_fake_sink_render), (gst_fake_sink_change_state):
6398         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6399         (gst_fake_src_get_property), (gst_fake_src_create),
6400         (gst_fake_src_stop):
6401         * gst/elements/gstidentity.c: (gst_identity_stop):
6402         Protect last_message with lock.
6403
6404 2005-10-04  Edward Hervey  <edward@fluendo.com>
6405
6406         * gst/gstformat.h: 
6407         Added precision in the comments for GST_FORMAT_DEFAULT
6408
6409 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6410
6411         * tools/gst-launch.c: (main):
6412           Don't try to run erroneous pipelines.
6413
6414 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6415
6416         * gst/gstbus.c: We don't need this header.
6417
6418 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6419
6420         * configure.ac:
6421           back to development
6422
6423 === release 0.9.3 ===
6424
6425 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * README:
6428         * configure.ac:
6429           Releasing 0.9.3, "Unregistered"
6430
6431 2005-10-03  Andy Wingo  <wingo@pobox.com>
6432
6433         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6434         whereby calling a pad's activatepush() function can start a thread
6435         that starts to push or pull before the pad gets the FLUSHING flag
6436         unset. Hack around it by holding the stream lock until the flag is
6437         set. Need to replace this with a proper solution. Together with
6438         the ghost pad fixes, this fixes mp3 playing/tagreading.
6439
6440         * docs/design/part-gstghostpad.txt: Add a note about activation of
6441         proxy pads outside of ghost pads.
6442
6443         * gst/gstghostpad.c: Implement the ghost pad activation design.
6444
6445 2005-10-02  Andy Wingo  <wingo@pobox.com>
6446
6447         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6448         It is volatile, after all.
6449
6450         * docs/design/part-gstghostpad.txt: Flesh out activation with
6451         ghost pads.
6452
6453         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6454         GST_DEBUG_FUNCPTR.
6455
6456 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6457
6458         * configure.ac:
6459           Fix (unused) AM_CONDITIONAL tests.
6460
6461 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6462
6463         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6464
6465         * gst/gstutils.c: (gst_pad_query_convert):
6466           Add assertion that makes sure src_val is >=0, just like
6467           gst_query_new_convert() has. (#315895)
6468
6469 2005-09-30  Edward Hervey  <edward@fluendo.com>
6470
6471         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6472         Let's not iterate pads we're not interested in, it avoids getting 
6473         sky-high refcounts on sinkpad.
6474
6475 2005-09-30  Wim Taymans  <wim@fluendo.com>
6476
6477         * gst/gstelement.c: (gst_element_set_state),
6478         (gst_element_change_state):
6479         Small tweak, element in ASYNC remains ASYNC.
6480
6481 2005-09-30  Wim Taymans  <wim@fluendo.com>
6482
6483         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6484         Only error is an error.
6485
6486         * gst/gstbin.c: (gst_bin_change_state):
6487         Better debugging.
6488
6489         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6490         Also call pad_block in pad alloc.
6491
6492         * gst/gstutils.c: (gst_flow_get_name):
6493         Better debugging.
6494
6495 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6498         (gst_base_src_get_range):
6499           Fix documentation typos. Add some more debug info.
6500
6501 2005-09-29  David Schleef  <ds@schleef.org>
6502
6503         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6504           more end-user friendly.
6505         * tools/gst-inspect.c: (main): Check if command-line argument is
6506           a file and attempt to load that file as a plugin.
6507
6508 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * check/gst/gstbin.c:
6511         * check/states/sinks.c:
6512           fix tests for the new warning
6513         * check/gst/gstpipeline.c:
6514           add a test for pipeline and bus interaction
6515         * gst/gstelement.c:
6516           elements should be NULL if they get disposed; add a warning if not
6517
6518 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6519
6520         * gst/gstobject.c:
6521           for 2.6 refcounting, make debug log more correct by printing
6522           the actual refcounts at the time of swap (Wim)
6523
6524 2005-09-29  Andy Wingo  <wingo@pobox.com>
6525
6526         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6527         removes signal watches previously added via
6528         gst_bus_add_signal_watch.
6529         (gst_bus_add_signal_watch): Don't return the source id, just store
6530         it on the bus if there wasn't an id already.
6531
6532         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6533         add_signal_watch and remove_signal_watch.
6534
6535 2005-09-29  Edward Hervey  <edward@fluendo.com>
6536
6537         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6538         Better if we actually iterate the list :)
6539
6540 2005-09-29  Wim Taymans  <wim@fluendo.com>
6541
6542         * check/gst/gstbin.c: (GST_START_TEST):
6543         Change for new bus API.
6544
6545         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6546         (send_messages), (GST_START_TEST), (gstbus_suite):
6547         Change for new bus signal API.
6548
6549         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6550         (gst_bus_source_prepare), (gst_bus_source_check),
6551         (gst_bus_create_watch), (gst_bus_add_watch_full),
6552         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6553         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6554         * gst/gstbus.h:
6555         Remove support for multiple GSources operating on different
6556         message types as it is too complex and unneeded when using
6557         signals.
6558         Added support for receiving signals from the bus.
6559
6560 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6561
6562         * docs/libs/tmpl/gstdataprotocol.sgml:
6563         * docs/manual/advanced-dataaccess.xml:
6564         * gst/elements/gstcapsfilter.c:
6565         * gst/gstutils.c:
6566           rename filter-caps to caps property
6567
6568 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6569
6570         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6571           More robust fraction string parsing.
6572
6573         * docs/pwg/appendix-porting.xml:
6574           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6575
6576 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6577
6578         * gst/gstcaps.c: (gst_caps_do_simplify):
6579           Thou shalt not free a structure and then continue using it
6580           in the next loop iteration.
6581
6582         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6583         (gst_caps_suite):
6584           Add test case for caps simplification.
6585
6586 2005-09-29  Wim Taymans  <wim@fluendo.com>
6587
6588         * check/gst/gstbin.c: (GST_START_TEST):
6589         Oops.
6590
6591 2005-09-29  Wim Taymans  <wim@fluendo.com>
6592
6593         * check/gst/gstbin.c: (GST_START_TEST):
6594         Add bus to bin.
6595
6596         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6597         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6598         (find_element), (gst_bin_sort_iterator_next),
6599         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6600         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6601         (gst_bin_change_state), (gst_bin_dispose):
6602         A bin does not have a bus, it gets the bus from the parent.
6603
6604         * gst/gstelement.c: (gst_element_requires_clock),
6605         (gst_element_provides_clock), (gst_element_is_indexable),
6606         (gst_element_is_locked_state), (gst_element_change_state),
6607         (gst_element_set_bus_func):
6608         Small cleanups.
6609
6610         * gst/gstpipeline.c: (gst_pipeline_class_init),
6611         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6612         The pipeline provides a bus.
6613
6614 2005-09-28  Johan Dahlin  <johan@gnome.org>
6615
6616         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6617         gst_structure_get_enum instead of gst_structure_get_int
6618
6619         * gst/gststructure.c (gst_structure_get_enum): Impl.
6620
6621         * gst/gststructure.h (gst_structure_get_enum): Add
6622
6623         * docs/gst/gstreamer-sections.txt: Ditto
6624
6625         * gst/gstmessage.c (gst_message_new_state_changed): Use
6626         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6627         which does introspection.
6628         Reviewed by Christian Schaller
6629
6630 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * gst/gstinfo.c: (gst_debug_log_default):
6633           don't do dummy g_strdup()s
6634         * libs/gst/controller/gstcontroller.c:
6635         (on_object_controlled_property_changed),
6636         (gst_controlled_property_new), (gst_controller_new_valist),
6637         (gst_controller_new_list),
6638         (gst_controller_remove_properties_valist), (gst_controller_set),
6639         (gst_controller_get), (gst_controller_sync_values),
6640         (gst_controller_get_value_array), (_gst_controller_class_init),
6641         (gst_controller_get_type):
6642         * libs/gst/controller/gstcontroller.h:
6643         * libs/gst/controller/gstinterpolation.c:
6644         (gst_controlled_property_find_timed_value_node):
6645           convert // to /**/ comments
6646
6647 2005-09-28  Wim Taymans  <wim@fluendo.com>
6648
6649         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6650         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6651         (gst_bus_sync_signal_handler):
6652         * gst/gstbus.h:
6653         Added async-message and sync-message signals to the bus.
6654         Added helper BusFunc to emit signals for all posted messages.
6655
6656         * gst/gstmessage.c: (gst_message_type_get_name),
6657         (gst_message_type_to_quark), (gst_message_get_type):
6658         * gst/gstmessage.h:
6659         Register quarks for message names.
6660
6661 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6662
6663         * docs/libs/gstreamer-libs-sections.txt:
6664         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6665         (gst_controller_new_list):
6666         * libs/gst/controller/gstcontroller.h:
6667           added another constructor for language bindings
6668
6669 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6670
6671         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6672           add another check
6673         * gst/gstbus.c:
6674           add some doc
6675         * gst/gstinfo.c: (_gst_debug_init):
6676           slightly more readable color for refcount debugging
6677
6678 2005-09-28  Wim Taymans  <wim@fluendo.com>
6679
6680         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6681         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6682         (find_element), (gst_bin_sort_iterator_next),
6683         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6684         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6685         (gst_bin_change_state), (gst_bin_dispose):
6686         Small doc fixes. get_clock -> provide_clock.
6687
6688         * gst/gstelement.c: (gst_element_class_init),
6689         (gst_element_provides_clock), (gst_element_provide_clock),
6690         (gst_element_get_clock), (gst_element_commit_state),
6691         (gst_element_lost_state):
6692         * gst/gstelement.h:
6693         Make get/set_clock() symetric. Add provide_clock vmethod since
6694         that is actually what this function does.
6695
6696         * gst/gstpipeline.c: (gst_pipeline_class_init),
6697         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6698         (gst_pipeline_get_clock):
6699         get_clock -> provide_clock.
6700
6701 2005-09-28  Andy Wingo  <wingo@pobox.com>
6702
6703         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6704         lieu of real docs...
6705
6706         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6707
6708 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * gst/elements/gstcapsfilter.c:
6711         * gst/elements/gstfakesink.c:
6712         * gst/elements/gstfakesrc.c:
6713         * gst/elements/gstfdsink.c:
6714         * gst/elements/gstfdsrc.c:
6715         * gst/elements/gstfilesink.c:
6716         * gst/elements/gstfilesrc.c:
6717         * gst/elements/gstidentity.c:
6718         * gst/elements/gsttee.c:
6719         * gst/elements/gsttypefindelement.c:
6720           Make element details static.
6721
6722 2005-09-28  Wim Taymans  <wim@fluendo.com>
6723
6724         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6725         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6726         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6727         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6728         (gst_bin_change_state), (gst_bin_dispose):
6729         Some documentation updates.
6730         Clean up dispose handlers.
6731
6732         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6733         * gst/gstpad.c: (gst_pad_dispose):
6734         Clean up dispose handler.
6735
6736         * gst/gstpipeline.c: (gst_pipeline_change_state):
6737         Removed spurious UNLOCK.
6738
6739 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6740
6741         * docs/gst/gstreamer-sections.txt:
6742         * gst/base/gstbasesrc.h:
6743         * gst/gstelement.h:
6744         * gst/gstevent.h:
6745         * gst/gstobject.h:
6746         * gst/gstpad.h:
6747         * gst/gstpipeline.c:
6748         * gst/gstpipeline.h:
6749         * gst/gstutils.h:
6750         * gst/gstxml.h:
6751           added two new functions to the docs
6752                 documents all undocumented GstXXXFlags
6753                 completed some incomplete docs 
6754
6755 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * gst/gstbin.c: (gst_bin_dispose):
6758         * gst/gstelement.c: (gst_element_dispose):
6759           remove now useless and leaky resurrection code in dispose
6760         * gst/base/gstbasesrc.c: (gst_base_src_init):
6761         * gst/gstelementfactory.c: (gst_element_factory_create):
6762         * gst/gstobject.c: (gst_object_set_parent):
6763           add some debugging
6764
6765 2005-09-27  Wim Taymans  <wim@fluendo.com>
6766
6767         * docs/design/part-TODO.txt:
6768         Update TODO.
6769
6770         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6771         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6772         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6773         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6774         (gst_bin_change_state):
6775         * gst/gstelement.h:
6776         Remove element variable, we keep element info in the iterator now.
6777
6778 2005-09-27  Andy Wingo  <wingo@pobox.com>
6779
6780         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6781         values.
6782
6783 2005-09-27  Wim Taymans  <wim@fluendo.com>
6784
6785         * check/gst/gstbin.c: (GST_START_TEST):
6786         Enable check that works now.
6787
6788         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6789         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6790         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6791         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6792         (gst_bin_change_state):
6793         * gst/gstbin.h:
6794         Redid the state change algorithm using a topological sort algo.
6795         Handles all cases correctly.
6796         Exposed iterator for state change order.
6797
6798         * gst/gstelement.h:
6799         Temp storage for state changes. Need to get rid of this soon.
6800
6801 2005-09-27  Wim Taymans  <wim@fluendo.com>
6802
6803         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6804         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6805         (link_fold_func), (gst_pad_proxy_setcaps):
6806         Leak fixes, the fold functions need to unref the passed object and
6807         _get_parent_*() returns ref to parent.
6808
6809 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6810
6811         * check/gst/gstbuffer.c: (test_make_writable):
6812           Plug leak in test case and fix 'make check-valgrind'
6813
6814 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6815
6816         * gst/gstbuffer.c: (gst_subbuffer_init):
6817           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6818           works correctly in all circumstances (we could have just copied
6819           the parent buffer's readonly flag, but conceptually it seems
6820           cleaner to mark all subbuffers as read-only). (based on patch
6821           by Alessandro Decina, #314710).
6822         
6823         * check/gst/gstbuffer.c: (create_read_only_buffer),
6824         (test_make_writable), (test_subbuffer_make_writable),
6825         (gst_test_suite):
6826           Add some tests for gst_buffer_make_writable().
6827
6828 2005-09-27  Wim Taymans  <wim@fluendo.com>
6829
6830         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6831         use gst_object_has_ancestor().
6832
6833         * gst/gstobject.c: (gst_object_has_ancestor):
6834         * gst/gstobject.h:
6835         gst_object_has_ancestor() copied from gstbin.c as it is a
6836         usefull function.
6837
6838         * tests/instantiate/create.c: (create_all_elements):
6839         * tests/lat.c: (handoff_src), (handoff_sink):
6840         * tests/sched/runxml.c: (main):
6841         * tests/seeking/seeking1.c: (main):
6842         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6843         (main):
6844         Fix compilation of some tests.
6845
6846 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6847
6848         * gst/gsterror.h:
6849           Remove comment. GST_TYPE_G_ERROR is here to stay,
6850           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6851           (#316961, #300610).
6852
6853 2005-09-26  Wim Taymans  <wim@fluendo.com>
6854
6855         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6856         Added check that shows error in state change order.
6857
6858 2005-09-26  Wim Taymans  <wim@fluendo.com>
6859
6860         * gst/gstbin.c: (gst_bin_change_state):
6861         Make state change function use 3 queues again, we were
6862         adding elements in the wrong order.
6863
6864         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6865         Some debug info,
6866
6867         * gst/gstpad.c: (gst_pad_dispose):
6868         Added some debug info first.
6869
6870 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6871
6872         * docs/design/draft-push-pull.txt:
6873         * docs/design/part-events.txt:
6874         * docs/design/part-overview.txt:
6875         * docs/design/part-scheduling.txt:
6876           Replace all _pull_region() with _pull_range()
6877           
6878 2005-09-26  Andy Wingo  <wingo@pobox.com>
6879
6880         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6881
6882         * check/gst-libs/controller.c: Update for controller api change.
6883
6884         * configure.ac: 
6885         * tests/Makefile.am:
6886         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6887         over by GLib bug 118439.
6888         
6889         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6890         routines to a function.
6891
6892         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6893
6894         * libs/gst/controller/gsthelper.c:
6895         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6896         (gst_object_sync_values): Renamed from sink_values. Ugh.
6897
6898         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6899
6900         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6901         Renamed from controller_key, as it is exported.
6902
6903         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6904
6905 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6906
6907         * gst/Makefile.am:
6908         * gst/gst.h:
6909         * gst/gstpad.h:
6910         * gst/gstpadtemplate.h:
6911         * gst/gstquery.c:
6912         * gst/gstquery.h:
6913         * gst/gstqueryutils.c:
6914         * gst/gstqueryutils.h:
6915           remove queryutils headers after moving the two used functions
6916           to gstquery.  also fixes build problem for gstsiddec
6917
6918 2005-09-26  Michael Smith <msmith@fluendo.com>
6919
6920         * tools/gst-launch.1.in:
6921         Correct documentation in manpage of debug syntax
6922
6923 2005-09-26  Wim Taymans  <wim@fluendo.com>
6924
6925         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6926         (gst_base_src_is_seekable), (gst_base_src_change_state):
6927         Some more debugging info.
6928
6929 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6930
6931         * docs/gst/gstreamer-sections.txt:
6932         * gst/base/gstbasetransform.h:
6933         * gst/gstindex.h:
6934           added more docs
6935
6936 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6937
6938         * docs/gst/.cvsignore:
6939         * docs/gst/tmpl/.cvsignore:
6940         * docs/gst/tmpl/gstpipeline.sgml:
6941         * docs/gst/tmpl/gstplugin.sgml:
6942         * gst/gstpipeline.c:
6943         * gst/gstplugin.c:
6944         * gst/gstplugin.h:
6945           inlined the last two docs files
6946           removed the tmpl directory from cvs (no more conflicts here!)
6947
6948 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6949
6950         * docs/gst/gstreamer-sections.txt:
6951         * docs/gst/tmpl/.cvsignore:
6952         * docs/gst/tmpl/gstpad.sgml:
6953         * docs/gst/tmpl/gstpadtemplate.sgml:
6954         * gst/Makefile.am:
6955         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6956         (gst_pad_finalize), (gst_pad_set_pad_template):
6957         * gst/gstpad.h:
6958         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6959         (gst_pad_template_class_init), (gst_pad_template_init),
6960         (gst_pad_template_dispose), (name_is_valid),
6961         (gst_static_pad_template_get), (gst_pad_template_new),
6962         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6963         (gst_pad_template_pad_created):
6964         * gst/gstpadtemplate.h:
6965           inlined two more docs
6966           factored gstpadtemplate out of gstpad
6967
6968 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6969
6970         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6971         (test_children_state_change_order_semi_sink):
6972           Fix test case: we can't rely on a fixed state change order when
6973           going from READY => PAUSED because the sink might commit its 
6974           new state first when the first buffer created by the source 
6975           reaches the sink before the source has finished its change state.
6976           (Test case still fails at times, see #316856, comment 5 onwards)
6977
6978 2005-09-24  Wim Taymans  <wim@fluendo.com>
6979
6980         * docs/design/part-events.txt:
6981         * docs/design/part-gstbus.txt:
6982         * docs/design/part-gstpipeline.txt:
6983         * docs/design/part-messages.txt:
6984         * docs/design/part-overview.txt:
6985         * docs/design/part-segments.txt:
6986         * gst/gstbin.c:
6987         * gst/gstbuffer.c:
6988         * gst/gstclock.c:
6989         * gst/gstelement.c:
6990         * gst/gstevent.c:
6991         * gst/gstfilter.c:
6992         * gst/gstiterator.c:
6993         Various documentation updates.
6994
6995 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6996
6997         * gst/gstclock.h:
6998           Well, that's embarassing.  Luckily we weren't using
6999           GST_CLOCK_DIFF anywhere.
7000
7001 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * common/gtk-doc.mak:
7004           don't fail on building XML, FC4 slave shows a bunch of doc
7005           missing bits that I don't get
7006         * gst/gstpad.c:
7007         * gst/gstpipeline.c:
7008         * gst/gststructure.c:
7009           some doc updates
7010
7011 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7012
7013         * docs/design/part-gstbin.txt:
7014         * docs/design/part-gstbus.txt:
7015         * gst/gstbus.c:
7016           Add blurb about how the bus goes into flushing mode and
7017           drops all messages when its bin goes from READY into NULL 
7018           state.
7019
7020 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7021
7022         * docs/gst/gstreamer-sections.txt:
7023         * gst/gststructure.c: (gst_structure_get_clock_time):
7024         * gst/gststructure.h:
7025           add a method to get a GstClockTime out of a structure
7026
7027 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7028
7029         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7030         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7031           Added test to check state change order in bins (can still be made
7032           to fail here under heavy disk load; bails out with 'Push on pad
7033           fakesink:sink0, but it was not activated in push mode').
7034
7035         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7036           Fix state change order when there is only a semi sink (#316856)
7037
7038         * gst/gstbus.c: (gst_bus_class_init):
7039           Use _class_peek_parent(), not _class_ref(); fix docs to say
7040           'default main context' instead of 'mainloop' where that is
7041           what's meant.
7042
7043         * gst/gstelement.c: (gst_element_commit_state),
7044         (gst_element_set_state):
7045           Fix typos in debug messages
7046
7047 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7048
7049         * docs/README:
7050         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7051         * gst/gstpluginfeature.c:
7052         * gst/gstutils.c:
7053           various doc updates
7054         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7055           change an assert into an error until it gets fixed properly
7056
7057 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7058
7059         * docs/gst/gstreamer-sections.txt:
7060         * docs/gst/tmpl/.cvsignore:
7061         * docs/gst/tmpl/gstelement.sgml:
7062         * docs/gst/tmpl/gstinfo.sgml:
7063         * docs/gst/tmpl/gstobject.sgml:
7064         * gst/gstelement.c:
7065         * gst/gstelement.h:
7066         * gst/gstinfo.c:
7067         * gst/gstinfo.h:
7068         * gst/gstobject.c: (gst_object_class_init):
7069         * gst/gstobject.h:
7070           inlined 3 more biiiig doc files and added some missing docs on the fly
7071
7072 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7073
7074         * check/gst/.cvsignore:
7075         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7076         * gst/gstregistryxml.c: (load_plugin),
7077         (gst_registry_xml_save_plugin):
7078           put back source in registry.  add checks for find_plugin.
7079         * testsuite/states/bin.c: (assert_state), (empty_bin),
7080         (test_adding_one_element), (main):
7081         * testsuite/states/locked.c: (main):
7082           some compile/run fixes
7083
7084 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7085
7086         * check/gst/gstvalue.c: (GST_START_TEST):
7087           fix leaks in the test itself
7088
7089 2005-09-22  Wim Taymans  <wim@fluendo.com>
7090
7091         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7092         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7093         (gst_base_sink_query):
7094         Prepare for more accurate position reporting and query
7095         handling.
7096
7097         * gst/gstelement.c: (gst_element_send_event),
7098         (gst_element_set_state):
7099         Add some comment.
7100
7101 2005-09-22  Wim Taymans  <wim@fluendo.com>
7102
7103         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7104         (gst_query_parse_segment):
7105         * gst/gstquery.h:
7106         More documentation.
7107         Add segment query for future use.
7108
7109 2005-09-22  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/gstbin.c: (gst_bin_add_func):
7112         Some more debug info.
7113
7114         * gst/gstelement.c: (gst_element_send_event):
7115         Simplify send_event
7116
7117         * gst/gstelement.h:
7118         Don't know how flags got broken.
7119
7120         * gst/gstquery.h:
7121         Added new query.
7122
7123 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7124
7125         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7126           Add simplistic test suite for GST_TYPE_DATE serialisation and
7127           deserialisation.
7128
7129 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7130
7131         * docs/gst/gstreamer-sections.txt:
7132         * gst/gststructure.c: (gst_structure_set_valist),
7133         (gst_structure_get_date):
7134         * gst/gststructure.h:
7135         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7136         (gst_date_copy), (gst_value_compare_date),
7137         (gst_value_serialize_date), (gst_value_deserialize_date),
7138         (gst_value_transform_date_string),
7139         (gst_value_transform_string_date), (_gst_value_initialize):
7140         * gst/gstvalue.h:
7141           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7142           bunch of utility functions along with a hack that checks that
7143           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7144           is required. Part of the grand scheme in #170777.
7145
7146 2005-09-22  Andy Wingo  <wingo@pobox.com>
7147
7148         * gst/gstconfig.h.in: Psych out gtk-doc.
7149
7150         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7151
7152         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7153
7154         * tools/gst-inspect.c (print_element_list): Plug some
7155         inconsequential leaks.
7156
7157         * gst/gstregistry.c (gst_registry_get_default): Doc.
7158
7159         * check/gst/gstplugin.c: 
7160         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7161         * gst/gstelementfactory.c (gst_element_factory_create): 
7162         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7163         refcount changes.
7164
7165         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7166         (gst_plugin_feature_load): Doc, don't eat refs.
7167
7168         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7169         (gst_plugin_list_free): Doc.
7170         (gst_plugin_load_file): Doc updates.
7171
7172         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7173         accessors returning refcounted objects, return a ref.
7174
7175         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7176         accessor for caps. IDEMPOTENCE. Oh yes.
7177
7178 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7179
7180         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7181
7182         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7183         (_gst_debug_register_funcptr):
7184           Add mutex to serialise access to the hash table with
7185           the function pointer => function name string mapping;
7186           make that hash table static scope (#316809).
7187
7188         * gst/registries/.cvsignore:
7189           Remove left-over file.
7190
7191 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7192
7193         * docs/pwg/appendix-porting.xml:
7194           And something about newsegment events and caps-on-buffers to
7195           the porting guide (feel free to improve).
7196
7197 2005-09-21  Andy Wingo  <wingo@pobox.com>
7198
7199         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7200         data and event probes on the same pad.
7201         (test_buffer_probe_once): Test that removing probes from within
7202         the probe functions works.
7203
7204 2005-09-21  Andy Wingo  <wingo@pobox.com>
7205
7206         * check/gst/gstutils.c: New file.
7207         (test_buffer_probe_n_times): A simple buffer probe test. More to
7208         come, foolios.
7209
7210         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7211         have-data::buffer, not have-data.
7212         (gst_pad_add_event_probe): Likewise for have-data::event.
7213         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7214         peer' isn't quite right yet though.
7215         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7216         (gst_pad_remove_data_probe): Change to take the guint handler_id
7217         as their arg, not the function+data, which is more glib-like.
7218
7219         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7220         the signal emission to indicate if the data is a buffer or an
7221         event.
7222         (gst_pad_get_type): Initialize buffer and event quarks.
7223         (gst_pad_class_init): have-data is now a detailed signal, yes it
7224         is.
7225
7226 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7227
7228         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7229         * gst/gstutils.c: (gst_util_set_value_from_string),
7230         (gst_util_set_object_arg):
7231           Don't put functional code in g_return_if_fail() or
7232           g_return_val_if_fail() statements, otherwise things will 
7233           break when G_DISABLE_CHECKS is defined during compilation.
7234
7235 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7236
7237         * docs/gst/tmpl/.cvsignore:
7238         * docs/gst/tmpl/gstvalue.sgml:
7239         * gst/gstvalue.c:
7240         * gst/gstvalue.h:
7241           inlied another one and added  some obvious docs
7242
7243 2005-09-21  Wim Taymans  <wim@fluendo.com>
7244
7245         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7246         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7247         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7248         (gst_fdsrc_get_property), (gst_fdsrc_create):
7249         * gst/elements/gstfdsrc.h:
7250         Properly implement fdsrc. Removed signal and timeout,
7251         better implemented somewhere else.
7252
7253 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7254
7255         * docs/gst/tmpl/.cvsignore:
7256         * docs/gst/tmpl/gstimplementsinterface.sgml:
7257         * gst/gstinterface.c:
7258           inlined more docs
7259
7260 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7261
7262         * docs/gst/gstreamer-sections.txt:
7263         * docs/gst/tmpl/.cvsignore:
7264         * docs/gst/tmpl/gstenumtypes.sgml:
7265           remove obsolete doc file
7266
7267 2005-09-21  David Schleef  <ds@schleef.org>
7268
7269         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7270         little beer, fix a little leak.
7271
7272 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7273
7274         * docs/gst/gstreamer-docs.sgml:
7275         * docs/gst/gstreamer-sections.txt:
7276         * docs/gst/tmpl/.cvsignore:
7277         * gst/Makefile.am:
7278         * gst/gst.h:
7279         * gst/gstbin.c:
7280         * gst/gstelement.h:
7281         * gst/gstindex.c: (gst_index_class_init):
7282         * gst/gstindex.h:
7283         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7284         (gst_index_factory_class_init), (gst_index_factory_init),
7285         (gst_index_factory_finalize), (gst_index_factory_new),
7286         (gst_index_factory_destroy), (gst_index_factory_find),
7287         (gst_index_factory_create), (gst_index_factory_make):
7288         * gst/gstindexfactory.h:
7289         * gst/gstpluginfeature.c:
7290         * gst/gstpluginfeature.h:
7291         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7292           more docs inlined, splitted gstindex.{c,h}
7293
7294 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7295
7296         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7297           fix a leak
7298
7299 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7300
7301         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7302           Set sync to FALSE by default.
7303
7304 2005-09-20  Wim Taymans  <wim@fluendo.com>
7305
7306         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7307         (gst_base_sink_init):
7308         Make sync property settable from subclass.
7309
7310         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7311         (gst_fake_sink_change_state):
7312         Set sync to FALSE by default.
7313
7314 2005-09-20  Wim Taymans  <wim@fluendo.com>
7315
7316         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7317         * tools/gst-launch.c: (main):
7318         The timeout handler should have lower priority than the source
7319         so we don't timeout before popping a message with 0 timeout.
7320         Dump error messages after failed state change.
7321
7322 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7323
7324         * tools/gst-inspect.c: (print_element_properties_info):
7325           Fix two typos.
7326
7327 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7328
7329         * check/gst/gstevent.c:
7330         * gst/elements/gstfakesink.c:
7331         * gst/elements/gstfakesink.h:
7332           remove the sync property from fakesink.
7333           has the side effect of setting sync TRUE
7334           for fakesink, which is a change.  Anyone who knows how
7335           to fix this nicely in a GObject-y way, feel free.
7336
7337 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7338
7339         * docs/gst/gstreamer-docs.sgml:
7340           remove probe refsection
7341
7342 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7343
7344         * check/Makefile.am:
7345           disable valgrinding the controller test again
7346         * docs/gst/gstreamer-sections.txt:
7347           update for api-changes
7348
7349 2005-09-20  Wim Taymans  <wim@fluendo.com>
7350
7351         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7352         (gst_base_sink_set_property), (gst_base_sink_get_property),
7353         (gst_base_sink_do_sync):
7354         * gst/base/gstbasesink.h:
7355         Added sync property to basesink to disable clock sync.
7356
7357 2005-09-20  Andy Wingo  <wingo@pobox.com>
7358
7359         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7360         eating the caller's refcount.
7361
7362         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7363         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7364         refcount.
7365
7366         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7367         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7368         of GLib 2.8 public, so we can know which refcount to check in
7369         tests.
7370
7371         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7372         (gst_object_init): Only set the gst refcount if we're going ahead
7373         with the refcount hack.
7374
7375 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7376
7377         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7378         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7379           more leaks plumbed, added more debug-logging
7380         * gst/gstmacros.h:
7381           whitespace fix
7382
7383 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7384
7385         * gst/gstmessage.c:
7386           remove include of gstmemchunk.h
7387
7388 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7389
7390         * gst/gstclock.c: (_gst_clock_id_free):
7391           Commit from the Political Party For More Atomic CVS Commits,
7392           so that people don't waste too much of their day fishing
7393           out obvious leaks out of massive commits.
7394           Oh, and fix a pretty damn obvious leak in the memchunk
7395           removal code.
7396
7397 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7398
7399         * check/Makefile.am:
7400         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7401           plug mem-leak, re-add to valgrindable tests
7402
7403 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7404
7405         * gst/gstplugin.h:
7406           unbreak the build for those who have chronic arthritis
7407           and typing "make check" is just too taxing on the hands
7408
7409 2005-09-20  Andy Wingo  <wingo@pobox.com>
7410
7411         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7412         really want it out, you should fix plugins at the same time.
7413
7414 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7415
7416         * configure.ac:
7417         * docs/gst/gstreamer-sections.txt:
7418         * gst/gstobject.c:
7419           added missing symbols to api docs
7420           disable ref-count hack if we have glib >= 2.8
7421
7422 2005-09-19  David Schleef  <ds@schleef.org>
7423
7424         * docs/gst/Makefile.am: Ignore a few more internal headers
7425         * docs/gst/gstreamer-docs.sgml: Remove old sections
7426         * docs/gst/gstreamer-sections.txt: Remove old sections
7427         * docs/gst/tmpl/gstobject.sgml: update
7428         * docs/gst/tmpl/gstplugin.sgml: update
7429         * docs/gst/tmpl/gstpluginfeature.sgml: update
7430         * docs/random/ds/0.9-suggested-changes: update.
7431         * gst/Makefile.am: remove memchunk and trashstack, since they're
7432           not used.
7433         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7434         * gst/gst.h: don't include some headers
7435         * gst/gstchildproxy.c: add gstmarshal.h
7436         * gst/gstclock.c: Don't use memchunks
7437         * gst/gstminiobject.c: Add some docs
7438         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7439         * gst/gstobject.h: same
7440         * gst/gstplugin.c: include gstmacros.h
7441         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7442         * gst/gstquery.c: don't use memchunks
7443         * gst/gstregistry.c: rename gst_registry_deinit()
7444         * gst/gstregistry.h: same
7445
7446 2005-09-19  David Schleef  <ds@schleef.org>
7447
7448         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7449         * docs/libs/gstreamer-libs-sections.txt:
7450         * docs/libs/tmpl/gstgetbits.sgml:
7451         * docs/libs/tmpl/gstputbits.sgml:
7452
7453 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7454
7455         * win32/gstenumtypes.c:
7456         * win32/gstenumtypes.h:
7457           Update.
7458
7459 2005-09-19  Wim Taymans  <wim@fluendo.com>
7460
7461         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7462         Automatically PAUSE and RESUME a pipeline when a flushing seek
7463         is performed.
7464
7465 2005-09-19  Andy Wingo  <wingo@pobox.com>
7466
7467         * gst/gstregistry.h: Spacing fixen.
7468
7469 2005-09-19  Wim Taymans  <wim@fluendo.com>
7470
7471         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7472         Handle state change failure more correctly.
7473
7474 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7475
7476         * check/Makefile.am:
7477         * check/pipelines/cleanup.c: (run_pipeline):
7478         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7479         (GST_START_TEST):
7480           enable cleanup again after fixing the leak
7481         * docs/README:
7482           some more info on docs
7483
7484 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7485
7486         * check/Makefile.am:
7487           re-enable tests now that leaks are plugged
7488         * check/gst/gst.c:
7489         * check/gst/gstbin.c:
7490         * check/gst/gstpipeline.c:
7491           add some more tests while fixing leaks
7492         * common/check.mak:
7493           make sure binaries are uptodate when valgrinding/gdbing
7494         * gst/gst.c:
7495         * gst/gstelementfactory.c:
7496           remove a ref too many, and add a FIXME for when we get
7497           round to disposing of classes
7498         * gst/gstplugin.c:
7499           fix the refcounting when loading a plugin from a file and
7500           the code pretends that the pointer is the same even though
7501           of course it can change
7502         * gst/gstpluginfeature.c:
7503           unref plugins marked cached (a bit confusing as a name)
7504           as the docs state should be done
7505           various doc additions to explain refcounting
7506         * gst/gstregistry.c:
7507         * gst/gstregistryxml.c:
7508           debugging
7509
7510 2005-09-19  Wim Taymans  <wim@fluendo.com>
7511
7512         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7513         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7514         (send_messages), (GST_START_TEST), (gstbus_suite):
7515         * check/gst/gstpipeline.c: (GST_START_TEST):
7516         * check/pipelines/cleanup.c: (run_pipeline):
7517         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7518         (GST_START_TEST):
7519         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7520         (gst_bus_source_check), (gst_bus_source_dispatch),
7521         (gst_bus_create_watch), (gst_bus_add_watch_full),
7522         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7523         * gst/gstbus.h:
7524         * tools/gst-launch.c: (event_loop):
7525         * tools/gst-md5sum.c: (event_loop):
7526         GstBusHandler -> GstBusFunc, return value has the same meaning as
7527         any other GSource (FALSE == remove source).
7528         _add_watch() and _add_watch_full() now take a MessageType mask to
7529         only handle specific types of messages.
7530         _poll() returns the GstMessage instead of the message type to avoid
7531         race conditions.
7532         _have_pending() takes a MessageType mask now too.
7533         Added testsuite for multiple bus watches.
7534         Fix testsuites and applications for new bus API.
7535
7536 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7537
7538         * check/Makefile.am:
7539           mark a bunch of the tests as to fix until we fix them
7540
7541 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7542
7543         * common/check.mak:
7544           use GST_PLUGIN settings for valgrind tests as well, so we're
7545           valgrinding the correct thing
7546         * gst/gst.c: (init_post):
7547           plug another leak
7548
7549 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7550
7551         * gst/gst.c: (init_post), (gst_deinit):
7552         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7553         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7554         * gst/gstindex.c: (gst_index_factory_class_init),
7555         (gst_index_factory_finalize):
7556         * gst/gstobject.c: (gst_object_dispose):
7557         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7558         (gst_plugin_load_file), (gst_plugin_desc_free):
7559         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7560         (gst_plugin_feature_finalize):
7561         * gst/gstregistry.c: (gst_registry_class_init),
7562         (gst_registry_init), (gst_registry_finalize),
7563         (gst_registry_get_default), (gst_registry_deinit):
7564         * gst/gstregistry.h:
7565         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7566           various cleanups and memleak plugging.  make valgrind is happy now.
7567
7568 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7569
7570         * common/check.mak:
7571           add a check-valgrind target
7572
7573 2005-09-18  David Schleef  <ds@schleef.org>
7574
7575         * tools/gst-inspect.c: Revert the GOption code.
7576
7577 2005-09-17  David Schleef  <ds@schleef.org>
7578
7579         * check/Makefile.am: Fix environment variables.
7580         * check/gst/gstplugin.c: Fix for API changes.
7581         * tools/gst-inspect.c: Fix for API changes.
7582         * tools/gst-xmlinspect.c: Fix for API changes.
7583         * gst/gstelementfactory.c:
7584         * gst/gstplugin.c:
7585         * gst/gstplugin.h:
7586         * gst/gstpluginfeature.c:
7587         * gst/gstpluginfeature.h:
7588         * gst/gstregistry.c:
7589         * gst/gstregistry.h:
7590         * gst/gstregistryxml.c:
7591         * gst/gsttypefind.c:
7592         * gst/gsttypefindfactory.c:
7593         * gst/indexers/gstfileindex.c:
7594         * gst/indexers/gstmemindex.c:
7595         * gst/schedulers/Makefile.am:
7596           Change registry to keep track of both plugins and features,
7597           removing the feature tracking from plugins themselves.
7598
7599 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7600
7601         * check/Makefile.am:
7602         * tools/gst-register.1.in:
7603           remove gst-register
7604
7605 2005-09-15  David Schleef  <ds@schleef.org>
7606
7607         * check/gst/gstplugin.c:
7608         * gst/gstelementfactory.c:
7609         * gst/gstplugin.c:
7610         * gst/gstpluginfeature.c:
7611         * gst/gstregistry.c:
7612           Getting tired of debugging.  Disabled all the unreffing of
7613           plugins and features, which fixes the segfaults, but of
7614           course leaks like crazy.  At least playbin works.
7615
7616 2005-09-15  David Schleef  <ds@schleef.org>
7617
7618         * check/gst/gstplugin.c: (register_check_elements),
7619         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7620         More testing
7621         * gst/elements/gsttypefindelement.c: Fix refcounting.
7622         * gst/gsttypefind.c:
7623         * gst/gsttypefindfactory.c:
7624         * gst/gsttypefindfactory.h:
7625
7626 2005-09-15  David Schleef  <ds@schleef.org>
7627
7628         * gst/gstindex.c: get refcounting correct.
7629         * gst/gstregistry.c: Handle the case where a feature/plugin is
7630           not found.
7631
7632 2005-09-15  David Schleef  <ds@schleef.org>
7633
7634         * check/Makefile.am:
7635         * check/gst/gstplugin.c: Add test
7636         * gst/gstplugin.c: Fix problems noticed by testsuite
7637         * gst/gstplugin.h:
7638         * gst/gstregistry.c: 
7639         * gst/gstregistry.h:
7640
7641 2005-09-15  David Schleef  <ds@schleef.org>
7642
7643         * gst/gstplugin.c: Implement semi-decent recounting and locking
7644           in plugins and plugin features.
7645         * gst/gstplugin.h:
7646         * gst/gstpluginfeature.c:
7647         * gst/gstpluginfeature.h:
7648         * gst/gstregistry.c:
7649
7650 2005-09-15  Michael Smith <msmith@fluendo.com>
7651
7652         * gst/gstregistry.c: (gst_registry_get_feature_list):
7653           Implement this. Makes oggdemux work; decodebin still broken.
7654
7655 2005-09-14  David Schleef  <ds@schleef.org>
7656
7657         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7658           #316076)
7659         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7660         * gst/check/Makefile.am:
7661         * libs/gst/controller/Makefile.am:
7662         * libs/gst/dataprotocol/Makefile.am:
7663
7664 2005-09-14  David Schleef  <ds@schleef.org>
7665
7666         * configure.ac: Remove getbits library.  Nothing uses it, and
7667           it should be in something like liboil if someone did want
7668           to use it.
7669         * libs/gst/Makefile.am:
7670         * libs/gst/getbits/Makefile.am:
7671         * libs/gst/getbits/gbtest.c:
7672         * libs/gst/getbits/getbits.c:
7673         * libs/gst/getbits/getbits.h:
7674         * libs/gst/getbits/gstgetbits_generic.c:
7675         * libs/gst/getbits/gstgetbits_i386.s:
7676         * libs/gst/getbits/gstgetbits_inl.h:
7677
7678 2005-09-14  David Schleef  <ds@schleef.org>
7679
7680         * gst/Makefile.am: Dist glib-compat.h
7681
7682 2005-09-14  David Schleef  <ds@schleef.org>
7683
7684         * configure.ac: Remove gst/registries, since it's no longer used.
7685         * gst/registries/Makefile.am:
7686         * gst/registries/gstlibxmlregistry.c:
7687         * gst/registries/gstlibxmlregistry.h:
7688         * gst/registries/gstxmlregistry.c:
7689         * gst/registries/gstxmlregistry.h:
7690         * gst/registries/registrytest.c:
7691
7692 2005-09-14  David Schleef  <ds@schleef.org>
7693
7694         * gst/glib-compat.h:
7695         * gst/gstregistryxml.c:
7696           Convergence is near.  Seriously.
7697
7698 2005-09-14  David Schleef  <ds@schleef.org>
7699
7700         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7701         * gst/glib-compat.h:
7702           Attempt #4 to appease the buildbots.
7703
7704 2005-09-14  David Schleef  <ds@schleef.org>
7705
7706         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7707           Attempt #3.
7708
7709 2005-09-14  David Schleef  <ds@schleef.org>
7710
7711         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7712         Attempt #2.
7713
7714 2005-09-14  David Schleef  <ds@schleef.org>
7715
7716         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7717           the new functions.
7718
7719 2005-09-14  David Schleef  <ds@schleef.org>
7720
7721         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7722         * gst/glib-compat.h: Add some functions that are in newer versions
7723           of glib than we care to require.
7724         * gst/gstregistryxml.c: Use them.
7725
7726 2005-09-14  David Schleef  <ds@schleef.org>
7727
7728         * po/POTFILES.in: remove gst-register.c
7729
7730 2005-09-14  David Schleef  <ds@schleef.org>
7731
7732         * docs/gst/gstreamer-docs.sgml:
7733         * docs/gst/gstreamer-sections.txt:
7734         * docs/gst/gstreamer.types:
7735         * docs/gst/tmpl/gstelement.sgml:
7736         * docs/gst/tmpl/gstplugin.sgml:
7737         * docs/gst/tmpl/gstpluginfeature.sgml:
7738           Documentation updates for registry changes.
7739
7740 2005-09-14  David Schleef  <ds@schleef.org>
7741
7742         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7743           because we don't require glib-2.8.
7744
7745 2005-09-14  David Schleef  <ds@schleef.org>
7746
7747         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7748           registries directory.
7749
7750 2005-09-14  David Schleef  <ds@schleef.org>
7751
7752         * check/Makefile.am:
7753         * check/generic/states.c:
7754         * gst/Makefile.am:
7755         * gst/gst.c:
7756         * gst/gst.h:
7757         * gst/gst_private.h:
7758         * gst/gstelementfactory.c:
7759         * gst/gstindex.c:
7760         * gst/gstinfo.c:
7761         * gst/gstplugin.c:
7762         * gst/gstplugin.h:
7763         * gst/gstpluginfeature.c:
7764         * gst/gstpluginfeature.h:
7765         * gst/gstregistry.c:
7766         * gst/gstregistry.h:
7767         * gst/gstregistrypool.c: remove
7768         * gst/gstregistrypool.h: remove
7769         * gst/gsttypefind.c:
7770         * gst/gsttypefindfactory.c:
7771         * gst/gsturi.c:
7772         * tools/Makefile.am:
7773         * tools/gst-compprep.c:
7774         * tools/gst-inspect.c:
7775         * tools/gst-register.c: remove
7776         * tools/gst-xmlinspect.c:
7777           Registry rewrite.  Changes registry from being a file created
7778           by a tool into a simple cache file created automatically by 
7779           libgstreamer.  Removed gst-register (because it's no longer
7780           needed).  Remove registry pools, because we only have one
7781           registry implementation (XML).  Fix up other subsystems as
7782           necessary.
7783
7784 2005-09-13  Michael Smith <msmith@fluendo.com>
7785
7786         * gst/gstconfig.h.in:
7787           Don't Use windows linking attributes for MinGW. Fixes #316157
7788
7789 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * gst/gstutils.c: (set_state_async_thread_func),
7792         (gst_element_set_state_async):
7793           Apparently people think it's better if this function doesn't
7794           try to set the state to whatever state was asked for on the first
7795           call to this function for any object.  Seriously.
7796
7797 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7798
7799         * check/gst/gstpipeline.c: (GST_START_TEST):
7800         * docs/gst/gstreamer-sections.txt:
7801         * gst/gstutils.c: (set_state_async_thread_func),
7802         (gst_element_set_state_async):
7803         * gst/gstutils.h:
7804           add a "gst_element_set_state_async" method that
7805           sets the state and starts a thread to make sure the state
7806           change completes as best as it can
7807
7808 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7809
7810         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7811           codify design+behaviour in testsuite after discussion
7812
7813 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * docs/gst/tmpl/gstelement.sgml:
7816         * docs/manual/appendix-quotes.xml:
7817           add a quote
7818         * gst/gstelement.c: (gst_element_set_state):
7819           add some debug
7820
7821 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7822
7823         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7824         (gst_base_transform_prepare_output_buf),
7825         (gst_base_transform_handle_buffer):
7826         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7827         (gst_capsfilter_prepare_buf):
7828           Remove the requirement for sub-classes to call the parent
7829           implementation of prepare_output_buffer with a wrapper function.
7830           
7831         * gst/gsttaglist.h:
7832         * gst/gsttagsetter.h:
7833           Fix #define wrapper
7834
7835 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7836
7837         * docs/gst/gstreamer-sections.txt:
7838           more doc cleanups
7839
7840 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7841
7842         * docs/gst/gstreamer-sections.txt:
7843         * docs/gst/tmpl/gstelement.sgml:
7844         * docs/gst/tmpl/gstplugin.sgml:
7845         * gst/gstminiobject.c:
7846         * gst/gstvalue.h:
7847           docs now stop throwing warnings
7848
7849 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7850
7851         * docs/gst/gstreamer-sections.txt:
7852         * docs/gst/gstreamer.types:
7853         * docs/gst/tmpl/gstpad.sgml:
7854         * docs/gst/tmpl/gsttypes.sgml:
7855         * gst/base/gstadapter.h:
7856         * gst/base/gstbasesink.h:
7857         * gst/base/gstbasesrc.h:
7858         * gst/gstbin.h:
7859         * gst/gstbuffer.h:
7860         * gst/gstbus.h:
7861         * gst/gstcaps.h:
7862         * gst/gstclock.h:
7863         * gst/gstelement.h:
7864         * gst/gstevent.h:
7865         * gst/gstmessage.h:
7866         * gst/gstpad.h:
7867         * gst/gststructure.c:
7868         * gst/registries/gstlibxmlregistry.h:
7869           various documentation fixes
7870
7871 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7872
7873         * docs/gst/gstreamer-sections.txt:
7874         * docs/gst/tmpl/gstvalue.sgml:
7875           rearrange gstvalue section
7876         * gst/gstutils.c: (gst_element_state_get_name):
7877           NONE -> VOID
7878         * gst/gstvalue.c: (_gst_value_initialize):
7879         * gst/gstvalue.h:
7880           doc updates
7881
7882 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7883
7884         * check/gst-libs/controller.c:
7885           Header include fix.
7886         * gst/base/gstbasetransform.c:
7887         (gst_base_transform_default_prepare_buf),
7888         (gst_base_transform_handle_buffer):
7889         * gst/base/gstbasetransform.h:
7890           Some more basetransform changes and fixes to enable sub-classes
7891           that modify buffer metadata only.
7892         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7893         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7894         (gst_capsfilter_prepare_buf):
7895           If the output pad has fixed allowed caps and input buffers 
7896           don't have any, set the fixed caps on outgoing buffers.
7897
7898 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7899         * check/elements/identity.c: (GST_START_TEST):
7900           Make the error a little clearer when the test fails because
7901           identity made a copy of the buffer.
7902         * docs/gst/gstreamer-sections.txt:
7903           New symbols in gstbasetransform.h
7904         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7905         (gst_base_transform_init), (gst_base_transform_transform_size),
7906         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7907         (gst_base_transform_default_prepare_buf),
7908         (gst_base_transform_get_unit_size),
7909         (gst_base_transform_buffer_alloc),
7910         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7911         (gst_base_transform_change_state),
7912         (gst_base_transform_set_passthrough),
7913         (gst_base_transform_set_in_place),
7914         (gst_base_transform_is_in_place):
7915         * gst/base/gstbasetransform.h:
7916           Change BaseTransform to separate in_place operate from same_caps
7917           output. in_place implies that the element can perform the transform
7918           on incoming buffers in-place, even if the caps on the output are
7919           different.
7920           Sub-class elements can now implement special buffer allocation
7921           methods for outgoing buffers if they wish to.
7922           Big documentation addition.
7923         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7924         * gst/elements/gstelements.c:
7925           Changes for basetransform modifications.
7926         * gst/elements/Makefile.am:
7927         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7928           Compile fix. Extra debug output.
7929
7930 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7931
7932         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7933         (gst_pad_suite):
7934           add tests for valid pad naming
7935         * gst/check/gstcheck.c: (gst_check_log_message_func),
7936         (gst_check_log_critical_func):
7937           add ASSERT_WARNING
7938           remove printing of code, it is fragile when the code contains
7939           % and the line number is enough info
7940         * gst/check/gstcheck.h:
7941         * gst/gstpad.c: (gst_pad_template_new):
7942           fix memleaks
7943
7944 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7945
7946         * configure.ac:
7947           say what CHECK flags we use
7948         * docs/libs/gstreamer-libs.types:
7949         * libs/gst/controller/Makefile.am:
7950         * libs/gst/controller/gst-controller.c:
7951         * libs/gst/controller/gst-controller.h:
7952         * libs/gst/controller/gst-helper.c:
7953         * libs/gst/controller/gst-interpolation.c:
7954         * libs/gst/controller/gstcontroller.c:
7955         * libs/gst/controller/gsthelper.c:
7956         * libs/gst/controller/gstinterpolation.c:
7957         * tools/gst-inspect.c: (print_plugin_info):
7958           we don't use dashes in header names
7959
7960 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * check/Makefile.am:
7963         * check/gst/.cvsignore:
7964         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7965         (gst_pipeline_suite), (main):
7966           adding a test for pipelines and state changes
7967         * gst/gstutils.c: (get_state_func):
7968           add some debugging
7969         * gstreamer.spec.in:
7970           fix up spec file
7971
7972 2005-09-08  Michael Smith <msmith@fluendo.com>
7973
7974         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7975         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7976         (gst_file_src_is_seekable), (gst_file_src_get_size),
7977         (gst_file_src_start):
7978         * gst/elements/gstfilesrc.h:
7979           Various fixes for unseekable, unmmapable, and non-normal files, so
7980           that fallback to read() rather than mmap() works.
7981         * gst/gstevent.c: (gst_event_new_newsegment):
7982           Allow newsegment events with segment_start == segment_end, as will
7983           correctly happen if you use filesrc on a zero-size file, for
7984           example.
7985
7986 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7987
7988         * gst/gstplugin.c: (gst_plugin_load_file):
7989           Call g_module_close when we don't load the module
7990
7991         * gst/registries/gstlibxmlregistry.c:
7992         (gst_xml_registry_get_property):
7993           Port leak fix from 0.8
7994
7995 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7996
7997         * docs/gst/gstreamer-docs.sgml:
7998         * docs/gst/tmpl/.cvsignore:
7999         * docs/gst/tmpl/gsttrace.sgml:
8000         * docs/gst/tmpl/gsttrashstack.sgml:
8001         * gst/Makefile.am:
8002         * gst/gst.h:
8003         * gst/gstelement.h:
8004         * gst/gstevent.h:
8005         * gst/gstmessage.c:
8006         * gst/gstmessage.h:
8007         * gst/gsttag.c:
8008         * gst/gsttag.h:
8009         * gst/gsttaginterface.c:
8010         * gst/gsttaginterface.h:
8011         * gst/gsttaglist.c:
8012         * gst/gsttaglist.h:
8013         * gst/gsttagsetter.c:
8014         * gst/gsttagsetter.h:
8015         * gst/gsttrace.c:
8016         * gst/gsttrace.h:
8017         * gst/gsttrashstack.c:
8018           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8019           inlined docs for gsttrace, gsttrashstack
8020
8021 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8022
8023         * gst/Makefile.am:
8024         * gst/elements/gstbufferstore.h:
8025         * gst/elements/gsttypefindelement.c:
8026         * gst/elements/gsttypefindelement.h:
8027         * gst/gst.h:
8028         * gst/gsttypefind.c:
8029         * gst/gsttypefind.h:
8030         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8031         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8032         (gst_type_find_factory_dispose),
8033         (gst_type_find_factory_unload_thyself),
8034         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8035         (gst_type_find_factory_get_caps),
8036         (gst_type_find_factory_get_extensions),
8037         (gst_type_find_factory_call_function):
8038         * gst/gsttypefindfactory.h:
8039         * gst/registries/gstlibxmlregistry.c:
8040         * gst/registries/gstxmlregistry.c:
8041           splitted gsttypefind into gsttypefind, gsttypefindfactory
8042
8043 2005-09-07  Andy Wingo  <wingo@pobox.com>
8044
8045         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8046         condition whereby the pad's task function is entered before the
8047         pad_mode variable was set.
8048
8049 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8050
8051         * gst/gstpad.c: (gst_pad_alloc_buffer):
8052           Catch misbehaving pad_alloc functions that don't
8053           set up caps and do it for them.
8054
8055 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8056
8057         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8058           test for pipe!=NULL
8059         * docs/gst/tmpl/.cvsignore:
8060         * docs/gst/tmpl/gstmemchunk.sgml:
8061         * docs/gst/tmpl/gstparse.sgml:
8062         * docs/gst/tmpl/gsttaglist.sgml:
8063         * docs/gst/tmpl/gsttagsetter.sgml:
8064         * docs/gst/tmpl/gsttypefind.sgml:
8065         * docs/gst/tmpl/gsttypefindfactory.sgml:
8066         * gst/gstmemchunk.c:
8067         * gst/gstparse.c:
8068         * gst/gsttag.c:
8069         * gst/gsttaginterface.c:
8070         * gst/gsttypefind.c:
8071         * gst/gsttypefind.h:
8072           inlined more docs
8073
8074 === release 0.9.2 ===
8075
8076 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8077
8078         * NEWS:
8079         * RELEASE:
8080         * configure.ac:
8081           releasing 0.9.2, "South"
8082
8083 2005-09-05  Andy Wingo  <wingo@pobox.com>
8084
8085         * gst/registries/gstxmlregistry.h:
8086         * gst/registries/gstxmlregistry.c: Um... resurrect...
8087         
8088         * gst/registries/gstxmlregistry.h:
8089         * gst/registries/gstxmlregistry.c: and update to newer API.
8090         Incidentally they should be a bit faster now that they don't have
8091         to parse the caps.
8092         
8093 2005-09-05  Andy Wingo  <wingo@pobox.com>
8094
8095         * gst/registries/gstxmlregistry.h:
8096         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8097         replaced by the libxml registry a while back
8098
8099 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8100
8101         * docs/gst/tmpl/gstplugin.sgml:
8102         * gst/elements/gstelements.c:
8103         * gst/gst.c:
8104         * gst/gstplugin.c: (gst_plugin_register_func),
8105         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8106         (gst_plugin_get_source):
8107         * gst/gstplugin.h:
8108         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8109         (gst_xml_registry_save_plugin):
8110         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8111         (gst_xml_registry_save_plugin):
8112         * tools/gst-inspect.c: (print_plugin_info):
8113           add a "source" plugin description field, to represent the source
8114           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8115           will set it to PACKAGE, which is automake's idea of the name of
8116           the source project.
8117
8118 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8119
8120         * Makefile.am:
8121         * autogen.sh:
8122         * configure.ac:
8123         * docs/Makefile.am:
8124         * docs/faq/Makefile.am:
8125         * docs/gst/tmpl/gstelement.sgml:
8126         * docs/gst/tmpl/gsttypes.sgml:
8127         * docs/htmlinstall.mak:
8128         * docs/manual/Makefile.am:
8129         * docs/pwg/Makefile.am:
8130           reorganize doc build a little
8131           split out docbook and gtk-doc stuff
8132           have two separate --enable's and enable them through autogen
8133           but disable by default in configure (to be similar to other
8134           projects)
8135         * gstreamer.spec.in:
8136           clean up docs install
8137         * po/af.po:
8138         * po/az.po:
8139         * po/ca.po:
8140         * po/cs.po:
8141         * po/de.po:
8142         * po/en_GB.po:
8143         * po/fr.po:
8144         * po/it.po:
8145         * po/nb.po:
8146         * po/nl.po:
8147         * po/ru.po:
8148         * po/sq.po:
8149         * po/sr.po:
8150         * po/sv.po:
8151         * po/tr.po:
8152         * po/uk.po:
8153         * po/vi.po:
8154           translation updates
8155
8156 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8157
8158         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8159           Add comment.
8160           
8161         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8162         (gst_fake_sink_change_state):
8163           Make state change function thread-safe.
8164           
8165         * gst/gstpad.c: (gst_pad_alloc_buffer):
8166           Set offset on generic buffer allocated by fallback.
8167
8168 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8169
8170         * docs/gst/gstreamer-sections.txt:
8171         * docs/gst/tmpl/gstelement.sgml:
8172         * gst/gstpad.c:
8173         * libs/gst/controller/gst-controller.c:
8174         (gst_controlled_property_set_interpolation_mode),
8175         (gst_controlled_property_new),
8176         (gst_controller_find_controlled_property):
8177          run the wingo-magic script against the docs
8178
8179 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8180
8181         * docs/gst/gstreamer-docs.sgml:
8182         * docs/gst/gstreamer-sections.txt:
8183         * docs/gst/tmpl/.cvsignore:
8184         * docs/gst/tmpl/gstelementdetails.sgml:
8185         * docs/gst/tmpl/gstelementfactory.sgml:
8186         * gst/gst.c:
8187         * gst/gstbus.c:
8188         * gst/gstelementfactory.c:
8189         * gst/gstelementfactory.h:
8190           merged elementdetails docs into elementfactory docs
8191           inlined both
8192
8193 2005-09-02  Andy Wingo  <wingo@pobox.com>
8194
8195         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8196         consider this enum an enum and not a flags.
8197
8198 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8199
8200         * docs/gst/gstreamer-docs.sgml:
8201         * docs/gst/tmpl/.cvsignore:
8202         * docs/gst/tmpl/gstghostpad.sgml:
8203         * docs/gst/tmpl/gstiterator.sgml:
8204         * docs/gst/tmpl/gstmacros.sgml:
8205         * docs/gst/tmpl/gstrealpad.sgml:
8206         * docs/gst/tmpl/gstregistry.sgml:
8207         * docs/gst/tmpl/gstregistrypool.sgml:
8208         * docs/gst/tmpl/gststructure.sgml:
8209         * docs/gst/tmpl/gstsystemclock.sgml:
8210         * docs/gst/tmpl/gsttrace.sgml:
8211         * gst/gstghostpad.c:
8212         * gst/gstmacros.h:
8213         * gst/gstmemchunk.c:
8214         * gst/gstmemchunk.h:
8215         * gst/gstqueue.c:
8216         * gst/gstregistry.c:
8217         * gst/gstregistrypool.c:
8218         * gst/gststructure.c:
8219         * gst/gstsystemclock.c:
8220           more docs inlined
8221
8222 2005-09-02  Andy Wingo  <wingo@pobox.com>
8223
8224         * gst/gstelement.h (GstState): Renamed from GstElementState,
8225         changed to be a normal enum instead of flags.
8226         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8227         munged to be GST_STATE_CHANGE_*.
8228         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8229         work with the new state representation.
8230         (GstStateChange): New enumeration of possible state transitions.
8231         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8232         (GstElementClass::change_state): Pass the GstStateChange along as
8233         an argument. Helps language bindings, so they don't have to use
8234         tricky lock-needing macros like GST_STATE_CHANGE ().
8235
8236         * scripts/update-states (file): New script. Run it on a file to
8237         update it for state naming and API changes. Updates files in
8238         place.
8239
8240         * All files updated for the new API.
8241
8242 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8243
8244         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8245         * gst/gstutils.c: (gst_util_set_value_from_string),
8246         (gst_util_set_object_arg):
8247           fix a bunch of unchecked return values
8248         * tools/gst-complete.c: (main):
8249         * gstreamer.spec.in:
8250           clean up a little
8251
8252 2005-09-01  Wim Taymans  <wim@fluendo.com>
8253
8254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8255         (gst_base_sink_event), (gst_base_sink_do_sync),
8256         (gst_base_sink_handle_event):
8257         * gst/base/gstbasesink.h:
8258         Handle newsegments more correctly.
8259
8260         * gst/gstbus.c:
8261         Fix docs.
8262
8263         * gst/gstevent.c: (gst_event_new_newsegment):
8264         A newsegment cannot have a start_time of -1
8265
8266 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8267
8268         * win32/gstenumtypes.c:
8269         * win32/gstenumtypes.h:
8270           Update
8271
8272 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8273
8274         * libs/gst/controller/gst-controller.c:
8275         (gst_controlled_property_set_interpolation_mode),
8276         (gst_controlled_property_new):
8277          fixed boolean again
8278
8279 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8280
8281         * docs/faq/gst-uninstalled:
8282           add -good
8283         * gst/gstevent.c:
8284         * gst/gstevent.h:
8285           remove wrong docs
8286         * gst/gstutils.c: (gst_element_link_filtered):
8287         * gst/gstutils.h:
8288           add gst_element_link_filtered
8289
8290 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8291
8292         * docs/gst/gstreamer-docs.sgml:
8293         * docs/gst/gstreamer-sections.txt:
8294         * docs/gst/tmpl/.cvsignore:
8295         * docs/gst/tmpl/gsterror.sgml:
8296         * docs/gst/tmpl/gstfilter.sgml:
8297         * docs/gst/tmpl/gsturihandler.sgml:
8298         * docs/gst/tmpl/gsturitype.sgml:
8299         * docs/gst/tmpl/gstutils.sgml:
8300         * docs/gst/tmpl/gstxml.sgml:
8301         * gst/gsterror.c:
8302         * gst/gsterror.h:
8303         * gst/gstfilter.c:
8304         * gst/gsturi.c:
8305         * gst/gsturitype.c:
8306         * gst/gstutils.c:
8307         * gst/gstxml.c:
8308           inlined more docs, fixed double id-ref
8309
8310 2005-08-31  Wim Taymans  <wim@fluendo.com>
8311
8312         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8313         (gst_base_transform_handle_buffer):
8314         Passthrough elements don't need the caps as they don't care.
8315
8316 2005-08-31  Wim Taymans  <wim@fluendo.com>
8317
8318         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8319         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8320         Don't leak refcounts on buffers.
8321
8322 2005-08-31  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8325         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8326         (gst_base_transform_chain), (gst_base_transform_change_state):
8327         * gst/base/gstbasetransform.h:
8328         Handle the case where we are not negotiated more gracefully.
8329
8330 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8331
8332         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8333         (gst_file_src_map_region):
8334           Set READONLY flag on mmap'ed buffers, otherwise
8335           gst_buffer_make_writable() won't work properly (#314708).
8336
8337 2005-08-31  Wim Taymans  <wim@fluendo.com>
8338
8339         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8340         passthrough elements can even do inplace on non writable
8341         buffers (as they don't touch them).
8342
8343 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8344
8345         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8346         (gst_test_mono_source_set_property),
8347         (gst_test_mono_source_class_init), (GST_START_TEST),
8348         (gst_controller_suite):
8349           more tests (hehe I have the most)
8350         * gst/gstbus.c:
8351           describe popping messages whenusing mulltiple sources
8352         * libs/gst/controller/gst-controller.c:
8353         (gst_controlled_property_set_interpolation_mode),
8354         (gst_controlled_property_new):
8355         * libs/gst/controller/gst-controller.h:
8356         * libs/gst/controller/gst-interpolation.c:
8357           implement boolean properties
8358
8359 2005-08-31  Wim Taymans  <wim@fluendo.com>
8360
8361         * gst/gstminiobject.c: (gst_mini_object_ref):
8362         Cannot assert that the refcount has to be positive
8363         since a disposed object can be resurrected.
8364
8365 2005-08-31  Wim Taymans  <wim@fluendo.com>
8366
8367         * gst/gstpad.c: (gst_pad_init):
8368         Revert change, need to first fix badly behaving 
8369         apps.
8370
8371 2005-08-30  Wim Taymans  <wim@fluendo.com>
8372
8373         * check/elements/fakesrc.c: (setup_fakesrc):
8374         * check/elements/identity.c: (setup_identity):
8375         Activate pads before using them.
8376
8377 2005-08-30  Wim Taymans  <wim@fluendo.com>
8378
8379         * gst/base/gstadapter.c: (gst_adapter_flush):
8380         Flushing out 0 bytes is ok for this function.
8381
8382         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8383         no newsegment gives a warning and sets the start/stop to 
8384         invalid.
8385
8386         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8387         (gst_base_transform_set_passthrough):
8388         Some debug info.
8389
8390         * gst/gstminiobject.c: (gst_mini_object_ref):
8391         Check refcount here too.
8392
8393         * gst/gstpad.c: (gst_pad_init):
8394         Pads are initially flushing and refusing data.
8395
8396         * gst/gstutils.c: (gst_element_link_pads_filtered):
8397         When adding a capsfilter element make sure it has the
8398         same state as the parent bin.
8399
8400 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8401
8402         * docs/gst/tmpl/.cvsignore:
8403         * docs/gst/tmpl/gstformat.sgml:
8404         * docs/gst/tmpl/gstversion.sgml:
8405         * gst/gstbus.h:
8406         * gst/gstformat.c:
8407         * gst/gstformat.h:
8408         * gst/gstversion.h.in:
8409           more docs and two more inlined
8410
8411 2005-08-30  Wim Taymans  <wim@fluendo.com>
8412
8413         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8414         Don't sync to clock.
8415
8416 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8417
8418         * docs/gst/gstreamer-sections.txt:
8419           ultral33t func10ns deserve to appear in the docs actually
8420         * docs/gst/tmpl/.cvsignore:
8421         * docs/gst/tmpl/gstcompat.sgml:
8422         * docs/gst/tmpl/gstconfig.sgml:
8423         * gst/check/gstcheck.c:
8424         * gst/gstcompat.h:
8425         * gst/gstconfig.h.in:
8426           inlined more docs
8427
8428 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8429
8430         * docs/gst/tmpl/.cvsignore:
8431         * docs/gst/tmpl/gstquery.sgml:
8432         * docs/gst/tmpl/gstutils.sgml:
8433         * gst/gstquery.c:
8434         * gst/gstquery.h:
8435           inlined and extended docs
8436
8437 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8438
8439         * check/gst-libs/controller.c: (GST_START_TEST),
8440         (gst_controller_suite):
8441           more tests
8442         * docs/gst/tmpl/gstutils.sgml:
8443         * docs/libs/gstreamer-libs-sections.txt:
8444         * docs/libs/tmpl/gstdataprotocol.sgml:
8445           include path fixes
8446         * examples/controller/audio-example.c: (main):
8447           controller example works now
8448         * gst/gstclock.h:
8449           doc fixes
8450         * tools/gst-inspect.c: (print_element_properties_info):
8451           show param spec flags
8452
8453 2005-08-29  Andy Wingo  <wingo@pobox.com>
8454
8455         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8456
8457 2005-08-28  Andy Wingo  <wingo@pobox.com>
8458
8459         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8460         as having two arguments instead of just one. Allows superclasses
8461         to access information on subclasses -- see the terrible for() loop
8462         in gtype.c:g_type_create_instance for the reason why. All callers
8463         changed.
8464
8465 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8466
8467         * docs/design/part-messages.txt:
8468           update info
8469         * docs/gst/tmpl/.cvsignore:
8470         * docs/gst/tmpl/gstcaps.sgml:
8471         * docs/gst/tmpl/gstclock.sgml:
8472         * gst/gstbus.c:
8473         * gst/gstcaps.c:
8474         * gst/gstcaps.h:
8475         * gst/gstclock.c:
8476         * gst/gstclock.h:
8477         * gst/gstmessage.c:
8478           added descriptions for bus and message
8479           inline caps and clock docs
8480
8481 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8482
8483         * gst/gstmessage.c:
8484         * gst/gstmessage.h:
8485           doc fixes
8486
8487 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8488
8489         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8490           fix div-by-zero
8491
8492 2005-08-26  Andy Wingo  <wingo@pobox.com>
8493
8494         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8495         element_set_state's return val.
8496         (test_2_elements): Add test that's been disabled for months.
8497
8498         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8499         can-activate-pull properties.
8500
8501         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8502         can-activate-pull properties. Implement is_seekable so fakesrc can
8503         operate in pull mode.
8504
8505         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8506         properties.
8507         (gst_base_sink_activate, gst_base_sink_activate_pull)
8508         (gst_base_sink_activate_push): Make activation mode choosing work.
8509         Cleanups.
8510         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8511         is right. Make pull mode work. Post an eos before pausing in pull
8512         mode.
8513         (gst_base_sink_change_state): Pay attention to the core's
8514         change_state() return val.
8515         
8516         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8517         has-getrange properties. Cleanups.
8518         
8519         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8520         has_getrange and replace with can_activate_pull and
8521         can_activate_push.
8522
8523         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8524         locking comments. Remove has_loop, has_chain and replace with
8525         can_activate_pull and can_activate_push.
8526
8527 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8528
8529         * configure.ac:
8530         * examples/Makefile.am:
8531         * examples/metadata/Makefile.am:
8532         * examples/metadata/read-metadata.c: (message_loop),
8533         (have_pad_handler), (make_pipeline), (print_tag), (main):
8534           Add metadata reading example that loops over a list of filenames,
8535           dumping any tags found.
8536
8537         * gst/gstbus.c: (gst_bus_dispose):
8538         * gst/gstelement.c: (gst_element_dispose):
8539           Release a few potentially-held references in dispose.
8540
8541 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8542
8543         * docs/gst/tmpl/gstminiobject.sgml:
8544           do *not* add tmpl/*.sgml files to CVS!
8545
8546 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8547
8548         * libs/gst/bytestream/.cvsignore:
8549         * libs/gst/bytestream/Makefile.am:
8550         * libs/gst/bytestream/adapter.c:
8551         * libs/gst/bytestream/adapter.h:
8552         * libs/gst/bytestream/bytestream.c:
8553         * libs/gst/bytestream/bytestream.h:
8554         * libs/gst/bytestream/filepad.c:
8555         * libs/gst/bytestream/filepad.h:
8556           removing obsolete files
8557
8558 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8559
8560         * docs/gst/gstreamer-docs.sgml:
8561         * docs/libs/gstreamer-libs-docs.sgml:
8562           disabed additional index entries again, as this makes docs-gen just
8563           slow and they aren't useful yet
8564         * docs/libs/gstreamer-libs-sections.txt:
8565           little -section.txt cleanup for libs
8566
8567 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8568
8569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8570         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8571           fix up some debugging
8572         (gst_base_transform_get_unit_size),
8573         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8574         (gst_base_transform_handle_buffer):
8575         * gst/base/gstbasetransform.h:
8576           handle and store timed NEWSEGMENT events so that subclasses that
8577           calculate time by counting samples have a segment_start time they
8578           need to add to their timestamps - see audioresample
8579
8580 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8581
8582         * gst/gstbin.h:
8583           removed ';' from the end of macro defs
8584         * docs/gst/gstreamer-docs.sgml:
8585         * docs/gst/gstreamer-sections.txt:
8586         * docs/gst/tmpl/.cvsignore:
8587         * gst/gstbus.h:
8588         * gst/gstelement.c: (gst_element_class_init),
8589         (gst_element_set_state), (activate_pads),
8590         (gst_element_save_thyself):
8591         * gst/gstevent.c: (gst_event_new_newsegment):
8592         * gst/gstevent.h:
8593         * gst/gstiterator.c:
8594         * gst/gstiterator.h:
8595         * gst/gstpad.c:
8596         * gst/gstprobe.h:
8597         * gst/gstutils.c: (gst_pad_query_convert):
8598         * gst/gstutils.h:
8599           fixed parameter name mismatches between source, header and docs
8600           added some more docs, resolved the last batch of unused elements in
8601           docs (now someone needs to doc them)
8602
8603 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8604
8605         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8606         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8607           don't walk through the plugins backwards.  Where is all this
8608           reversed logic coming from ?
8609
8610 2005-08-25  Wim Taymans  <wim@fluendo.com>
8611
8612         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8613         (gst_base_transform_transform_size),
8614         (gst_base_transform_configure_caps),
8615         (gst_base_transform_get_unit_size),
8616         (gst_base_transform_buffer_alloc),
8617         (gst_base_transform_change_state):
8618         * gst/base/gstbasetransform.h:
8619         Cache caps unit_size.
8620         Make sure we cannot negotiate up and downstream at the
8621         same time.
8622
8623 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8624
8625         * gst/gst.c: (init_pre), (init_post):
8626           register the installed plugin path after the env var
8627         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8628         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8629           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8630           directories, so the tests can prefer uninstalled over installed
8631
8632 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * gst/base/gstbasetransform.h:
8635           comment
8636         * gst/gstpad.c:
8637           add to docs
8638
8639 2005-08-25  Wim Taymans  <wim@fluendo.com>
8640
8641         * gst/gstbin.c: (bin_bus_handler):
8642         Be a bit more conservative about the posted message.
8643         
8644         * gst/gstbus.c: (gst_bus_post):
8645         Some cleanups, warn wrong return values.
8646
8647 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8648
8649         * check/gst/gstbin.c: (GST_START_TEST):
8650         * gst/gstbin.c: (bin_bus_handler):
8651         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8652         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8653         (gst_message_new_warning), (gst_message_new_tag),
8654         (gst_message_new_state_changed), (gst_message_new_segment_start),
8655         (gst_message_new_segment_done), (gst_message_new_custom):
8656         * gst/gstmessage.h:
8657         * tools/gst-launch.c: (event_loop):
8658         * tools/gst-md5sum.c: (event_loop):
8659           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8660
8661 2005-08-25  Wim Taymans  <wim@fluendo.com>
8662
8663         * check/generic/states.c: (GST_START_TEST):
8664         Cleanup can be done at the end.
8665
8666         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8667         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8668         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8669         Oh boy.. Thanks for finding this, Thomas. 
8670
8671 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8672
8673         * docs/gst/gstreamer.types:
8674           added missing types
8675
8676 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8677
8678         * docs/gst/gstreamer-docs.sgml:
8679         * docs/gst/gstreamer-sections.txt:
8680         * docs/gst/tmpl/.cvsignore:
8681         * gst/gstbin.c:
8682         * gst/gstiterator.c:
8683         * gst/gstutils.c:
8684         * gst/registries/gstxmlregistry.h:
8685           added missing classes and symbols (123 more to go)
8686           removed removed symbols from section file
8687           fixed many doc-comments
8688
8689 2005-08-24  Wim Taymans  <wim@fluendo.com>
8690
8691         * check/generic/states.c: (GST_START_TEST):
8692         Make sure all tasks are stopped.
8693
8694         * check/gst/gstbin.c: (GST_START_TEST):
8695         Unref after usage for proper valgrinding.
8696
8697         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8698         Really wait for the task to stop before destroying the
8699         mutex.
8700
8701         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8702         (gst_queue_src_activate_push):
8703         Small cleanups. Don't stop the task when we did not start
8704         it.
8705
8706         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8707         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8708         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8709         (gst_task_join):
8710         * gst/gsttask.h:
8711         Protect the stream lock with the object lock.
8712         Disallow setting the stream lock when running.
8713         Add cleanup_all to wait for the threadpool to finish.
8714         Remove code to autoallocate a mutex if none was provided.
8715         Add _join() to wait for a task to stop.
8716         Protect the thread pool with a global lock.
8717
8718 2005-08-24  Wim Taymans  <wim@fluendo.com>
8719
8720         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8721         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8722         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8723         * gst/base/gstbasesink.h:
8724         Handle newsegment events correctly.
8725         Drop buffers out of the segment range.
8726
8727 2005-08-22  Andy Wingo  <wingo@pobox.com>
8728
8729         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8730         macro, implements an interface and gstimplementsinterface for a
8731         new type.
8732
8733 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8734
8735         * check/Makefile.am:
8736         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8737           add a test that does a bunch of state changes on elements
8738           needs some fixing for valgrind
8739         * check/states/sinks.c: (gst_object_suite):
8740           whitespace
8741         * gst/gstcaps.h:
8742           add prototype for gst_caps_is_equal_fixed
8743         * gst/gstplugin.c:
8744         * gst/gstregistrypool.c:
8745           doc fixes
8746
8747 2005-08-24  Andy Wingo  <wingo@pobox.com>
8748
8749         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8750         convert a negative value. Doesn't make much sense. Mostly this is
8751         here to force callers to ensure -1 maps to -1.
8752
8753 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8754
8755         * docs/pwg/advanced-types.xml:
8756           Well done to Michael for catching my deliberate introduction
8757           of this spelling mistake. 
8758         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8759         * gst/gstelement.h:
8760           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8761           unlink pads before removing the element from the bin.
8762
8763 2005-08-24  Andy Wingo  <wingo@pobox.com>
8764
8765         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8766         the same thing as GST_DEBUG=*:4.
8767         (parse_debug_level, parse_debug_category): New helper parsers.
8768
8769 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8770
8771         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8772         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8773         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8774         (gst_base_transform_buffer_alloc),
8775         (gst_base_transform_handle_buffer):
8776           use gboolean return values and pointers to size so we can use the
8777           full GST_BUFFER_SIZE range (guint) for buffer sizes
8778           use GstPadDirection for transform_caps
8779         * gst/base/gstbasetransform.h:
8780           rename get_size to get_unit_size since that's what it is
8781         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8782           use GstPadDirection for transform_caps
8783         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8784         * gst/gstutils.h:
8785           cleanup and debugging
8786
8787 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8788
8789         * gst/gstelement.c: (gst_element_class_init),
8790         (gst_element_set_state), (activate_pads),
8791         (gst_element_save_thyself):
8792         * tools/gst-compprep.c: (main):
8793         * tools/gst-inspect.c: (print_element_properties_info):
8794         * tools/gst-xmlinspect.c: (print_element_properties):
8795           Fixed long standing mem-leak
8796
8797 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8798
8799         * check/gst/gstbin.c: (GST_START_TEST):
8800         * gst/gstbin.c: (bin_bus_handler):
8801         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8802         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8803         (gst_message_new_warning), (gst_message_new_tag),
8804         (gst_message_new_state_changed), (gst_message_new_segment_start),
8805         (gst_message_new_segment_done), (gst_message_new_custom):
8806         * gst/gstmessage.h:
8807         * tools/gst-launch.c: (event_loop):
8808         * tools/gst-md5sum.c: (event_loop):
8809           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8810           that applications can sensibly post custom messages with references
8811           to their own objects.
8812
8813 2005-08-24  Andy Wingo  <wingo@pobox.com>
8814
8815         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8816         already.
8817
8818 2005-08-24  Wim Taymans  <wim@fluendo.com>
8819
8820         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8821         (gst_base_transform_transform_caps),
8822         (gst_base_transform_transform_size),
8823         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8824         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8825         (gst_base_transform_handle_buffer):
8826         * gst/base/gstbasetransform.h:
8827         Many fixes and new features added by Thomas. Can now also do
8828         transforms with variable sizes and a custom fixate_caps function.
8829
8830 2005-08-24  Wim Taymans  <wim@fluendo.com>
8831
8832         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8833         Some debugging.
8834
8835         * gst/gstclock.h:
8836         Cast to ClockTime before formatting to time.
8837
8838         * gst/gstutils.h:
8839         Cleanups.
8840
8841 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8842
8843         * check/gst-libs/controller.c: (GST_START_TEST),
8844         (gst_controller_suite):
8845         * docs/gst/tmpl/gstcaps.sgml:
8846         * docs/gst/tmpl/gstghostpad.sgml:
8847         * docs/gst/tmpl/gstquery.sgml:
8848         * docs/gst/tmpl/gstutils.sgml:
8849         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8850         (gst_object_sink_values), (gst_object_get_value_arrays),
8851         (gst_object_get_value_array):
8852           gracefully handle helper method calls to objects that are not beeing
8853           controlled, added test case for that          
8854
8855 2005-08-23  Wim Taymans  <wim@fluendo.com>
8856
8857         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8858         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8859         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8860         (gst_event_parse_qos), (gst_event_new_seek),
8861         (gst_event_parse_seek):
8862         * gst/gstevent.h:
8863         Some more debugging output and doc cleanups.
8864
8865         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8866         Fix possible deadlock.
8867
8868 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8869
8870         * docs/gst/gstreamer-docs.sgml:
8871         * docs/gst/gstreamer-sections.txt:
8872         * docs/gst/gstreamer.types:
8873         * docs/gst/tmpl/.cvsignore:
8874         * gst/gstbin.h:
8875         * gst/gstbus.c:
8876         * gst/gstelement.c:
8877         * gst/gstevent.h:
8878           added 100 symbols from gstreamer-unused.txt to the right sections
8879           fixed more broken comments
8880           added GstBus to docs
8881
8882 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8883
8884         * docs/gst/gstreamer-sections.txt:
8885         * docs/gst/tmpl/.cvsignore:
8886         * docs/gst/tmpl/gstbin.sgml:
8887         * docs/gst/tmpl/gstbuffer.sgml:
8888         * gst/base/gstbasesrc.c:
8889         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8890         * gst/gstbuffer.c:
8891         * gst/gstbuffer.h:
8892         * tools/gst-launch.1.in:
8893           inlined more doc comments, added missing comments and fixed comments
8894           fixed typos
8895
8896 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8897
8898         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8899           some debugging
8900         * gst/gstcaps.h:
8901           whitespace fixes
8902         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8903           more debugging
8904         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8905         * gst/gststructure.h:
8906           add a fixate function for booleans; add a FIXME that these func
8907           names should probably be gst_structure_fixate_*
8908
8909 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8910
8911         * docs/gst/gstreamer-docs.sgml:
8912         * docs/gst/gstreamer-sections.txt:
8913         * gst/Makefile.am:
8914         * gst/gstbin.c: (gst_bin_get_type),
8915         (gst_bin_child_proxy_get_child_by_index),
8916         (gst_bin_child_proxy_get_children_count),
8917         (gst_bin_child_proxy_init):
8918         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8919         (gst_child_proxy_get_child_by_index),
8920         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8921         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8922         (gst_child_proxy_get), (gst_child_proxy_set_property),
8923         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8924         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8925         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8926         * gst/gstchildproxy.h:
8927         * gst/parse/grammar.y:
8928         * tools/gst-inspect.c: (print_interfaces),
8929         (print_element_properties_info), (print_element_info):
8930           ported gstchildproxy over from 0.8
8931           ported gst-inspect fixes and enhancements over from 0.8
8932
8933 2005-08-22  Wim Taymans  <wim@fluendo.com>
8934
8935         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8936         (gst_base_transform_handle_buffer):
8937         Also call the transform function if we have ANY caps.
8938
8939         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8940         Fix debug info.
8941
8942 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8943
8944         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8945           Don't pretend to handle seek events if the source is not seekable
8946
8947 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8948
8949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8950           Remove extra parameter to debug output
8951
8952         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8953         (gst_base_src_do_seek), (gst_base_src_activate_push):
8954           Fix seek event handling.
8955
8956         * gst/gstpipeline.c: (gst_pipeline_change_state):
8957         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8958         (gst_queue_src_activate_push):
8959           Don't start the src pad task on FLUSH_STOP if the pad
8960           isn't linked.
8961           Debug changes.
8962
8963 2005-08-22  Wim Taymans  <wim@fluendo.com>
8964
8965         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8966         Added check for gst_static_caps_get() refcounting.
8967
8968 2005-08-22  Wim Taymans  <wim@fluendo.com>
8969
8970         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8971         Make _static_caps_get() refcounting sane.
8972         
8973         * gst/gstelement.c: (gst_element_set_state):
8974         Add g_return_val_if_fail() to protect against segfaults.
8975
8976 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8977
8978         * docs/gst/tmpl/gstevent.sgml:
8979         * gst/gstevent.c:
8980         * gst/gstevent.h:
8981           inlined remaining docs, added missing doc comments
8982
8983 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8984
8985         * check/gst/gstbin.c: (GST_START_TEST):
8986           since we don't know when preroll is done, use refcount range
8987           check for the sink
8988         * gst/check/gstcheck.h:
8989           add macro for checking refcount range
8990
8991 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8992
8993         * check/Makefile.am:
8994           clean up environment for when registry gets built versus
8995           when actual tests are run; valgrind seems to not report
8996           leaks if GST_PLUGIN_PATH is set to some specific values
8997         * check/gst/gstbin.c: (GST_START_TEST):
8998           add more refcounting checks; maybe this exposes a
8999           preroll lock bug ?
9000         * common/check.mak:
9001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9002         * gst/check/gstcheck.h:
9003         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9004         (gst_bin_change_state):
9005         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9006           add/fix debugging/whitespace
9007
9008 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9009
9010         * check/gst/gstevent.c: (event_probe), (test_event),
9011         (GST_START_TEST):
9012          Er, don't call gst_bin_watch_for_state_change you idiot.
9013
9014 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9015
9016         * check/Makefile.am:
9017           Use CHECK_CFLAGS and CHECK_LIBS
9018         * check/gst/gstevent.c: (event_probe), (test_event),
9019         (GST_START_TEST):
9020           Don't leak events.
9021         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9022         (gst_base_src_start), (gst_base_src_stop),
9023         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9024         (gst_base_src_change_state):
9025           Sprinkle gst_base_src_stop liberally around error paths to fix
9026           problems reusing a source after failed state changes.
9027         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9028         (helper_find_suggest), (gst_type_find_helper):
9029           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9030         * gst/gstevent.h:
9031         * docs/gst/tmpl/gstevent.sgml:
9032           Migrate part of the docs from the SGML file. Wait for ensonic to
9033           tell me how I did it wrong ;)
9034         * tools/gst-typefind.c: (main):
9035           Extra robustness to state changes between files.
9036
9037 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9038
9039         * check/Makefile.am:
9040           don't valgrind the controller test - it's leaking - Stefan, HELP
9041         * gst/check/gstcheck.c: (gst_check_message_error),
9042         (gst_check_chain_func), (gst_check_setup_element),
9043         (gst_check_teardown_element), (gst_check_setup_src_pad),
9044         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9045         (gst_check_teardown_sink_pad):
9046         * gst/check/gstcheck.h:
9047           add a bunch of methods to set up elements, and src and sink pads
9048         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9049         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9050         (GST_START_TEST):
9051           use them
9052         * gst/gstmessage.c:
9053         * gst/gsttag.h:
9054           whitespace/doc fixes
9055
9056 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9057
9058         * gst/gstelement.h:
9059           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9060           be handled by the application and not always printed as well
9061
9062 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9063
9064         * check/Makefile.am:
9065           set GST_TOOLS_DIR
9066         * gst/check/gstcheck.c: (gst_check_message_error):
9067         * gst/check/gstcheck.h:
9068           add a fail_unless_equals_int
9069           add fail_unless for error messages
9070
9071 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9072
9073         * check/Makefile.am:
9074         * check/gst.supp:
9075         * common/Makefile.am:
9076         * common/check.mak:
9077         * common/gst.supp:
9078           factor out some of the common stuff so we can use it
9079
9080 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * check/Makefile.am:
9083         * check/gst/gstiterator.c: (GST_START_TEST):
9084         * check/gst/gstsystemclock.c: (GST_START_TEST),
9085         (gst_systemclock_suite):
9086         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9087         * gst/gstclock.c:
9088           valgrind more tests
9089
9090 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9091
9092         * check/elements/.cvsignore:
9093         * check/elements/gstfakesrc.c:
9094           rename to name of element
9095         * check/elements/identity.c: (chain_func), (event_func),
9096         (setup_identity), (cleanup_identity), (GST_START_TEST),
9097         (identity_suite), (main):
9098           add a test for identity
9099         * check/Makefile.am:
9100         * pkgconfig/Makefile.am:
9101         * pkgconfig/gstreamer-check.pc.in:
9102         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9103         * gst/check:
9104         * gst/Makefile.am:
9105         * configure.ac:
9106           move the check stuff to a library that gets installed
9107         * check/gst-libs/controller.c: (GST_START_TEST):
9108         * check/gst-libs/gdp.c:
9109         * check/gst/gst.c: (GST_START_TEST):
9110         * check/gst/gstbin.c:
9111         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9112         * check/gst/gstbus.c:
9113         * check/gst/gstcaps.c: (GST_START_TEST):
9114         * check/gst/gstelement.c:
9115         * check/gst/gstghostpad.c:
9116         * check/gst/gstiterator.c:
9117         * check/gst/gstmessage.c:
9118         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9119         * check/gst/gstobject.c:
9120         * check/gst/gstpad.c: (GST_START_TEST):
9121         * check/gst/gststructure.c: (GST_START_TEST):
9122         * check/gst/gstsystemclock.c: (GST_START_TEST),
9123         (gst_systemclock_suite):
9124         * check/gst/gsttag.c: (gst_tag_suite):
9125         * check/gst/gstvalue.c:
9126         * check/pipelines/cleanup.c:
9127         * check/pipelines/simple_launch_lines.c:
9128         * check/states/sinks.c:
9129           change include statement
9130
9131         * docs/gst/gstreamer-sections.txt:
9132         * docs/gst/tmpl/gstpad.sgml:
9133           document more pad stuff
9134         * gst/gstminiobject.c: (gst_mini_object_ref),
9135         (gst_mini_object_unref):
9136           debug refcounting
9137
9138 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9139
9140         * docs/gst/tmpl/gst.sgml:
9141         * gst/gst.c:
9142           eliminate another tmpl file, fix spelling in the long-description
9143
9144 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9145
9146         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9147         (test_event), (timediff), (gstevents_suite):
9148           Should fix build on 64-bit arch's
9149
9150 2005-08-18  Andy Wingo  <wingo@pobox.com>
9151
9152         Make sure that when a pipeline goes to PLAYING, that data has
9153         actually hit the sink.
9154
9155         * check/states/sinks.c (test_sink): A sink that doesn't get any
9156         data shouldn't return SUCCESS for going to either PLAYING or
9157         PAUSED. Test also the return values on the way back down.
9158
9159         * gst/gstelement.c (gst_element_set_state): When changing the
9160         state of an element currently changing state asynchronously, go to
9161         lost-state after commiting the pending state. Makes future calls
9162         to get_state continue to return ASYNC.
9163
9164         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9165         ASYNC when going to PLAYING if we still don't have preroll, as can
9166         happen with live sources.
9167
9168 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9169
9170         * docs/pwg/advanced-types.xml:
9171           Hack long paragraph into 2 chunks as a workaround for buggy
9172           jadetex version in sid and breezy that loops infinitely and
9173           eats all RAM.
9174
9175 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9176
9177         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9178         (test_event), (timediff), (gstevents_suite):
9179           Provide more error margin in clock measurements to allow for 
9180           g_get_current_time inaccuracies.
9181
9182 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9183
9184         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9185         (test_event), (timediff), (gstevents_suite):
9186            Fix error message output so I might be able to tell why the
9187            test works here but fails on the build farm.
9188
9189 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9190
9191         * check/Makefile.am:
9192         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9193         (test_event), (timediff), (gstevents_suite), (main):
9194           I wrote a test!
9195
9196         * docs/design/part-seeking.txt:
9197           Spelling correction
9198
9199         * docs/gst/tmpl/gstevent.sgml:
9200         * docs/gst/tmpl/gstfakesrc.sgml:
9201           Docs updates.
9202
9203         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9204           Treat a buffer-without-newsegment the same as a receiving 
9205           a newsegment not in time format, and disable syncing to the clock
9206           with a warning.
9207
9208         * gst/gstbus.c: (gst_bus_set_sync_handler):
9209           Assert if anyone tries to replace the existing sync_handler for bus, 
9210           as only the owner should be setting it.
9211
9212         * gst/gstevent.h:
9213           Have a fixed set of custom event enums with events identified by
9214           their structure name (as in 0.8), rather than a free-for-all
9215           allowing collisions between enum values from different plugins.
9216
9217         * gst/gstpad.c: (gst_pad_class_init):
9218           Docs change.
9219           
9220         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9221           Handle out-of-band downstream events from the sending thread.
9222
9223 2005-08-17  Andy Wingo  <wingo@pobox.com>
9224
9225         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9226         play-timeout==0 to mean no timeout at all. In that case, don't
9227         bother with a get_state or a warning, just return directly, even
9228         if it's ASYNC.
9229
9230         * gst/base/gstbasetransform.c: Debug changes.
9231
9232         * gst/gstutils.h:
9233         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9234         ensure bins post state change messages. A bit of a hack but I can't
9235         think of a way to avoid it.
9236
9237         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9238
9239 2005-08-16  Andy Wingo  <wingo@pobox.com>
9240
9241         * gst/base/gstadapter.h:
9242         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9243         peek() but you own the data. Not terribly efficient atm.
9244
9245 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9246
9247         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9248         (gst_element_found_tags):
9249         * gst/gstutils.h:
9250           Add two utility functions for tag handling.
9251
9252 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9253
9254         * docs/manual/advanced-dataaccess.xml:
9255         * docs/manual/basics-helloworld.xml:
9256           Fix docs to use _bin_add() before _link(), which fixes the examples
9257           with recent core versions (reported by Madhan Raj M
9258           <raj_madan@rediffmail.com>, #313199).
9259
9260 2005-08-16  Wim Taymans  <wim@fluendo.com>
9261
9262         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9263         Added subtract checks.
9264
9265         * docs/design/part-events.txt:
9266         Some more docs about newsegment
9267
9268         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9269         Fix FIXME
9270
9271         * gst/gstcaps.c: (gst_caps_to_string):
9272         Add comments, cleanups.
9273         
9274         * gst/gstelement.c: (gst_element_save_thyself):
9275         cleanups
9276         
9277         * gst/gstvalue.c: (gst_value_collect_int_range),
9278         (gst_string_unwrap), (gst_value_union_int_int_range),
9279         (gst_value_union_int_range_int_range),
9280         (gst_value_intersect_int_int_range),
9281         (gst_value_intersect_int_range_int_range),
9282         (gst_value_intersect_double_double_range),
9283         (gst_value_intersect_double_range_double_range),
9284         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9285         (gst_value_subtract_int_range_int),
9286         (gst_value_subtract_double_range_double),
9287         (gst_value_subtract_double_range_double_range),
9288         (gst_value_subtract_from_list), (gst_value_subtract_list),
9289         (gst_value_can_compare), (gst_value_compare_fraction):
9290         Cleanups, add comments, remove unneeded asserts.
9291
9292 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * tools/gst-launch.c: (event_loop):
9295           don't convert NULL structures to strings
9296
9297 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9298
9299         * docs/gst/gstreamer-sections.txt:
9300           made some defines private
9301         * docs/gst/tmpl/gstconfig.sgml:
9302         * docs/gst/tmpl/gstqueue.sgml:
9303         * docs/gst/tmpl/gsttaglist.sgml:
9304         * docs/gst/tmpl/gsttypes.sgml:
9305         * docs/gst/tmpl/gstutils.sgml:
9306         * docs/pwg/appendix-porting.xml:
9307         * gst/base/gstbasesink.h:
9308         * gst/base/gstbasesrc.c:
9309         * gst/base/gstbasesrc.h:
9310         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9311         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9312         * gst/gstelement.c: (gst_element_class_init):
9313         * gst/gstpad.c: (gst_pad_class_init):
9314         * gst/gstqueue.c: (gst_queue_class_init):
9315         * gst/gstxml.c: (gst_xml_class_init):
9316           documented all undocumented signal inline
9317         * libs/gst/controller/gst-controller.h:
9318           added padding
9319
9320 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9321
9322         * docs/pwg/appendix-porting.xml:
9323           Document _set_link_function -> _set_setcaps_function.
9324
9325 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9326
9327         * check/Makefile.am:
9328           add a .check target for running the check
9329         * check/gst-libs/controller.c: (GST_START_TEST):
9330           cosmetic fixups
9331         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9332           complete checks for gstbuffer; would be nice if I could get the
9333           gcov stuff to work so I can see if I actually completed gstbuffer.c
9334         * check/gstcheck.h:
9335           add ASSERT_BUFFER_REFCOUNT
9336
9337 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9338
9339         * docs/gst/gstreamer-sections.txt:
9340         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9341         * gst/gsttag.h:
9342           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9343           spew out a warning if a tag that is already registered
9344           is re-registered, unless it is re-registered with a 
9345           different type (#308438).
9346
9347 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9348
9349         * docs/pwg/appendix-porting.xml:
9350         * docs/pwg/building-state.xml:
9351           Add some paragraphs about state changes in 0.9 to the PWG
9352           and the porting guide, in particular about the new meaning
9353           of GST_STATE_PAUSED and how to write state change functions
9354           with concurrent access by multiple threads in mind.
9355
9356 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9357
9358         * docs/gst/gstreamer-docs.sgml:
9359         * docs/libs/gstreamer-libs-docs.sgml:
9360           added deprecation and since indexes
9361         * libs/gst/controller/gst-controller.c:
9362         * libs/gst/controller/gst-helper.c:
9363           added since tags
9364
9365
9366 2005-08-11  Wim Taymans  <wim@fluendo.com>
9367
9368         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9369         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9370         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9371         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9372         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9373         (gst_ghost_pad_set_target):
9374         Actually implement (re)setting the target on a ghostpad
9375         as described in the docs.
9376
9377 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9380           Check whether GST_DEBUG_NO_COLOR environment variable is
9381           set and disable coloured debug output if that is the case.
9382
9383 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9384
9385         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9386         (gst_type_find_helper):
9387           The memory returned by gst_type_find_peek() needs to
9388           stay valid until the end of a typefind function, and
9389           typefind functions may keep results from different 
9390           offsets around, so we can't just unref the buffer from
9391           the previous _peek(), but have to save all buffers 
9392           returned by _peek() until typefinding is done and only
9393           free them then.
9394
9395 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9396
9397         * docs/gst/gstreamer-sections.txt:
9398         * gst/gstutils.h:
9399           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9400
9401 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9402
9403         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9404           Fix a pretty good memleak.
9405
9406 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9407
9408         * gst/gstiterator.h:
9409           Fix wrong include and 'make distcheck'.
9410
9411 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9412
9413         * gst/gstbin.c: (bin_bus_handler):
9414           Use gst_element_post_message() instead.
9415
9416 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9417
9418         * gst/base/gstadapter.h:
9419         * gst/base/gstbasesink.h:
9420         * gst/base/gstbasesrc.h:
9421         * gst/base/gstbasetransform.h:
9422         * gst/base/gstcollectpads.h:
9423         * gst/base/gstpushsrc.h:
9424         * gst/gstiterator.h:
9425           Add padding to our base elements' class and instance structs and
9426           to GstIterator (you will need to rebuild all plugins and apps!)
9427
9428 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9429
9430         * gst/gstbin.c: (bin_bus_handler):
9431           Make default message forwarding from child->bus to bin->bus
9432           threadsafe and make it not emit warnings if the parent has no bus.
9433
9434 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9435
9436         * gst/gstelement.c: (activate_pads):
9437           On paused->ready, set pad->caps to NULL, as is the documented
9438           behaviour in this state change. Fixes playback of series of
9439           media files when visualization is enabled in Totem.
9440
9441 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9442
9443         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9444           Allow NULL as filter-caps (which means "any").
9445
9446 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9447
9448         * docs/libs/gstreamer-libs-sections.txt:
9449         * libs/gst/controller/gst-controller.c:
9450         * libs/gst/controller/gst-controller.h:
9451         * libs/gst/controller/gst-helper.c:
9452           adding more entries to the docs and fix small doc-bugs
9453
9454 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9455
9456         * docs/gst/gstreamer-docs.sgml:
9457         * docs/gst/gstreamer-sections.txt:
9458         * docs/gst/gstreamer.types:
9459         * docs/gst/tmpl/gstbasesink.sgml:
9460         * docs/gst/tmpl/gstbasesrc.sgml:
9461         * docs/gst/tmpl/gstbasetransform.sgml:
9462         * docs/gst/tmpl/gstfakesrc.sgml:
9463         * gst/base/gstcollectpads.c:
9464         * gst/base/gstcollectpads.h:
9465         * libs/gst/controller/gst-controller.c:
9466         * libs/gst/controller/gst-controller.h:
9467         * libs/gst/controller/gst-helper.c:
9468         * libs/gst/controller/gst-interpolation.c:
9469         * libs/gst/controller/lib.c:
9470           added long/short desc for controller docs
9471           added collectpads base class docs
9472           added correct includes to base-class docs
9473
9474 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9475
9476         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9477         (gst_test_mono_source_set_property),
9478         (gst_test_mono_source_class_init), (GST_START_TEST),
9479         (gst_controller_suite):
9480         * docs/gst/gstreamer-docs.sgml:
9481         * docs/gst/gstreamer-sections.txt:
9482         * docs/gst/gstreamer.types:
9483         * docs/libs/gstreamer-libs-docs.sgml:
9484         * docs/libs/gstreamer-libs-sections.txt:
9485         * gst/base/gstadapter.c:
9486         * libs/gst/controller/gst-controller.c:
9487         (gst_controlled_property_new), (gst_controlled_property_free),
9488         (gst_controller_new_valist),
9489         (gst_controller_remove_properties_valist),
9490         (gst_controller_sink_values), (_gst_controller_finalize):
9491         * libs/gst/controller/gst-controller.h:
9492         * libs/gst/controller/gst-helper.c:
9493         (gst_object_control_properties), (gst_object_uncontrol_properties),
9494         (gst_object_get_controller), (gst_object_set_controller),
9495         (gst_object_sink_values), (gst_object_get_value_arrays),
9496         (gst_object_get_value_array):
9497           more tests (and fixes) for the controller
9498           more docs for the controller
9499           integrated companies docs for the adapter 
9500
9501 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9504         (GST_START_TEST), (fakesrc_suite):
9505           add tests for sizetype
9506
9507 2005-08-04  Andy Wingo  <wingo@pobox.com>
9508
9509         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9510         fixes buffer_alloc proxying among other things.
9511
9512         * gst/base/gstbasetransform.c:
9513         * gst/base/gstbasetransform.h:
9514         Revert patch to gstbasetransform from 7-28 removing
9515         delay_configure.
9516
9517         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9518         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9519         Semantics changed, should return not the size of the output buffer
9520         but the byte size of a buffer with a given caps.
9521
9522         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9523         debug object.
9524         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9525         out) are not the pad caps until setcaps finishes.
9526         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9527         not-in-place case as well. Deal with changing from in-place to
9528         not-in-place within calling pad_alloc_buffer. Still a bit
9529         concerned about the overhead here...
9530
9531 2005-08-03  Andy Wingo  <wingo@pobox.com>
9532
9533         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9534         fixating is an error.
9535
9536 2005-08-04  Edward Hervey  <edward@fluendo.com>
9537
9538         * gst/base/gstadapter.h: 
9539         Added gst_adapter_get_type() to the header
9540
9541 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9542
9543         * check/Makefile.am:
9544         * check/gst-libs/controller.c:
9545         * libs/gst/controller/gst-controller.c:
9546         (gst_controller_new_valist):
9547           added check test suite for the controller
9548         * gst/base/gstpushsrc.c:
9549           fixed a doc typo
9550
9551 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9552
9553         * docs/gst/Makefile.am:
9554         * docs/gst/gstreamer-docs.sgml:
9555         * docs/gst/gstreamer-sections.txt:
9556         * docs/gst/gstreamer.types:
9557         * docs/gst/tmpl/gstfakesrc.sgml:
9558         * gst/base/README:
9559         * gst/base/gstbasesink.c:
9560         * gst/base/gstbasesink.h:
9561         * gst/base/gstbasesrc.c:
9562         * gst/base/gstbasesrc.h:
9563         * gst/base/gstbasetransform.c:
9564         * gst/base/gstpushsrc.c:
9565         * gst/base/gstpushsrc.h:
9566           add short/long description docs to base classes
9567           add pushsrc to the docs
9568           remove consolidated doc fragments
9569
9570 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9571
9572         * configure.ac:
9573         * docs/libs/Makefile.am:
9574         * docs/libs/gstreamer-libs-docs.sgml:
9575         * docs/libs/gstreamer-libs-sections.txt:
9576         * docs/libs/gstreamer-libs.types:
9577         * examples/Makefile.am:
9578         * examples/controller/.cvsignore:
9579         * examples/controller/Makefile.am:
9580         * examples/controller/audio-example.c: (main):
9581         * libs/gst/Makefile.am:
9582         * libs/gst/controller/.cvsignore:
9583         * libs/gst/controller/Makefile.am:
9584         * libs/gst/controller/gst-controller.c:
9585         (on_object_controlled_property_changed), (gst_timed_value_compare),
9586         (gst_timed_value_find),
9587         (gst_controlled_property_set_interpolation_mode),
9588         (gst_controlled_property_new), (gst_controlled_property_free),
9589         (gst_controller_find_controlled_property),
9590         (gst_controller_new_valist), (gst_controller_new),
9591         (gst_controller_remove_properties_valist),
9592         (gst_controller_remove_properties), (gst_controller_set),
9593         (gst_controller_set_from_list), (gst_controller_unset),
9594         (gst_controller_get), (gst_controller_get_all),
9595         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9596         (gst_controller_get_value_array),
9597         (gst_controller_set_interpolation_mode),
9598         (_gst_controller_finalize), (_gst_controller_init),
9599         (_gst_controller_class_init), (gst_controller_get_type):
9600         * libs/gst/controller/gst-controller.h:
9601         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9602         (g_object_uncontrol_properties), (g_object_get_controller),
9603         (g_object_set_controller), (g_object_sink_values),
9604         (g_object_get_value_arrays), (g_object_get_value_array):
9605         * libs/gst/controller/gst-interpolation.c:
9606         (gst_controlled_property_find_timed_value_node),
9607         (interpolate_none_get), (interpolate_trigger_get),
9608         (interpolate_trigger_get_value_array):
9609         * libs/gst/controller/lib.c: (gst_controller_init):
9610         * pkgconfig/Makefile.am:
9611         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9612         * pkgconfig/gstreamer-control.pc.in:
9613         * testsuite/Makefile.am:
9614         * testsuite/controller/.cvsignore:
9615         * testsuite/controller/Makefile.am:
9616         * testsuite/controller/interpolator.c: (main):
9617           added controller code
9618           removed dparam pc files
9619
9620 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9621         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9622         (gst_collectpads_stop):
9623           Broadcast the condition when shutting down, to make sure we wake all
9624           threads up. Shut down pads on finalize, for safety.
9625
9626 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9627         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9628         (gst_base_transform_handle_buffer),
9629         (gst_base_transform_change_state):
9630           Handle PAUSED->READY->PAUSED transition after negotiation
9631           occurred already.
9632         * gst/gstmessage.c: (gst_message_init):
9633           Extra piece of debug for new messages.
9634
9635 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9636
9637         * configure.ac:
9638         * docs/gst/tmpl/gstbasesrc.sgml:
9639         * docs/gst/tmpl/gstelement.sgml:
9640         * docs/gst/tmpl/gstevent.sgml:
9641         * docs/gst/tmpl/gstfakesrc.sgml:
9642         * docs/gst/tmpl/gstformat.sgml:
9643         * docs/gst/tmpl/gstghostpad.sgml:
9644         * docs/gst/tmpl/gstpad.sgml:
9645         * docs/gst/tmpl/gstquery.sgml:
9646         * docs/gst/tmpl/gststructure.sgml:
9647         * docs/gst/tmpl/gsttaglist.sgml:
9648         * docs/gst/tmpl/gstvalue.sgml:
9649         * docs/libs/gstreamer-libs-docs.sgml:
9650         * docs/libs/gstreamer-libs-sections.txt:
9651         * docs/libs/gstreamer-libs.types:
9652         * libs/gst/Makefile.am:
9653         * libs/gst/control/.cvsignore:
9654         * libs/gst/control/Makefile.am:
9655         * libs/gst/control/control.c:
9656         * libs/gst/control/control.h:
9657         * libs/gst/control/dparam.c:
9658         * libs/gst/control/dparam.h:
9659         * libs/gst/control/dparam_smooth.c:
9660         * libs/gst/control/dparam_smooth.h:
9661         * libs/gst/control/dparamcommon.h:
9662         * libs/gst/control/dparammanager.c:
9663         * libs/gst/control/dparammanager.h:
9664         * libs/gst/control/dplinearinterp.c:
9665         * libs/gst/control/dplinearinterp.h:
9666         * libs/gst/control/unitconvert.c:
9667         * libs/gst/control/unitconvert.h:
9668         * testsuite/Makefile.am:
9669         * testsuite/dynparams/.cvsignore:
9670         * testsuite/dynparams/Makefile.am:
9671         * testsuite/dynparams/dparamstest.c:
9672         * tools/Makefile.am:
9673         * tools/gst-inspect.c: (print_element_info), (main):
9674         * tools/gst-xmlinspect.c: (print_element_info), (main):
9675           deactivate and remove dparams (libgstcontrol)
9676
9677 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9678
9679         * gst/elements/gsttypefindelement.c:
9680         (gst_type_find_element_have_type), (gst_type_find_element_init),
9681         (stop_typefinding), (gst_type_find_element_handle_event),
9682         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9683         * gst/elements/gsttypefindelement.h:
9684           Set caps on all outgoing buffers, not just the first one.
9685
9686 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9687
9688         * gst/elements/gsttypefindelement.c:
9689         (gst_type_find_element_have_type),
9690         (gst_type_find_element_check_set_buffer_caps),
9691         (gst_type_find_element_init), (stop_typefinding),
9692         (gst_type_find_element_handle_event),
9693         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9694         * gst/elements/gsttypefindelement.h:
9695           Set caps on first outgoing buffer when we've found the type.
9696
9697 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9698
9699         * docs/gst/gstreamer-docs.sgml:
9700         * docs/gst/gstreamer-sections.txt:
9701         * docs/gst/tmpl/gstscheduler.sgml:
9702         * docs/gst/tmpl/gstschedulerfactory.sgml:
9703           Remove some old cruft from docs.
9704
9705 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9706
9707         * gst/gstpad.h:
9708           Fix inline docs for GstPadLinkReturn.
9709           
9710         * gst/gststructure.c: (gst_structure_has_name):
9711         * gst/gststructure.h:
9712         * docs/gst/gstreamer-sections.txt:
9713           New API: gst_structure_has_name().
9714
9715 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9716
9717         * configure.ac:
9718           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9719           and _LARGEFILE_SOURCE in config.h as required. Do not 
9720           export those flags in our .pc files any longer (#142209).
9721
9722           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9723
9724         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9725         (gst_file_sink_do_seek), (gst_file_sink_event),
9726         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9727           Redo seek/tell calls with large file support in mind; add some
9728           debugging messages; add log message that tells us when large
9729           file support is unavailable or not enabled for some reason.
9730
9731         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9732           Add log message that tells us when large file support 
9733           is unavailable or not enabled for some reason.
9734
9735 2005-07-29  Wim Taymans  <wim@fluendo.com>
9736
9737         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9738         Added test for removing an element with ghostpad from a bin.
9739         Fixed test as current implementation does the right thing.
9740
9741         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9742         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9743         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9744         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9745         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9746         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9747         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9748         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9749         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9750         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9751         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9752         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9753         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9754         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9755         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9756         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9757         * gst/gstghostpad.h:
9758         Clean up ghostpads, remove properties for internal stuff.
9759         Make threadsafe.
9760         Fix refcounting.
9761         Prepare for switching targets, not all use cases work yet.
9762
9763 2005-07-29  Wim Taymans  <wim@fluendo.com>
9764
9765         * docs/design/part-gstghostpad.txt:
9766         Small update.
9767
9768         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9769         (gst_bin_remove_func):
9770         Unlinking pads while holding the bin LOCK is not a good
9771         idea.
9772
9773         * gst/gstpad.c: (gst_pad_class_init),
9774         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9775         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9776         No prob setting template after creating the pad.
9777
9778 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9779
9780         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9781         (gst_bus_peek), (gst_bus_source_dispatch),
9782         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9783         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9784           gst_bus_poll may be called from other threads. Handle
9785           this nicely by not making poll_data disappear off the
9786           stack once gst_bus_poll returns.
9787           gst_bus_peek now increments the refcount on the returned
9788           message.
9789
9790 2005-07-29  Wim Taymans  <wim@fluendo.com>
9791
9792         * docs/design/part-gstghostpad.txt:
9793         Overview of current GhostPad datastructures and use
9794         cases for changing the target.
9795
9796 2005-07-28  Wim Taymans  <wim@fluendo.com>
9797
9798         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9799         Added checks for hierarchy consistency whan adding linked
9800         elements to bins.
9801
9802         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9803         Added check to test element scheduling without bin/pipeline.
9804
9805         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9806         First add elements to bin, then link.
9807         
9808         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9809         (gst_bin_remove_func):
9810         Unlink pads from elements added/removed from bin to maintain
9811         hierarchy consistency.
9812
9813 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9814
9815         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9816         (gst_base_transform_handle_buffer):
9817         * gst/base/gstbasetransform.h:
9818           Remove broken delay_configure (fixes renegotiation of software
9819           scaling pipelines); remove some leftover printf()s.
9820
9821 2005-07-28  Wim Taymans  <wim@fluendo.com>
9822
9823         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9824         Added some more tests for wrong hierarchy
9825
9826         * docs/design/part-overview.txt:
9827         Some updates.
9828
9829         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9830         Cleanups.
9831
9832         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9833         (gst_element_dispose):
9834         Some more cleanups.
9835
9836         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9837         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9838         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9839         (gst_pad_set_caps), (gst_pad_send_event):
9840         Check for correct hierarchy when linking pads. Moving to
9841         strict requirement for ghostpads when linking elements in
9842         different bins.
9843
9844         * gst/gstpad.h:
9845         Clean ups. Added WRONG_HIERARCHY return value.
9846
9847 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9848
9849         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9850           Better debug if no transform is possible.
9851
9852 2005-07-27  Wim Taymans  <wim@fluendo.com>
9853
9854         * docs/random/wtay/network-transp:
9855         Some old doc I had.
9856
9857 2005-07-27  Wim Taymans  <wim@fluendo.com>
9858
9859         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9860         (gst_dp_event_from_packet):
9861         Fix serialization of seek events.
9862
9863 2005-07-27  Wim Taymans  <wim@fluendo.com>
9864
9865         * check/gst-libs/gdp.c: (GST_START_TEST):
9866         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9867         Fix compilation and fix event serialization.
9868
9869 2005-07-27  Wim Taymans  <wim@fluendo.com>
9870
9871         * CHANGES-0.9:
9872         * docs/design/part-TODO.txt:
9873         * docs/design/part-events.txt:
9874         Some docs updates
9875
9876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9877         (gst_base_sink_event), (gst_base_sink_do_sync),
9878         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9879         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9880         (gst_base_src_do_seek), (gst_base_src_event_handler),
9881         (gst_base_src_loop):
9882         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9883         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9884         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9885         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9886         (gst_base_transform_set_passthrough),
9887         (gst_base_transform_is_passthrough):
9888         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9889         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9890         Event updates.
9891
9892         * gst/gstbuffer.h:
9893         Use faster casts.
9894
9895         * gst/gstelement.c: (gst_element_seek):
9896         * gst/gstelement.h:
9897         Update gst_element_seek.
9898
9899         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9900         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9901         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9902         (gst_event_new_eos), (gst_event_new_newsegment),
9903         (gst_event_parse_newsegment), (gst_event_new_tag),
9904         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9905         (gst_event_parse_qos), (gst_event_new_seek),
9906         (gst_event_parse_seek), (gst_event_new_navigation):
9907         * gst/gstevent.h:
9908         Make GstEvent use GstStructure. Add parsing code, make sure the
9909         API is sufficiently generic.
9910         Mark possible directions of events and serialization.
9911
9912         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9913         (_gst_message_copy), (gst_message_new_segment_start),
9914         (gst_message_new_segment_done), (gst_message_new_custom),
9915         (gst_message_parse_segment_start),
9916         (gst_message_parse_segment_done):
9917         Small cleanups.
9918
9919         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9920         (gst_pad_set_caps), (gst_pad_send_event):
9921         Update for new events. 
9922         Catch events sent in wrong directions.
9923
9924         * gst/gstqueue.c: (gst_queue_link_src),
9925         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9926         (gst_queue_handle_src_query):
9927         Event updates.
9928
9929         * gst/gsttag.c:
9930         * gst/gsttag.h:
9931         Remove event code from this file.
9932
9933         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9934         (gst_dp_event_from_packet):
9935         Event updates.
9936
9937 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9938
9939         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9940         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9941         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9942           Make debugging actually useful.
9943
9944 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9945
9946         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9947         (gst_pad_fixate_caps):
9948           Implement default fixation once again, so that gst_pad_fixate()
9949           actually does anything at all. This probably needs to be some
9950           sort of a last resort, and use profile-based fixation first, but
9951           since that doesn't exist yet, this is the best we have. Fixes
9952           visualization in Totem.
9953
9954 2005-07-22  Wim Taymans  <wim@fluendo.com>
9955
9956         * docs/design/part-events.txt:
9957         Small update.
9958
9959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9960         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9961         (gst_base_sink_activate_pull):
9962         Some more comments.
9963
9964         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9965         (gst_fake_src_create):
9966         Fix handoff marshall.
9967
9968         * gst/elements/gstidentity.c: (gst_identity_class_init),
9969         (gst_identity_transform_ip):
9970         We're a real inplace element.
9971
9972         * gst/gstbus.c: (gst_bus_post):
9973         Added some comments.
9974
9975         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9976         * tests/muxing/case1.c: (main):
9977         * tests/sched/dynamic-pipeline.c: (main):
9978         * tests/sched/interrupt1.c: (main):
9979         * tests/sched/interrupt2.c: (main):
9980         * tests/sched/interrupt3.c: (main):
9981         * tests/sched/runxml.c: (main):
9982         * tests/sched/sched-stress.c: (main):
9983         * tests/seeking/seeking1.c: (event_received), (main):
9984         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9985         (main):
9986         * tests/threadstate/threadstate3.c: (main):
9987         * tests/threadstate/threadstate4.c: (main):
9988         * tests/threadstate/threadstate5.c: (main):
9989         Fix the tests.
9990
9991 2005-07-21  Wim Taymans  <wim@fluendo.com>
9992
9993         * docs/design/part-seeking.txt:
9994         Some small additions.
9995
9996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9997         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9998         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9999         * gst/base/gstbasesink.h:
10000         discont values are gint64, handle the math correctly.
10001
10002         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10003         Make the basesrc report error if the source pad is not linked.
10004
10005         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10006         (gst_queue_loop), (gst_queue_handle_src_query),
10007         (gst_queue_src_activate_push):
10008         Make queue collect data even if the srcpad is not linked.
10009         Start pushing out data as soon as it is linked.
10010
10011         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10012         * gst/gstutils.h:
10013         Added gst_flow_get_name() to ease error reporting.
10014
10015 2005-07-20  Wim Taymans  <wim@fluendo.com>
10016
10017         * gst/gstmessage.c: (gst_message_new_segment_start),
10018         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10019         (gst_message_parse_segment_done):
10020         * gst/gstmessage.h:
10021         Added a bunch of messages for advanced seeking.
10022
10023         * gst/parse/grammar.y:
10024         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10025         (gst_dpman_state_changed):
10026         Fix some new-pad -> pad-added signals
10027
10028 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10029
10030         * docs/manual/appendix-porting.xml:
10031         * docs/pwg/appendix-porting.xml:
10032           Document new-pad/state-change signal renames and the FixedList
10033           type rename.
10034
10035 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10036
10037         * docs/manual/advanced-autoplugging.xml:
10038         * docs/manual/basics-helloworld.xml:
10039         * docs/manual/basics-pads.xml:
10040         * docs/random/ds/0.9-suggested-changes:
10041         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10042         * gst/gstelement.h:
10043         * gst/gstevent.h:
10044         * gst/gstformat.h:
10045         * gst/gstquery.h:
10046         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10047         (gst_structure_parse_array), (gst_structure_parse_value):
10048         * gst/gstvalue.c: (gst_type_is_fixed),
10049         (gst_value_list_prepend_value), (gst_value_list_append_value),
10050         (gst_value_list_get_size), (gst_value_list_get_value),
10051         (gst_value_transform_array_string), (gst_value_serialize_array),
10052         (gst_value_deserialize_array), (gst_value_intersect_array),
10053         (gst_value_is_fixed), (_gst_value_initialize):
10054         * gst/gstvalue.h:
10055           GstElement::new-pad -> pad-added, GstElement::state-change ->
10056           state-changed, GstValueFixedList -> GstValueArray, add format and
10057           flags as their own arguments in gst_element_seek() (should improve
10058           "bindeability"), remove function generators since they don't work
10059           under a whole bunch of compilers (they were deprecated already
10060           anyway).
10061
10062 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10063
10064         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10065         (_gst_debug_register_funcptr):
10066         * gst/gstinfo.h:
10067           Fix illegal cast on some platforms (#309253).
10068
10069 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10070
10071         * gst/gstmessage.c: (gst_message_new_custom):
10072         * gst/gstmessage.h:
10073           Add _new_custom, make _new_application a macro to _new_custom.
10074
10075 2005-07-20  Wim Taymans  <wim@fluendo.com>
10076
10077         * gst/base/gstbasesrc.c: (gst_base_src_init),
10078         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10079         * gst/base/gstbasesrc.h:
10080         Add a gboolean to decide when to push out a discont.
10081
10082         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10083         (gst_queue_loop), (gst_queue_handle_src_query),
10084         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10085         (gst_queue_set_property), (gst_queue_get_property):
10086         Some cleanups.
10087
10088         * tests/threadstate/threadstate1.c: (main):
10089         Make a thread test compile and run... very silly..
10090
10091
10092 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10093
10094         * docs/manual/appendix-porting.xml:
10095           Mention removal of libgstgconf-0.9.la and existence of gconf
10096           elements.
10097
10098 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10099
10100         * docs/pwg/advanced-clock.xml:
10101         * docs/pwg/appendix-porting.xml:
10102         * docs/pwg/intro-preface.xml:
10103         * docs/pwg/other-base.xml:
10104         * docs/pwg/other-manager.xml:
10105         * docs/pwg/other-nton.xml:
10106         * docs/pwg/other-ntoone.xml:
10107         * docs/pwg/other-oneton.xml:
10108         * docs/pwg/pwg.xml:
10109           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10110           demuxer), remove n-to-n (was never written), fix some code examples
10111           and links and update the porting section to include all this.
10112
10113 2005-07-19  Wim Taymans  <wim@fluendo.com>
10114
10115         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10116         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10117         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10118         (gst_queue_src_activate_push), (gst_queue_change_state),
10119         (gst_queue_get_property):
10120         * gst/gstqueue.h:
10121         Propagate GstFlowReturn more intelligently upstream and output
10122         an ERROR/EOS when streaming stopped due to fatal error.
10123
10124 2005-07-19  Wim Taymans  <wim@fluendo.com>
10125
10126         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10127         Don't block forever for the state change to complete, the
10128         pipeline already did with a sensible timeout.
10129
10130 2005-07-19  Wim Taymans  <wim@fluendo.com>
10131
10132         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10133         Make sure we never call the create function is we
10134         got deactivated.
10135
10136 2005-07-19  Andy Wingo  <wingo@pobox.com>
10137
10138         * gst/parse/parse.l: Attempt to solve bug #172815.
10139
10140 2005-07-19  Wim Taymans  <wim@fluendo.com>
10141
10142         * docs/design/part-clocks.txt:
10143         * docs/design/part-events.txt:
10144         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10145         Small docs updates.
10146         Only update the seeking values when we are not
10147         busy streaming.
10148
10149 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10150
10151         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10152           Oops, ignore the result of gst_pad_push_event here.
10153
10154 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10155
10156         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10157         (gst_base_src_activate_push):
10158           Send discont event from the loop function, as pads
10159           aren't activated yet in the activate_push handler.
10160
10161         * gst/gstbin.c: (bin_bus_handler):
10162           Don't leak element name.
10163
10164 2005-07-18  Andy Wingo  <wingo@pobox.com>
10165
10166         * configure.ac: Use AS_LIBTOOL_TAGS.
10167
10168 2005-07-18  Wim Taymans  <wim@fluendo.com>
10169
10170         * docs/gst/gstreamer.types:
10171         Remove deleted types.
10172
10173 2005-07-18  Wim Taymans  <wim@fluendo.com>
10174
10175         * check/elements/gstfakesrc.c: (GST_START_TEST):
10176         * configure.ac:
10177         * gst/Makefile.am:
10178         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10179         (init_popt_callback):
10180         * gst/gst.h:
10181         * gst/gst_private.h:
10182         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10183         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10184         * gst/gstbin.h:
10185         * gst/gstbus.h:
10186         * gst/gstconfig.h.in:
10187         * gst/gstelement.c: (gst_element_class_init),
10188         (gst_element_set_base_time), (gst_element_get_base_time),
10189         (iterator_fold_with_resync), (gst_element_change_state),
10190         (gst_element_dispose), (gst_element_get_bus):
10191         * gst/gstelement.h:
10192         * gst/gstelementfactory.h:
10193         * gst/gsterror.c: (_gst_core_errors_init):
10194         * gst/gsterror.h:
10195         * gst/gstevent.h:
10196         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10197         * gst/gstindex.c:
10198         * gst/gstinfo.c: (_gst_debug_init):
10199         * gst/gstmessage.c: (_gst_message_copy):
10200         * gst/gstmessage.h:
10201         * gst/gstminiobject.h:
10202         * gst/gstobject.c:
10203         * gst/gstobject.h:
10204         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10205         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10206         * gst/gstpad.h:
10207         * gst/gstparse.h:
10208         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10209         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10210         (gst_pipeline_get_last_stream_time):
10211         * gst/gstpipeline.h:
10212         * gst/gstpluginfeature.h:
10213         * gst/gstquery.h:
10214         * gst/gstscheduler.c:
10215         * gst/gstscheduler.h:
10216         * gst/gststructure.h:
10217         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10218         (gst_task_finalize), (gst_task_func), (gst_task_create),
10219         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10220         (gst_task_stop), (gst_task_pause):
10221         * gst/gsttask.h:
10222         * gst/gsttypefind.h:
10223         * gst/gsttypes.h:
10224         * gst/registries/gstlibxmlregistry.c: (load_feature),
10225         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10226         * gst/registries/gstxmlregistry.c:
10227         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10228         * gst/schedulers/threadscheduler.c:
10229         * libs/gst/control/dparammanager.h:
10230         * tools/gst-inspect.c: (print_element_list),
10231         (print_plugin_features), (print_element_features):
10232         * tools/gst-xmlinspect.c: (print_element_list),
10233         (print_plugin_info), (main):
10234         Removed plugable schedulers.
10235         Removed Scheduler/Manager from elements.
10236         Removed gsttypes.h, rearranged includes.
10237         Removed dependency pad<->element, element<>pipeline, and
10238         various others,  fix includes.
10239         implement gst_pad_get_parent() with gst_object_get_parent()
10240         Make GstTask sefcontained.
10241         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10242         timeout.
10243         Fix endless loop in iterator_fold_with_resync.
10244
10245
10246 2005-07-18  Wim Taymans  <wim@fluendo.com>
10247
10248         * gst/Makefile.am:
10249         * gst/gstarch.h:
10250         Remove old file.
10251
10252 2005-07-18  Wim Taymans  <wim@fluendo.com>
10253
10254         * gst/Makefile.am:
10255         No more cothreads.h
10256
10257 2005-07-18  Wim Taymans  <wim@fluendo.com>
10258
10259         * gst/cothreads.c:
10260         * gst/cothreads.h:
10261         Let's remove these.
10262
10263 2005-07-18  Wim Taymans  <wim@fluendo.com>
10264
10265         * docs/design/part-dynamic.txt:
10266         * docs/design/part-events.txt:
10267         * docs/design/part-seeking.txt:
10268         Some more docs in the works.
10269
10270         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10271         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10272         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10273         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10274         (gst_base_transform_handle_buffer),
10275         (gst_base_transform_sink_activate_push),
10276         (gst_base_transform_src_activate_pull),
10277         (gst_base_transform_set_passthrough),
10278         (gst_base_transform_is_passthrough):
10279         Refcounting fixes.
10280
10281         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10282         Cleanups.
10283
10284         * gst/gstevent.c: (gst_event_finalize):
10285         Set SRC to NULL.
10286
10287         * gst/gstutils.c: (gst_element_unlink),
10288         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10289         (gst_pad_proxy_setcaps):
10290         * gst/gstutils.h:
10291         Add _get_parent_element() to get a pads parent as an element.
10292
10293 2005-07-18  Wim Taymans  <wim@fluendo.com>
10294
10295         * check/gst/gstbin.c: (GST_START_TEST):
10296         Remove bogus test.
10297
10298 2005-07-18  Wim Taymans  <wim@fluendo.com>
10299
10300         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10301         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10302         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10303         (gst_base_sink_event), (gst_base_sink_do_sync),
10304         (gst_base_sink_chain), (gst_base_sink_loop),
10305         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10306         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10307         Refcounting fixes.
10308         Fix logic for returning ASYNC when not prerolled.
10309
10310 2005-07-18  Wim Taymans  <wim@fluendo.com>
10311
10312         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10313         Fix nasty refcount bug.
10314
10315 2005-07-16 Philippe Khalaf <burger@speedy.org>
10316
10317         * gst/elements/gstfdsrc.c:
10318         * gst/elements/gstfdsrc.h:
10319         * gst/elements/gstelements.c:
10320         * gst/elements/Makefile.am:
10321         Ported fdsrc to 0.9.
10322
10323 2005-07-16  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10326         (gst_base_sink_do_sync):
10327         Fix compile error.
10328
10329 2005-07-16  Wim Taymans  <wim@fluendo.com>
10330
10331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10332         (gst_base_sink_event), (gst_base_sink_get_times),
10333         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10334         * gst/base/gstbasesink.h:
10335         Store and use discont values when syncing buffers as described
10336         in design docs.
10337         
10338         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10339         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10340         (gst_base_src_activate_push):
10341         Push discont event when starting.
10342
10343         * gst/elements/gstidentity.c: (gst_identity_transform):
10344         Small cleanups.
10345
10346         * gst/gstbin.c: (gst_bin_change_state):
10347         Small cleanups in base_time  distribution.
10348
10349         * gst/gstelement.c: (gst_element_set_base_time),
10350         (gst_element_get_base_time), (gst_element_change_state):
10351         * gst/gstelement.h:
10352         Added methods for the base_time of the element.
10353         Some MT fixes.
10354
10355         * gst/gstpipeline.c: (gst_pipeline_send_event),
10356         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10357         (gst_pipeline_get_last_stream_time):
10358         * gst/gstpipeline.h:
10359         MT fixes.
10360         Handle seeking as described in design doc, remove stream_time
10361         hack.
10362         Cleanups clock and stream_time selection code. Added accessors
10363         for the stream_time.
10364         
10365
10366 2005-07-16  Andy Wingo  <wingo@pobox.com>
10367
10368         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10369         (#305291).
10370
10371 2005-07-16  Wim Taymans  <wim@fluendo.com>
10372
10373         * check/gst/gstbin.c: (GST_START_TEST):
10374         Make elements silent as the deep_notify refs the
10375         parent, which might make the test fail.
10376
10377         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10378         Don't hold the lock for too long.
10379
10380 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10381
10382         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10383           Don't unref the caps we passed to gst_caps_make_writable() after
10384           passing them. gst_caps_make_writable() will do that for us.
10385
10386 2005-07-15  Andy Wingo  <wingo@pobox.com>
10387
10388         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10389         (#157311).
10390
10391         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10392         own marshalling function for the handoff signal. Properly type the
10393         buffer as a buffer. Fixes some warnings. Should do a more general
10394         solution.
10395         (gst_identity_class_init): Plug into the right marshaller.
10396
10397 2005-07-15  Wim Taymans  <wim@fluendo.com>
10398
10399         * docs/design/part-TODO.txt:
10400         * docs/design/part-clocks.txt:
10401         * docs/design/part-element-sink.txt:
10402         * docs/design/part-events.txt:
10403         * docs/design/part-gstpipeline.txt:
10404         Updated docs, mostly DISCONT related.
10405
10406 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10407
10408         * docs/pwg/building-pads.xml:
10409           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10410
10411 2005-07-15  Andy Wingo  <wingo@pobox.com>
10412
10413         * tools/gst-typefind.c: Update, add copyright block.
10414
10415         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10416         Normalize and truncate caps before fixation.
10417
10418         * gst/gstcaps.h:
10419         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10420         discards all but the first structure from its argument.
10421
10422 2005-07-15  Wim Taymans  <wim@fluendo.com>
10423
10424         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10425         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10426         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10427         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10428         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10429         (gst_base_transform_chain), (gst_base_transform_change_state),
10430         (gst_base_transform_set_passthrough),
10431         (gst_base_transform_is_passthrough):
10432         * gst/base/gstbasetransform.h:
10433         Make passthrough work using the bufferpools.
10434         Changed API a bit, subclasses have to write into a buffer
10435         provided by the base class.
10436         More debug info in nego functions.
10437         
10438         * gst/elements/gstidentity.c: (gst_identity_init),
10439         (gst_identity_transform):
10440         Port to new base class.
10441
10442 2005-07-15  Wim Taymans  <wim@fluendo.com>
10443
10444         * gst/gstmessage.c: (gst_message_new_state_changed):
10445         * tools/gst-launch.c: (event_loop), (main):
10446         Totally dump messages in -launch with the -m option.
10447         Fix message name for State messages,
10448
10449 2005-07-14  Wim Taymans  <wim@fluendo.com>
10450
10451         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10452         Post error messages on errors.
10453
10454 2005-07-14  Wim Taymans  <wim@fluendo.com>
10455
10456         * gst/gstcaps.c: (gst_caps_do_simplify):
10457         Remove debug info.
10458
10459         * gst/gsterror.h:
10460         Define error for stream stopped.
10461
10462         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10463         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10464         Do proper return values.
10465
10466         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10467         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10468         (gst_pad_get_range):
10469         Better return values.
10470
10471         * gst/gstpad.h:
10472         Reorganise return values, add macro to check for fatal errors.
10473
10474         * gst/gstqueue.c: (gst_queue_chain):
10475         Return proper GstFlowReturn values,
10476
10477 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10478
10479         * docs/gst/gstreamer-sections.txt:
10480         * docs/gst/gstreamer.types:
10481         * docs/gst/tmpl/gst.sgml:
10482         * docs/gst/tmpl/gstbasesink.sgml:
10483         * docs/gst/tmpl/gstbasesrc.sgml:
10484         * docs/gst/tmpl/gstbasetransform.sgml:
10485         * docs/gst/tmpl/gstbin.sgml:
10486         * docs/gst/tmpl/gstbuffer.sgml:
10487         * docs/gst/tmpl/gstcaps.sgml:
10488         * docs/gst/tmpl/gstclock.sgml:
10489         * docs/gst/tmpl/gstcompat.sgml:
10490         * docs/gst/tmpl/gstconfig.sgml:
10491         * docs/gst/tmpl/gstelement.sgml:
10492         * docs/gst/tmpl/gstelementdetails.sgml:
10493         * docs/gst/tmpl/gstelementfactory.sgml:
10494         * docs/gst/tmpl/gstenumtypes.sgml:
10495         * docs/gst/tmpl/gsterror.sgml:
10496         * docs/gst/tmpl/gstevent.sgml:
10497         * docs/gst/tmpl/gstfakesink.sgml:
10498         * docs/gst/tmpl/gstfakesrc.sgml:
10499         * docs/gst/tmpl/gstfilesink.sgml:
10500         * docs/gst/tmpl/gstfilesrc.sgml:
10501         * docs/gst/tmpl/gstfilter.sgml:
10502         * docs/gst/tmpl/gstformat.sgml:
10503         * docs/gst/tmpl/gstghostpad.sgml:
10504         * docs/gst/tmpl/gstimplementsinterface.sgml:
10505         * docs/gst/tmpl/gstindex.sgml:
10506         * docs/gst/tmpl/gstindexfactory.sgml:
10507         * docs/gst/tmpl/gstinfo.sgml:
10508         * docs/gst/tmpl/gstiterator.sgml:
10509         * docs/gst/tmpl/gstmacros.sgml:
10510         * docs/gst/tmpl/gstmemchunk.sgml:
10511         * docs/gst/tmpl/gstminiobject.sgml:
10512         * docs/gst/tmpl/gstobject.sgml:
10513         * docs/gst/tmpl/gstpad.sgml:
10514         * docs/gst/tmpl/gstpadtemplate.sgml:
10515         * docs/gst/tmpl/gstparse.sgml:
10516         * docs/gst/tmpl/gstpipeline.sgml:
10517         * docs/gst/tmpl/gstplugin.sgml:
10518         * docs/gst/tmpl/gstpluginfeature.sgml:
10519         * docs/gst/tmpl/gstquery.sgml:
10520         * docs/gst/tmpl/gstqueue.sgml:
10521         * docs/gst/tmpl/gstregistry.sgml:
10522         * docs/gst/tmpl/gstregistrypool.sgml:
10523         * docs/gst/tmpl/gstscheduler.sgml:
10524         * docs/gst/tmpl/gstschedulerfactory.sgml:
10525         * docs/gst/tmpl/gststructure.sgml:
10526         * docs/gst/tmpl/gstsystemclock.sgml:
10527         * docs/gst/tmpl/gsttaglist.sgml:
10528         * docs/gst/tmpl/gsttagsetter.sgml:
10529         * docs/gst/tmpl/gsttrace.sgml:
10530         * docs/gst/tmpl/gsttrashstack.sgml:
10531         * docs/gst/tmpl/gsttypefind.sgml:
10532         * docs/gst/tmpl/gsttypefindfactory.sgml:
10533         * docs/gst/tmpl/gsttypes.sgml:
10534         * docs/gst/tmpl/gsturihandler.sgml:
10535         * docs/gst/tmpl/gsturitype.sgml:
10536         * docs/gst/tmpl/gstutils.sgml:
10537         * docs/gst/tmpl/gstvalue.sgml:
10538         * docs/gst/tmpl/gstversion.sgml:
10539         * docs/gst/tmpl/gstxml.sgml:
10540         * docs/libs/tmpl/gstcontrol.sgml:
10541         * docs/libs/tmpl/gstdataprotocol.sgml:
10542         * docs/libs/tmpl/gstdparam.sgml:
10543         * docs/libs/tmpl/gstdplinint.sgml:
10544         * docs/libs/tmpl/gstdpman.sgml:
10545         * docs/libs/tmpl/gstdpsmooth.sgml:
10546         * docs/libs/tmpl/gstgetbits.sgml:
10547         * docs/libs/tmpl/gstunitconvert.sgml:
10548         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10549         (gst_push_src_base_init), (gst_push_src_class_init),
10550         (gst_push_src_init), (gst_push_src_create):
10551         * gst/base/gstpushsrc.h:
10552         * gst/elements/gstelements.c:
10553         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10554         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10555         (gst_fake_sink_init), (gst_fake_sink_set_property),
10556         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10557         (gst_fake_sink_event), (gst_fake_sink_preroll),
10558         (gst_fake_sink_render), (gst_fake_sink_change_state):
10559         * gst/elements/gstfakesink.h:
10560         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10561         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10562         (gst_fake_src_base_init), (gst_fake_src_class_init),
10563         (gst_fake_src_init), (gst_fake_src_event_handler),
10564         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10565         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10566         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10567         (gst_fake_src_create_buffer), (gst_fake_src_create),
10568         (gst_fake_src_start), (gst_fake_src_stop):
10569         * gst/elements/gstfakesrc.h:
10570         * gst/elements/gstfilesink.c: (_do_init),
10571         (gst_file_sink_base_init), (gst_file_sink_class_init),
10572         (gst_file_sink_init), (gst_file_sink_dispose),
10573         (gst_file_sink_set_location), (gst_file_sink_set_property),
10574         (gst_file_sink_get_property), (gst_file_sink_open_file),
10575         (gst_file_sink_close_file), (gst_file_sink_query),
10576         (gst_file_sink_event), (gst_file_sink_render),
10577         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10578         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10579         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10580         * gst/elements/gstfilesink.h:
10581         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10582         (gst_file_src_class_init), (gst_file_src_init),
10583         (gst_file_src_finalize), (gst_file_src_set_location),
10584         (gst_file_src_set_property), (gst_file_src_get_property),
10585         (gst_file_src_map_region), (gst_file_src_map_small_region),
10586         (gst_file_src_create_mmap), (gst_file_src_create_read),
10587         (gst_file_src_create), (gst_file_src_is_seekable),
10588         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10589         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10590         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10591         (gst_file_src_uri_handler_init):
10592         * gst/elements/gstfilesrc.h:
10593           more autistic cleanliness in functions/names/defines
10594
10595 2005-07-13  Andy Wingo  <wingo@pobox.com>
10596
10597         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10598         source couldn't negotiate.
10599
10600         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10601         connections again.
10602
10603         * gst/gstutils.h:
10604         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10605         function. I am channeling Hades. Put your boots on suckers!!!
10606
10607 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10608
10609         * testsuite/caps/Makefile.am:
10610         * testsuite/caps/value_compare.c:
10611         * testsuite/caps/value_intersect.c:
10612         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10613           move two testsuite apps over to the check dir
10614
10615 2005-07-12  Wim Taymans  <wim@fluendo.com>
10616
10617         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10618         Added more debug info in the negotiate process.
10619
10620         * gst/gstmessage.h:
10621         Prepare for segment playback.
10622
10623         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10624         Better debugging.
10625
10626         * gst/gstutils.c:
10627         Some more docs.
10628
10629         * tools/gst-launch.c: (main):
10630         NULL pipeline on errors.
10631
10632 2005-07-12  Andy Wingo  <wingo@pobox.com>
10633
10634         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10635         not it comes from a malloc region. Make sure our copy gets freed.
10636
10637 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10638
10639         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10640         * check/gst/gstmessage.c: (GST_START_TEST):
10641         * check/gst/gststructure.c: (GST_START_TEST),
10642         (gst_structure_suite), (main):
10643           more testing
10644         * gst/gstelement.c: (gst_element_message_full):
10645           clean up GError and debug string now that they get copied
10646         * gst/gstmessage.c: (gst_message_new_error),
10647         (gst_message_new_warning), (gst_message_parse_error),
10648         (gst_message_parse_warning):
10649           use GST_TYPE_G_ERROR for structure_new, and take copies of
10650           arguments, so that we don't mess up refcounting
10651
10652 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * check/Makefile.am:
10655           add per-test valgrind targets
10656         * check/gst-libs/gdp.c: (GST_START_TEST),
10657         (gst_data_protocol_suite), (main):
10658           clean up
10659
10660 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10661
10662         * check/Makefile.am:
10663           instate more valgrindable tests
10664         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10665         (GST_START_TEST), (fakesrc_suite):
10666         * check/gst/gstpad.c: (GST_START_TEST):
10667         * check/gst/gststructure.c: (GST_START_TEST):
10668           fix test leaks
10669         * docs/gst/tmpl/gstminiobject.sgml:
10670         * gst/gstpad.c: (gst_pad_finalize):
10671           fix the static mutex leak
10672
10673 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10674
10675         * check/Makefile.am:
10676           add two more tests for valgrinding
10677         * check/gst/gstvalue.c: (GST_START_TEST):
10678           test refcount of deserialized buffer, found a leak
10679         * docs/gst/gstreamer-docs.sgml:
10680         * docs/gst/gstreamer-sections.txt:
10681         * docs/gst/gstreamer.types:
10682         * docs/gst/tmpl/gstminiobject.sgml:
10683           add miniobject to docs
10684         * gst/gstminiobject.c:
10685           add some docs
10686         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10687         (gst_string_unwrap):
10688           fix a hard-to-find invalid write for one of the tests
10689           fix a leak for deserialized buffers
10690
10691 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10692
10693         * docs/pwg/advanced-events.xml:
10694         * docs/pwg/advanced-request.xml:
10695         * docs/pwg/advanced-scheduling.xml:
10696         * docs/pwg/appendix-porting.xml:
10697         * docs/pwg/building-boiler.xml:
10698         * docs/pwg/intro-preface.xml:
10699         * docs/pwg/other-ntoone.xml:
10700           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10701           of example code and explanation for pad activation, loop() and
10702           getrange() functions and a bit more. Remove old comments pointing
10703           to loop-functions.
10704         * examples/pwg/Makefile.am:
10705           Add loop/getrange examples.
10706
10707 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10708
10709         * configure.ac:
10710           check for valgrind binary + some fixes
10711         * check/gst.supp:
10712           valgrind suppressions for the tests
10713         * check/Makefile.am:
10714           add a valgrind: target that valgrinds the unit tests
10715         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10716         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10717         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10718         * check/gst/gstghostpad.c:
10719           added some cleanup
10720         * check/gst/gstdata.c:
10721           removed
10722         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10723         (thread_unref), (gst_mini_object_suite), (main):
10724           added
10725         * gst/gst.c: (gst_deinit):
10726         * gst/gst.h:
10727           add a method to clean up.
10728         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10729         (gst_system_clock_obtain):
10730           allow for disposing the system clock.
10731         * tools/gst-launch.c: (main):
10732           deinit
10733
10734 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10735
10736         * docs/gst/tmpl/gstbasesrc.sgml:
10737         * docs/gst/tmpl/gstfakesrc.sgml:
10738         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10739         (gst_base_src_init), (gst_base_src_set_property),
10740         (gst_base_src_get_property), (gst_base_src_get_range),
10741         (gst_base_src_start):
10742         * gst/base/gstbasesrc.h:
10743           add num-buffers property
10744         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10745         (gst_fakesrc_init), (gst_fakesrc_set_property),
10746         (gst_fakesrc_get_property), (gst_fakesrc_create),
10747         (gst_fakesrc_start):
10748           remove num-buffers property
10749
10750 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10751
10752         * docs/gst/gstreamer-sections.txt:
10753         * docs/gst/tmpl/gstbasesink.sgml:
10754         * docs/gst/tmpl/gstbasesrc.sgml:
10755         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10756         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10757         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10758         (gst_base_sink_set_property), (gst_base_sink_get_property),
10759         (gst_base_sink_handle_object), (gst_base_sink_event),
10760         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10761         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10762         (gst_base_sink_loop), (gst_base_sink_deactivate),
10763         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10764         (gst_base_sink_change_state):
10765         * gst/base/gstbasesink.h:
10766         * gst/base/gstbasesrc.h:
10767         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10768         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10769         (gst_filesink_init):
10770           more macro splitting
10771
10772 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10773
10774         * gst/gstelement.c: (gst_element_get_bus):
10775           add debug
10776         * tools/gst-launch.c: (check_intr), (event_loop):
10777           fix bus leaks
10778
10779 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10780
10781         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10782           fix a caps leak
10783
10784 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10785
10786         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10787         (gst_base_src_finalize):
10788           add finalize method and clean up properly
10789         * gst/gstpipeline.c: (gst_pipeline_dispose):
10790           add debug
10791
10792 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10793
10794         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10795         (gst_bin_suite):
10796           add more things to check
10797         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10798         * gst/gstelement.c:
10799           more debug
10800
10801 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10802
10803         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10804         (GST_START_TEST), (fakesrc_suite):
10805         * check/gst-libs/gdp.c: (GST_START_TEST):
10806         * check/gst/gst.c: (GST_START_TEST):
10807         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10808         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10809         * check/gst/gstbus.c: (GST_START_TEST):
10810         * check/gst/gstcaps.c: (GST_START_TEST):
10811         * check/gst/gstdata.c: (GST_START_TEST):
10812         * check/gst/gstelement.c: (GST_START_TEST):
10813         * check/gst/gstghostpad.c: (GST_START_TEST):
10814         * check/gst/gstiterator.c: (GST_START_TEST):
10815         * check/gst/gstmessage.c: (GST_START_TEST):
10816         * check/gst/gstobject.c: (GST_START_TEST):
10817         * check/gst/gstpad.c: (GST_START_TEST):
10818         * check/gst/gststructure.c: (GST_START_TEST):
10819         * check/gst/gstsystemclock.c: (GST_START_TEST),
10820         (gst_systemclock_suite):
10821         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10822         * check/gst/gstvalue.c: (GST_START_TEST):
10823         * check/pipelines/cleanup.c: (GST_START_TEST):
10824         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10825         * check/states/sinks.c: (GST_START_TEST):
10826         * check/gstcheck.c: (gst_check_init):
10827         * check/gstcheck.h:
10828           add debugging category
10829           use GST_START_TEST now, so we add a debug line
10830
10831 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10832
10833         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10834           add test for state change message on a bin
10835         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10836           add another test
10837         * gst/gstbin.c: (gst_bin_init):
10838         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10839         * gst/gstelement.c: (gst_element_post_message),
10840         (gst_element_set_state):
10841         * gst/gstelementfactory.c: (gst_element_factory_create):
10842         * gst/gstmessage.c: (gst_message_new):
10843         * gst/gstscheduler.c:
10844           various debugging additions and cleanups
10845
10846 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10847
10848         * check/Makefile.am:
10849         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10850         (main):
10851           adding tests for elements
10852         * gst/gstelement.c: (gst_element_dispose):
10853
10854 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10855
10856         * gst/registries/gstlibxmlregistry.c: (load_feature):
10857           plug more leaks.  A simple gst_init() now is leakfree, yay.
10858
10859 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10860
10861         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10862         (gst_xml_registry_load):
10863           plug another memleak
10864
10865 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10866
10867         * configure.ac:
10868           use GST_SET_ERROR_CFLAGS
10869         * docs/faq/cvs.xml:
10870           change to ERROR_CFLAGS
10871
10872 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * configure.ac:
10875           make GST_ERROR_CFLAGS overridable and re-enable Werror
10876         * docs/faq/cvs.xml:
10877           add a note about error CFLAGS
10878         * docs/gst/tmpl/gstfakesrc.sgml:
10879         * gst/elements/gstfakesrc.c:
10880           comment out some unused code
10881         * gst/gst.c: (split_and_iterate):
10882         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10883         (load_feature):
10884           plug some memleaks
10885
10886 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10887
10888         * common/Makefile.am:
10889         * common/gtk-doc.mak:
10890         * docs/gst/Makefile.am:
10891           factor out gtk-doc.mak
10892
10893 2005-07-07  Wim Taymans  <wim@fluendo.com>
10894
10895         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10896         (gst_thread_scheduler_dispose):
10897         Unlock the STREAM_LOCK completely.
10898
10899 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10900
10901         * check/Makefile.am:
10902         * check/elements/.cvsignore:
10903         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10904         (START_TEST), (fakesrc_suite), (main):
10905         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10906         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10907         (gst_fakesrc_create), (gst_fakesrc_start):
10908         * gst/elements/gstfakesrc.h:
10909           adding a first element test
10910
10911 2005-07-07  Andy Wingo  <wingo@pobox.com>
10912
10913         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10914         debug message.
10915
10916 2005-07-07  Wim Taymans  <wim@fluendo.com>
10917
10918         * gst/gstquery.c:
10919         * gst/gstquery.h:
10920         Remove old types
10921
10922 2005-07-07  Wim Taymans  <wim@fluendo.com>
10923
10924         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10925         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10926         Allow subclasses to implement their own negotiation.
10927
10928 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10929
10930         * docs/design/part-gstbin.txt:
10931         * docs/design/part-gstpipeline.txt:
10932           Update design notes to reflect the movement of
10933           responsibility for bus handling from GstPipeline to
10934           GstBin
10935
10936 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10937
10938         * configure.ac:
10939           Remove unnecessary queue2/3/4 examples.
10940
10941 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10942
10943         * examples/Makefile.am:
10944         * examples/helloworld/helloworld.c: (event_loop), (main):
10945         * examples/queue/queue.c: (event_loop), (main):
10946         * examples/queue2/queue2.c: (main):
10947           Update a couple of the examples to work again.
10948
10949         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10950         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10951          Spelling corrections and extra debug.
10952         
10953         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10954         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10955         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10956         * gst/gstbin.h:
10957         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10958         (gst_pipeline_change_state):
10959         * gst/gstpipeline.h:
10960           Move the bus handler for children to the GstBin, and create a
10961           separate bus for receiving messages from children to the one the
10962           bus sends 'upwards' on.
10963
10964 2005-07-06  Wim Taymans  <wim@fluendo.com>
10965
10966         * gst/base/README:
10967         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10968         (gst_base_sink_handle_object), (gst_base_sink_loop),
10969         (gst_base_sink_change_state):
10970         * gst/base/gstbasesink.h:
10971         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10972         (gst_base_src_init), (gst_base_src_setcaps),
10973         (gst_base_src_getcaps), (gst_base_src_loop),
10974         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10975         (gst_base_src_start), (gst_base_src_change_state):
10976         * gst/base/gstbasesrc.h:
10977         Make basesrc negotiate.
10978         Handle the case where preroll fails in basesink.
10979         Update README.
10980
10981 2005-07-06  Wim Taymans  <wim@fluendo.com>
10982
10983         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10984         Implement the fixate function.
10985         Clean up acceptcaps.
10986
10987 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10988
10989         * docs/pwg/building-filterfactory.xml:
10990         * docs/pwg/pwg.xml:
10991           Remove never-written filter-factory chapter; I'll add the various
10992           base classes to part 4 ("other element types") later on.
10993
10994 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10995
10996         * docs/pwg/advanced-negotiation.xml:
10997         * docs/pwg/building-boiler.xml:
10998         * docs/pwg/building-pads.xml:
10999         * docs/pwg/pwg.xml:
11000         * examples/pwg/Makefile.am:
11001           Add a chapter on caps negotiation, simplify the original code
11002           samples a bit w.r.t. caps negotiation, add link to the advanced
11003           section. Add a bunch of examples showing different use cases of
11004           different types of caps negotiation. Upstream renegotiation isn't
11005           fully documented yet since nobody knows how that works.
11006
11007 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * check/gst/gstpad.c:
11010         * check/gstcheck.c:
11011         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11012           if pad has no parent, return NULL as list of internal links
11013
11014 2005-07-05  Andy Wingo  <wingo@pobox.com>
11015
11016         * gst/elements/gstfilesrc.c:
11017         * gst/elements/gstfakesrc.c: 
11018         * gst/base/gstpushsrc.c:
11019         * gst/base/gstbasesrc.h: 
11020         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11021         
11022 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11023
11024         * Makefile.am:
11025           better report generation target (lcov needs a patch)
11026
11027 2005-07-05  Andy Wingo  <wingo@pobox.com>
11028
11029         * gst/elements, testsuite: Null if we got it...
11030
11031 2005-07-05  Wim Taymans  <wim@fluendo.com>
11032
11033         * configure.ac:
11034         * libs/gst/dataprotocol/Makefile.am:
11035         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11036         * libs/gst/dataprotocol/dataprotocol.h:
11037         * pkgconfig/Makefile.am:
11038         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11039         * pkgconfig/gstreamer-dataprotocol.pc.in:
11040         Ported dataprotol to 0.9. 
11041         Added pkgconfig files.
11042
11043 2005-07-05  Andy Wingo  <wingo@pobox.com>
11044
11045         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11046         Default to returning TRUE for the case when tranform_caps returns
11047         a fixed caps, like for identity or volume.
11048
11049         * check/gst/gstbus.c (pound_bus_with_messages): 
11050         * check/gst/gstmessage.c (START_TEST): 
11051         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11052         message API change.
11053
11054         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11055         logic weaks here: always run transform_caps, trying passthrough
11056         operation only if the original caps intersects with the transform.
11057
11058         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11059         source and sink caps.
11060
11061         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11062         Intersect the peer caps with the pad template before going into
11063         transform_caps.
11064         (gst_base_transform_transform_caps): More debugging.
11065
11066         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11067         src argument.
11068
11069 2005-07-04  Edward Hervey  <edward@fluendo.com>
11070
11071         * gst/gstutils.c:
11072         * gst/gstutils.h:
11073         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11074         in bindings.
11075
11076 2005-07-04  Andy Wingo  <wingo@pobox.com>
11077
11078         * check/gst/gstpad.c: Only set explicit caps on pads.
11079
11080 2005-07-01  Andy Wingo  <wingo@pobox.com>
11081
11082         * tests/network-clock.scm: Commentary update.
11083
11084         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11085         Didn't really make sense, not implementable with basetransform,
11086         etc.
11087         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11088         attempt at implementing the sync property, needs an unlock method.
11089
11090         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11091         New func, by default returns the same caps (the identity
11092         transformation).
11093         (gst_base_transform_getcaps): Uses transform_caps to return
11094         something sensible.
11095         (gst_base_transform_setcaps): Complicated logic to get caps on
11096         both pads, even if they are different, and to call set_caps once
11097         for every time both pads get their caps set.
11098         (gst_base_transform_handle_buffer): Give the ref to the transform
11099         function. Allows in-place modification of the buffer.
11100
11101         * gst/base/gstbasetransform.h (transform_caps): New class method.
11102         Given caps on one side, what can I do on the other.
11103         (set_caps): Take two caps, one for each side of the element.
11104
11105         * gst/gstpad.h:
11106         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11107         caps in place. This is safe because we can check the mutability of
11108         the caps, and a good idea because fixate functions are just called
11109         as a matter of last resort. (Not actually implemented.)
11110         (gst_pad_set_caps): If the caps we're setting is actually the same
11111         as the existing pad caps, just update the pointer without calling
11112         setcaps. Assert that caps is either NULL or fixed, as per the
11113         docs.
11114
11115         * gst/gstghostpad.c: Update for fixate changes.
11116
11117 2005-07-02  Andy Wingo  <wingo@pobox.com>
11118
11119         * gst/gstcaps.c:
11120         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11121         two refcounts makes it immutable, which is enough. Doc more.
11122
11123 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11124
11125         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11126           Put the mini_object into GValue as a mini_object,
11127           not a gpointer, since that's how we declared
11128           the signal.
11129
11130 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11131
11132         * examples/pwg/Makefile.am:
11133           Fix buildbot again.
11134
11135 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11136
11137         * docs/pwg/building-testapp.xml:
11138           Add extra check.
11139         * examples/pwg/Makefile.am:
11140           Fix buildbot.
11141
11142 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11143
11144         * configure.ac:
11145         * examples/Makefile.am:
11146         * examples/pwg/Makefile.am:
11147         * examples/pwg/extract.pl:
11148           Enable building the PWG examples.
11149         * docs/pwg/advanced-interfaces.xml:
11150           Add URI interface stub.
11151         * docs/pwg/advanced-types.xml:
11152         * docs/pwg/other-autoplugger.xml:
11153         * docs/pwg/appendix-porting.xml:
11154         * docs/pwg/pwg.xml:
11155           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11156         * docs/pwg/building-boiler.xml:
11157         * docs/pwg/building-chainfn.xml:
11158         * docs/pwg/building-pads.xml:
11159         * docs/pwg/building-props.xml:
11160         * docs/pwg/building-state.xml:
11161         * docs/pwg/building-testapp.xml:
11162           Update the building-*.xml parts for 0.9 changes. All examples
11163           code blocks compile in examples/pwg/*.
11164
11165 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11166
11167         * docs/manual/advanced-autoplugging.xml:
11168         * docs/manual/appendix-checklist.xml:
11169         * docs/manual/appendix-integration.xml:
11170         * docs/manual/highlevel-components.xml:
11171           Fix playbin/decodebin examples, update docs a bit, mention bus
11172           instead of signals in various places, mention kmplayer and
11173           kaffeine since they have a working GStreamer backend in the KDE
11174           section.
11175
11176 2005-06-30  Wim Taymans  <wim@fluendo.com>
11177
11178         * CHANGES-0.9:
11179         * docs/design/draft-ghostpads.txt:
11180         * docs/design/draft-push-pull.txt:
11181         * docs/design/draft-query.txt:
11182         * docs/design/part-TODO.txt:
11183         * docs/design/part-query.txt:
11184         Added CHANGES-0.9 doc, updated status of other docs.
11185         
11186         * gst/gstquery.h:
11187         Remove "hmm" macro
11188
11189 2005-06-30  Wim Taymans  <wim@fluendo.com>
11190
11191         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11192         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11193         (gst_base_sink_change_state):
11194         * gst/base/gstbasesink.h:
11195         Some tweaks, only EOS and a buffer complete a preroll.
11196
11197 2005-06-30  Andy Wingo  <wingo@pobox.com>
11198
11199         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11200         activate_push down to the internal pad as well.
11201
11202 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11203
11204         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11205
11206         * gst/gsttaginterface.c:
11207           Some documentation fixes (#307394 and #307397).
11208
11209 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11210
11211         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11212
11213         * gst/gstvalue.c: (gst_value_intersect_list):
11214           Fix memleak (#309125).
11215
11216 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11217
11218         * docs/manual/advanced-dataaccess.xml:
11219           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11220         * docs/manual/basics-pads.xml:
11221           Add reference for filtered caps to above chapter.
11222
11223 2005-06-30  Wim Taymans  <wim@fluendo.com>
11224
11225         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11226         (gst_bin_change_state):
11227         Probes are gone.
11228         Lame attempt at making the state change function a bit
11229         more readable.
11230
11231 2005-06-30  Wim Taymans  <wim@fluendo.com>
11232
11233         * docs/design/part-clocks.txt:
11234         * docs/design/part-element-sink.txt:
11235         * docs/design/part-events.txt:
11236         * docs/design/part-preroll.txt:
11237         * docs/design/part-states.txt:
11238         Some more tweeks and additions to the docs.
11239
11240 2005-06-30  Wim Taymans  <wim@fluendo.com>
11241
11242         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11243         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11244         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11245         (gst_pad_check_pull_range), (gst_pad_get_range),
11246         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11247         * gst/gstpad.h:
11248         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11249         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11250         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11251         (gst_pad_remove_buffer_probe):
11252         Removed atomic operations, use existing LOCK.
11253         Move exception handling out of main code path.
11254
11255 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11256
11257         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11258         (silly_return_true_function), (gst_pad_class_init),
11259         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11260         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11261         (gst_pad_send_event):
11262           Fix accumulator, add default value by using _emitv() instead
11263           of _emit() for signal emission.
11264
11265 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11266
11267         * docs/manual/advanced-dataaccess.xml:
11268         * examples/manual/Makefile.am:
11269           Add probe example.
11270         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11271           Make work (??).
11272
11273 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11274
11275         * gst/elements/gstfilesink.c: (gst_filesink_render):
11276           Simplify code so that we don't have to handle short
11277           writes and return GST_FLOW_ERROR if an error occured.
11278
11279 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11280
11281         * docs/gst/gstreamer-docs.sgml:
11282           Remove probes more.
11283
11284 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11285
11286         * docs/gst/gstreamer-sections.txt:
11287         * docs/gst/tmpl/gstpad.sgml:
11288         * docs/gst/tmpl/gstprobe.sgml:
11289         * gst/Makefile.am:
11290         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11291         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11292         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11293         (gst_pad_push_event), (gst_pad_send_event):
11294         * gst/gstpad.h:
11295         * gst/gstutils.c: (gst_pad_add_data_probe),
11296         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11297         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11298         (gst_pad_remove_buffer_probe):
11299         * gst/gstutils.h:
11300           Remove old probes, add new g-signal-based probes and some utility
11301           functions.
11302
11303 2005-06-29  Edward Hervey  <edward@fluendo.com>
11304
11305         * gst/gstelementfactory.c:
11306         * gst/gstutils.h:
11307         * gst/gstutils.c:
11308         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11309         the definition to the header file.
11310
11311 2005-06-29  Andy Wingo  <wingo@pobox.com>
11312
11313         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11314         plugins from the source directory.
11315
11316 2005-06-29  Wim Taymans  <wim@fluendo.com>
11317
11318         * docs/gst/tmpl/gstbuffer.sgml:
11319         * docs/gst/tmpl/gstclock.sgml:
11320         Some fixings for blantently wrong text.
11321
11322 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11323
11324         * check/Makefile.am:
11325         * gst/gst.c: (add_path_func), (init_pre):
11326         * gst/gstregistry.c: (gst_registry_add_path):
11327           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11328           only scan the GST_PLUGIN_PATH locations, and not add
11329           system locations
11330
11331 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11332
11333         * docs/gst/gstreamer-sections.txt:
11334         * docs/gst/tmpl/gstbasesrc.sgml:
11335         * gst/gstelement.c:
11336         * gst/gstelement.h:
11337         * gst/gstevent.c:
11338         * gst/gstutils.c:
11339           doc fixes
11340
11341 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11342
11343         * docs/manual/advanced-autoplugging.xml:
11344           Fix autoplugging example.
11345
11346 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11347
11348         * docs/manual/advanced-autoplugging.xml:
11349         * docs/manual/mime-world.fig:
11350           Try to get autoplugging working, fix type detection. Fix text
11351           in hello-world image.
11352
11353 2005-06-29  Wim Taymans  <wim@fluendo.com>
11354
11355         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11356         (gst_base_sink_change_state):
11357         Small debug line.
11358
11359         * gst/gstclock.h:
11360         map SIGNAL and BROADCAST to the right function.
11361
11362         * gst/gstobject.h:
11363         Remove redundant braces.
11364
11365         * gst/gstpad.c: (gst_pad_set_caps):
11366         Don't call setcaps function when reseting caps to NULL.
11367
11368         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11369         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11370         (gst_system_clock_id_unschedule):
11371         Use BROADCAST as this is what we do.
11372
11373 2005-06-29  Wim Taymans  <wim@fluendo.com>
11374
11375         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11376         We are actually prerolling before commiting the state
11377         change. 
11378
11379 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11380
11381         * docs/manual/advanced-clocks.xml:
11382         * docs/manual/advanced-interfaces.xml:
11383         * docs/manual/advanced-metadata.xml:
11384         * docs/manual/advanced-position.xml:
11385         * docs/manual/advanced-schedulers.xml:
11386         * docs/manual/advanced-threads.xml:
11387         * docs/manual/appendix-porting.xml:
11388         * docs/manual/basics-bins.xml:
11389         * docs/manual/basics-bus.xml:
11390         * docs/manual/basics-elements.xml:
11391         * docs/manual/basics-helloworld.xml:
11392         * docs/manual/basics-pads.xml:
11393         * docs/manual/highlevel-components.xml:
11394         * docs/manual/manual.xml:
11395         * docs/manual/thread.fig:
11396           Update (until threads/scheduling) Application Development Manual;
11397           remove GstThread, add GstBus, add simple porting checklist, add
11398           documentation for tag writing, clocks, make all examples until this
11399           part compile and run.
11400         * examples/manual/Makefile.am:
11401           Update from changes to Application Development Manual; add bus
11402           example, remove thread example.
11403
11404 2005-06-28  Wim Taymans  <wim@fluendo.com>
11405
11406         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11407         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11408         (gst_bus_source_dispatch):
11409         Add debugging messages.
11410         Make internal methods static.
11411         Handle the case where the bus is flushed in the handler.
11412         
11413         * gst/gstelement.c: (gst_element_get_bus):
11414         Fix refcount in _get_bus();
11415
11416         * gst/gstpipeline.c: (gst_pipeline_change_state),
11417         (gst_pipeline_get_clock_func):
11418         Clock refcounting fixes.
11419         Handle the case where preroll timed out more gracefully.
11420         
11421         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11422         Clean up the internal thread in dispose. This is needed
11423         for subclasses that actually get disposed.
11424         
11425         * gst/schedulers/threadscheduler.c:
11426         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11427         (gst_thread_scheduler_dispose):
11428         Free thread pool in dispose.
11429
11430 2005-06-28  Andy Wingo  <wingo@pobox.com>
11431
11432         * tests/network-clock-utils.scm (debug, print-event): New utils.
11433
11434         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11435         (*packet-loss*): Unified loss probability.
11436         (network-time): Report out-of-band events.
11437
11438         * tests/plot-data: Add support for out-of-band events. Hack it
11439         into this script instead of passing it down the pipe; should fix
11440         this later.
11441
11442 2005-06-28  Wim Taymans  <wim@fluendo.com>
11443
11444         * docs/gst/gstreamer.types:
11445         * docs/gst/tmpl/gstbasesrc.sgml:
11446         * docs/gst/tmpl/gstpad.sgml:
11447         Docs fixes.
11448
11449 2005-06-28  Wim Taymans  <wim@fluendo.com>
11450
11451         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11452         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11453         (gst_proxy_pad_do_fixatecaps):
11454         Correctly proxy the check_pull_range function.
11455
11456 2005-06-28  Andy Wingo  <wingo@pobox.com>
11457
11458         * tests/network-clock.scm: Removed need for slib.
11459         
11460 2005-06-28  Wim Taymans  <wim@fluendo.com>
11461
11462         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11463         (gst_basesink_preroll_queue_flush):
11464         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11465         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11466         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11467         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11468         (gst_proxy_pad_set_property):
11469         * gst/gstpad.c:
11470         * gst/gstpad.h:
11471         * gst/gstqueue.c: (gst_queue_init):
11472         The deprecated pad loop function is removed now.
11473
11474 2005-06-28  Andy Wingo  <wingo@pobox.com>
11475
11476         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11477         New parameters, simulate network packet loss.
11478
11479         * tests/network-clock-utils.scm: Initialize the RNG.
11480
11481 2005-06-28  Wim Taymans  <wim@fluendo.com>
11482
11483         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11484         (gst_basesink_event), (gst_basesink_deactivate):
11485         Flushing the preroll queue always needs to unlock the waiters.
11486
11487 2005-06-28  Edward Hervey  <edward@fluendo.com>
11488
11489         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11490         Wheen a seek was successful on a pipeline, set the stream_time to the
11491         seek offset in order to have a synchronized stream_time.
11492
11493 2005-06-28  Wim Taymans  <wim@fluendo.com>
11494
11495         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11496         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11497         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11498         (gst_proxy_pad_do_fixatecaps):
11499         Call wrapper function instead of just calling the function
11500         pointers. This takes care of any locking and whatmore.
11501
11502 2005-06-28  Wim Taymans  <wim@fluendo.com>
11503
11504         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11505         (gst_pad_pull_range):
11506         * gst/gstpad.h:
11507         CONNECTED -> LINKED.
11508
11509 2005-06-28  Andy Wingo  <wingo@pobox.com>
11510
11511         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11512         source-munging commit!!!
11513
11514         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11515         (gst_object_sink): Take gpointer arguments, not GstObject --
11516         avoids casts. Like GLib.
11517
11518         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11519         activate.
11520
11521 2005-06-27  Andy Wingo  <wingo@pobox.com>
11522
11523         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11524         remaining buffer.
11525
11526         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11527         returns a sorted copy of the trace list.
11528         (gst_alloc_trace_print_live): New API, only prints traces with
11529         live objects. Sort the list.
11530         (gst_alloc_trace_print_all): Sort the list.
11531         (gst_alloc_trace_print): Align columns.
11532
11533         * gst/elements/gstttypefindelement.c:
11534         * gst/elements/gsttee.c:
11535         * gst/base/gstbasesrc.c:
11536         * gst/base/gstbasesink.c:
11537         * gst/base/gstbasetransform.c:
11538         * gst/gstqueue.c: Adapt for pad activation changes.
11539
11540         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11541         sched.
11542         (gst_pipeline_dispose): Drop ref on sched.
11543
11544         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11545         (gst_pad_activate_default): Push mode by default.
11546         (pre_activate_switch, post_activate_switch): New stubs, things to
11547         do before and after switching activation modes on pads.
11548         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11549         the pad's activate function to choose which mode to activate.
11550         Shortcut on deactivation and call the right function directly.
11551         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11552         mode.
11553         (gst_pad_activate_push): New API, same for push mode.
11554         (gst_pad_set_activate_function) 
11555         (gst_pad_set_activatepull_function) 
11556         (gst_pad_set_activatepush_function): Setters for new API.
11557
11558         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11559         Trace all miniobjects.
11560         (gst_mini_object_make_writable): Unref the arg if we copy, like
11561         gst_caps_make_writable.
11562
11563         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11564
11565         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11566         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11567         Adapt for new pad API.
11568
11569         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11570
11571         * gst/gstelement.h:
11572         * gst/gstelement.c (gst_element_iterate_src_pads) 
11573         (gst_element_iterate_sink_pads): New API functions.
11574         
11575         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11576         should fold into gstiterator.c in some form.
11577         (gst_element_pads_activate): Simplified via use of fold and
11578         delegation of decisions to gstpad->activate.
11579
11580         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11581         help in debugging.
11582
11583         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11584         class once in init, like gstmessage. Didn't run into this issue
11585         but it seems correct. Don't initialize a trace, gstminiobject does
11586         that.
11587
11588         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11589         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11590         to the bus.
11591         (assert_live_count): New util function, uses alloc traces to check
11592         cleanup.
11593
11594         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11595         To be modified when unlink drops the internal pad.
11596
11597 2005-06-27  Wim Taymans  <wim@fluendo.com>
11598
11599         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11600         (gst_bin_change_state):
11601         Cleanup the get_state() function a little, make sure it
11602         iterates the same set of elements.
11603         Added stub iterate_state_order().
11604
11605 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11606
11607         * docs/gst/gstreamer-docs.sgml:
11608         * docs/gst/gstreamer-sections.txt:
11609         * docs/gst/gstreamer.types:
11610         * docs/gst/tmpl/gstbasesink.sgml:
11611         * docs/gst/tmpl/gstbasesrc.sgml:
11612         * docs/gst/tmpl/gstbasetransform.sgml:
11613         * docs/gst/tmpl/gstelement.sgml:
11614         * docs/gst/tmpl/gstiterator.sgml:
11615         * gst/base/gstbasesrc.c:
11616         * gst/base/gstbasesrc.h:
11617         * gst/base/gstbasetransform.h:
11618         * gst/gstelement.c:
11619         * gst/gstiterator.h:
11620           adding basetransform and iterator docs
11621
11622 2005-06-27  Andy Wingo  <wingo@pobox.com>
11623
11624         * docs/design/part-activation.txt: Notes on how activation should
11625         work -- not quite implemented yet.
11626
11627 2005-06-25  Wim Taymans  <wim@fluendo.com>
11628
11629         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11630         At least get the chain function correct, needs more
11631         fixing.
11632
11633 2005-06-25  Wim Taymans  <wim@fluendo.com>
11634
11635         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11636         (gst_basesink_handle_object), (gst_basesink_event),
11637         (gst_basesink_do_sync), (gst_basesink_handle_event),
11638         (gst_basesink_change_state):
11639         * gst/gsttask.h:
11640         Right, two problems here: ghostpads don't take locks and
11641         glib _rec_mutex_lock_full() with depth==0 still locks.
11642         Catch illegal locking and g_warn them.
11643
11644 2005-06-25  Wim Taymans  <wim@fluendo.com>
11645
11646         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11647         Have to check for completion now...
11648
11649 2005-06-25  Wim Taymans  <wim@fluendo.com>
11650
11651         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11652         (gst_basesink_handle_object), (gst_basesink_event),
11653         (gst_basesink_do_sync), (gst_basesink_handle_event),
11654         (gst_basesink_change_state):
11655         * gst/gstpad.h:
11656         Unlock STREAM_LOCK whatever the recursion was.
11657
11658 2005-06-25  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11661         (gst_basesink_preroll_queue_empty),
11662         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11663         (gst_basesink_event), (gst_basesink_do_sync),
11664         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11665         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11666         (gst_basesink_change_state):
11667         Reworked the base sink, handle event and buffer serialisation
11668         correctly and removed possible deadlock.
11669         Handle EOS correctly.
11670
11671 2005-06-25  Wim Taymans  <wim@fluendo.com>
11672
11673         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11674         (gst_pipeline_change_state):
11675         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11676         Allow elements to post EOS in the state change function.
11677         Fix up -launch, make it exit the poll loop when the
11678         pipeline actually changed state.
11679         Fix up warning parsing in -launch.
11680
11681 2005-06-25  Wim Taymans  <wim@fluendo.com>
11682
11683         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11684         (gst_tee_sink_activate):
11685         Core takes STREAM_LOCK for us now.
11686
11687 2005-06-25  Wim Taymans  <wim@fluendo.com>
11688
11689         * gst/gstelement.c: (gst_element_get_state_func),
11690         (gst_element_set_state):
11691         * gst/gstelement.h:
11692         * gst/gstmessage.c: (gst_message_parse_error),
11693         (gst_message_parse_warning):
11694         Keep track of current target state while performing a state
11695         change so that subclasses can do something interesting.
11696         Fix parsing of warning/error messages when GError is NULL.
11697
11698 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11699
11700         * docs/gst/Makefile.am:
11701         * docs/gst/gstreamer-docs.sgml:
11702         * docs/gst/gstreamer-sections.txt:
11703         * docs/gst/gstreamer.types:
11704         * docs/gst/tmpl/gstbasesink.sgml:
11705         * docs/gst/tmpl/gstbasesrc.sgml:
11706         * docs/gst/tmpl/gstbin.sgml:
11707         * docs/gst/tmpl/gstcompat.sgml:
11708         * docs/gst/tmpl/gstfakesink.sgml:
11709         * docs/gst/tmpl/gstfakesrc.sgml:
11710         * docs/gst/tmpl/gstfilesink.sgml:
11711         * docs/gst/tmpl/gstfilesrc.sgml:
11712         * docs/gst/tmpl/gstindex.sgml:
11713         * docs/manual/appendix-quotes.xml:
11714         * gst/base/gstbasesrc.h:
11715         * gst/elements/gstfakesrc.h:
11716         * gst/gstmessage.h:
11717           start pulling in base classes and elements in our docs
11718
11719 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11720
11721         * docs/gst/Makefile.am:
11722         * docs/libs/Makefile.am:
11723           fixed make distcheck with gtk-doc 1.3
11724
11725 2005-06-23  Wim Taymans  <wim@fluendo.com>
11726
11727         * gst/gstelement.c: (gst_element_get_state_func),
11728         (gst_element_set_state), (gst_element_change_state):
11729         When the state did not change, also report NO_PREROLL
11730         when it matters.
11731
11732 2005-06-23  Wim Taymans  <wim@fluendo.com>
11733
11734         * gst/gstpad.c: (gst_pad_event_default):
11735         * gst/gstqueue.c: (gst_queue_loop):
11736         No unsafe task pausing please.
11737
11738 2005-06-23  Wim Taymans  <wim@fluendo.com>
11739
11740         * gst/schedulers/threadscheduler.c:
11741         (gst_thread_scheduler_task_start),
11742         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11743         Ref the task before pushing it on the threadpool. This
11744         makes sure that we have a ref when the threadfunction is
11745         actually called.
11746
11747 2005-06-23  Andy Wingo  <wingo@pobox.com>
11748
11749         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11750         offset is greater than the file's size.
11751
11752         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11753         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11754         * gst/gstobject.c (gst_object_class_init): Make the class lock
11755         recursive. Wim won't let me drop deep_notify. Decodebin works
11756         again, whoopdy doo.
11757
11758         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11759         internal pad, and hacks accordingly. Doesn't do it on the target
11760         pad because we change its caps. Probably catches all cases of
11761         interest tho.
11762         (gst_ghost_pad_set_property): Connect to notify::caps as
11763         appropritate.
11764
11765         * tests/network-clock.scm (plot-simulation): Pipe data to the
11766         elite python skript.
11767
11768         * tests/network-clock-utils.scm (define-parameter): New macro,
11769         defines a parameter that can be set via the command line.
11770         (set-parameter!, parse-parameter-arguments): Command line args
11771         parser.
11772
11773         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11774         stdin.
11775
11776 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11777
11778         * gst/elements/gsttypefindelement.c:
11779         (gst_type_find_element_handle_event):
11780           Don't restart typefinding on a discont.
11781         * gst/gstelement.c: (gst_element_set_state):
11782           Debug spelling fix.
11783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11784           Allow changing mode of an active pad.
11785           Debug output fixes.
11786         * gst/registries/gstlibxmlregistry.c: (load_feature):
11787           Don't cast a static pad template to a normal pad template.
11788
11789 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11790
11791         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11792         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11793           remove gst_strtoll completely, since it didn't actually do
11794           anything more than what g_ascii_strtoull already does.
11795           check for range errors when deserializing
11796           do a cast for the unsigned cases; but further fixing needs
11797           a decision on what the interpretation of "(int)" and
11798           deserialization should be for values that fall outside the
11799           type's boundaries (ie, refuse, or interpret as casting)
11800
11801 2005-06-23  Wim Taymans  <wim@fluendo.com>
11802
11803         * check/Makefile.am:
11804         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11805         * docs/design/part-live-source.txt:
11806         * docs/design/part-states.txt:
11807         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11808         (gst_basesrc_set_live), (gst_basesrc_is_live),
11809         (gst_basesrc_get_range), (gst_basesrc_activate),
11810         (gst_basesrc_change_state):
11811         * gst/base/gstbasesrc.h:
11812         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11813         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11814         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11815         * gst/gstelement.c: (gst_element_get_state_func),
11816         (gst_element_set_state):
11817         * gst/gstelement.h:
11818         * gst/gsttypes.h:
11819         * tools/gst-launch.c: (event_loop), (main):
11820         Added support for live sources and other elements that
11821         cannot do preroll.
11822         Updated design docs, added live-source design doc.
11823         Implemented live source functionality in basesrc
11824         Fix error condition in _bin_get_state()
11825         Implement live source handling in -launch.
11826         Added check for live sources.
11827         Fixed case in GstBin where elements were changed state
11828         multiple times.
11829
11830
11831 2005-06-23  Andy Wingo  <wingo@pobox.com>
11832
11833         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11834         borken refcounting.
11835
11836         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11837         gst_caps_replace takes care of this for us.
11838
11839         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11840         gst_pad_set_caps on the target, not just its setcaps() function.
11841
11842         * tests/network-clock.scm: 
11843         * tests/network-clock-utils.scm: A network clock simulator.
11844         Something of an algorithmic testbed before doing something in C.
11845
11846 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11847
11848         * check/Makefile.am:
11849         * check/gst/capslist.h:
11850           copy over from 0.8, and add two with bitmasks specified with
11851           (int) 0xFF...
11852         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11853           add test to parse everything from capslist.h
11854         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11855         (main):
11856           add test for structure deserialization
11857         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11858           add tests for deserialization of strings to int types
11859         * gst/gststructure.c: (gst_structure_nth_field_name):
11860         * gst/gststructure.h:
11861           add a way to get the name of a field referenced by index
11862         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11863           instead of checking if the resulting long long lies between
11864           min and max, we check if the long long would fit into
11865           a number of bytes for the final type.
11866           This fixes cases where a string represents 2^32 - 1, which
11867           when cast to int would be the (valid) -1, but is bigger than
11868           G_MAXINT
11869
11870 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11871
11872         * gst/parse/grammar.y:
11873           add a log line for type deserialization
11874
11875 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * check/gst/gstvalue.c: (START_TEST):
11878         * gst/gstvalue.c: (gst_value_deserialize):
11879           return long long, not int, so gint64 deserialization actually
11880           works.  Is there any flag that makes the compiler check this ?
11881           Fixes #308559
11882
11883 2005-06-22  Wim Taymans  <wim@fluendo.com>
11884
11885         * gst/gstbuffer.h:
11886         Added convenience macros for setting buffers in GValue.
11887
11888 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11889
11890         * check/gst/.cvsignore:
11891         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11892           add a test deserializing int64, and comment part out because
11893           it fails, yay !
11894
11895 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11896
11897         * check/Makefile.am:
11898         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11899         * testsuite/Makefile.am:
11900         * testsuite/caps/Makefile.am:
11901         * testsuite/caps/value_serialize.c:
11902         * testsuite/test_gst_init.c:
11903           move a value_serialize test over
11904
11905 2005-06-20  Wim Taymans  <wim@fluendo.com>
11906
11907         * gst/gstpad.c:
11908         Small doc updates.
11909         
11910         * gst/gstvalue.c: (gst_value_compare_buffer),
11911         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11912         (gst_value_compare_flags), (gst_value_serialize_flags),
11913         (gst_value_deserialize_flags), (_gst_value_initialize):
11914         Fix serialisation of buffers, they are not boxed types anymore
11915
11916 2005-06-20  Wim Taymans  <wim@fluendo.com>
11917
11918         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11919         Testcase to show error in buffer-on-caps serialisation.
11920
11921 2005-06-20  Andy Wingo  <wingo@pobox.com>
11922
11923         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11924         will be adding to later.
11925
11926         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11927         if its socks fill with rocks.
11928         (gst_system_clock_obtain): Set the name on object construction.
11929         Avoid double-checked locking.
11930
11931 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11932
11933         * gst/gsturi.c: (gst_element_make_from_uri):
11934           Fix potential endless loop.
11935
11936 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11937
11938         * check/Makefile.am:
11939           add gsttag
11940         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11941         (main):
11942           move over from testsuite dir and clean up
11943         * configure.ac:
11944         * gst/gsttag.c:
11945         * testsuite/Makefile.am:
11946         * testsuite/tags/.cvsignore:
11947         * testsuite/tags/Makefile.am:
11948         * testsuite/tags/merge.c:
11949           remove testsuite/tags
11950
11951 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11952
11953         * docs/gst/gstreamer-sections.txt:
11954         * docs/gst/tmpl/gstenumtypes.sgml:
11955         * win32/gstenumtypes.c:
11956           clean up documentation build a little
11957
11958 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11959
11960         * check/gstcheck.h:
11961           add macros for checking refcounts on objects and caps
11962         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11963           add some more unit tests
11964         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11965         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11966           fix leaked refcounts (I hope :)) so unittest works
11967         * gst/gstpad.h:
11968           whitespace removal
11969
11970 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11971
11972         * configure.ac: back to HEAD
11973
11974 === release 0.9.1 ===
11975
11976 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11977
11978         * NEWS:
11979         * RELEASE:
11980           updated
11981
11982 2005-06-17  Andy Wingo  <wingo@pobox.com>
11983
11984         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11985         assert; it's always possible that the pad gets deactivated in
11986         between the checks in gstpad.c and the implementation. Rely on
11987         finish_preroll() to return a FLUSHING or similar instead of on the
11988         assert.
11989         
11990         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11991         clock and post an EOS message if we come out of finish_preroll in
11992         the playing state.
11993
11994 2005-06-16  David Schleef  <ds@schleef.org>
11995
11996         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11997         (gst_capsfilter_set_property): Allow NULL as possible value
11998         for filter_caps property, indicating GST_CAPS_ANY.
11999
12000 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12001
12002         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12003           fix debug output
12004         * gst/schedulers/Makefile.am:
12005           use libgst prefix
12006         * gstreamer.spec.in:
12007           fix spec for it
12008
12009 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12010
12011         * gstreamer.spec.in:
12012           clean up
12013
12014 2005-06-08  Andy Wingo  <wingo@pobox.com>
12015
12016         * gst/gstutils.c: RPAD fixes all around.
12017         (gst_element_link_pads): Refcounting fixes.
12018
12019         * tools/gst-inspect.c:
12020         * tools/gst-xmlinspect.c:
12021         * parse/grammar.y:
12022         * gst/base/gsttypefindhelper.c:
12023         * gst/base/gstbasesink.c:
12024         * gst/gstqueue.c: RPAD fixes.
12025
12026         * gst/gstghostpad.h:
12027         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12028         pads. The tricky thing is they provide both source and sink
12029         interfaces, since they proxy the internal pad for the external
12030         pad, and vice versa. Implement with lower-level ProxyPad objects,
12031         with the interior proxy pad as a child of the exterior ghost pad.
12032         Should write a doc on this.
12033         
12034         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12035         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12036         gst_object API.
12037         
12038         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12039         pads are real pads. No ghost pads in this file. Not documenting
12040         the myriad s/RPAD/PAD/ and REALIZE fixes.
12041         (gst_pad_class_init): Add properties for "direction" and
12042         "template". Both are construct-only, so they can't change during
12043         the life of the pad. Fixes properly deriving from GstPad.
12044         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12045         derived objects, just set properties when creating the objects via
12046         g_object_new.
12047         (gst_pad_get_parent): Implement as a function, return NULL if the
12048         parent is not an element.
12049         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12050         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12051         
12052         * gst/gstobject.c (gst_object_class_init): Make name a construct
12053         property. Don't set it in the object init.
12054
12055         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12056         with UNKNOWN direction.
12057         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12058         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12059         (gst_element_remove_pad): Remove ghost-pad special cases.
12060         (gst_element_pads_activate): Remove rpad cruft.
12061
12062         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12063         catch the pad's-parent-not-an-element case.
12064
12065         * gst/gst.h: Include gstghostpad.h.
12066
12067         * gst/gst.c (init_post): No more real, ghost pads.
12068
12069         * gst/Makefile.am: Add gstghostpad.[ch].
12070
12071         * check/Makefile.am:
12072         * check/gst/gstbin.c:
12073         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12074         into a bin creates ghost pads, and that the refcounts are right.
12075         Partly moved from gstbin.c.
12076
12077 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12078
12079         * check/gst-libs/.cvsignore:
12080         * check/gst/.cvsignore:
12081         * check/pipelines/.cvsignore:
12082           ignore more
12083         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12084         (START_TEST), (cleanup_suite), (main):
12085           add some tests related to cleanup after running pipelines
12086
12087 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12088
12089         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12090           add a testsuite for GstBuffer
12091
12092 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * gst/gstminiobject.h:
12095           add defines for accessing the refcount
12096
12097 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12098
12099         * Makefile.am: added support for html unit test coverage reports
12100
12101 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12102
12103         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12104           Free existing caps if the capsfilter changes. Add a FIXME about
12105           setting those caps on the pads.
12106
12107         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12108           Before adding a ghost pad to a parent bin, check that there isn't
12109           already one for the element on the bin. Prevents infinite recursion
12110           when using decodebin in parse pipelines. Andy says he'll rewrite the
12111           way this works anyway, so ignore the hack.
12112
12113 2005-06-02  Andy Wingo  <wingo@pobox.com>
12114
12115         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12116         file size, pass it on to the type find helper.
12117
12118         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12119         segment_start and segment_end properly according to the seek
12120         method. Segment_end is still a bit flaky because offset can be
12121         negative for CUR and END cases, but it takes -1 as an "unset"
12122         value.
12123
12124 2005-06-02  Wim Taymans  <wim@fluendo.com>
12125
12126         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12127         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12128         (gst_basesink_activate):
12129         * gst/base/gstbasesink.h:
12130         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12131         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12132         (gst_pad_query), (gst_pad_start_task):
12133         * gst/gstpad.h:
12134         * gst/gstqueue.c: (gst_queue_bufferalloc),
12135         (gst_queue_handle_sink_event), (gst_queue_chain):
12136         Bufferalloc: return GstFlowReturn to more accuratly report
12137         why allocation failed.
12138
12139 2005-06-02  Wim Taymans  <wim@fluendo.com>
12140
12141         * gst/gstpipeline.c: (gst_pipeline_send_event):
12142         Take snapshot of state without blocking.
12143
12144 2005-06-02  Wim Taymans  <wim@fluendo.com>
12145
12146         * docs/design/part-TODO.txt:
12147         * docs/design/part-caps.txt:
12148         * docs/design/part-clocks.txt:
12149         * docs/design/part-negotiation.txt:
12150         * docs/design/part-preroll.txt:
12151         Small doc updates 
12152
12153 2005-05-30  Wim Taymans  <wim@fluendo.com>
12154
12155         * gst/elements/gstidentity.c: (gst_identity_event),
12156         (gst_identity_transform), (gst_identity_get_property):
12157         Protect last_message property as it is accessed from
12158         multiple threads.
12159
12160 2005-05-30  Wim Taymans  <wim@fluendo.com>
12161
12162         * gst/gstelement.c: (gst_element_init),
12163         (gst_element_pads_activate), (gst_element_change_state):
12164         Slicker pad activation code.
12165
12166 2005-05-30  Wim Taymans  <wim@fluendo.com>
12167
12168         * gst/Makefile.am:
12169         * gst/gstelement.h:
12170         * gst/gstelementfactory.h:
12171         * gst/gsttypes.h:
12172         Move elementfactory methods to separate .h file.
12173
12174 2005-05-30  Wim Taymans  <wim@fluendo.com>
12175
12176         * docs/design/part-overview.txt:
12177         * gst/gstsystemclock.h:
12178         Small typo fixes, doc updates.
12179
12180 2005-05-30  Wim Taymans  <wim@fluendo.com>
12181
12182         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12183         (init_popt_callback):
12184         Remove cpu-opt flag.
12185
12186 2005-05-30  Wim Taymans  <wim@fluendo.com>
12187
12188         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12189         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12190         * gst/gstbuffer.h:
12191         Avoid typechecking in places where not needed.
12192         Added accessor for malloc_data.
12193
12194 2005-05-30  Wim Taymans  <wim@fluendo.com>
12195
12196         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12197         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12198         (gst_pad_configure_sink), (gst_pad_configure_src),
12199         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12200         (gst_pad_start_task):
12201         Propagate errors from _set_caps() in configure_src/sink
12202         functions instead of returning TRUE.
12203         FLUSH events can travel up and downstream
12204
12205
12206 2005-05-30  Wim Taymans  <wim@fluendo.com>
12207
12208         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12209         (gst_basesink_activate):
12210         Handle EOS in preroll.
12211
12212 2005-05-30  Wim Taymans  <wim@fluendo.com>
12213
12214         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12215         (gst_queue_loop), (gst_queue_handle_src_event):
12216         Remove old pieces of code
12217         Flushing the queue in an upstream event is a very bad idea.
12218
12219 2005-05-26  Andy Wingo  <wingo@pobox.com>
12220
12221         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12222         gst_value_set_mini_object so as to add a ref on the object (which
12223         will be removed when the value is unset).
12224
12225         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12226         arg type in ::handoff.
12227
12228         * gst/gstelement.c (gst_element_change_state): Also deactivate
12229         pads in READY->NULL, just in case the element didn't make it to
12230         PAUSED. Wingo tested, Wim approved.
12231
12232 2005-05-26  Wim Taymans  <wim@fluendo.com>
12233
12234         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12235         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12236         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12237         A flushing pad cannot be used to alloc_buffer from.
12238
12239 2005-05-26  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12242         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12243         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12244         (gst_bus_create_watch), (gst_bus_add_watch_full):
12245         * gst/gstbus.h:
12246         Implement a real GSource and use g_main_context_wakeup() to
12247         signal new messages instead of the socketpair.
12248
12249 2005-05-25  Wim Taymans  <wim@fluendo.com>
12250
12251         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12252         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12253         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12254         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12255         (gst_pad_send_event), (gst_pad_start_task):
12256         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12257         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12258         (gst_queue_sink_activate), (gst_queue_src_activate),
12259         (gst_queue_change_state):
12260         * gst/gstqueue.h:
12261         Fix state changes for non sinks. We now change sinks, then elements
12262         with unconnected srcpads, then the rest.
12263         More efficient queue unlocking in flush and state changes.
12264         Set the pad activate mode even if it does not have an activate
12265         function.
12266
12267 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12268
12269         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12270           Don't go in pull mode for non-seekable sources.
12271         * gst/elements/gsttypefindelement.h:
12272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12273         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12274         (free_entry), (stop_typefinding),
12275         (gst_type_find_element_handle_event), (find_peek),
12276         (gst_type_find_element_chain), (do_pull_typefind),
12277         (gst_type_find_element_change_state):
12278           Allow typefinding (w/o seeking) in push-mode, simplified version
12279           of what was in 0.8.
12280         * gst/gstutils.c: (gst_buffer_join):
12281         * gst/gstutils.h:
12282           gst_buffer_join() from 0.8.
12283
12284 2005-05-25  Wim Taymans  <wim@fluendo.com>
12285
12286         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12287         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12288         (gst_pad_send_event), (gst_pad_start_task):
12289         Disable attempt at mode switching until it is figured out.
12290
12291 2005-05-25  Wim Taymans  <wim@fluendo.com>
12292
12293         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12294         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12295         (gst_basesink_finish_preroll), (gst_basesink_chain),
12296         (gst_basesink_loop), (gst_basesink_activate),
12297         (gst_basesink_change_state):
12298         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12299         (gst_basesrc_get_range), (gst_basesrc_loop),
12300         (gst_basesrc_activate):
12301         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12302         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12303         (gst_real_pad_init), (gst_real_pad_set_property),
12304         (gst_real_pad_get_property), (gst_pad_set_active),
12305         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12306         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12307         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12308         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12309         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12310         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12311         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12312         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12313         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12314         (gst_pad_stop_task):
12315         * gst/gstpad.h:
12316         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12317         (gst_queue_loop), (gst_queue_src_activate):
12318         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12319         (gst_task_get_state):
12320         * gst/gsttask.h:
12321         * gst/schedulers/threadscheduler.c:
12322         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12323         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12324         in task function.
12325         Remove ACTIVE pad flag, use FLUSHING everywhere
12326         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12327         functions.
12328         Add locks around IS_FLUSHING when reading.
12329         Take STREAM lock in chain(), get_range() functions so plugins
12330         don't need to take it anymore.
12331         
12332
12333
12334 2005-05-25  Wim Taymans  <wim@fluendo.com>
12335
12336         * tools/gst-launch.c: (event_loop):
12337         Unref message after using its contents instead of
12338         before.
12339
12340 2005-05-24  Wim Taymans  <wim@fluendo.com>
12341
12342         * docs/design/draft-ghostpads.txt:
12343         * docs/design/draft-push-pull.txt:
12344         * docs/design/draft-query.txt:
12345         * docs/design/part-overview.txt:
12346         Docs updates, added general overview doc.
12347
12348 2005-05-21  David Schleef  <ds@schleef.org>
12349
12350         * docs/gst/tmpl/old/GstBin.sgml:
12351         * docs/gst/tmpl/old/GstBuffer.sgml:
12352         * docs/gst/tmpl/old/GstCaps.sgml:
12353         * docs/gst/tmpl/old/GstClock.sgml:
12354         * docs/gst/tmpl/old/GstCompat.sgml:
12355         * docs/gst/tmpl/old/GstData.sgml:
12356         * docs/gst/tmpl/old/GstElement.sgml:
12357         * docs/gst/tmpl/old/GstEvent.sgml:
12358         * docs/gst/tmpl/old/GstIndex.sgml:
12359         * docs/gst/tmpl/old/GstStructure.sgml:
12360         * docs/gst/tmpl/old/GstTag.sgml:
12361         * docs/gst/tmpl/old/cothreads.sgml:
12362         * docs/gst/tmpl/old/cothreads_compat.sgml:
12363         * docs/gst/tmpl/old/gettext.sgml:
12364         * docs/gst/tmpl/old/gobject2gtk.sgml:
12365         * docs/gst/tmpl/old/grammar.tab.sgml:
12366         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12367         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12368         * docs/gst/tmpl/old/gst_private.sgml:
12369         * docs/gst/tmpl/old/gstaggregator.sgml:
12370         * docs/gst/tmpl/old/gstarch.sgml:
12371         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12372         * docs/gst/tmpl/old/gstbufferstore.sgml:
12373         * docs/gst/tmpl/old/gstdata_private.sgml:
12374         * docs/gst/tmpl/old/gstdisksink.sgml:
12375         * docs/gst/tmpl/old/gstdisksrc.sgml:
12376         * docs/gst/tmpl/old/gstelementfactory.sgml:
12377         * docs/gst/tmpl/old/gstextratypes.sgml:
12378         * docs/gst/tmpl/old/gstfakesink.sgml:
12379         * docs/gst/tmpl/old/gstfakesrc.sgml:
12380         * docs/gst/tmpl/old/gstfdsink.sgml:
12381         * docs/gst/tmpl/old/gstfdsrc.sgml:
12382         * docs/gst/tmpl/old/gstfilesink.sgml:
12383         * docs/gst/tmpl/old/gstfilesrc.sgml:
12384         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12385         * docs/gst/tmpl/old/gstidentity.sgml:
12386         * docs/gst/tmpl/old/gstindexfactory.sgml:
12387         * docs/gst/tmpl/old/gstmarshal.sgml:
12388         * docs/gst/tmpl/old/gstmd5sink.sgml:
12389         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12390         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12391         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12392         * docs/gst/tmpl/old/gstpipefilter.sgml:
12393         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12394         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12395         * docs/gst/tmpl/old/gstshaper.sgml:
12396         * docs/gst/tmpl/old/gstspider.sgml:
12397         * docs/gst/tmpl/old/gstspideridentity.sgml:
12398         * docs/gst/tmpl/old/gststatistics.sgml:
12399         * docs/gst/tmpl/old/gsttee.sgml:
12400         * docs/gst/tmpl/old/gsttimecache.sgml:
12401         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12402         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12403         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12404         * docs/gst/tmpl/old/types.sgml:
12405           I didn't intend to add these or check them in.
12406
12407 2005-05-19  David Schleef  <ds@schleef.org>
12408
12409         * configure.ac: Use -no-common everywhere.  In a sane world, it
12410           would be the default in libtool, because without it, you can't
12411           build DLLs on Windows.
12412         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12413         * docs/gst/gstreamer-sections.txt:
12414         * docs/gst/tmpl/gstcpu.sgml:
12415         * docs/gst/tmpl/gstdata.sgml:
12416         * docs/gst/tmpl/gstthread.sgml:
12417
12418 2005-05-19  David Schleef  <ds@schleef.org>
12419
12420         * gst/gstminiobject.c: (gst_value_set_mini_object),
12421         (gst_value_take_mini_object), (gst_value_get_mini_object):
12422         * gst/gstminiobject.h: Add GValue set/get functions.
12423
12424 2005-05-19  Wim Taymans  <wim@fluendo.com>
12425
12426         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12427         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12428         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12429         * gst/gstbuffer.h:
12430         * gst/gstbus.c: (gst_bus_post):
12431         * gst/gstelement.c: (gst_element_get_random_pad):
12432         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12433         Make subbufer unref the parent in finalize.
12434         some more debugging info.
12435
12436
12437 2005-05-19  Wim Taymans  <wim@fluendo.com>
12438
12439         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12440         (gst_basesink_init), (gst_basesink_finalize),
12441         (gst_basesink_activate), (gst_basesink_change_state):
12442         Don't free preroll queue too early.
12443
12444 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12445
12446         * gst/Makefile.am:
12447         * gst/ROADMAP:
12448           Hi, I'm outdated. Please shoot me.
12449
12450 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12451
12452         * gst/gstpipeline.c: (gst_pipeline_send_event):
12453           Do not access variables after they have been deleted.
12454
12455 2005-05-19  Wim Taymans  <wim@fluendo.com>
12456
12457         * tools/gst-inspect.c: (print_plugin_features):
12458         A plugin feature does unfortunatly not use the
12459         object name yet...
12460
12461 2005-05-18  Wim Taymans  <wim@fluendo.com>
12462
12463         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12464         Port _span() functions to new subbuffers.
12465
12466 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12467
12468         * gst/gstbin.c: (gst_bin_add_func):
12469           Fix clock settery in bins when adding kids after the clock has
12470           been selected.
12471
12472 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12473
12474         * gst/elements/gstidentity.c: (gst_identity_class_init):
12475           Workaround until signals support GstMiniObject.
12476
12477 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12478
12479         * gst/gstbuffer.c:
12480         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12481
12482 2005-05-18  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/base/Makefile.am:
12485         * gst/base/gstadapter.c: (gst_adapter_base_init),
12486         (gst_adapter_class_init), (gst_adapter_init),
12487         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12488         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12489         (gst_adapter_flush), (gst_adapter_available),
12490         (gst_adapter_available_fast):
12491         * gst/base/gstadapter.h:
12492         Ported and added adapter to the base classes.
12493
12494 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12495
12496         * gst/gst.c:
12497         * gst/gstmessage.c:
12498           Make sure the class is reffed/unreffed once before threads can be
12499           used.  Fixes #304551.
12500
12501 2005-05-17  Wim Taymans  <wim@fluendo.com>
12502
12503         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12504         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12505         * gst/gstminiobject.c: (gst_mini_object_get_type),
12506         (gst_mini_object_free):
12507         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12508         (gst_pad_push), (gst_pad_push_event):
12509         * gst/gstqueue.c: (gst_queue_change_state):
12510         Don't queue buffers in basesink when we are flushing.
12511         Unref buffer when flushing in basesink.
12512         Flush queue when going to READY
12513         Unref buffer when _push() returns an error.
12514         Don't free MiniObject instance when refcount is incremented
12515         in _finalize() so that we can recover objects.
12516
12517 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * docs/manual/advanced-schedulers.xml:
12520         * docs/manual/appendix-checklist.xml:
12521         * docs/pwg/advanced-clock.xml:
12522         * docs/pwg/advanced-interfaces.xml:
12523         * docs/pwg/advanced-request.xml:
12524         * docs/pwg/advanced-types.xml:
12525         * docs/pwg/intro-preface.xml:
12526         * examples/plugins/example.c: (gst_example_get_type),
12527         (gst_example_class_init), (gst_example_chain),
12528         (gst_example_set_property), (gst_example_get_property),
12529         (gst_example_change_state), (plugin_init):
12530         * examples/plugins/example.h:
12531           small doc fixes
12532
12533 2005-05-17  Wim Taymans  <wim@fluendo.com>
12534
12535         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12536         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12537         * gst/gstqueue.c: (gst_queue_change_state):
12538         Clear queue when going to READY.
12539         Remove IN_SETCAPS flag too.
12540
12541 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12542
12543         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12544           Remove implicit cast from gboolean to GstElementStateReturn;
12545           make sure we still return failure in paused => ready case if
12546           the parent class fails to change state and our own stop 
12547           vfunc succeeds.
12548
12549 2005-05-17  Wim Taymans  <wim@fluendo.com>
12550
12551         * tools/gst-launch.c: (event_loop):
12552         Message was unreffed too soon.
12553
12554 2005-05-16  Andy Wingo  <wingo@pobox.com>
12555
12556         * gst/gstbin.c (sink_iterator_filter): Err... um...
12557
12558         * check/gst/gstbin.c (test_ghost_pads): New test for the
12559         ghosting-if-elements-not-in-same-bin behavior.
12560
12561 2005-05-16  David Schleef  <ds@schleef.org>
12562
12563         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12564         accessing refcount directly.
12565
12566 2005-05-15  David Schleef  <ds@schleef.org>
12567
12568         * check/Makefile.am: remove GstData checks
12569         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12570         * gst/Makefile.am: add miniobject, remove data
12571         * gst/gst.h: add miniobject, remove data
12572         * gst/gstdata.c: remove
12573         * gst/gstdata.h: remove
12574         * gst/gstdata_private.h: remove
12575         * gst/gsttypes.h: remove GstEvent and GstMessage
12576         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12577         * gst/gstmarshal.list: change BOXED -> OBJECT
12578
12579         Implement GstMiniObject.
12580         * gst/gstminiobject.c:
12581         * gst/gstminiobject.h:
12582
12583         Modify to be subclasses of GstMiniObject.
12584         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12585         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12586         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12587         (gst_subbuffer_get_type), (gst_subbuffer_init),
12588         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12589         (gst_buffer_span):
12590         * gst/gstbuffer.h:
12591         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12592         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12593         (_gst_event_copy), (gst_event_new):
12594         * gst/gstevent.h:
12595         * gst/gstmessage.c: (_gst_message_initialize),
12596         (gst_message_get_type), (gst_message_class_init),
12597         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12598         (gst_message_new), (gst_message_new_error),
12599         (gst_message_new_warning), (gst_message_new_tag),
12600         (gst_message_new_state_changed), (gst_message_new_application):
12601         * gst/gstmessage.h:
12602         * gst/gstprobe.c: (gst_probe_perform),
12603         (gst_probe_dispatcher_dispatch):
12604         * gst/gstprobe.h:
12605         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12606         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12607         (_gst_query_copy), (gst_query_new):
12608
12609         Update elements for GstData -> GstMiniObject changes
12610         * gst/gstquery.h:
12611         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12612         (gst_queue_chain), (gst_queue_loop):
12613         * gst/elements/gstbufferstore.c:
12614         (gst_buffer_store_add_buffer_func),
12615         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12616         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12617         (gst_fakesink_render):
12618         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12619         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12620         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12621         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12622         (gst_filesrc_create_read):
12623         * gst/elements/gstidentity.c: (gst_identity_class_init):
12624         * gst/elements/gsttypefindelement.c:
12625         (gst_type_find_element_src_event), (free_entry_buffers),
12626         (gst_type_find_element_handle_event):
12627         * libs/gst/dataprotocol/dataprotocol.c:
12628         (gst_dp_header_from_buffer):
12629         * libs/gst/dataprotocol/dataprotocol.h:
12630         * libs/gst/dataprotocol/dp-private.h:
12631
12632 2005-05-15  David Schleef  <ds@schleef.org>
12633
12634         * gst/elements/gstelements.c: Don't include headers that were
12635         just removed.
12636
12637 2005-05-15  David Schleef  <ds@schleef.org>
12638
12639         * gst/elements/Makefile.am: Remove some elements that don't
12640         need to be in the core (or even exist at all).
12641         * gst/elements/gstaggregator.c:
12642         * gst/elements/gstaggregator.h:
12643         * gst/elements/gstmd5sink.c:
12644         * gst/elements/gstmd5sink.h:
12645         * gst/elements/gstmultifilesrc.c:
12646         * gst/elements/gstmultifilesrc.h:
12647         * gst/elements/gstpipefilter.c:
12648         * gst/elements/gstpipefilter.h:
12649         * gst/elements/gstshaper.c:
12650         * gst/elements/gstshaper.h:
12651         * gst/elements/gststatistics.c:
12652         * gst/elements/gststatistics.h:
12653         * po/POTFILES.in: Remove above files.
12654
12655 2005-05-14  Andy Wingo  <wingo@pobox.com>
12656
12657         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12658         so as to get the refs right.
12659         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12660         unreffing objects that don't pass the filter.
12661
12662         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12663         gst_element_set_bus.
12664         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12665         normal cases, this will destroy the bus.
12666
12667         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12668         object.
12669
12670         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12671         has no sinks.
12672
12673 2005-05-13  Andy Wingo  <wingo@pobox.com>
12674
12675         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12676         gst_pad_link, call pad_link_maybe_ghosting,
12677         (pad_link_maybe_ghosting): Links pads, making sure that the
12678         elements being linked are in the same bin.
12679         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12680         Helpers for pad_link_maybe_ghosting.
12681
12682 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12683
12684         * configure.ac:
12685           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12686
12687 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12688
12689         * docs/design/part-element-source.txt:
12690           Mention GstPushSrc
12691
12692 2005-05-12  Wim Taymans  <wim@fluendo.com>
12693
12694         * gst/base/gstbasesink.c: (gst_basesink_init),
12695         (gst_basesink_activate):
12696         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12697         (gst_basesrc_is_seekable):
12698         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12699         (bin_element_is_sink), (gst_bin_change_state):
12700         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12701         * gst/gstelement.h:
12702         Identify sinks by their flag to avoid overly complicated
12703         checks (fow now).
12704         Do state changes even for elements not reachable from the
12705         sinks.
12706         BaseSink is a sink now :)
12707         Some more debugging info in the basesrc.
12708
12709
12710 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12711
12712         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12713           Implement _query on a bin, similar to _send_event.
12714
12715 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12716
12717         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12718           Discont event offset format should be GST_FORMAT_BYTES,
12719           not GST_FORMAT_TIME.
12720
12721 2005-05-12  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12724         Same fix as Ronald's but without the signal. 
12725
12726 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12727
12728         * gst/gstutils.c: (gst_element_query_position):
12729           No, an element is not a pad.
12730
12731 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12732
12733         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12734         (gst_bin_get_state):
12735           If a child is removed from a bin while we remove the child from
12736           the bin and while we're retrieving its state, signal this to the
12737           get_state function so we abort the wait (instead of waiting for
12738           a timeout) and can immediately re-iterate over all other elements.
12739
12740 2005-05-12  Wim Taymans  <wim@fluendo.com>
12741
12742         * gst/base/Makefile.am:
12743         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12744         (gst_basesrc_start):
12745         * gst/base/gstbasesrc.h:
12746         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12747         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12748         (gst_pushsrc_init), (gst_pushsrc_create):
12749         * gst/base/gstpushsrc.h:
12750         Added is_seekable to BaseSrc
12751         Added simple PushSrc.
12752
12753 2005-05-11  Wim Taymans  <wim@fluendo.com>
12754
12755         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12756         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12757         (gst_element_link_pads), (gst_element_query_position),
12758         (gst_element_query_convert), (intersect_caps_func),
12759         (gst_pad_query_position), (gst_pad_query_convert):
12760         Fix refcounting in utils function.
12761         No point in trying to activate a pad when it's added, it could
12762         be added from the state change function and then we deadlock, the
12763         element has to decide what to do.
12764
12765 2005-05-10  Andy Wingo  <wingo@pobox.com>
12766
12767         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12768         *all* the arguments.
12769
12770         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12771         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12772         lock (according to the docs -- if this is wrong change the docs).
12773
12774         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12775         flush messages in the NULL state.
12776
12777         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12778         message immediately and return.
12779         (gst_bus_set_flushing): New function. If a bus is flushing, it
12780         flushes out any queued messages and immediately unrefs new
12781         messages. This is so when an element goes to NULL, all of the
12782         unhandled messages coming from it can be freed, and their
12783         references to the element dropped. In other words: message source
12784         ref considered harmful :P
12785
12786         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12787         we're finished with it.
12788
12789         * gst/gstmessage.c (gst_message_new_state_changed): 
12790
12791 2005-05-10  Wim Taymans  <wim@fluendo.com>
12792
12793         * gst/gstvalue.c: (gst_value_compare_flags),
12794         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12795         (_gst_value_initialize):
12796         Added flags serialize/deserialize/compare code.
12797
12798 2005-05-09  Andy Wingo  <wingo@pobox.com>
12799
12800         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12801         Intersect the peer's caps with our caps.
12802
12803 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12804
12805         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12806         * gst/elements/gsttypefindelement.c: (find_peek):
12807           Handle negative offsets better. Fixes decodebin.
12808
12809 2005-05-09  Wim Taymans  <wim@fluendo.com>
12810
12811         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12812         (gst_base_transform_event):
12813         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12814         Implement accept_caps.
12815         Fix silly lock/unlock mismatch in base class.
12816
12817 2005-05-09  Wim Taymans  <wim@fluendo.com>
12818
12819         * docs/design/draft-push-pull.txt:
12820         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12821         * gst/elements/gstfilesink.c: (gst_filesink_init),
12822         (gst_filesink_query):
12823         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12824         (gst_type_find_handle_src_query), (find_element_get_length):
12825         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12826         * gst/gstelement.h:
12827         * gst/gstmessage.c:
12828         * gst/gstmessage.h:
12829         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12830         (gst_real_pad_get_caps_unlocked),
12831         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12832         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12833         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12834         (gst_real_pad_dispose), (gst_real_pad_finalize),
12835         (gst_pad_load_and_link), (gst_pad_save_thyself),
12836         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12837         (gst_pad_check_pull_range), (gst_pad_pull_range),
12838         (gst_pad_template_get_type), (gst_pad_template_class_init),
12839         (gst_pad_template_init), (gst_pad_template_dispose),
12840         (name_is_valid), (gst_static_pad_template_get),
12841         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12842         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12843         (gst_pad_get_element_private), (gst_pad_start_task),
12844         (gst_pad_pause_task), (gst_pad_stop_task),
12845         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12846         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12847         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12848         (gst_ghost_pad_new):
12849         * gst/gstpad.h:
12850         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12851         (gst_query_new_position), (gst_query_set_position),
12852         (gst_query_parse_position), (gst_query_new_convert),
12853         (gst_query_set_convert), (gst_query_parse_convert):
12854         * gst/gstquery.h:
12855         * gst/gstqueryutils.c:
12856         * gst/gstqueryutils.h:
12857         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12858         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12859         (gst_queue_handle_src_query):
12860         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12861         (gst_element_query_position), (gst_element_query_convert),
12862         (intersect_caps_func), (gst_pad_query_position),
12863         (gst_pad_query_convert):
12864         * gst/gstutils.h:
12865         * tools/gst-inspect.c: (print_pad_info):
12866         * tools/gst-xmlinspect.c: (print_element_info):
12867         Remove old query functions. Ported old code.
12868         Added position/convert helper functions to gstutils.
12869         Reordered gstpad.c code, grouping relevant things.
12870         Remove gst_message_new(), always need to speficy a specific
12871         message.
12872
12873
12874 2005-05-09  Andy Wingo  <wingo@pobox.com>
12875
12876         * gst/gstiterator.h: Add some includes.
12877
12878         * gst/gstqueryutils.h: Include more headers.
12879
12880         * gst/gstpad.h:
12881         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12882         some uses of gst_pad_query.
12883
12884         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12885         NULL out parameters.
12886         (gst_query_new_position): New proc, allocates a new position
12887         query.
12888
12889         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12890         gstqueryutils.c to the build.
12891
12892         * gst/gststructure.c (gst_structure_set_valist): Implement with
12893         the generic G_VALUE_COLLECT.
12894         
12895 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12896
12897         * gst/Makefile.am: (gst_headers):
12898         Added gstqueryutils.h to the list of headers to install, that was
12899         a 'nachty' move wingo :)
12900
12901 2005-05-06  Andy Wingo  <wingo@pobox.com>
12902
12903         * gst/gstquery.h
12904         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12905         GstData, init a memchunk.
12906         (standard_definitions): Add a few query types, deprecate a few.
12907         (gst_query_get_type): New proc.
12908         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12909         implementation.
12910         (gst_query_new_application, gst_query_get_structure): New public
12911         procs.
12912
12913         * docs/design/draft-query.txt: Removed LINKS from the query types,
12914         because all the rest can be dispatched to other pads -- seemed
12915         ugly to have a query that couldn't be dispatched. internal_links
12916         is fine as a pad method.
12917
12918         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12919         in gstpad.c, but maintain binary compatibility for the moment.
12920         Will fix before 0.9 is out.
12921
12922         * gst/gstqueryutils.c: 
12923         * gst/gstqueryutils.h: New files, implement 3 methods for each
12924         query type: parse_query, parse_response, and set. Probably need an
12925         allocator as well.
12926
12927         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12928
12929         * gst/elements/gstfilesink.c (gst_filesink_query2):
12930         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12931         query_types, and formats methods.
12932
12933         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12934         (gst_pad_set_query2_function): New functions.
12935         (gst_real_pad_init): Set query2_default as the default query2
12936         function. Basically just dispatches to internally linked pads.
12937
12938         Needs review!
12939         
12940         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12941         without using the atomic operations. Only one thread can possibly
12942         be accessing the data at this point. Changed so as to avoid
12943         gst_atomic operations.
12944
12945 2005-05-06  Wim Taymans  <wim@fluendo.com>
12946
12947         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12948         Also set caps if we use the fallback buffer alloc.
12949
12950 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12951
12952         * docs/gst/Makefile.am:
12953         * docs/gst/gstreamer-docs.sgml:
12954         * docs/gst/gstreamer-sections.txt:
12955         * docs/gst/tmpl/gstatomic.sgml:
12956         * docs/gst/tmpl/gstmemchunk.sgml:
12957         * testsuite/elements/struct_i386.h:
12958         * win32/GStreamer.vcproj:
12959         * win32/Makefile:
12960           Purge GstAtomic stuff from docs and win32 makefiles as well
12961
12962 2005-05-06  Wim Taymans  <wim@fluendo.com>
12963
12964         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12965         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12966         * gst/gstpad.c: (gst_pad_peer_get_caps):
12967         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12968         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12969         (gst_queue_src_activate), (gst_queue_change_state):
12970         * gst/gstqueue.h:
12971         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12972         (intersect_caps_func):
12973         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12974         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12975         Some fixes for the peer_get_caps() change.
12976
12977 2005-05-06  Wim Taymans  <wim@fluendo.com>
12978
12979         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12980         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12981         (gst_basesink_activate):
12982         Actually do something with error codes returned from the push
12983         functions.
12984
12985 2005-05-06  Wim Taymans  <wim@fluendo.com>
12986
12987         * docs/design/part-element-sink.txt:
12988         * docs/design/part-element-source.txt:
12989         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12990         (gst_basesink_event), (gst_basesink_activate):
12991         * gst/base/gstbasesink.h:
12992         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12993         (gst_basesrc_activate):
12994         * gst/base/gstbasesrc.h:
12995         * gst/gstelement.c: (gst_element_pads_activate):
12996         Some more documentation.
12997         Fixed scheduling decision in _pads_activate().
12998
12999 2005-05-05  Andy Wingo  <wingo@pobox.com>
13000
13001         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13002         the test suite.
13003
13004 2005-05-05  Wim Taymans  <wim@fluendo.com>
13005
13006         * gst/base/Makefile.am:
13007         * gst/base/gstbasesink.h:
13008         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13009         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13010         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13011         (gst_collectpads_class_init), (gst_collectpads_init),
13012         (gst_collectpads_finalize), (gst_collectpads_new),
13013         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13014         (find_pad), (gst_collectpads_remove_pad),
13015         (gst_collectpads_is_active), (gst_collectpads_collect),
13016         (gst_collectpads_collect_range), (gst_collectpads_start),
13017         (gst_collectpads_stop), (gst_collectpads_peek),
13018         (gst_collectpads_pop), (gst_collectpads_available),
13019         (gst_collectpads_read), (gst_collectpads_flush),
13020         (gst_collectpads_chain):
13021         * gst/base/gstcollectpads.h:
13022         * gst/elements/Makefile.am:
13023         * gst/elements/gstelements.c:
13024         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13025         (gst_fakesink_get_times), (gst_fakesink_event),
13026         (gst_fakesink_preroll), (gst_fakesink_render):
13027         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13028         (gst_filesink_init), (gst_filesink_set_location),
13029         (gst_filesink_open_file), (gst_filesink_close_file),
13030         (gst_filesink_pad_query), (gst_filesink_event),
13031         (gst_filesink_render), (gst_filesink_change_state):
13032         * gst/elements/gstfilesink.h:
13033         Added object to help in making collect pad based elements.
13034         Ported filesink.
13035         Make event function in sink baseclass return gboolean.
13036
13037 2005-05-05  Wim Taymans  <wim@fluendo.com>
13038
13039         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13040         (gst_bin_get_by_name):
13041         * gst/gstbuffer.h:
13042         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13043         (gst_clock_finalize):
13044         * gst/gstdata.c: (gst_data_replace):
13045         * gst/gstdata.h:
13046         * gst/gstelement.c: (gst_element_request_pad),
13047         (gst_element_pads_activate):
13048         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13049         (gst_object_unref):
13050         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13051         (gst_pad_set_checkgetrange_function),
13052         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13053         (gst_pad_check_pull_range), (gst_pad_pull_range),
13054         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13055         (gst_pad_pause_task), (gst_pad_stop_task):
13056         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13057         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13058         Fix name lookup in GstBin.
13059         Added _data_replace() function and _buffer_replace()
13060         Use finalize method to clean up clock.
13061         Fix refcounting on request pads.
13062         Fix pad schedule mode error.
13063         Some more object refcounting debug info,
13064
13065
13066 2005-05-04  Andy Wingo <wingo@pobox.com>
13067
13068         * check/Makefile.am:
13069         * docs/gst/tmpl/gstatomic.sgml:
13070         * docs/gst/tmpl/gstplugin.sgml:
13071         * gst/base/gstbasesink.c: (gst_basesink_activate):
13072         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13073         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13074         (gst_basesrc_query), (gst_basesrc_set_property),
13075         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13076         (gst_basesrc_activate):
13077         * gst/base/gstbasesrc.h:
13078         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13079         (gst_base_transform_src_activate):
13080         * gst/elements/gstelements.c:
13081         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13082         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13083         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13084         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13085         (gst_type_find_element_checkgetrange),
13086         (gst_type_find_element_activate):
13087         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13088         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13089         (gst_caps_load_thyself):
13090         * gst/gstelement.c: (gst_element_pads_activate),
13091         (gst_element_save_thyself), (gst_element_restore_thyself):
13092         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13093         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13094         * gst/gstpad.h:
13095         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13096         (gst_xml_parse_file), (gst_xml_parse_memory),
13097         (gst_xml_get_element), (gst_xml_make_element):
13098         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13099         (_file_index_id_save_xml), (gst_file_index_commit):
13100         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13101         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13102         (load_paths):
13103         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13104         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13105         * tools/gst-complete.c: (main):
13106         * tools/gst-compprep.c: (main):
13107         * tools/gst-inspect.c: (print_element_properties_info):
13108         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13109         * tools/gst-xmlinspect.c: (print_element_properties):
13110         GCC 4 fixen.
13111         
13112 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13113
13114         * gst/gstplugin.c: (gst_plugin_check_module),
13115         (gst_plugin_check_file), (gst_plugin_load_file):
13116             apply patch from #172526 to make register work on MacOSX
13117
13118 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13119
13120         * docs/gst/tmpl/gstconfig.sgml:
13121         * gst/gstconfig.h.in:
13122           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13123         * testsuite/debug/printf_extension.c: (main):
13124           Do not use GST_PTR_FORMAT on pointers to types with
13125           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13126         * testsuite/elements/property.h:
13127           use correct printf format
13128
13129 2005-05-02  Wim Taymans  <wim@fluendo.com>
13130
13131         * docs/design/draft-push-pull.txt:
13132         * docs/design/draft-query.txt:
13133         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13134         (gst_basesrc_start):
13135         Added draft for new query API.
13136         Added draft for better selecting scheduling methods.
13137         Make basesrc ignore length if the subclass does not support
13138         it.
13139
13140 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13141
13142         * gst/Makefile.am:
13143           possible fixes for automake-1.5 - _LIBADD is reserved
13144
13145 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13146
13147         * docs/faq/Makefile.am:
13148         * docs/manual/Makefile.am:
13149         * docs/manuals.mak:
13150         * docs/pwg/Makefile.am:
13151         * gst/Makefile.am:
13152           possible fixes for automake-1.5
13153
13154 2005-04-28  Wim Taymans  <wim@fluendo.com>
13155
13156         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13157         (gst_basesink_pad_getcaps), (gst_basesink_init),
13158         (gst_basesink_do_sync):
13159         * gst/gstclock.c: (gst_clock_entry_new):
13160         * gst/gstevent.c: (gst_event_discont_get_value):
13161         * gst/gstpipeline.c: (pipeline_bus_handler),
13162         (gst_pipeline_change_state):
13163         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13164         Better debugging of clocking info.
13165         Allow NULL values when getting discont values.
13166
13167 2005-04-27  Wim Taymans  <wim@fluendo.com>
13168
13169         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13170         * check/gst/gstpad.c: (gst_pad_suite):
13171         Increase timeout for checks.
13172
13173 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13174
13175         * check/Makefile.am:
13176           fix the broken rule for cleanup.  Apparently this rule is
13177           only needed on FC2, so maybe this warrants further autotool
13178           inspection.
13179
13180 2005-04-26  Wim Taymans  <wim@fluendo.com>
13181
13182         * gst/gsttrashstack.h:
13183         Ooohh. a nasty one! After having a failed pop() from the stack,
13184         it's possible that the stack is empty. In that case, don't
13185         follow the NULL pointer.
13186
13187 2005-04-25  Wim Taymans  <wim@fluendo.com>
13188
13189         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13190         (gst_pad_set_checkgetrange_function),
13191         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13192         (gst_pad_check_pull_range), (gst_pad_pull_range),
13193         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13194         (gst_pad_pause_task), (gst_pad_stop_task):
13195         * gst/gstplugin.c: (gst_plugin_load):
13196         * gst/gstplugin.h:
13197         Remove gst_library_load as it does more harm than good with
13198         the new g_module flags.
13199         Revert bogus caps template check in pad linking, pad caps
13200         are important when linking not the template, which is more
13201         general than the current caps.
13202
13203 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13204
13205         * gst/autoplug/.cvsignore:
13206         * gst/autoplug/Makefile.am:
13207         * gst/autoplug/gstsearchfuncs.c:
13208         * gst/autoplug/gstsearchfuncs.h:
13209         * gst/autoplug/gstspider.c:
13210         * gst/autoplug/gstspider.h:
13211         * gst/autoplug/gstspideridentity.c:
13212         * gst/autoplug/gstspideridentity.h:
13213         * gst/autoplug/spidertest.c:
13214           Die, spider, die.
13215
13216 2005-04-25  Wim Taymans  <wim@fluendo.com>
13217
13218         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13219         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13220         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13221         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13222         * gst/gstpad.h:
13223         Added stubs for unimplemented functions. 
13224
13225 2005-04-24  David Schleef  <ds@schleef.org>
13226
13227         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13228         please fix.
13229
13230 2005-04-24  David Schleef  <ds@schleef.org>
13231
13232         Convert everything from GstAtomicInt to g_atomic_int_*, and
13233         remove gstatomic.
13234         * gst/Makefile.am:
13235         * gst/gstatomic.c:
13236         * gst/gstatomic.h:
13237         * gst/gstatomic_impl.h:
13238         * gst/gstbuffer.c:
13239         * gst/gstcaps.c:
13240         * gst/gstcaps.h:
13241         * gst/gstclock.c:
13242         * gst/gstclock.h:
13243         * gst/gstdata.c:
13244         * gst/gstdata.h:
13245         * gst/gstdata_private.h:
13246         * gst/gstevent.c:
13247         * gst/gstinfo.c:
13248         * gst/gstinfo.h:
13249         * gst/gstmessage.c:
13250         * gst/gstobject.c:
13251         * gst/gstobject.h:
13252         * gst/gststructure.c:
13253         * gst/gststructure.h:
13254         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13255         * gst/gstutils.h:
13256
13257 2005-04-24  David Schleef  <ds@schleef.org>
13258
13259         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13260         make the regressions tests work.  Remove some code that is no
13261         longer true.
13262         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13263         Disable warning for pads without templates.
13264
13265 2005-04-24  David Schleef  <ds@schleef.org>
13266
13267         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13268         functions that handle filtered links.
13269         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13270         removed functions.
13271         * gst/gstutils.c: Fix/remove utility functions that handle
13272         filtered caps.
13273         * gst/gstutils.h:
13274         * gst/gstvalue.c: Add serialization/deserialization of caps
13275         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13276         requires fixing so that the filter caps notation creates
13277         a capsfilter element and sets the filter_caps property.  I
13278         think everyone probably wants to keep the shorthand notation.
13279         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13280         * docs/gst/tmpl/gstpad.sgml:
13281
13282         * gst/elements/gstelements.c: Register capsfilter element.
13283         * gst/Makefile.am: fix spacing
13284         * docs/random/ds/0.9-suggested-changes: random
13285
13286 2005-04-23  David Schleef  <ds@schleef.org>
13287
13288         * gst/elements/Makefile.am:
13289         * gst/elements/gstcapsfilter.c: New element that acts like an
13290         identity, but filters caps.  Will eventually replace filtered
13291         caps in pad linking.
13292         * gst/gstutils.c: (gst_element_create_all_pads): New function
13293         to create all the ALWAYS pads that are registered with an
13294         element class.  This functionality should eventually be
13295         merged in with GstElement initialization.
13296         * gst/gstutils.h:
13297         * testsuite/trigger/README: part of trigger test code that should
13298         have been checked in a long time ago.
13299
13300 2005-04-23  David Schleef  <ds@schleef.org>
13301
13302         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13303         needed with new versions of libtool (nobody will confirm this),
13304         and hard to carry around.
13305         * gst/autoplug/Makefile.am:
13306         * gst/base/Makefile.am:
13307         * gst/elements/Makefile.am:
13308         * gst/indexers/Makefile.am:
13309         * gst/schedulers/Makefile.am:
13310         * libs/gst/bytestream/Makefile.am:
13311         * libs/gst/control/Makefile.am:
13312         * libs/gst/dataprotocol/Makefile.am:
13313         * libs/gst/getbits/Makefile.am:
13314
13315 2005-04-21  Wim Taymans  <wim@fluendo.com>
13316
13317         * docs/design/draft-push-pull.txt:
13318         * docs/design/part-MT-refcounting.txt:
13319         * docs/design/part-TODO.txt:
13320         * docs/design/part-caps.txt:
13321         * docs/design/part-events.txt:
13322         * docs/design/part-gstbus.txt:
13323         * docs/design/part-gstpipeline.txt:
13324         * docs/design/part-messages.txt:
13325         * docs/design/part-push-pull.txt:
13326         * docs/design/part-query.txt:
13327         Some more docs.
13328
13329 2005-04-21  Wim Taymans  <wim@fluendo.com>
13330
13331         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13332         (gst_message_new), (gst_message_new_error),
13333         (gst_message_new_warning), (gst_message_new_tag),
13334         (gst_message_new_state_changed), (gst_message_new_application),
13335         (gst_message_get_structure):
13336         * gst/gstmessage.h:
13337         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13338         (gst_structure_copy_conditional):
13339         Use parent refcount in GstMessage to ensure GstStructure
13340         consistency.
13341         Cleaned up headers a bit.
13342         
13343
13344 2005-04-20  Wim Taymans  <wim@fluendo.com>
13345
13346         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13347         (gst_basesink_pad_getcaps), (gst_basesink_init),
13348         (gst_basesink_chain_unlocked):
13349         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13350         (gst_type_find_helper):
13351         * gst/elements/gsttypefindelement.c:
13352         (gst_type_find_element_have_type), (gst_type_find_element_init),
13353         (stop_typefinding), (gst_type_find_element_handle_event),
13354         (find_suggest), (gst_type_find_element_chain),
13355         (gst_type_find_element_checkgetrange),
13356         (gst_type_find_element_getrange), (do_typefind),
13357         (gst_type_find_element_activate):
13358         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13359         (gst_buffer_default_free), (gst_buffer_default_copy),
13360         (gst_buffer_set_caps):
13361         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13362         (gst_caps_replace):
13363         * gst/gstmessage.c: (gst_message_new),
13364         (gst_message_new_state_changed):
13365         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13366         (gst_pad_set_checkgetrange_function),
13367         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13368         (gst_pad_set_caps), (gst_pad_check_pull_range),
13369         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13370         * gst/gstpad.h:
13371         * gst/gsttypefind.c: (gst_type_find_register):
13372         Make gst_caps_replace() work like other _replace() functions.
13373         Use _caps_replace() where possible.
13374         Make sure _message_new() initialises its field.
13375         Add gst_static_pad_template_get_caps()
13376
13377
13378 2005-04-18  Andy Wingo  <wingo@pobox.com>
13379
13380         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13381         on the peer, not the pad. I think that was a typo. Pass an extra
13382         arg to see if random access is possible. Activate the pads as
13383         PULL_RANGE if possible.
13384
13385         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13386
13387         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13388         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13389         to PROP_....
13390
13391 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13392
13393         * docs/faq/using.xml:
13394           Add note on gstreamer-properties (#154996).
13395
13396 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13397
13398         * docs/random/bbb/optional-properties:
13399           Some analysis on optional properties.
13400
13401 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13402
13403         * docs/gst/tmpl/gstelementfactory.sgml:
13404         * gst/gstelement.h:
13405         * gst/gstelementfactory.c: (gst_element_factory_init),
13406         (gst_element_factory_cleanup), (gst_element_register),
13407         (__gst_element_factory_add_static_pad_template),
13408         (gst_element_factory_get_static_pad_templates),
13409         (gst_element_factory_can_src_caps),
13410         (gst_element_factory_can_sink_caps):
13411         * gst/registries/Makefile.am:
13412         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13413         (gst_xml_registry_class_init), (gst_xml_registry_init),
13414         (gst_xml_registry_new), (gst_xml_registry_set_property),
13415         (gst_xml_registry_get_property), (get_time), (make_dir),
13416         (gst_xml_registry_get_perms_func),
13417         (plugin_times_older_than_recurse), (plugin_times_older_than),
13418         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13419         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13420         (add_to_char_array), (read_string), (read_uint), (read_enum),
13421         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13422         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13423         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13424         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13425         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13426         (gst_xml_registry_rebuild):
13427         * gst/registries/gstlibxmlregistry.h:
13428         * tools/gst-compprep.c: (main):
13429         * tools/gst-inspect.c: (print_pad_templates_info):
13430         * tools/gst-xmlinspect.c: (print_element_info):
13431           Use libxml2 for registry parsing, use staticpadtemplates in
13432           elementfactories. Makes gst_init() +/- 10x faster.
13433
13434 2005-04-12  Wim Taymans  <wim@fluendo.com>
13435
13436         * gst/base/Makefile.am:
13437         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13438         (gst_basesink_pad_getcaps), (gst_basesink_init),
13439         (gst_basesink_event), (gst_basesink_change_state):
13440         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13441         (gst_basesrc_init), (gst_basesrc_query),
13442         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13443         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13444         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13445         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13446         (gst_basesrc_stop), (gst_basesrc_activate),
13447         (gst_basesrc_change_state):
13448         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13449         (helper_find_suggest), (gst_type_find_helper):
13450         * gst/base/gsttypefindhelper.h:
13451         * gst/elements/Makefile.am:
13452         * gst/elements/gstelements.c:
13453         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13454         (gst_fakesink_get_times), (gst_fakesink_event),
13455         (gst_fakesink_preroll), (gst_fakesink_render):
13456         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13457         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13458         (gst_fakesrc_get_property), (gst_fakesrc_create),
13459         (gst_fakesrc_start), (gst_fakesrc_stop):
13460         * gst/elements/gstfakesrc.h:
13461         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13462         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13463         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13464         (gst_filesrc_create_read), (gst_filesrc_create),
13465         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13466         (gst_filesrc_start):
13467         * gst/elements/gsttypefindelement.c:
13468         (gst_type_find_element_have_type), (gst_type_find_element_init),
13469         (start_typefinding), (stop_typefinding), (push_buffer_store),
13470         (gst_type_find_element_handle_event),
13471         (gst_type_find_element_chain),
13472         (gst_type_find_element_checkgetrange),
13473         (gst_type_find_element_getrange), (do_typefind),
13474         (gst_type_find_element_activate),
13475         (gst_type_find_element_change_state):
13476         * gst/elements/gsttypefindelement.h:
13477         * gst/gstpipeline.c: (pipeline_bus_handler):
13478         Added typefind helper.
13479         Small preroll fix in the base sink.
13480         Disable typefind code in basesrc.
13481         Crude port of typefindelement.
13482         Fakesrc cleanups.
13483
13484
13485 2005-04-11  Wim Taymans  <wim@fluendo.com>
13486
13487         * check/gst/gstbus.c: (gstbus_suite):
13488         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13489         * check/gstcheck.h:
13490           Fix up the timeout so that the test does not fail.
13491
13492 2005-04-06  Wim Taymans  <wim@fluendo.com>
13493
13494         * gst/base/README:
13495         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13496         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13497         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13498         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13499         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13500         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13501         (gst_basesrc_stop), (gst_basesrc_activate),
13502         (gst_basesrc_change_state), (basesrc_find_peek),
13503         (basesrc_find_suggest), (gst_basesrc_type_find):
13504         * gst/base/gstbasesrc.h:
13505         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13506         (gst_filesrc_class_init), (gst_filesrc_init),
13507         (gst_filesrc_finalize), (gst_filesrc_set_location),
13508         (gst_filesrc_set_property), (gst_filesrc_get_property),
13509         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13510         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13511         (gst_filesrc_create_read), (gst_filesrc_create),
13512         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13513         * gst/elements/gstfilesrc.h:
13514         * gst/gstelement.c: (gst_element_get_state_func),
13515         (gst_element_lost_state), (gst_element_pads_activate):
13516         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13517         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13518         (gst_pad_pull_range):
13519         * gst/gstpad.h:
13520         More work on the generic source base class, implement seeking,
13521         query.
13522         Make filesrc extend the base source class.
13523         Added gst_pad_set_checkgetrange_function to GstPad.
13524
13525 2005-04-06  Andy Wingo  <wingo@pobox.com>
13526
13527         * pkgconfig/gstreamer-base.pc.in:
13528         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13529
13530         * pkgconfig/Makefile.am:
13531         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13532
13533 2005-04-04  Wim Taymans  <wim@fluendo.com>
13534
13535         * gst/base/Makefile.am:
13536         * gst/base/README:
13537         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13538         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13539         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13540         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13541         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13542         (gst_basesrc_base_init), (gst_basesrc_class_init),
13543         (gst_basesrc_init), (gst_basesrc_get_formats),
13544         (gst_basesrc_get_query_types), (gst_basesrc_query),
13545         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13546         (gst_basesrc_set_property), (gst_basesrc_get_property),
13547         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13548         (gst_basesrc_loop), (gst_basesrc_activate),
13549         (gst_basesrc_change_state):
13550         * gst/base/gstbasesrc.h:
13551         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13552         (gst_fakesrc_class_init), (gst_fakesrc_init),
13553         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13554         (gst_fakesrc_get_property), (gst_fakesrc_create):
13555         * gst/elements/gstfakesrc.h:
13556         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13557         (gst_filesrc_open_file), (gst_filesrc_loop),
13558         (gst_filesrc_activate), (filesrc_find_peek),
13559         (gst_filesrc_type_find):
13560         Made base source class, make fakesrc extend it.
13561         Add comments to basesink class.
13562         Some filesrc cleanup.
13563
13564 2005-03-31  David Schleef  <ds@schleef.org>
13565
13566         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13567         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13568         expected to link against libgstreamer.
13569         * gst/base/Makefile.am: link against libgstreamer
13570         * gst/elements/Makefile.am: same
13571
13572 2005-03-31  Andy Wingo  <wingo@pobox.com>
13573
13574         * tests/instantiate/Makefile.am:
13575         * tests/instantiate/caps.c: Add test to test speed of caps copy
13576         and free.
13577
13578         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13579         GMemChunk to be fair.
13580
13581         * gst/gsttrashstack.h: Remove warning about using the fallback
13582         trash stack implementation, it's still faster than malloc.
13583
13584 2005-03-30  Andy Wingo  <wingo@pobox.com>
13585
13586         * tests/complexity.c: Add a copyright.
13587
13588 2005-03-31  Wim Taymans  <wim@fluendo.com>
13589
13590         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13591         (gst_base_transform_class_init), (gst_base_transform_init),
13592         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13593         (gst_base_transform_get_property),
13594         (gst_base_transform_sink_activate),
13595         (gst_base_transform_src_activate),
13596         (gst_base_transform_change_state):
13597         * gst/base/gstbasetransform.h:
13598         * gst/elements/gstidentity.c: (gst_identity_class_init),
13599         (gst_identity_event), (gst_identity_check_perfect),
13600         (gst_identity_transform), (gst_identity_start),
13601         (gst_identity_stop):
13602         Added start/stop methods to transform base class so subclasses 
13603         don't need to deal with state changes even.
13604
13605 2005-03-31  Wim Taymans  <wim@fluendo.com>
13606
13607         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13608         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13609         * gst/gstevent.h:
13610         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13611         (gst_pad_pull_range):
13612         Added rate to the discont event to prepare for variable speed
13613         and reverse playback.
13614
13615 2005-03-29  David Schleef  <ds@schleef.org>
13616
13617         * configure.ac:
13618         * testsuite/trigger/Makefile.am:
13619         * testsuite/trigger/trigger.c: A little example program to show
13620         how trigger-based elements can work.
13621
13622 2005-03-29  Wim Taymans  <wim@fluendo.com>
13623
13624         * gst/base/Makefile.am:
13625         * gst/base/README:
13626         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13627         (gst_basesink_base_init), (gst_basesink_class_init),
13628         (gst_basesink_pad_getcaps), (gst_basesink_init),
13629         (gst_basesink_activate), (gst_basesink_change_state):
13630         * gst/base/gstbasesink.h:
13631         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13632         (gst_base_transform_base_init), (gst_base_transform_finalize),
13633         (gst_base_transform_class_init), (gst_base_transform_init),
13634         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13635         (gst_base_transform_event), (gst_base_transform_getrange),
13636         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13637         (gst_base_transform_set_property),
13638         (gst_base_transform_get_property),
13639         (gst_base_transform_sink_activate),
13640         (gst_base_transform_src_activate),
13641         (gst_base_transform_change_state):
13642         * gst/base/gstbasetransform.h:
13643         * gst/elements/gstidentity.c: (gst_identity_finalize),
13644         (gst_identity_class_init), (gst_identity_init),
13645         (gst_identity_event), (gst_identity_check_perfect),
13646         (gst_identity_transform), (gst_identity_set_property),
13647         (gst_identity_get_property), (gst_identity_change_state):
13648         * gst/elements/gstidentity.h:
13649         * gst/gstelement.c: (gst_element_get_state_func),
13650         (gst_element_lost_state), (gst_element_pads_activate):
13651         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13652         (gst_pad_check_pull_range), (gst_pad_pull_range):
13653         * gst/gstpad.h:
13654         Simplify pad activation.
13655         Added function to check if pull_range can be performed.
13656         Error out when pulling inactive or flushing pads.
13657         Removed const from refcounted types as it does not make sense.
13658         Simplify pad templates in basesink
13659         Added base class for simple 1-to-1 transforms.
13660         Make identity subclass the base transform.
13661
13662 2005-03-29  Andy Wingo  <wingo@pobox.com>
13663
13664         * docs/libs/gstreamer-libs-overrides.txt: 
13665         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13666         really don't understand what's going on, but like whatever. I want
13667         green buildbot!
13668
13669         * docs/gst/Makefile.am:
13670         * docs/libs/Makefile.am: Dist the overrides files.
13671
13672         * check/Makefile.am (clean-local): Remove .libs directories.
13673
13674         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13675         elements to EXTRA_DIST, so po/ files are happy.
13676
13677         * po/POTFILES.in: Er, remove it here.
13678
13679         * po/POTFILES: Remove gstspider.c.
13680
13681         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13682
13683         * docs/libs/gstreamer-libs-docs.sgml: 
13684         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13685         bytestream.
13686
13687         * tests/complexity.c (main): Set the length of the preroll queue
13688         on the sinks to prevent a lockup.
13689
13690         * libs/gst/dataprotocol/Makefile.am: 
13691         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13692         the same as the one in check/gst-libs/gdp.c.
13693
13694         * po/, docs/gst/: Commit automatic changes to docs and po files.
13695
13696         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13697         the versioned libgstbase.
13698
13699         * check/Makefile.am: Depend on an unversioned gst-register, seems
13700         to make autoconf happier.
13701
13702         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13703
13704 2005-03-28  Wim Taymans  <wim@fluendo.com>
13705
13706         * configure.ac:
13707         * docs/design/part-gstelement.txt:
13708         * docs/design/part-negotiation.txt:
13709         * docs/design/part-preroll.txt:
13710         * docs/design/part-scheduling.txt:
13711         * docs/design/part-states.txt:
13712         * gst/Makefile.am:
13713         * gst/base/Makefile.am:
13714         * gst/base/README:
13715         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13716         (gst_basesink_base_init), (gst_basesink_class_init),
13717         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13718         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13719         (gst_basesink_set_pad_functions),
13720         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13721         (gst_basesink_set_property), (gst_basesink_get_property),
13722         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13723         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13724         (gst_basesink_preroll_queue_push),
13725         (gst_basesink_preroll_queue_empty),
13726         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13727         (gst_basesink_event), (gst_basesink_get_times),
13728         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13729         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13730         (gst_basesink_loop), (gst_basesink_activate),
13731         (gst_basesink_change_state):
13732         * gst/base/gstbasesink.h:
13733         * gst/elements/Makefile.am:
13734         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13735         (gst_fakesink_class_init), (gst_fakesink_init),
13736         (gst_fakesink_set_property), (gst_fakesink_get_property),
13737         (gst_fakesink_get_times), (gst_fakesink_event),
13738         (gst_fakesink_preroll), (gst_fakesink_render),
13739         (gst_fakesink_change_state):
13740         * gst/elements/gstfakesink.h:
13741         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13742         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13743         * gst/gstelement.c: (gst_element_add_pad),
13744         (gst_element_get_state_func), (gst_element_abort_state),
13745         (gst_element_commit_state), (gst_element_lost_state),
13746         (gst_element_set_state), (gst_element_pads_activate):
13747         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13748         * gst/gstpipeline.c: (gst_pipeline_send_event),
13749         (gst_pipeline_change_state):
13750         Added state change code.
13751         Added/updated docs.
13752         Added sink base class, make fakesink extend the base class.
13753         Small cleanups in GstPipeline.
13754
13755 2005-03-26  David Schleef  <ds@schleef.org>
13756
13757         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13758         is broken and should be implemented in a different library.
13759         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13760         * gst/gst.h: remove gstcpu.h
13761         * gst/gstcpu.c: remove
13762         * gst/gstcpu.h: remove
13763         * gst/Makefile.am.future: Remove this file.  It's ancient.
13764
13765 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13766
13767         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13768         (gst_bin_send_event):
13769           Add default event/set_manager handlers. The set_manager handler
13770           takes care that the manager is distributed over kids that were
13771           already in the bin before the manager was set. The event handler
13772           is a utility virtual function that sends the event over all sinks,
13773           so that gst_element_send_event (bin, event); has the expected
13774           behaviour.
13775         * gst/gstpad.c: (gst_pad_event_default):
13776           Re-install default event handling for discontinuities, so that
13777           seeking works without requiring hacks in applications or extra
13778           code in sinks.
13779         * gst/gstpipeline.c: (gst_pipeline_class_init),
13780         (gst_pipeline_send_event):
13781           Half hack, half utility: set a pipeline to PAUSED for seek events,
13782           since that is the only way we can guarantee a/v sync. Means that
13783           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13784           and it "just works".
13785
13786 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13787
13788         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13789           Lock/unlock mismatch.
13790
13791 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13792
13793         * docs/faq/gst-uninstalled:
13794           add gst-plugins-base
13795         * docs/gst/Makefile.am:
13796           don't error out until docs are fixed
13797         * docs/gst/gstreamer.types:
13798           remove thread
13799
13800 2005-03-22  Wim Taymans  <wim@fluendo.com>
13801
13802         * check/Makefile.am:
13803         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13804         * gst/gststructure.c: (gst_structure_set_valist),
13805         (gst_structure_copy_conditional):
13806         Activated more tests.
13807         Added message test.
13808         Added G_TYPE_POINTER to GstStructure.
13809         
13810
13811 2005-03-22  Wim Taymans  <wim@fluendo.com>
13812
13813         * docs/design/part-TODO.txt:
13814         * docs/design/part-events.txt:
13815         * docs/design/part-gstbin.txt:
13816         * docs/design/part-gstbus.txt:
13817         * docs/design/part-gstpipeline.txt:
13818         * docs/design/part-messages.txt:
13819         * gst/gstbus.c:
13820         * gst/gstmessage.c:
13821         Docs updates
13822
13823 2005-03-21  Wim Taymans  <wim@fluendo.com>
13824
13825         * gst/gstbus.c: (gst_bus_post):
13826         Fix copy-and-paste error.
13827
13828 2005-03-21  Wim Taymans  <wim@fluendo.com>
13829
13830         * check/Makefile.am:
13831         * gst/Makefile.am:
13832         * gst/elements/Makefile.am:
13833         * gst/elements/gstelements.c:
13834         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13835         (gst_fakesink_event), (gst_fakesink_chain):
13836         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13837         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13838         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13839         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13840         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13841         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13842         (gst_fakesrc_loop), (gst_fakesrc_activate),
13843         (gst_fakesrc_change_state):
13844         * gst/elements/gstfakesrc.h:
13845         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13846         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13847         (gst_filesrc_open_file), (gst_filesrc_loop),
13848         (gst_filesrc_activate), (gst_filesrc_change_state),
13849         (filesrc_find_peek), (filesrc_find_suggest),
13850         (gst_filesrc_type_find):
13851         * gst/elements/gstidentity.c: (gst_identity_finalize),
13852         (gst_identity_class_init), (gst_identity_init),
13853         (gst_identity_proxy_getcaps), (identity_queue_push),
13854         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13855         (gst_identity_getrange), (gst_identity_chain),
13856         (gst_identity_sink_loop), (gst_identity_src_loop),
13857         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13858         (gst_identity_set_property), (gst_identity_get_property),
13859         (gst_identity_change_state):
13860         * gst/elements/gstidentity.h:
13861         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13862         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13863         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13864         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13865         (gst_tee_sink_activate):
13866         * gst/elements/gsttee.h:
13867         * gst/gst.c: (gst_register_core_elements), (init_post):
13868         * gst/gst.h:
13869         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13870         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13871         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13872         (gst_bin_change_state):
13873         * gst/gstbin.h:
13874         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13875         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13876         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13877         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13878         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13879         (bus_watch_callback), (bus_watch_destroy),
13880         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13881         (poll_timeout), (gst_bus_poll):
13882         * gst/gstbus.h:
13883         * gst/gstcaps.h:
13884         * gst/gstdata.h:
13885         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13886         (gst_element_post_message), (gst_element_message_full),
13887         (gst_element_get_state_func), (gst_element_get_state),
13888         (gst_element_abort_state), (gst_element_commit_state),
13889         (gst_element_lost_state), (gst_element_set_state),
13890         (gst_element_pads_activate), (gst_element_change_state),
13891         (gst_element_dispose), (gst_element_set_manager_func),
13892         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13893         (gst_element_set_manager), (gst_element_get_manager),
13894         (gst_element_set_bus), (gst_element_get_bus),
13895         (gst_element_set_scheduler), (gst_element_get_scheduler):
13896         * gst/gstelement.h:
13897         * gst/gstevent.c: (gst_event_new_segment_seek),
13898         (gst_event_new_flush):
13899         * gst/gstevent.h:
13900         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13901         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13902         (gst_message_new_eos), (gst_message_new_error),
13903         (gst_message_new_warning), (gst_message_new_tag),
13904         (gst_message_new_state_changed), (gst_message_new_application),
13905         (gst_message_get_structure), (gst_message_parse_tag),
13906         (gst_message_parse_state_changed), (gst_message_parse_error),
13907         (gst_message_parse_warning):
13908         * gst/gstmessage.h:
13909         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13910         (gst_real_pad_set_property), (gst_pad_set_active),
13911         (gst_pad_is_active), (gst_pad_set_blocked_async),
13912         (gst_pad_set_blocked), (gst_pad_is_blocked),
13913         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13914         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13915         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13916         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13917         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13918         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13919         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13920         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13921         (gst_pad_set_caps), (gst_pad_configure_sink),
13922         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13923         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13924         (gst_real_pad_dispose), (gst_real_pad_finalize),
13925         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13926         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13927         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13928         * gst/gstpad.h:
13929         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13930         (pipeline_bus_handler), (gst_pipeline_change_state),
13931         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13932         * gst/gstpipeline.h:
13933         * gst/gstprobe.h:
13934         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13935         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13936         (gst_queue_link_src), (gst_queue_bufferalloc),
13937         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13938         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13939         (gst_queue_loop), (gst_queue_handle_src_event),
13940         (gst_queue_handle_src_query), (gst_queue_src_activate),
13941         (gst_queue_change_state):
13942         * gst/gstqueue.h:
13943         * gst/gstscheduler.c: (gst_scheduler_init),
13944         (gst_scheduler_dispose), (gst_scheduler_create_task),
13945         (gst_scheduler_factory_create):
13946         * gst/gstscheduler.h:
13947         * gst/gststructure.c: (gst_structure_get_type),
13948         (gst_structure_copy_conditional):
13949         * gst/gststructure.h:
13950         * gst/gsttaginterface.h:
13951         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13952         (gst_task_init), (gst_task_dispose), (gst_task_create),
13953         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13954         (gst_task_pause):
13955         * gst/gsttask.h:
13956         * gst/gstthread.c:
13957         * gst/gstthread.h:
13958         * gst/gsttypes.h:
13959         * gst/schedulers/Makefile.am:
13960         * gst/schedulers/cothreads_compat.h:
13961         * gst/schedulers/entryscheduler.c:
13962         * gst/schedulers/faircothreads.c:
13963         * gst/schedulers/faircothreads.h:
13964         * gst/schedulers/fairscheduler.c:
13965         * gst/schedulers/gstbasicscheduler.c:
13966         * gst/schedulers/gstoptimalscheduler.c:
13967         * gst/schedulers/gthread-cothreads.h:
13968         * gst/schedulers/threadscheduler.c:
13969         (gst_thread_scheduler_task_get_type),
13970         (gst_thread_scheduler_task_class_init),
13971         (gst_thread_scheduler_task_init),
13972         (gst_thread_scheduler_task_start),
13973         (gst_thread_scheduler_task_stop),
13974         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13975         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13976         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13977         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13978         (plugin_init):
13979         * libs/gst/Makefile.am:
13980         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13981         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13982         (gst_file_pad_parent_set):
13983         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13984         (gst_dp_event_from_packet):
13985         * tests/complexity.c: (main):
13986         * tests/mass_elements.c: (main):
13987         * testsuite/states/locked.c: (message_received), (main):
13988         * testsuite/states/parent.c: (main):
13989         * tools/gst-inspect.c: (print_element_flag_info),
13990         (print_implementation_info), (print_pad_info):
13991         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13992         (main):
13993         * tools/gst-md5sum.c: (event_loop), (main):
13994         * tools/gst-typefind.c: (main):
13995         * tools/gst-xmlinspect.c: (print_element_info):
13996         Next big merge.
13997         Added GstBus for mainloop integration.
13998         Added GstMessage for sending notifications on the bus.
13999         Added GstTask as an abstraction for pipeline entry points.
14000         Removed GstThread.
14001         Removed Schedulers.
14002         Simplified GstQueue for multithreaded core.
14003         Made _link threadsafe, removed old capsnego.
14004         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14005         Added pad blocking functions.
14006         Reworked scheduling functions in GstPad to prepare for
14007         scheduling updates soon.
14008         Moved events out of data stream.
14009         Simplified GstEvent types.
14010         Added return values to push/pull.
14011         Removed clocking from GstElement.
14012         Added prototypes for state change function for next merge.
14013         Removed iterate from bins and state change management.
14014         Fixed some elements, disabled others for now.
14015         Fixed -inspect and -launch.
14016         Added check for GstBus.
14017
14018 2005-03-10  Wim Taymans  <wim@fluendo.com>
14019
14020         * docs/design/part-MT-refcounting.txt:
14021         * docs/design/part-clocks.txt:
14022         * docs/design/part-gstelement.txt:
14023         * docs/design/part-gstobject.txt:
14024         * docs/design/part-standards.txt:
14025         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14026         (gst_bin_remove_func), (gst_bin_remove):
14027         * gst/gstbin.h:
14028         * gst/gstbuffer.c:
14029         * gst/gstcaps.h:
14030         * testsuite/clock/clock1.c: (main):
14031         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14032         (main):
14033         * testsuite/dlopen/loadgst.c: (do_test):
14034         * testsuite/refcounting/bin.c: (add_remove_test1),
14035         (add_remove_test2), (main):
14036         * testsuite/refcounting/element.c: (main):
14037         * testsuite/refcounting/element_pad.c: (main):
14038         * testsuite/refcounting/pad.c: (main):
14039         * tools/gst-launch.c: (sigint_handler_sighandler):
14040         * tools/gst-typefind.c: (main):
14041         Doc updates.
14042         Added doc about clock.
14043         removed gst_bin_iterate_recurse_up(), marked methods
14044         for removal.
14045         Fix more testsuites.
14046
14047 2005-03-09  Wim Taymans  <wim@fluendo.com>
14048
14049         * gst/gstpad.c: (gst_pad_get_direction),
14050         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14051         (gst_pad_collect_valist):
14052         * testsuite/bins/interface.c: (main):
14053         * testsuite/caps/audioscale.c: (test_caps):
14054         * testsuite/caps/caps.c: (test1), (test2), (test3):
14055         * testsuite/caps/deserialize.c: (main):
14056         * testsuite/caps/enumcaps.c: (main):
14057         * testsuite/caps/filtercaps.c: (main):
14058         * testsuite/caps/intersect2.c: (main):
14059         * testsuite/caps/random.c: (main):
14060         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14061         * testsuite/caps/sets.c: (check_caps):
14062         * testsuite/caps/simplify.c: (check_caps), (main):
14063         * testsuite/caps/subtract.c: (check_caps):
14064         Fix _pad_get_direction wrt ghostpads.
14065         Fix caps testsuite.
14066
14067 2005-03-09  Wim Taymans  <wim@fluendo.com>
14068
14069         * check/Makefile.am:
14070         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14071         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14072         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14073         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14074         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14075         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14076         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14077         (bin_element_is_sink), (gst_bin_iterate_sinks),
14078         (gst_bin_iterate_all_by_interface):
14079         * gst/gstbin.h:
14080         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14081         (gst_element_change_state), (gst_element_dispose),
14082         (gst_element_finalize), (gst_element_set_loop_function):
14083         * gst/gstelement.h:
14084         * gst/gstiterator.c: (find_custom_fold_func):
14085         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14086         (gst_pad_collectv), (gst_pad_collect_valist),
14087         (gst_pad_template_new):
14088         * gst/gstpipeline.c: (gst_pipeline_class_init),
14089         (gst_pipeline_dispose), (gst_pipeline_set_property),
14090         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14091         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14092         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14093         * gst/gstutils.h:
14094         * gst/schedulers/entryscheduler.c:
14095         * gst/schedulers/gstbasicscheduler.c:
14096         (gst_basic_scheduler_cothreaded_chain),
14097         (gst_basic_scheduler_chain_add_element):
14098         * testsuite/bins/interface.c: (main):
14099         Added GstBin test.
14100         Added GstSystemClock test.
14101         Implemented clock distribution code in GstBin.
14102         Implemented iterate sinks method for future use.
14103         Rearranged gstelement.h
14104         Fix GstIterator comparison bug.
14105         Moved some code to GstPipeline, mostly clocking related.
14106
14107 2005-03-09  Wim Taymans  <wim@fluendo.com>
14108
14109         * configure.ac:
14110         * gst/gst_private.h:
14111         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14112         (gst_bin_remove_func), (gst_bin_remove),
14113         (gst_bin_get_by_name_recurse_up):
14114         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14115         (gst_clock_id_compare_func), (gst_clock_id_wait),
14116         (gst_clock_id_wait_async), (gst_clock_init),
14117         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14118         * gst/gstelement.h:
14119         * gst/gstinfo.c: (_gst_debug_init):
14120         * gst/gstobject.h:
14121         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14122         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14123         * gst/gstpad.h:
14124         Bump version number, we're now 0.9.0
14125         Add future debugging category.
14126         Fix NULL _unref() in _get_by_name_recurse_up
14127         Rearrange gstpad.h.
14128         Update some docs.
14129
14130 2005-03-08  Wim Taymans  <wim@fluendo.com>
14131
14132         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14133         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14134         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14135         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14136         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14137         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14138         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14139         * gst/elements/gstidentity.c: (gst_identity_class_init):
14140         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14141         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14142         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14143         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14144         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14145         (gst_tee_link):
14146         * gst/gstelement.c: (gst_element_class_init),
14147         (gst_element_base_class_init), (gst_element_init),
14148         (gst_element_get_random_pad), (gst_element_wait_state_change),
14149         (gst_element_change_state), (gst_element_dispose),
14150         (gst_element_finalize), (gst_element_set_loop_function):
14151         * gst/gstelement.h:
14152         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14153         * gst/gstthread.c: (gst_thread_class_init),
14154         (gst_thread_release_children_locks), (gst_thread_change_state):
14155         * gst/schedulers/gstbasicscheduler.c:
14156         (gst_basic_scheduler_loopfunc_wrapper),
14157         (gst_basic_scheduler_chain_wrapper),
14158         (gst_basic_scheduler_src_wrapper),
14159         (gst_basic_scheduler_remove_element):
14160         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14161         Remove threadsafe properties. Fix elements because GObject
14162         complains when installing a property before declaring a
14163         set/get_property handler.
14164         Rearrange gstelement.h file, use STATE macros for state locks.
14165         Free mutexes in the finalize method instead of dispose.
14166
14167 2005-03-08  Wim Taymans  <wim@fluendo.com>
14168
14169         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14170         * gst/gstthread.c: (gst_thread_release_children_locks):
14171         Added parentage check.
14172         Fix build og GstThread again.
14173
14174 2005-03-08  Wim Taymans  <wim@fluendo.com>
14175
14176         * docs/design/part-MT-refcounting.txt:
14177         * docs/design/part-conventions.txt:
14178         * docs/design/part-gstobject.txt:
14179         * docs/design/part-relations.txt:
14180         * docs/design/part-standards.txt:
14181         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14182         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14183         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14184         (gst_bin_iterate_all_by_interface):
14185         * gst/gstbuffer.h:
14186         * gst/gstclock.h:
14187         * gst/gstelement.c: (gst_element_class_init),
14188         (gst_element_change_state), (gst_element_set_loop_function):
14189         * gst/gstelement.h:
14190         * gst/gstiterator.c:
14191         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14192         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14193         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14194         (gst_object_set_parent), (gst_object_unparent),
14195         (gst_object_check_uniqueness):
14196         * gst/gstobject.h:
14197         Docs updates, clean up some headers.
14198
14199 2005-03-07  Wim Taymans  <wim@fluendo.com>
14200
14201         * check/.cvsignore:
14202         * check/Makefile.am:
14203         * check/gst-libs/.cvsignore:
14204         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14205         * check/gst/.cvsignore:
14206         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14207         (START_TEST), (gstbus_suite), (main):
14208         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14209         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14210         (gst_data_suite), (main):
14211         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14212         (add_fold_func), (gstiterator_suite), (main):
14213         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14214         (thread_name_object), (thread_name_object_default),
14215         (gst_object_name_compare), (gst_object_suite), (main):
14216         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14217         (gst_pad_suite), (main):
14218         * check/gstcheck.c: (gst_check_log_message_func),
14219         (gst_check_log_critical_func), (gst_check_init):
14220         * check/gstcheck.h:
14221         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14222         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14223         Added checks.
14224
14225 2005-03-07  Wim Taymans  <wim@fluendo.com>
14226
14227         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14228         (gst_list_iterator_next), (gst_list_iterator_resync),
14229         (gst_list_iterator_free), (gst_iterator_new_list),
14230         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14231         (gst_iterator_free), (gst_iterator_push), (filter_next),
14232         (filter_resync), (filter_uninit), (filter_free),
14233         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14234         (gst_iterator_foreach), (find_custom_fold_func),
14235         (gst_iterator_find_custom):
14236         * gst/gstiterator.h:
14237         Added missing files.
14238
14239 2005-03-07  Wim Taymans  <wim@fluendo.com>
14240
14241         * Makefile.am:
14242         * configure.ac:
14243         * docs/design/part-MT-refcounting.txt:
14244         * docs/design/part-conventions.txt:
14245         * docs/design/part-gstobject.txt:
14246         * docs/design/part-relations.txt:
14247         * examples/mixer/mixer.c: (main):
14248         * examples/thread/thread.c: (eos), (main):
14249         * gst/Makefile.am:
14250         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14251         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14252         (gst_spider_plug_from_srcpad):
14253         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14254         (gst_spider_identity_change_state),
14255         (gst_spider_identity_sink_loop_type_finding):
14256         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14257         * gst/elements/gstidentity.c: (gst_identity_init):
14258         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14259         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14260         * gst/elements/gsttypefindelement.c: (free_entry):
14261         * gst/gst.c:
14262         * gst/gst.h:
14263         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14264         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14265         (gst_bin_set_index), (gst_bin_set_element_sched),
14266         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14267         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14268         (gst_bin_iterate_elements), (iterate_child_recurse),
14269         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14270         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14271         (compare_interface), (gst_bin_get_by_interface),
14272         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14273         * gst/gstbin.h:
14274         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14275         (gst_buffer_default_free), (gst_buffer_default_copy),
14276         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14277         (gst_buffer_create_sub):
14278         * gst/gstbuffer.h:
14279         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14280         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14281         (gst_caps_unref), (gst_static_caps_get),
14282         (gst_caps_remove_and_get_structure), (gst_caps_append),
14283         (gst_caps_append_structure), (gst_caps_remove_structure),
14284         (gst_caps_copy_nth), (gst_caps_set_simple),
14285         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14286         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14287         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14288         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14289         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14290         (gst_caps_structure_figure_out_union),
14291         (gst_caps_switch_structures), (gst_caps_do_simplify),
14292         (gst_caps_replace), (gst_caps_from_string),
14293         (gst_caps_copy_conditional):
14294         * gst/gstcaps.h:
14295         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14296         (_gst_clock_id_free), (gst_clock_id_unref),
14297         (gst_clock_id_compare_func), (gst_clock_id_wait),
14298         (gst_clock_id_wait_async), (gst_clock_class_init),
14299         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14300         (gst_clock_get_time), (gst_clock_set_time_adjust),
14301         (gst_clock_set_property), (gst_clock_get_property):
14302         * gst/gstclock.h:
14303         * gst/gstcompat.h:
14304         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14305         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14306         * gst/gstdata.h:
14307         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14308         (gst_element_requires_clock), (gst_element_provides_clock),
14309         (gst_element_set_clock), (gst_element_clock_wait),
14310         (gst_element_wait), (gst_element_set_time_delay),
14311         (gst_element_is_indexable), (gst_element_add_pad),
14312         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14313         (pad_compare_name), (gst_element_get_static_pad),
14314         (gst_element_request_pad), (gst_element_get_request_pad),
14315         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14316         (gst_element_class_get_pad_template_list),
14317         (gst_element_class_get_pad_template), (gst_element_error_func),
14318         (gst_element_get_random_pad), (gst_element_get_event_masks),
14319         (gst_element_send_event), (gst_element_seek),
14320         (gst_element_get_query_types), (gst_element_query),
14321         (gst_element_get_formats), (gst_element_convert),
14322         (gst_element_is_locked_state), (gst_element_set_locked_state),
14323         (gst_element_sync_state_with_parent), (gst_element_change_state),
14324         (gst_element_finalize), (gst_element_yield),
14325         (gst_element_interrupt), (gst_element_set_scheduler),
14326         (gst_element_get_scheduler), (gst_element_set_loop_function):
14327         * gst/gstelement.h:
14328         * gst/gstevent.h:
14329         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14330         (gst_format_get_by_nick), (gst_format_get_details),
14331         (gst_format_iterate_definitions):
14332         * gst/gstformat.h:
14333         * gst/gstindex.c: (gst_index_gtype_resolver):
14334         * gst/gstinfo.c:
14335         * gst/gstinfo.h:
14336         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14337         (gst_mem_chunk_free):
14338         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14339         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14340         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14341         (gst_object_dispatch_properties_changed),
14342         (gst_object_set_name_default), (gst_object_set_name),
14343         (gst_object_get_name), (gst_object_set_name_prefix),
14344         (gst_object_get_name_prefix), (gst_object_set_parent),
14345         (gst_object_get_parent), (gst_object_unparent),
14346         (gst_object_check_uniqueness), (gst_object_save_thyself),
14347         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14348         (gst_object_set_property), (gst_object_get_property),
14349         (gst_object_get_path_string):
14350         * gst/gstobject.h:
14351         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14352         (gst_real_pad_init), (gst_real_pad_get_property),
14353         (gst_pad_custom_new), (gst_pad_get_direction),
14354         (gst_pad_set_active), (gst_pad_is_active),
14355         (gst_pad_set_event_function), (gst_pad_is_linked),
14356         (gst_pad_link_free), (gst_pad_link_intersect),
14357         (gst_pad_link_fixate), (gst_pad_set_caps),
14358         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14359         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14360         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14361         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14362         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14363         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14364         (gst_pad_realize), (gst_pad_get_allowed_caps),
14365         (gst_real_pad_dispose), (gst_real_pad_finalize),
14366         (gst_pad_collectv), (gst_pad_collect_valist),
14367         (gst_pad_template_dispose), (gst_pad_template_new),
14368         (gst_pad_get_internal_links):
14369         * gst/gstpad.h:
14370         * gst/gstpipeline.c: (gst_pipeline_dispose),
14371         (gst_pipeline_change_state):
14372         * gst/gstpipeline.h:
14373         * gst/gstplugin.c:
14374         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14375         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14376         * gst/gstpluginfeature.h:
14377         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14378         * gst/gstquery.c: (_gst_query_type_initialize),
14379         (gst_query_type_register), (gst_query_type_get_by_nick),
14380         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14381         * gst/gstquery.h:
14382         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14383         * gst/gstscheduler.c: (gst_scheduler_add_element),
14384         (gst_scheduler_factory_create):
14385         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14386         (gst_structure_free), (gst_structure_set_name),
14387         (gst_structure_id_set_value), (gst_structure_set_value),
14388         (gst_structure_set_valist), (gst_structure_remove_field),
14389         (gst_structure_remove_fields),
14390         (gst_structure_remove_fields_valist),
14391         (gst_structure_remove_all_fields), (gst_structure_foreach),
14392         (gst_structure_map_in_place),
14393         (gst_caps_structure_fixate_field_nearest_int),
14394         (gst_caps_structure_fixate_field_nearest_double):
14395         * gst/gststructure.h:
14396         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14397         (gst_system_clock_init), (gst_system_clock_dispose),
14398         (gst_system_clock_async_thread),
14399         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14400         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14401         * gst/gstsystemclock.h:
14402         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14403         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14404         * gst/gsttaginterface.c:
14405         * gst/gstthread.c: (gst_thread_dispose),
14406         (gst_thread_release_children_locks), (gst_thread_change_state),
14407         (gst_thread_main_loop):
14408         * gst/gsttrashstack.h:
14409         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14410         * gst/gsttypes.h:
14411         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14412         (gst_element_request_pad), (gst_element_get_pad_from_template),
14413         (gst_element_request_compatible_pad),
14414         (gst_element_get_compatible_pad_filtered),
14415         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14416         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14417         (gst_element_link_many), (gst_element_link),
14418         (gst_element_link_pads), (gst_element_unlink_pads),
14419         (gst_element_unlink_many), (gst_element_unlink),
14420         (gst_pad_can_link_filtered), (gst_pad_can_link),
14421         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14422         (gst_object_default_error), (gst_bin_add_many),
14423         (gst_bin_remove_many), (gst_element_populate_std_props),
14424         (gst_element_class_install_std_props), (gst_buffer_merge),
14425         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14426         (link_fold_func), (gst_pad_proxy_setcaps):
14427         * gst/gstutils.h:
14428         * gst/gstvalue.c: (gst_value_deserialize_string):
14429         * gst/parse/grammar.y:
14430         * gst/schedulers/gstbasicscheduler.c:
14431         (gst_basic_scheduler_cothreaded_chain),
14432         (gst_basic_scheduler_chain_recursive_add),
14433         (gst_basic_scheduler_pad_link):
14434         * gst/schedulers/gstoptimalscheduler.c:
14435         (get_group_schedule_function),
14436         (gst_opt_scheduler_state_transition),
14437         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14438         * libs/gst/bytestream/bytestream.c:
14439         * libs/gst/dataprotocol/dataprotocol.c:
14440         (gst_dp_header_from_buffer):
14441         * po/nb.po:
14442         * po/ru.po:
14443         * tests/threadstate/threadstate2.c: (eos):
14444         * tools/gst-compprep.c: (main):
14445         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14446         (print_pad_info), (print_children_info):
14447         * tools/gst-launch.c: (idle_func), (main):
14448         * tools/gst-md5sum.c: (idle_func), (main):
14449         * tools/gst-xmlinspect.c: (print_element_info):
14450         First THREADED backport attempt, focusing on adding locks and
14451         making sure the API is threadsafe. Needs more work. More docs
14452         follow this week.
14453
14454 2005-02-24  Andy Wingo  <wingo@pobox.com>
14455
14456         * tests/bench-complexity.scm:
14457         * tests/complexity.gnuplot: New files, good for running complexity
14458         benchmarks.
14459
14460         * tests/Makefile.am:
14461         * tests/complexity.c: New test, sets up N elements, at each level
14462         teeing into M streams per element. Eeeenteresting.
14463
14464         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14465         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14466         running bench-mass_elements.scm.
14467
14468         * tests/bench-mass_elements.scm: New script, runs mass_elements
14469         for various numbers of identities, outputting the results to a
14470         file. Requires guile 1.6. Just for testing.
14471
14472 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14473
14474         * gst/schedulers/fairscheduler.c:
14475           compile with debug disabled
14476
14477 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14478
14479         * configure.ac:
14480           hunting season on 0.9 is now OPEN