fix the docs build
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * docs/gst/Makefile.am:
4         * docs/gst/gstreamer.types.in:
5         * gst/Makefile.am:
6           fix the docs build
7
8 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9
10         * configure.ac:
11         * gst/Makefile.am:
12         * gst/gst.c:
13         * gst/gstplugin.h:
14         * gst/gstregistry.h:
15         * tests/benchmarks/complexity.c:
16         * tests/benchmarks/mass-elements.c:
17         * tests/check/Makefile.am:
18         * tools/Makefile.am:
19         * tools/gst-inspect.c:
20         * tools/gst-xmlinspect.c:
21           various fixes to make
22           --disable-nls --disable-registry --disable-loadsave
23           --disable-parse --disable-gst-debug
24           work and get the core .so down to 360444 bytes after stripping
25
26 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
27
28         * Makefile.am:
29         * configure.ac:
30           descend into tests
31         * docs/random/thomasvs/TODO:
32         * tests/Makefile.am:
33         * tests/README:
34           add a README
35
36 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
37
38         * win32/GStreamer.vcproj:
39         * win32/MANIFEST:
40         * win32/Makefile:
41         * win32/Makefile.inspect:
42         * win32/Makefile.launch:
43         * win32/Makefile.register:
44         * win32/README.txt:
45         * win32/gst-inspect.vcproj:
46         * win32/gst-launch.vcproj:
47         * win32/gst-register.vcproj:
48         * win32/gstelements.vcproj:
49         * win32/gstgetbits.def:
50         * win32/gstgetbits.vcproj:
51         * win32/gstreamer-dbg.def:
52         * win32/gstreamer.def:
53         * win32/libgstbase.def:
54         * win32/libgstbase.vcproj:
55         * win32/link_oldruntime.c:
56         * win32/mman.c:
57         * win32/mman.h:
58         * win32/mman.inl:
59         * win32/msvc71.sln:
60           move even more stuff, win32/ is nice and clean now
61
62 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
63
64         * libs/gst/control/.cvsignore:
65         * win32/MANIFEST:
66         * win32/config.h:
67         * win32/dirent.c:
68         * win32/dirent.h:
69         * win32/gstbytestream.def:
70         * win32/gstbytestream.vcproj:
71         * win32/gstconfig.h:
72         * win32/gstenumtypes.c:
73         * win32/gstenumtypes.h:
74         * win32/gstoptimalscheduler.vcproj:
75         * win32/gstversion.h:
76         * win32/gtchar.h:
77         * win32/testsuite/bins.vcproj:
78         * win32/testsuite/bytestream.vcproj:
79         * win32/testsuite/caps.vcproj:
80         * win32/testsuite/cleanup.vcproj:
81         * win32/testsuite/clock.vcproj:
82         * win32/testsuite/debug.vcproj:
83         * win32/testsuite/dlopen.vcproj:
84         * win32/testsuite/dynparams.vcproj:
85         * win32/testsuite/elements.vcproj:
86         * win32/testsuite/ghostpads.vcproj:
87         * win32/testsuite/indexers.vcproj:
88         * win32/testsuite/negotiation.vcproj:
89         * win32/testsuite/parse.vcproj:
90         * win32/testsuite/plugin.vcproj:
91         * win32/testsuite/refcounting.vcproj:
92         * win32/testsuite/schedulers.vcproj:
93         * win32/testsuite/states.vcproj:
94         * win32/testsuite/tags.vcproj:
95         * win32/testsuite/threads.vcproj:
96           remove old win32 stuff that isn't maintained and should be
97           reorganized
98
99 2005-11-30  Andy Wingo  <wingo@pobox.com>
100
101         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
102         loading the gst.interfaces python module bork.
103
104         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
105         available since GLib 2.2. Fixes #318031.
106
107 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
108
109         * Makefile.am:
110         * check/.cvsignore:
111         * check/Makefile.am:
112         * check/elements/.cvsignore:
113         * check/elements/fakesrc.c:
114         * check/elements/fdsrc.c:
115         * check/elements/identity.c:
116         * check/generic/.cvsignore:
117         * check/generic/states.c:
118         * check/gst-libs/.cvsignore:
119         * check/gst-libs/controller.c:
120         * check/gst-libs/gdp.c:
121         * check/gst/.cvsignore:
122         * check/gst/capslist.h:
123         * check/gst/gst.c:
124         * check/gst/gstbin.c:
125         * check/gst/gstbuffer.c:
126         * check/gst/gstbus.c:
127         * check/gst/gstcaps.c:
128         * check/gst/gstelement.c:
129         * check/gst/gstevent.c:
130         * check/gst/gstghostpad.c:
131         * check/gst/gstiterator.c:
132         * check/gst/gstmessage.c:
133         * check/gst/gstminiobject.c:
134         * check/gst/gstobject.c:
135         * check/gst/gstpad.c:
136         * check/gst/gstpipeline.c:
137         * check/gst/gstplugin.c:
138         * check/gst/gstsegment.c:
139         * check/gst/gststructure.c:
140         * check/gst/gstsystemclock.c:
141         * check/gst/gsttag.c:
142         * check/gst/gstutils.c:
143         * check/gst/gstvalue.c:
144         * check/net/.cvsignore:
145         * check/net/gstnetclientclock.c:
146         * check/net/gstnettimeprovider.c:
147         * check/pipelines/.cvsignore:
148         * check/pipelines/cleanup.c:
149         * check/pipelines/simple_launch_lines.c:
150         * check/pipelines/stress.c:
151         * check/states/.cvsignore:
152         * check/states/sinks.c:
153         * configure.ac:
154         * examples/Makefile.am:
155         * examples/appreader/.cvsignore:
156         * examples/appreader/Makefile.am:
157         * examples/appreader/appreader.c:
158         * examples/controller/.cvsignore:
159         * examples/controller/Makefile.am:
160         * examples/controller/audio-example.c:
161         * examples/cutter/.cvsignore:
162         * examples/cutter/Makefile.am:
163         * examples/cutter/cutter.c:
164         * examples/cutter/cutter.h:
165         * examples/events/Makefile.am:
166         * examples/events/seek.c:
167         * examples/helloworld/.cvsignore:
168         * examples/helloworld/Makefile.am:
169         * examples/helloworld/helloworld.c:
170         * examples/helloworld2/.cvsignore:
171         * examples/helloworld2/Makefile.am:
172         * examples/helloworld2/helloworld2.c:
173         * examples/launch/.cvsignore:
174         * examples/launch/Makefile.am:
175         * examples/launch/mp3parselaunch.c:
176         * examples/launch/mp3play:
177         * examples/manual/.cvsignore:
178         * examples/manual/Makefile.am:
179         * examples/manual/extract.pl:
180         * examples/metadata/Makefile.am:
181         * examples/metadata/read-metadata.c:
182         * examples/mixer/.cvsignore:
183         * examples/mixer/Makefile.am:
184         * examples/mixer/mixer.c:
185         * examples/mixer/mixer.h:
186         * examples/pingpong/.cvsignore:
187         * examples/pingpong/Makefile.am:
188         * examples/pingpong/pingpong.c:
189         * examples/plugins/.cvsignore:
190         * examples/plugins/Makefile.am:
191         * examples/plugins/example.c:
192         * examples/plugins/example.h:
193         * examples/pwg/.cvsignore:
194         * examples/pwg/Makefile.am:
195         * examples/pwg/extract.pl:
196         * examples/queue/.cvsignore:
197         * examples/queue/Makefile.am:
198         * examples/queue/queue.c:
199         * examples/queue2/.cvsignore:
200         * examples/queue2/Makefile.am:
201         * examples/queue2/queue2.c:
202         * examples/queue3/.cvsignore:
203         * examples/queue3/Makefile.am:
204         * examples/queue3/queue3.c:
205         * examples/queue4/.cvsignore:
206         * examples/queue4/Makefile.am:
207         * examples/queue4/queue4.c:
208         * examples/retag/.cvsignore:
209         * examples/retag/Makefile.am:
210         * examples/retag/retag.c:
211         * examples/retag/transcode.c:
212         * examples/thread/.cvsignore:
213         * examples/thread/Makefile.am:
214         * examples/thread/thread.c:
215         * examples/typefind/.cvsignore:
216         * examples/typefind/Makefile.am:
217         * examples/typefind/typefind.c:
218         * examples/xml/.cvsignore:
219         * examples/xml/Makefile.am:
220         * examples/xml/createxml.c:
221         * examples/xml/runxml.c:
222         * tests/Makefile.am:
223         * tests/check/Makefile.am:
224         * testsuite/.cvsignore:
225         * testsuite/Makefile.am:
226         * testsuite/Rules:
227         * testsuite/caps/.cvsignore:
228         * testsuite/caps/Makefile.am:
229         * testsuite/caps/app_fixate.c:
230         * testsuite/caps/audioscale.c:
231         * testsuite/caps/caps.c:
232         * testsuite/caps/caps.h:
233         * testsuite/caps/caps_strings:
234         * testsuite/caps/compatibility.c:
235         * testsuite/caps/deserialize.c:
236         * testsuite/caps/enumcaps.c:
237         * testsuite/caps/eratosthenes.c:
238         * testsuite/caps/filtercaps.c:
239         * testsuite/caps/fixed.c:
240         * testsuite/caps/fraction-convert.c:
241         * testsuite/caps/fraction-multiply-and-zero.c:
242         * testsuite/caps/intersect2.c:
243         * testsuite/caps/intersection.c:
244         * testsuite/caps/normalisation.c:
245         * testsuite/caps/random.c:
246         * testsuite/caps/renegotiate.c:
247         * testsuite/caps/sets.c:
248         * testsuite/caps/simplify.c:
249         * testsuite/caps/string-conversions.c:
250         * testsuite/caps/structure.c:
251         * testsuite/caps/subtract.c:
252         * testsuite/caps/union.c:
253         * testsuite/debug/.cvsignore:
254         * testsuite/debug/Makefile.am:
255         * testsuite/debug/category.c:
256         * testsuite/debug/commandline.c:
257         * testsuite/debug/global.c:
258         * testsuite/debug/output.c:
259         * testsuite/debug/printf_extension.c:
260         * testsuite/dlopen/.cvsignore:
261         * testsuite/dlopen/Makefile.am:
262         * testsuite/dlopen/dlopen_gst.c:
263         * testsuite/dlopen/loadgst.c:
264         * testsuite/elements/.cvsignore:
265         * testsuite/elements/Makefile.am:
266         * testsuite/elements/gst-inspect-check.in:
267         * testsuite/elements/struct_i386.h:
268         * testsuite/elements/struct_size.c:
269         * testsuite/indexers/.cvsignore:
270         * testsuite/indexers/Makefile.am:
271         * testsuite/indexers/cache1.c:
272         * testsuite/indexers/indexdump.c:
273         * testsuite/parse/.cvsignore:
274         * testsuite/parse/Makefile.am:
275         * testsuite/parse/parse1.c:
276         * testsuite/parse/parse2.c:
277         * testsuite/plugin/.cvsignore:
278         * testsuite/plugin/Makefile.am:
279         * testsuite/plugin/README:
280         * testsuite/plugin/dynamic.c:
281         * testsuite/plugin/linked.c:
282         * testsuite/plugin/loading.c:
283         * testsuite/plugin/registry.c:
284         * testsuite/plugin/static.c:
285         * testsuite/plugin/static2.c:
286         * testsuite/plugin/testplugin.c:
287         * testsuite/plugin/testplugin2.c:
288         * testsuite/plugin/testplugin2_s.c:
289         * testsuite/plugin/testplugin_s.c:
290         * testsuite/refcounting/.cvsignore:
291         * testsuite/refcounting/Makefile.am:
292         * testsuite/refcounting/bin.c:
293         * testsuite/refcounting/element.c:
294         * testsuite/refcounting/element_pad.c:
295         * testsuite/refcounting/mainloop.c:
296         * testsuite/refcounting/mem.c:
297         * testsuite/refcounting/mem.h:
298         * testsuite/refcounting/object.c:
299         * testsuite/refcounting/pad.c:
300         * testsuite/refcounting/sched.c:
301         * testsuite/refcounting/thread.c:
302         * testsuite/states/.cvsignore:
303         * testsuite/states/Makefile.am:
304         * testsuite/states/bin.c:
305         * testsuite/states/locked.c:
306         * testsuite/states/parent.c:
307         * testsuite/threads/.cvsignore:
308         * testsuite/threads/159566.c:
309         * testsuite/threads/159852.c:
310         * testsuite/threads/Makefile.am:
311         * testsuite/threads/queue.c:
312         * testsuite/threads/signals.c:
313         * testsuite/threads/staticrec.c:
314         * testsuite/threads/thread.c:
315         * testsuite/threads/threadb.c:
316         * testsuite/threads/threadc.c:
317         * testsuite/threads/threadd.c:
318         * testsuite/threads/threade.c:
319         * testsuite/threads/threadf.c:
320         * testsuite/threads/threadg.c:
321         * testsuite/threads/threadh.c:
322         * testsuite/threads/threadi.c:
323           move all of these under tests
324
325 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
326
327         * configure.ac:
328         * tests/Makefile.am:
329           fix distcheck
330
331 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
332
333         * docs/gst/gstreamer-sections.txt:
334         * tests/sched/.cvsignore:
335         * tests/sched/Makefile.am:
336         * tests/sched/cases/(fs-fs).xml:
337         * tests/sched/cases/(fs-i-fs).xml:
338         * tests/sched/cases/(fs-i-i-fs).xml:
339         * tests/sched/cases/(fs-i-q[i-fs]).xml:
340         * tests/sched/dynamic-pipeline.c:
341         * tests/sched/interrupt1.c:
342         * tests/sched/interrupt2.c:
343         * tests/sched/interrupt3.c:
344         * tests/sched/runtestcases:
345         * tests/sched/runxml.c:
346         * tests/sched/sched-stress.c:
347         * tests/sched/sort.c:
348         * tests/sched/testcases:
349         * tests/sched/testcases1.tc:
350         * tests/seeking/.cvsignore:
351         * tests/seeking/Makefile.am:
352         * tests/seeking/seeking1.c:
353         * tests/threadstate/.cvsignore:
354         * tests/threadstate/Makefile.am:
355         * tests/threadstate/test1.c:
356         * tests/threadstate/test2.c:
357         * tests/threadstate/threadstate1.c:
358         * tests/threadstate/threadstate2.c:
359         * tests/threadstate/threadstate3.c:
360         * tests/threadstate/threadstate4.c:
361         * tests/threadstate/threadstate5.c:
362           remove obsolete tests
363         * configure.ac:
364         * tests/bench-complexity.scm:
365         * tests/bench-mass_elements.scm:
366         * tests/complexity.c:
367         * tests/complexity.gnuplot:
368         * tests/instantiate/.cvsignore:
369         * tests/instantiate/Makefile.am:
370         * tests/instantiate/caps.c:
371         * tests/mass_elements.c:
372         * tests/network-clock-utils.scm:
373         * tests/network-clock.scm:
374         * tests/plot-data:
375         First pass at cleaning up tests/ dir before moving the rest
376         Combined with CVS surgery
377
378 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
379
380         * po/POTFILES.in:
381           queue has moved, update
382
383 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
384
385         * docs/gst/gstreamer-sections.txt:
386           remove double entries from the docs
387         * gst/gst_private.h:
388         * gst/gstinfo.c: (_gst_debug_init):
389           remove the THREAD debug category
390         * gst/Makefile.am:
391         * gst/gstqueue.c:
392         * gst/gstqueue.h:
393         * docs/gst/gstreamer.types:
394         * plugins/elements/gstqueue.c: (gst_queue_get_type),
395         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
396           completely move queue and fix up debugging categories
397
398 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
399
400         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
401           make initialization portable, using LL is not
402
403 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
404
405         * win32/common/gstconfig.h:
406           add large padding
407
408 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
409
410         * win32/common/libgstreamer.def:
411           rename symbols; sort base section
412
413 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
414
415         * gst/gstclock.c: (do_linear_regression):
416           remove crack non-portable handrolled DEBUG macro
417
418 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
419
420         * docs/random/release:
421           update notes
422         * win32/common/gstenumtypes.c: (register_gst_object_flags),
423         (gst_object_flags_get_type), (register_gst_bin_flags),
424         (gst_bin_flags_get_type), (register_gst_buffer_flag),
425         (gst_buffer_flag_get_type), (register_gst_bus_flags),
426         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
427         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
428         (gst_caps_flags_get_type), (register_gst_clock_return),
429         (gst_clock_return_get_type), (register_gst_clock_entry_type),
430         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
431         (gst_clock_flags_get_type), (register_gst_state),
432         (gst_state_get_type), (register_gst_state_change_return),
433         (gst_state_change_return_get_type), (register_gst_state_change),
434         (gst_state_change_get_type), (register_gst_element_flags),
435         (gst_element_flags_get_type), (register_gst_core_error),
436         (gst_core_error_get_type), (register_gst_library_error),
437         (gst_library_error_get_type), (register_gst_resource_error),
438         (gst_resource_error_get_type), (register_gst_stream_error),
439         (gst_stream_error_get_type), (register_gst_event_type_flags),
440         (gst_event_type_flags_get_type), (register_gst_event_type),
441         (gst_event_type_get_type), (register_gst_seek_type),
442         (gst_seek_type_get_type), (register_gst_seek_flags),
443         (gst_seek_flags_get_type), (register_gst_format),
444         (gst_format_get_type), (register_gst_index_certainty),
445         (gst_index_certainty_get_type), (register_gst_index_entry_type),
446         (gst_index_entry_type_get_type),
447         (register_gst_index_lookup_method),
448         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
449         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
450         (gst_index_resolver_method_get_type), (register_gst_index_flags),
451         (gst_index_flags_get_type), (register_gst_debug_level),
452         (gst_debug_level_get_type), (register_gst_debug_color_flags),
453         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
454         (gst_iterator_result_get_type), (register_gst_iterator_item),
455         (gst_iterator_item_get_type), (register_gst_message_type),
456         (gst_message_type_get_type), (register_gst_mini_object_flags),
457         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
458         (gst_pad_link_return_get_type), (register_gst_flow_return),
459         (gst_flow_return_get_type), (register_gst_activate_mode),
460         (gst_activate_mode_get_type), (register_gst_pad_direction),
461         (gst_pad_direction_get_type), (register_gst_pad_flags),
462         (gst_pad_flags_get_type), (register_gst_pad_presence),
463         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
464         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
465         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
466         (gst_plugin_error_get_type), (register_gst_plugin_flags),
467         (gst_plugin_flags_get_type), (register_gst_rank),
468         (gst_rank_get_type), (register_gst_query_type),
469         (gst_query_type_get_type), (register_gst_tag_merge_mode),
470         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
471         (gst_tag_flag_get_type), (register_gst_task_state),
472         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
473         (gst_alloc_trace_flags_get_type),
474         (register_gst_type_find_probability),
475         (gst_type_find_probability_get_type), (register_gst_uri_type),
476         (gst_uri_type_get_type), (register_gst_parse_error),
477         (gst_parse_error_get_type):
478         * win32/common/gstenumtypes.h:
479         * win32/common/gstversion.h:
480           update visual studio generated files
481
482 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
483
484         * win32/vs6/libgstbase.dsp:
485         * win32/vs6/libgstelements.dsp:
486           update project files for new locations
487
488 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * Makefile.am:
491           remove some files
492         * README:
493           reinstate and update
494         * DEVEL:
495         * REQUIREMENTS:
496           removed
497         * LICENSE:
498         * docs/random/LICENSE:
499           moved to random
500
501 2005-11-30  Edward Hervey  <edward@fluendo.com>
502
503         * gst/gsttypefind.c: (gst_type_find_register):
504         * gst/gsttypefind.h:
505         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
506         (gst_type_find_factory_dispose):
507         * gst/gsttypefindfactory.h:
508         Fix memory leak in GstTypeFindFactory.
509
510 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
511
512         * gst/gst.c:
513         * plugins/elements/Makefile.am:
514         * plugins/elements/gstelements.c:
515         * plugins/elements/gstqueue.c:
516           move queue from core to the elements plugin
517
518 2005-11-29  Andy Wingo  <wingo@pobox.com>
519
520         * libs/gst/base/gstbasetransform.h: 
521         * libs/gst/base/gstbasesrc.h: 
522         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
523
524         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
525         of pointers by which to pad very extensible base classes (like the
526         ones in libs/gst/base).
527
528 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
529
530         * docs/gst/gstreamer-docs.sgml:
531         * docs/gst/gstreamer-sections.txt:
532         * docs/libs/gstreamer-libs-docs.sgml:
533         * docs/libs/gstreamer-libs-sections.txt:
534           moving documentation from core to lib
535
536 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
537
538         * check/Makefile.am:
539         * configure.ac:
540         * docs/gst/Makefile.am:
541         * gst/Makefile.am:
542         * gst/base/.cvsignore:
543         * gst/base/Makefile.am:
544         * gst/base/README:
545         * gst/base/gstadapter.c:
546         * gst/base/gstadapter.h:
547         * gst/base/gstbasesink.c:
548         * gst/base/gstbasesink.h:
549         * gst/base/gstbasesrc.c:
550         * gst/base/gstbasesrc.h:
551         * gst/base/gstbasetransform.c:
552         * gst/base/gstbasetransform.h:
553         * gst/base/gstcollectpads.c:
554         * gst/base/gstcollectpads.h:
555         * gst/base/gstpushsrc.c:
556         * gst/base/gstpushsrc.h:
557         * gst/base/gsttypefindhelper.c:
558         * gst/base/gsttypefindhelper.h:
559         * gst/check/Makefile.am:
560         * gst/check/gstcheck.c:
561         * gst/check/gstcheck.h:
562         * gst/net/Makefile.am:
563         * gst/net/gstnet.h:
564         * gst/net/gstnetclientclock.c:
565         * gst/net/gstnetclientclock.h:
566         * gst/net/gstnettimepacket.c:
567         * gst/net/gstnettimepacket.h:
568         * gst/net/gstnettimeprovider.c:
569         * gst/net/gstnettimeprovider.h:
570         * libs/gst/Makefile.am:
571         * libs/gst/base/Makefile.am:
572         * libs/gst/base/gstbasetransform.c:
573         * libs/gst/check/Makefile.am:
574         * plugins/elements/Makefile.am:
575         * po/POTFILES.in:
576           CVS surgery + support to move base, check, and net out of gst
577           and into libs/gst
578
579 2005-11-29  Andy Wingo  <wingo@pobox.com>
580
581         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
582
583         * gst/gststructure.h (struct _GstStructure): Only one pointer of
584         padding.
585
586         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
587
588         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
589
590         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
591
592         * gst/gstobject.h: (struct _GstObject): Only one pointer of
593         padding; reduces object size by about 30%. We don't expect
594         anything else to go into gstobject.
595
596         * gst/gstminiobject.h (struct _GstMiniObject)
597         (struct _GstMiniObjectClass): Only one pointer of padding; the
598         payload is only a pointer and two ints anyway. For the class there
599         are only two methods as well.
600         
601         * gst/gstelement.h (struct _GstElementClass): Removed
602         the state_changed signal callback, it is not used.
603
604 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * docs/gst/gstreamer.types:
607           fix includes, though they are a little dinky
608
609 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
610
611         * check/Makefile.am:
612           look in the right place for elements, a lot more chance of
613           success
614         * gst/Makefile.am:
615           remove indexers and elements subdirs
616         * plugins/Makefile.am:
617           make indexers conditional
618
619 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
620
621         * Makefile.am:
622         * configure.ac:
623         * plugins/elements/Makefile.am:
624         * plugins/elements/gstcapsfilter.c:
625         * plugins/elements/gstfilesink.c:
626         * plugins/elements/gstfilesrc.c:
627         * plugins/elements/gstidentity.c:
628         * plugins/indexers/Makefile.am:
629           do CVS surgery and related build fixery to move elements
630           and indexers in a new gstreamer/plugins directory, out of the
631           gst/ directory
632
633 2005-11-29  Andy Wingo  <wingo@pobox.com>
634
635         * check/Makefile.am:
636         * pkgconfig/gstreamer-net-uninstalled.pc.in:
637         * pkgconfig/gstreamer-net.pc.in:
638         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
639         #322257.
640
641 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
642
643         * tools/Makefile.am:
644         * tools/gst-complete.1.in:
645         * tools/gst-complete.c:
646         * tools/gst-compprep.1.in:
647         * tools/gst-compprep.c:
648           removing -compprep and -complete
649
650 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
651
652         * gst/gstevent.c: (gst_event_new_new_segment),
653         (gst_event_parse_new_segment):
654         * gst/gstevent.h:
655           fix #320529 - clean up new_segment API and structure.
656           Let's hope everyone was using the methods, and not the structure.
657
658 2005-11-29  Edward Hervey  <edward@fluendo.com>
659
660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
661         (gst_base_sink_event), (gst_base_sink_do_sync),
662         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
663         Properly handle non GST_FORMAT_TIME segment
664         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
665         Properly handle non GST_FORMAT_TIME segment
666         * gst/gstsegment.c:
667         This function is valid if the accumulator is 0 and the format
668         is different from the requested format.
669         
670 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
671
672         * docs/gst/gstreamer-sections.txt:
673         Add gst_query_new_seeking and gst_query_parse_seeking to the
674         docs.
675
676 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
677
678         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
679           Treat a pad alloc with new caps the same as if we were not
680           negotiated, in order to allow a changing upstream output
681           to produce a new format of data.
682
683 2005-11-29  Edward Hervey  <edward@fluendo.com>
684
685         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
686         (gst_base_transform_event), (gst_base_transform_eventfunc):
687         The event virtual method is now properly implemented, with a default
688         handler
689         Sub classes should call the parent_class event method. They should
690         return FALSE if they had a problem handling the given event, or don't
691         want GstBaseTransform to send that even downstream
692         * gst/elements/gstidentity.c: (gst_identity_class_init),
693         (gst_identity_init), (gst_identity_event),
694         (gst_identity_transform_ip), (gst_identity_set_property),
695         (gst_identity_get_property):
696         * gst/elements/gstidentity.h:
697         Added the single-segment boolean property.
698         If set to TRUE, it will output a single segment of data, starting from
699         0, will eat up all incoming newsegment, and modify the timestamp of the
700         buffers accordingly
701
702 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
705           Don't ref NULL target pad (#322751). Improve docs.
706
707 2005-11-29  Michael Smith  <msmith@fluendo.com>
708
709         * gst/gstregistryxml.c: (load_plugin):
710           Don't crash if we failed to load a feature from a plugin. 
711
712 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
713
714         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
715         (GST_START_TEST):
716           use more check API and less GLib API
717
718 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
719
720         * Makefile.am:
721           don't run checks if we don't have check
722         * common/check.mak:
723           remove the registry when running make torture
724         * docs/gst/gstreamer-sections.txt:
725           remove second multiply
726         * gst/gstqueue.c: (gst_queue_loop):
727           fix a compile warning when disabling debug
728
729 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
730
731         * gst/gstinfo.h:
732         Hey! Let's print the pad name if the pointer != NULL instead
733         of when it == NULL :-)
734
735 2005-11-28  Wim Taymans  <wim@fluendo.com>
736
737         * check/gst/gstutils.c: (GST_START_TEST):
738         Updated check, add some scaling accuracy checking code.
739
740         * gst/gstutils.c: (gst_util_div128_64),
741         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
742         (gst_util_uint64_scale_int):
743         Fix 6 times faster division code. Optimize for common 
744         1/1 and less common X/1 cases.
745
746 2005-11-28  Wim Taymans  <wim@fluendo.com>
747
748         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
749         More checks.
750
751         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
752         (do_linear_regression), (gst_clock_add_observation):
753         Cleanups.
754         Release lock when the clock cannot be slaved.
755         Catch the case where the regression returned an invalid denominator.
756
757         * gst/gstutils.c: (gst_util_div128_64_iterate),
758         (gst_util_div128_64), (gst_util_uint64_scale_int64),
759         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
760         Add protentially more performant non-iterative 128/64 divide function
761         that unfortunatly does not work yet.
762         Shortcut the trivial 0/X = 0 case.
763         Remove the warnings on overflow.
764
765 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
766
767         * gst/gstplugin.c: (gst_plugin_register_func):
768           everything causing a plugin not to load should be at least a WARNING
769
770 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
771
772         * docs/random/ensonic/dparams.txt:
773           some TODOs for the next dev cycle
774         * libs/gst/controller/gstcontroller.c:
775         (gst_controlled_property_set_interpolation_mode),
776         (gst_controlled_property_new):
777         * libs/gst/controller/gstcontroller.h:
778           use base type to assign acccessor functions
779
780 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
781
782         * check/Makefile.am:
783         Oops, that should have been top_srcdir
784
785 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
786
787         * check/Makefile.am:
788         * check/elements/fdsrc.c: (GST_START_TEST):
789         Use a cmdline define to specify the location of a file to use for
790         testing, to avoid breaking distcheck.
791
792 2005-11-28  Andy Wingo  <wingo@pobox.com>
793
794         * gst/gstpad.c (fixate_value): Use array functions for arrays.
795
796 2005-11-28  Edward Hervey  <edward@fluendo.com>
797
798         * tools/gst-launch.c: (main):
799         Clarify the output strings, makes it easier to translate.
800         Fixes #322626
801
802 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
803
804         * gst/Makefile.am:
805           don't try and build net if we don't even have <sys/socket.h>
806
807 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
808
809         * check/Makefile.am:
810         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
811         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
812           Add tests for fdsrc seekability
813
814         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
815         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
816         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
817         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
818         * gst/elements/gstfdsrc.h:
819           fdsrc should not be a 'live' source.
820           Implement seeking on seekable fd's.
821
822         * gst/gstquery.c: (gst_query_new_seeking),
823         (gst_query_parse_seeking):
824         * gst/gstquery.h:
825           Implement SEEKING query functions: 
826             *_new_seeking and *_parse_seeking
827
828 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
829
830         * gst/gstelement.c: (gst_element_dispose):
831           don't loop forever
832
833         * gst/gstiterator.c:
834         * gst/gststructure.c:
835           doc fixes
836
837         * libs/gst/controller/gstcontroller.c:
838         (gst_controlled_property_set_interpolation_mode):
839         * libs/gst/controller/gstcontroller.h:
840         * libs/gst/controller/gstinterpolation.c:
841         (interpolate_none_get_enum_value_array):
842           support controlling enums
843
844 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * gst/gstvalue.c:
847           Improve documentation for gst_value_union().
848
849         * gst/gstvalue.h:
850           Change return value for union, intersect and subtract functions
851           from gint to gboolean.
852
853 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
854
855         * gst/gstvalue.c: (gst_value_serialize_any_list),
856         (gst_value_transform_any_list_string),
857         (gst_value_deserialize_list), (gst_value_deserialize_array),
858         (gst_value_set_int_range), (gst_value_deserialize_int_range),
859         (gst_value_set_double_range), (gst_value_deserialize_double_range),
860         (gst_value_set_fraction_range_full),
861         (gst_value_deserialize_fraction_range),
862         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
863         (gst_value_deserialize_boolean),
864         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
865         (gst_value_serialize_float), (gst_value_deserialize_float),
866         (gst_string_wrap), (gst_value_deserialize_string),
867         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
868         (gst_value_union_int_range_int_range),
869         (gst_value_intersect_int_range_int_range),
870         (gst_value_intersect_double_range_double_range),
871         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
872         (gst_value_subtract_int_range_int_range),
873         (gst_value_subtract_double_double_range),
874         (gst_value_subtract_double_range_double_range),
875         (gst_value_deserialize_fraction):
876         * gst/gstvalue.h:
877           Use gint, gdouble and gchar in our API instead of int, double and
878           char (and make usage in gstvalue.c more consistent).
879
880 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
881
882         * check/Makefile.am:
883         * libs/gst/controller/Makefile.am:
884         * libs/gst/dataprotocol/Makefile.am:
885           fix up Makefile.am and remove GST_ENABLE_NEW
886
887 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
888
889         * configure.ac:
890         * gst/Makefile.am:
891         * gst/base/Makefile.am:
892         * gst/check/Makefile.am:
893         * gst/elements/Makefile.am:
894         * gst/net/Makefile.am:
895           update LDFLAGS use some more
896
897 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
898
899         * common/m4/gst-doc.m4:
900           Fixes #312589
901
902 2005-11-26  Edward Hervey  <edward@fluendo.com>
903
904         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
905         This shouldn't issue a g_warning since it returns NULL if it
906         couldn't find the plugin, and all functions using this behave
907         properly on a NULL return. Switching to a GST_WARNING.
908
909 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
910
911         * gst/gstbin.c: (gst_bin_handle_message_func):
912         Don't leak clock messages.
913
914 2005-11-25  Wim Taymans  <wim@fluendo.com>
915
916         * gst/gstutils.c: (gst_util_uint64_scale_int64),
917         (gst_util_uint64_scale_int):
918         Optimisations, remove unneeded vars.
919
920 2005-11-25  Wim Taymans  <wim@fluendo.com>
921
922         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
923         Added more checks for the high precision uint64 cases.
924
925         * gst/gstutils.c: (gst_util_uint64_scale_int64),
926         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
927         Implement high precission (guint64 * guint64) / guint64.
928
929 2005-11-24  Wim Taymans  <wim@fluendo.com>
930
931         * gst/base/gstbasesrc.c: (gst_base_src_query):
932         Fix wrong percentage query.
933
934         * gst/gstutils.c: (gst_util_uint64_scale),
935         (gst_util_uint64_scale_int):
936         Add some more common cases that can be handled 
937         efficiently to _scale.
938
939 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
940
941         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
942         (gst_mini_object_suite):
943           don't use check calls from threads; check probably isn't
944           threadsafe and using a lock to make it threadsafe would
945           defeat the purpose of this check
946         * gst/check/gstcheck.c:
947         * gst/check/gstcheck.h:
948           use GST_DEBUG some more
949
950 2005-11-24  Wim Taymans  <wim@fluendo.com>
951
952         * gst/gstutils.c: (gst_util_uint64_scale),
953         (gst_util_uint64_scale_int):
954         Chain trivial case to _scale_int.
955
956 2005-11-24  Wim Taymans  <wim@fluendo.com>
957
958         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
959         Added test for scaling.
960
961         * gst/gstclock.h:
962         Small doc fix.
963
964         * gst/gstutils.c: (gst_util_uint64_scale_int):
965         Implemented high precision scaling code.
966
967 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
968
969         * gst/gstinfo.h:
970           do not crash on pad==NULL
971
972 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         Patch by: Stefan Kost
975
976         * common/gtk-doc.mak:
977         * docs/gst/Makefile.am:
978         * docs/libs/Makefile.am:
979           Fix distcheck issues for the libraries docs build
980           Closes #319599.
981
982 2005-11-24  Michael Smith <msmith@fluendo.com>
983
984         * docs/manual/basics-helloworld.xml:
985           Fix bug #315027: memory leak in example code in docs.
986
987 2005-11-24  Michael Smith <msmith@fluendo.com>
988
989         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
990           Unlock the PREROLL_LOCK in a failure case.
991
992 2005-11-24  Wim Taymans  <wim@fluendo.com>
993
994         * docs/gst/gstreamer-sections.txt:
995         * gst/base/gstadapter.h:
996         * gst/base/gstbasesink.h:
997         * gst/base/gstbasesrc.h:
998         * gst/base/gstbasetransform.h:
999         * gst/base/gstpushsrc.h:
1000         * gst/elements/gstfakesink.h:
1001         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1002         * gst/elements/gstfakesrc.h:
1003         * gst/elements/gstfilesink.h:
1004         * gst/elements/gstfilesrc.h:
1005         * gst/gst.c:
1006         * gst/gstbin.c:
1007         * gst/gstbuffer.c: (_gst_buffer_copy):
1008         * gst/gstbus.h:
1009         * gst/gstcaps.c:
1010         * gst/gstchildproxy.c:
1011         * gst/gstclock.c:
1012         * gst/gstelement.c:
1013         * gst/gstelementfactory.c:
1014         * gst/gstelementfactory.h:
1015         * gst/gstevent.c:
1016         * gst/gstghostpad.h:
1017         * gst/gstindex.h:
1018         * gst/gstinterface.h:
1019         * gst/gstminiobject.c:
1020         * gst/gstminiobject.h:
1021         * gst/gstpad.c:
1022         * gst/gstpad.h:
1023         * gst/gstpadtemplate.h:
1024         * gst/gstpipeline.h:
1025         * gst/gstpluginfeature.h:
1026         * gst/gstquery.h:
1027         * gst/gstqueue.h:
1028         * gst/gsttaglist.c:
1029         * gst/gsttaglist.h:
1030         * gst/gsttagsetter.c:
1031         * gst/gsttagsetter.h:
1032         * gst/gsttrace.c:
1033         * gst/gsttrace.h:
1034         * gst/gsttypefind.h:
1035         * gst/gsturi.h:
1036         * gst/gstvalue.c:
1037         * gst/net/gstnetclientclock.c:
1038         * gst/net/gstnetclientclock.h:
1039         * gst/net/gstnettimepacket.c:
1040         * gst/net/gstnettimeprovider.c:
1041         * gst/net/gstnettimeprovider.h:
1042         Doc fixes.
1043
1044 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1045
1046         * configure.ac: back to HEAD
1047
1048 === release 0.9.6 ===
1049
1050 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1051
1052         * configure.ac:
1053           releasing 0.9.6, "Always On Time"
1054
1055 2005-11-23  Wim Taymans  <wim@fluendo.com>
1056
1057         * docs/gst/gstreamer-sections.txt:
1058         * gst/glib-compat.c:
1059         * gst/gsttagsetter.c:
1060         * gst/gstvalue.c:
1061         * gst/net/gstnetclientclock.c:
1062         * gst/net/gstnettimepacket.h:
1063         Doc updates.
1064
1065 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1066
1067         * docs/faq/using.xml:
1068         * docs/libs/tmpl/gstcontrol.sgml:
1069         * docs/manual/advanced-dparams.xml:
1070         * docs/manual/appendix-checklist.xml:
1071         * docs/manual/basics-elements.xml:
1072         * docs/pwg/other-source.xml:
1073         * docs/random/moving-plugins:
1074         * gst/gstpad.c:
1075         * tools/gst-launch.1.in:
1076           remove mentions of sinesrc
1077
1078 2005-11-23  Michael Smith <msmith@fluendo.com>
1079
1080         * docs/gst/gstreamer-sections.txt:
1081           Update for new API and API changes.
1082         * gst/gstobject.h:
1083           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1084         * gst/gstvalue.c:
1085           Documentation typo fix.
1086         * gst/net/gstnettimepacket.c:
1087           Documentation fixes for arguments.
1088
1089 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1090
1091         * gst/gststructure.c: (gst_structure_get_fraction),
1092         (gst_structure_parse_value),
1093         (gst_structure_fixate_field_nearest_fraction):
1094         * gst/gststructure.h:
1095         * gst/gstutils.c: (gst_util_uint64_scale_int):
1096         * gst/gstutils.h:
1097         * scripts/update-funcnames:
1098         API Changes. 
1099         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1100         Make gst_structure_fixate_field_nearest_fraction take a numerator
1101         and denominator argument instead of a GValue
1102         add gst_structure_get_fraction helper function.
1103
1104 2005-11-23  Wim Taymans  <wim@fluendo.com>
1105
1106         * docs/design/part-TODO.txt:
1107         Update TODO.
1108
1109         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1110         * gst/net/gstnetclientclock.h:
1111         Use parent fields for timeout and window_size.
1112
1113 2005-11-23  Andy Wingo  <wingo@pobox.com>
1114
1115         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1116         rate_num/rate_denom change.
1117
1118         * gst/net/gstnetclientclock.c
1119         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1120         OBJECT_LOCK. Don't call add_observation with the lock.
1121
1122         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1123         fraction.
1124         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1125         rate fraction.
1126         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1127         deal with rate as a fraction whose numerator and denominator are
1128         GstClockTime values.
1129         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1130         master; the other fields are protected by the SLAVE_LOCK.
1131         (do_linear_regression): Note that this must be called with the
1132         SLAVE_LOCK.
1133         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1134         OBJECT_LOCK. Call set_calibration instead of touching the
1135         variables directly.
1136         (gst_clock_set_property, gst_clock_get_property): Protect
1137         master/slave parameters with the SLAVE_LOCK.
1138
1139         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1140         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1141         note that all of the instance variables that add_observation and
1142         the set_master functions use are protected by that lock and not
1143         the OBJECT_LOCK.
1144         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1145
1146         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1147         the caller to take the object lock.
1148
1149 2005-11-23  Wim Taymans  <wim@fluendo.com>
1150
1151         * gst/gsterror.c: (_gst_core_errors_init):
1152         * gst/gsterror.h:
1153         Add error for clock stuff.
1154
1155         * gst/gstpipeline.c: (gst_pipeline_change_state),
1156         (gst_pipeline_set_clock):
1157         Post clock error when clock cannot be used in a pipeline.
1158
1159 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1160
1161         * docs/gst/gstreamer-sections.txt:
1162           make two symbols from gstinfo private for the docs
1163         * gst/base/gstcollectpads.h:
1164         * gst/gstutils.c:
1165           fix doc typos, update docs
1166
1167 2005-11-22  Wim Taymans  <wim@fluendo.com>
1168
1169         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1170         (gst_base_sink_wait), (gst_base_sink_do_sync),
1171         (gst_base_sink_handle_event):
1172         * gst/base/gstbasesink.h:
1173         No need to store the clock, the parent element class already
1174         has it.
1175
1176         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1177         Updates for clock_set returning a gboolean
1178
1179         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1180         (gst_clock_id_wait_async), (gst_clock_class_init),
1181         (gst_clock_init), (gst_clock_finalize),
1182         (gst_clock_get_internal_time), (gst_clock_get_time),
1183         (gst_clock_slave_callback), (gst_clock_set_master),
1184         (gst_clock_get_master), (do_linear_regression),
1185         (gst_clock_add_observation), (gst_clock_set_property),
1186         (gst_clock_get_property):
1187         * gst/gstclock.h:
1188         Implement master/slave. When setting a clock as a slave, a
1189         periodic timeout is scheduled to sample master and slave times.
1190         Then the slave clock is recalibrated to match offset and rate
1191         of the master clock.
1192         Update logging a bit.
1193         Add flag so that a clock can state that is cannot be slaved to
1194         another clock.
1195
1196         * gst/gstelement.c: (gst_element_set_clock):
1197         * gst/gstelement.h:
1198         The set clock returns a gboolean for when an element cannot
1199         deal with the selected clock in the pipeline. 
1200
1201         * gst/gstpipeline.c: (gst_pipeline_change_state),
1202         (gst_pipeline_set_clock):
1203         * gst/gstpipeline.h:
1204         Handle the case where the selected clock cannot be set on
1205         the pipeline.
1206
1207         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1208         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1209         (gst_net_client_clock_set_property),
1210         (gst_net_client_clock_get_property),
1211         (gst_net_client_clock_observe_times):
1212         * gst/net/gstnetclientclock.h:
1213         Use regression code in GstClock parent, remove duplicated
1214         functionality.
1215
1216 2005-11-22  Michael Smith <msmith@fluendo.com>
1217
1218         * gst/gstutils.c: (gst_util_clock_time_scale):
1219         * gst/gstutils.h:
1220         * docs/gst/gstreamer-sections.txt:
1221           Rename method to have extra underscore.
1222
1223 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1224
1225         * gst/elements/Makefile.am:
1226         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1227         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1228         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1229         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1230         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1231         * gst/elements/gstfakesrc.h:
1232         * gst/gstqueue.c: (queue_leaky_get_type):
1233           correctly fix GEnumValues so that nick is the short lowercase
1234           dashed tag
1235         * tools/gst-inspect.c: (print_element_properties_info):
1236           also show the nick, since it's useful to use from parse_launch
1237           syntax
1238           Fixes #322139
1239
1240 2005-11-22  Michael Smith <msmith@fluendo.com>
1241
1242         * gst/gstutils.c: (gst_util_clocktime_scale):
1243         * gst/gstutils.h:
1244         * docs/gst/gstreamer-sections.txt:
1245           Add util method for scaling a clocktime by a fraction. Useful 
1246           implementation is left as an exercise for the reader.
1247
1248 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1249
1250         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1251         If needed, allocate storage in the destination value during
1252         collection.
1253
1254 2005-11-22  Edward Hervey  <edward@fluendo.com>
1255
1256         * docs/gst/gstreamer-sections.txt:
1257         * gst/Makefile.am:
1258         * gst/gst.h:
1259         * gst/gsturitype.c:
1260         * gst/gsturitype.h:
1261         * gst/gstutils.c: (gst_util_set_object_arg):
1262         * tools/gst-compprep.c: (main):
1263         * tools/gst-inspect.c: (print_element_properties_info):
1264         Removed GstURI, closes bug #321061
1265
1266 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1267
1268         * check/gst/gststructure.c: (GST_START_TEST):
1269         * gst/gststructure.c: (gst_structure_parse_value):
1270           Oops, broke automatic string type parsing.
1271           Add a test to catch it in future.
1272
1273 2005-11-22  Andy Wingo  <wingo@pobox.com>
1274
1275         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1276         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1277         Actually rename the function implementations. Grr.
1278
1279 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1280
1281         * check/gst/capslist.h:
1282           Comment test cases
1283         * check/gst/gststructure.c: (GST_START_TEST),
1284         (gst_structure_suite):
1285           Test automatic value type detection in gst_structure_from_string.
1286         * gst/gststructure.c: (gst_structure_parse_value):
1287           Add fraction as a type we try and guess automatically in
1288           caps/structure strings.
1289
1290 2005-11-22  Andy Wingo  <wingo@pobox.com>
1291
1292         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1293
1294         * gst/gsttagsetter.h:
1295         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1296         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1297         (gst_tag_setter_add_tag_valist)
1298         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1299         _add_values, _add_valist, and _add_valist_values. Since this is an
1300         interface the function suffixes should be more explicit so
1301         language binding don't end up with element.add_valist ->
1302         gst_tag_setter_add_valist, for example. Fixes #322069.
1303
1304 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1305
1306         * check/gst/gstcaps.c: (GST_START_TEST):
1307           Extend caps string tests to check that a caps to string
1308           conversion is reversible and produces the same caps.
1309
1310         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1311           Output "fraction" as the generic type fraction range, so caps
1312           serialisation and deserialisation works.
1313         * check/gst/capslist.h:
1314         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1315           Support 'MIN' and 'MAX' for deserialising fractions.
1316
1317 2005-11-22  Andy Wingo  <wingo@pobox.com>
1318
1319         * gst/gstevent.h (gst_event_new_new_segment)
1320         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1321         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1322         Renamed from *_newsegment, *_buffersize, *_notarget.
1323
1324         * scripts/update-funcnames: New script, performs the changes
1325         listed above.
1326
1327 2005-11-22  Wim Taymans  <wim@fluendo.com>
1328
1329         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1330         Make sure the GstFlowReturn is returned.
1331
1332         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1333         (gst_bus_add_signal_watch):
1334         * gst/gstbus.h:
1335         add gst_bus_add_signal_watch_full.
1336
1337         * gst/gstplugin.c: (gst_plugin_load_file):
1338         Small style cleanup.
1339
1340 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1341
1342         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1343           Block the fakesrc srcpad when we send an event, to avoid
1344           contention on the stream_lock causing random test failures.
1345
1346 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1347
1348         * check/gst/gstvalue.c: (GST_START_TEST):
1349         * gst/gstvalue.c: (gst_value_fraction_subtract):
1350           Fix subtraction.
1351
1352 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1353
1354         * gst/gst.h:
1355           include "gstchildproxy.h"
1356         * gst/gstchildproxy.h:
1357         * libs/gst/controller/gstcontroller.h:
1358           use G_GNUC_NULL_TERMINATED
1359
1360 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1361
1362         * check/gst/capslist.h:
1363         * check/gst/gstcaps.c: (GST_START_TEST):
1364         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1365         * gst/gststructure.c: (gst_structure_parse_range),
1366         (gst_structure_fixate_field_nearest_fraction):
1367         * gst/gststructure.h:
1368         * gst/gstvalue.c: (gst_value_init_fraction_range),
1369         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1370         (gst_value_collect_fraction_range),
1371         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1372         (gst_value_set_fraction_range_full),
1373         (gst_value_get_fraction_range_min),
1374         (gst_value_get_fraction_range_max),
1375         (gst_value_serialize_fraction_range),
1376         (gst_value_transform_fraction_range_string),
1377         (gst_value_compare_fraction_range),
1378         (gst_value_deserialize_fraction_range),
1379         (gst_value_intersect_fraction_fraction_range),
1380         (gst_value_intersect_fraction_range_fraction_range),
1381         (gst_value_subtract_fraction_fraction_range),
1382         (gst_value_subtract_fraction_range_fraction),
1383         (gst_value_subtract_fraction_range_fraction_range),
1384         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1385         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1386         (gst_value_transform_string_fraction), (_gst_value_initialize):
1387         * gst/gstvalue.h:
1388           Implement fraction ranges and extend GstFraction to support
1389           arithmetic subtraction, as well as deserialization from integer
1390           strings such as "100"
1391           Add a testsuite as for int and double range set operations
1392
1393 2005-11-21  Andy Wingo  <wingo@pobox.com>
1394
1395         * gst/gsttaglist.h: 
1396         * gst/gstcaps.h: 
1397         * gst/gststructure.h: Add glib-compat.h.
1398
1399 2005-11-21  Wim Taymans  <wim@fluendo.com>
1400
1401         * gst/gstbin.c: (gst_bin_change_state_func):
1402         Fix for #321595
1403
1404 2005-11-21  Wim Taymans  <wim@fluendo.com>
1405
1406         * gst/gstsegment.h:
1407         And add a nice define too.
1408
1409 2005-11-21  Wim Taymans  <wim@fluendo.com>
1410
1411         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1412         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1413         (gst_segment_set_duration), (gst_segment_set_last_stop),
1414         (gst_segment_set_seek), (gst_segment_set_newsegment),
1415         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1416         (gst_segment_clip):
1417         * gst/gstsegment.h:
1418         Make binding friendly.
1419
1420 2005-11-21  Andy Wingo  <wingo@pobox.com>
1421
1422         * gst/gsttagsetter.h: 
1423         * gst/gsttaglist.h: 
1424         * gst/gststructure.h: 
1425         * gst/gstcaps.h: 
1426         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1427         #319940.
1428
1429         * gst/gsterror.c (_gst_core_errors_init):
1430         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1431         category.
1432
1433         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1434         (noinst_HEADERS): noinst the -private.
1435
1436 2005-11-21  Michael Smith <msmith@fluendo.com>
1437
1438         * gst/gstplugin.h:
1439         * gst/gstregistry.h:
1440           Remove unimplemented declarations for which we can see no sensible
1441           use.
1442
1443 2005-11-21  Andy Wingo  <wingo@pobox.com>
1444
1445         * gst/gst.h: Include glib-compat.h.
1446
1447         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1448
1449         * gst/glib-compat.c: Include the public and the private header.
1450
1451         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1452
1453         * gst/gstvalue.c: 
1454         * gst/gstpad.c: 
1455         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1456
1457         * check/gst/gstevent.c (create_custom_events): Check that
1458         FLUSH_STOP is serialized.
1459
1460         * check/elements/identity.c (event_func): 
1461         * check/elements/fakesrc.c (event_func): No stream lock, the core
1462         takes it.
1463
1464         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1465         stream lock taking, yay.
1466
1467         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1468         ensure that core takes the stream lock.
1469
1470         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1471         lock name change.
1472
1473         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1474         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1475         it already. For the flush start we do take it though so we get the
1476         right preroll state change messages.
1477
1478         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1479         the stream lock here, the core does it for us.
1480
1481         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1482         GST_STREAM_GET_LOCK.
1483         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1484         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1485         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1486         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1487         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1488         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1489
1490         * gst/gstpad.c: Update for stream lock name change.
1491
1492         * gst/base/gstbasesink.c: Update for preroll lock name change.
1493
1494 2005-11-21  Wim Taymans  <wim@fluendo.com>
1495
1496         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1497         (gst_clock_get_master):
1498         * gst/gstclock.h:
1499         * gst/gstsystemclock.c: (gst_system_clock_init):
1500         Convert Clock flags to object flags.
1501         Added methods to manage master/slave clocks.
1502
1503 2005-11-21  Wim Taymans  <wim@fluendo.com>
1504
1505         * check/gst/gstsegment.c: (GST_START_TEST):
1506         * docs/design/part-TODO.txt:
1507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1508         (gst_base_sink_event), (gst_base_sink_do_sync),
1509         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1510         (gst_base_sink_query), (gst_base_sink_change_state):
1511         * gst/base/gstbasesink.h:
1512         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1513         (gst_base_src_default_newsegment),
1514         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1515         (gst_base_src_get_range), (gst_base_src_loop),
1516         (gst_base_src_change_state):
1517         * gst/base/gstbasesrc.h:
1518         * gst/base/gstbasetransform.c:
1519         (gst_base_transform_prepare_output_buf),
1520         (gst_base_transform_event), (gst_base_transform_change_state):
1521         * gst/base/gstbasetransform.h:
1522         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1523         (gst_collect_pads_event):
1524         * gst/base/gstcollectpads.h:
1525         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1526         (gst_fake_src_create):
1527         * gst/elements/gstfakesrc.h:
1528         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1529         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1530         (gst_segment_set_last_stop), (gst_segment_set_seek),
1531         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1532         (gst_segment_to_running_time), (gst_segment_clip):
1533         * gst/gstsegment.h:
1534         More segment updates, replace code in plugins with segment
1535         helper functions.
1536
1537 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1538
1539         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1540         Don't ignore sscanf results
1541
1542 2005-11-21  Andy Wingo  <wingo@pobox.com>
1543
1544         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1545
1546         * *.h:
1547         * *.c: Ran scripts/update-macros. Oh yes.
1548
1549         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1550         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1551         GST_GET_LOCK, etc.
1552
1553         * scripts/update-macros: New script. Run it on your files to
1554         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1555         well.
1556
1557 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1558
1559         * docs/gst/Makefile.am:
1560         * docs/gst/gstreamer-docs.sgml:
1561         * docs/gst/gstreamer-sections.txt:
1562         * docs/gst/gstreamer.types:
1563         * gst/gstinfo.h:
1564           more docs fixes, add new api to the docs
1565
1566 2005-11-21  Andy Wingo  <wingo@pobox.com>
1567
1568         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1569         state_broadcast call.
1570
1571         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1572
1573 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1574
1575         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1576         function calls for arrays.
1577
1578 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1579
1580         * docs/random/ensonic/media-device-daemon.txt:
1581           wild idea, can this be done?
1582         * docs/gst/gstreamer-sections.txt:
1583         * gst/gsterror.h:
1584         * gst/gstfilter.c:
1585         * gst/gstfilter.h:
1586         * gst/gstplugin.h:
1587         * gst/gstpluginfeature.c:
1588         * gst/gsttrace.c:
1589         * gst/gstvalue.c:
1590         * gst/gstvalue.h:
1591           doc fixes and additions
1592
1593 2005-11-21  Andy Wingo  <wingo@pobox.com>
1594
1595         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1596         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1597         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1598         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1599         private to the basesrc implementation.
1600
1601         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1602         behalf of event function if necessary. It should no longer be
1603         necessary to take the stream lock in pad's event functions. Fixes
1604         #320299.
1605
1606 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1607         * docs/gst/gstreamer-sections.txt:
1608         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1609         (gst_structure_fixate_field_nearest_double),
1610         (gst_structure_fixate_field_boolean):
1611         * gst/gststructure.h:
1612         * win32/common/libgstreamer.def:
1613         * win32/gstreamer.def:
1614
1615         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1616         (#322027)
1617
1618 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1619
1620         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1621         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1622         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1623         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1624         (gst_fdsrc_uri_handler_init):
1625         * gst/elements/gstfdsrc.h:
1626           Port fd:// URI handler from 0.8 to fdsrc
1627
1628 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1629
1630         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1631         (gst_value_serialize_fourcc):
1632         * gst/gstvalue.h:
1633           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1634           consistent with our other format defines (#320324).
1635
1636 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1637
1638         * gst/gstvalue.c: (gst_value_is_fixed):
1639           Revert previous commit. Value lists are by definition
1640           not fixed, as they are a list of possible values.
1641
1642 2005-11-21  Andy Wingo  <wingo@pobox.com>
1643
1644         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1645         during the stable series if we need it. Fixes #319178.
1646
1647         * gst/gstevent.c (gst_event_new_filler): Removed.
1648
1649         * check/gst/gstevent.c: Update comment about filler events.
1650
1651 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1652
1653         * gst/gstvalue.c: (gst_value_is_fixed):
1654           Should handle both value arrays and value lists.
1655
1656 2005-11-21  Andy Wingo  <wingo@pobox.com>
1657
1658         patch by: Alessandro Dessina <alessandro nnva org>
1659
1660         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1661         functions to access arrays. Fixes #321962.
1662
1663 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1664
1665         * docs/gst/gstreamer.types:
1666           gst_collectpads_get_type => gst_collect_pads_get_type.
1667           
1668         * gst/base/gstbasetransform.c:
1669           Remove unused SIGNAL_HANDOFF enum.
1670
1671 2005-11-21  Andy Wingo  <wingo@pobox.com>
1672
1673         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1674         the event type (upstream, downstream, serialized). Renamed
1675         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1676         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1677         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1678
1679         * gst/gstevent.c: Update for new CUSTOM event names.
1680
1681         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1682
1683         * gst/gstevent.h:
1684         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1685         bug #319392.
1686
1687 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1688
1689         * docs/gst/gstreamer-sections.txt:
1690         * win32/common/libgstbase.def:
1691         * win32/libgstbase.def:
1692         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1693         (gst_collect_pads_class_init), (gst_collect_pads_init),
1694         (gst_collect_pads_finalize), (gst_collect_pads_new),
1695         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1696         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1697         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1698         (gst_collect_pads_start), (gst_collect_pads_stop),
1699         (gst_collect_pads_peek), (gst_collect_pads_pop),
1700         (gst_collect_pads_available), (gst_collect_pads_read),
1701         (gst_collect_pads_flush), (gst_collect_pads_event),
1702         (gst_collect_pads_chain):
1703         * gst/base/gstcollectpads.h:
1704           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1705           unimplemented functions as unimplemented. Add padding to
1706           GstCollectData. (#320766, #320423)
1707
1708 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * gst/gstmessage.c:
1711           Improve docs for DURATION message (usage of duration parameter)
1712           (#320113)
1713
1714 2005-11-20  Wim Taymans  <wim@fluendo.com>
1715
1716         * check/Makefile.am:
1717         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1718         (main):
1719         * gst/Makefile.am:
1720         * gst/gst.h:
1721         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1722         (gst_segment_set_seek), (gst_segment_set_newsegment),
1723         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1724         (gst_segment_clip):
1725         * gst/gstsegment.h:
1726         Added segment helper structure and methods. Not fully implemented
1727         yet.
1728         Added segment check.
1729
1730 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1731
1732         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1733           Add a deserialisation test for fractions
1734         * examples/metadata/read-metadata.c: (message_loop),
1735         (make_pipeline), (main):
1736           Fix up metadata reading sample.
1737         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1738           Debug format fix
1739         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1740           Don't try and fixate empty caps
1741         * gst/gst_private.h:
1742           Wrap in G_BEGIN_DECLS/G_END_DECLS
1743         * gst/gstvalue.c: (gst_value_collect_fraction),
1744         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1745         (gst_value_transform_string_fraction),
1746         (gst_value_compare_fraction):
1747           Add some extra guards to ensure that we don't end up 
1748           with an invalid denominator of 0 in a gstfraction and
1749           that fractions always get reduced.
1750
1751 2005-11-20  Wim Taymans  <wim@fluendo.com>
1752
1753         * docs/gst/gstreamer-sections.txt:
1754         * gst/gstbuffer.h:
1755         * gst/gstelement.c:
1756         * gst/gstformat.c:
1757         * gst/gstformat.h:
1758         * gst/gstindex.h:
1759         * gst/gstquery.c:
1760         * gst/gstquery.h:
1761         * gst/gstvalue.c:
1762         Doc fixes.
1763
1764 2005-11-20  Wim Taymans  <wim@fluendo.com>
1765
1766         * docs/design/part-TODO.txt:
1767         * gst/gstcaps.h:
1768         Make a proper enum of the flag.
1769
1770 2005-11-19  Wim Taymans  <wim@fluendo.com>
1771
1772         * docs/design/part-TODO.txt:
1773         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1774         (gst_format_to_quark), (gst_format_register):
1775         * gst/gstformat.h:
1776         * gst/gstquery.c: (_gst_query_initialize),
1777         (gst_query_type_get_name), (gst_query_type_to_quark),
1778         (gst_query_type_register):
1779         * gst/gstquery.h:
1780         Add type to quark and type to string conversions.
1781
1782 2005-11-19  Andy Wingo  <wingo@pobox.com>
1783
1784         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1785         #320097.
1786
1787 2005-11-19  Wim Taymans  <wim@fluendo.com>
1788
1789         * docs/design/part-TODO.txt:
1790         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1791         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1792         (gst_bin_handle_message_func):
1793         * gst/gstbin.h:
1794         Make message handling overridable.
1795
1796 2005-11-19  Andy Wingo  <wingo@pobox.com>
1797
1798         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1799
1800         * gst/gstclock.h:
1801         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1802         be a GstClockTime.
1803         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1804         is a GstClockTime. Fixes #321710.
1805
1806         * gst/gstclock.h (GstClock): Remove offset property. Add
1807         internal_calibration and external_calibration. Fix padding. Pad
1808         also by GstClockTime so we don't run into problems.
1809
1810         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1811         (gst_clock_get_rate_offset): Remove.
1812         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1813
1814         * gst/gstutils.h:
1815         * gst/gstutils.c (g_static_rec_cond_wait)
1816         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1817
1818         * gst/gstbin.c: Remove terrible continue_state prototype.
1819
1820         * gst/gstelement.h (gst_element_continue_state): Make public.
1821
1822         * gst/gstelement.h:
1823         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1824         by continue_state. Fixes #319389.
1825
1826         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1827         Really fixes #168438. However I don't see anywhere where the
1828         filter function is called... stupid GStreamer...
1829         
1830         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1831         don't have a dispose function, so it won't get called when the
1832         object is unreffed, but oh well!
1833
1834         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1835         allows a destroy function to be set so user_data can be freed.
1836         Fixes #168438.
1837         (gst_index_set_filter): Call gst_index_set_filter_full.
1838
1839         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1840
1841         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1842         string should produce an error, given the lack of a way to
1843         represent NULL strings. Fixes #165650.
1844         
1845         * gst/gstvalue.h: 
1846         * gst/gstvalue.c (gst_value_array_append_value) 
1847         (gst_value_array_prepend_value, gst_value_array_get_size) 
1848         (gst_value_array_get_value): New API, copied from
1849         gst_value_list_*, only operates on arrays.
1850         (gst_value_list_append_value, gst_value_list_prepend_value) 
1851         (gst_value_list_concat, gst_value_list_get_size) 
1852         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1853
1854         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1855         init_list, because it works on both.
1856         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1857         (gst_value_copy_list_or_array): Renamed from copy_list.
1858         (gst_value_free_list_or_array): Renamed from free_list.
1859         (gst_value_collect_list_or_array): Renamed from collect_list.
1860         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1861         (gst_value_list_or_array_peek_pointer): Renamed from
1862         list_peek_pointer.
1863         (_gst_value_array_value_table, _gst_value_list_value_table):
1864         Update value table functions.
1865         (gst_value_compare_list_or_array): Renamed from compare_list.
1866
1867         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1868         some constness.
1869
1870         * gst/gsttaglist.c:
1871         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1872         GstTagList*. Fixes #143472.
1873
1874         * gst/gststructure.h: Clarify what the foreach/map functions can
1875         or can't do to their arguments.
1876
1877 2005-11-18  Wim Taymans  <wim@fluendo.com>
1878
1879         * gst/gstclock.c: (gst_clock_set_calibration),
1880         (gst_clock_get_calibration):
1881         Doc and API fixes.
1882         Calibration can be set with internal time equal to current
1883         internal time too.
1884
1885 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1886
1887         * gst/gsterror.c:
1888         * gst/gsterror.h:
1889           document
1890
1891 2005-11-18  Andy Wingo  <wingo@pobox.com>
1892
1893         * configure.ac: 
1894         * pkgconfig/gstreamer-net.pc.in:
1895         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1896         * pkgconfig/Makefile.am: Add net pkgconfig files.
1897
1898 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1899
1900         * gst/gstcaps.c:
1901         * gst/gstghostpad.c:
1902         * gst/gsttrace.c:
1903         * gst/gstvalue.c:
1904         * gst/gstvalue.h:
1905           docs fixes
1906
1907 2005-11-18  Andy Wingo  <wingo@pobox.com>
1908
1909         * gst/net/gstnetclientclock.c: Turn off debugging.
1910
1911         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1912         times connverge somewhat. Can't make a real test.
1913
1914         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1915         integer arithmetic. Return the minimum of the domain, which can be
1916         set as "internal" for gst_clock_set_calibration.
1917         (gst_net_client_clock_observe_times): Call _set_calibration.
1918         (gst_net_client_clock_new): Call _set_calibration instead of
1919         rate_offset.
1920
1921         * check/net/gstnetclientclock.c (test_functioning): Use the right
1922         adjustment api.
1923
1924         * gst/gstclock.h:
1925         * gst/gstclock.c (gst_clock_get_calibration) 
1926         (gst_clock_set_calibration): New functions, obsolete the ones I
1927         added yesterday. Doh. Precision issues mean we have to extrapolate
1928         from a point in the more recent past than 1970.
1929         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1930         obsolete.
1931         (gst_clock_adjust_unlocked): Use the right calibration data.
1932
1933 2005-11-18  Edward Hervey  <edward@fluendo.com>
1934
1935         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1936         Also reset the ->current_* values in READY->PAUSED
1937
1938 2005-11-18  Andy Wingo  <wingo@pobox.com>
1939
1940         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1941         Whoops, check the right fd. Also add some debugging.
1942         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1943         (do_linear_regression): Add a crapload of debugging. Subtract off
1944         the minimum values from the input series to discard unneeded bits.
1945         Use only int arithmetic. There is still double arithmetic when
1946         calculating the intercept that needs fixing. Return boolean to
1947         indicate success; FALSE would mean the domain or range is too
1948         great. Still needs fixes.
1949
1950 2005-11-18  Wim Taymans  <wim@fluendo.com>
1951
1952         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1953         For the current position in stream time, we need to subtract
1954         accumulated time.
1955         
1956         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1957         Release lock before calling the callback function of async
1958         entries.
1959
1960 2005-11-18  Andy Wingo  <wingo@pobox.com>
1961
1962         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1963         Port goes all the way to MAXUINT16.
1964
1965         * gst/net/gstnettimeprovider.c: Make the port range the same as
1966         for the kernel: 0 assigns, otherwise ports are less than
1967         MAXUINT16.
1968
1969         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1970         port change.
1971
1972         * check/net/gstnetclientclock.c (test_functioning): Add the start
1973         of another test. 
1974
1975 2005-11-18  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1978         (gst_bin_remove_func), (bin_bus_handler):
1979         * gst/gstbin.h:
1980         Removing a clock provider from a bin, triggers a clock lost message
1981         so that a new clock will be selected.
1982         Adding a clock to a bin triggers a clock provider message.
1983         Make sure we reselect a clock when we received a clock lost message.
1984         Keep a reference to the element that provided the clock.
1985
1986 2005-11-18  Andy Wingo  <wingo@pobox.com>
1987
1988         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1989         the clock initially so it produces values around the base time.
1990         (gst_net_client_clock_class_init): Typo fix.
1991         (gst_net_client_clock_thread): Add note on when the socket gets
1992         closed.
1993
1994 2005-11-17  Wim Taymans  <wim@fluendo.com>
1995
1996         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1997         Free remote and local time arrays.
1998
1999 2005-11-17  Wim Taymans  <wim@fluendo.com>
2000
2001         * gst/net/gstnetclientclock.c: (do_linear_regression),
2002         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2003         Fix compilation, uninitialized vars and a forgotten continue.
2004
2005 2005-11-17  Andy Wingo  <wingo@pobox.com>
2006
2007         * check/Makefile.am (check_PROGRAMS): 
2008         * check/net/gstnetclientclock.c: Add a most minimal test for the
2009         net client clock. More to come later.
2010
2011         * gst/net/gstnet.h: 
2012         * gst/net/Makefile.am: Add netclientclock.
2013
2014         * gst/net/gstnetclientclock.h:
2015         * gst/net/gstnetclientclock.c: New files, implement an untested
2016         GstClock that takes its time from a network time provider.
2017         Implements the algorithm in network-clock.scm.
2018
2019         * tests/network-clock.scm (*window-size*): Rename from
2020         *queue-length*.
2021         * tests/network-clock.scm (network-time): 
2022         * tests/network-clock-utils.scm (q-push): Update callers.
2023
2024 2005-11-17  Wim Taymans  <wim@fluendo.com>
2025
2026         * gst/gstbin.c: (gst_bin_provide_clock_func),
2027         (gst_bin_sort_iterator_new):
2028         And unref the child too..
2029
2030 2005-11-17  Wim Taymans  <wim@fluendo.com>
2031
2032         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2033         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2034         Refactor the sort iterator so it can be used while holding the
2035         LOCK too.
2036         Make clock selection select a clock closest to the source.
2037
2038 2005-11-17  Michael Smith <msmith@fluendo.com>
2039
2040         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2041         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2042         * gst/gstclock.h:
2043           Anonymous structs are a gcc (and some other compilers) extension, so
2044           don't use them. Since this is only for ABI-compatibility, and our
2045           API/ABI freeze is over in a few days, this whole thing will only
2046           last a few days, so don't bother trying to think up a meaningful
2047           name for the struct.
2048
2049 2005-11-17  Andy Wingo  <wingo@pobox.com>
2050
2051         * gst/gstclock.h (GstClock): Add rate and offset properties,
2052         preserving ABI stability. Add rate/offset accessors. Will file bug
2053         for the freeze break.
2054
2055         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2056         and offset, trying to keep precision and avoiding
2057         underflow/overflow.
2058         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2059         functions. Make gst_clock_set_time_adjust obsolete.
2060         (gst_clock_set_time_adjust): Note that this function is obsolete.
2061         Will file bug soon.
2062
2063         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2064         greppable by using GST_PADDING-1+1.
2065
2066 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2067
2068         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2069
2070         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2071           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2072
2073         * gst/gstpadtemplate.h:
2074         * gst/gstpluginfeature.h:
2075           Don't use c++ style comments in headers (#321638).
2076
2077 2005-11-16  Andy Wingo  <wingo@pobox.com>
2078
2079         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2080         buffer.
2081
2082         * check/net/gstnettimeprovider.c: Check to see that the time
2083         provider actually provides times. Works, yo!
2084
2085 2005-11-16  Wim Taymans  <wim@fluendo.com>
2086
2087         * check/Makefile.am:
2088         Enable more tests.
2089
2090         * check/elements/fakesrc.c: (GST_START_TEST):
2091         Set element to NULL before disposing it.
2092
2093 2005-11-16  Andy Wingo  <wingo@pobox.com>
2094
2095         * gst/net/Makefile.am:
2096         * gst/net/gstnet.h:
2097         * gst/net/gstnettimeprovider.c: 
2098         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2099         provider, include it from gstnet.h, and add it to the build.
2100
2101         * gst/net/gstnettimepacket.h: 
2102         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2103         sending and receiving.
2104
2105 2005-11-16  Wim Taymans  <wim@fluendo.com>
2106
2107         * check/Makefile.am:
2108         Enable valgrind check.
2109
2110         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2111         (gst_fake_src_alloc_buffer):
2112         Fix memleak.
2113
2114 2005-11-16  Wim Taymans  <wim@fluendo.com>
2115
2116         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2117         Call parent finalize too.
2118
2119 2005-11-16  Wim Taymans  <wim@fluendo.com>
2120
2121         * check/Makefile.am:
2122         Enable valgrind check that should work fine now.
2123
2124         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2125         * gst/gstqueue.c: (gst_queue_init):
2126         Fix memleaks in pad allocation.
2127
2128 2005-11-16  Andy Wingo  <wingo@pobox.com>
2129
2130         * gst/net/Makefile.am:
2131         * gst/net/gstnet.h: New part of core to hold network elements and
2132         objects. Put in core because it exposes API that applications want
2133         to use. The library is named libgstnet-tempname right now because
2134         of the existing libgstnet in gst-plugins-base. Solution is
2135         probably to rename the one in plugins-base; will file a bug for
2136         the freeze break.
2137
2138         * gst/net/gstnettimeprovider.c: 
2139         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2140         get_time call over the network.
2141
2142         * configure.ac: 
2143         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2144
2145         * check/Makefile.am:
2146         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2147         get additions shortly.
2148
2149 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2150
2151         * gst/gstpad.c: (gst_pad_new_from_static_template):
2152         * gst/gstpad.h:
2153           add gst_pad_new_from_static_template functions
2154         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2155         (gst_check_setup_sink_pad):
2156         * gst/elements/gsttee.c: (gst_tee_init):
2157           and use them
2158
2159 2005-11-16  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/gstpad.c: (gst_pad_pause_task):
2162         Removed warning, it's not really an error either.
2163
2164 2005-11-16  Wim Taymans  <wim@fluendo.com>
2165
2166         * gst/base/gstbasetransform.c:
2167         (gst_base_transform_prepare_output_buf),
2168         (gst_base_transform_event):
2169         Check if the caps are NULL, this can happen if the element
2170         is shutting down and the pad caps are set to NULL.
2171
2172 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * gst/elements/gsttee.c: (gst_tee_init):
2175           fix pad template leak in tee
2176
2177 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2178
2179         * gst/glib-compat.c: (g_value_dup_gst_object):
2180         * gst/glib-compat.h:
2181         * gst/gstpad.c: (gst_pad_set_property):
2182           use gst_object_ref when setting the pad template; this will
2183           trigger the pad template leaks on GLib 2.6 and the slaves
2184
2185 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2186
2187         * gst/glib-compat.c: (gst_flags_get_first_value):
2188         * gst/glib-compat.h:
2189         * gst/gstregistryxml.c:
2190           remove functions copied from GLib 2.6
2191
2192 2005-11-16  Michael Smith <msmith@fluendo.com>
2193
2194         * gst/Makefile.am:
2195           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2196           do, but only breaks with newer valgrind versions. We're not a
2197           valgrind tool, we have no link-time dependencies on libcoregrind.
2198
2199 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2200
2201         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2202           some debug changes
2203         * gst/gstmessage.h:
2204           typo fixes
2205
2206 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2207
2208         * gst/base/gstbasesrc.c: (gst_base_src_init):
2209         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2210         * gst/gstqueue.c: (gst_queue_init):
2211         * gst/gstregistryxml.c: (load_feature):
2212           Revert all these unrefs, they don't even pass make check !
2213
2214 2005-11-15  Johan Dahlin  <johan@gnome.org>
2215
2216         * gst/base/gstbasesrc.c: (gst_base_src_init):
2217         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2218         * gst/gstqueue.c: (gst_queue_init): 
2219         Free pad templates, fixes a couple of leaks.
2220
2221 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2222
2223         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2224
2225         * gst/gstpad.c: (gst_pad_get_property):
2226           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2227           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2228           (#321452)
2229
2230 2005-11-15  Wim Taymans  <wim@fluendo.com>
2231
2232         * gst/gstevent.c:
2233         Small doc update.
2234
2235 2005-11-15  Andy Wingo  <wingo@pobox.com>
2236
2237         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2238
2239         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2240         using GST_CLOCK_TIME_NONE to disable base time management.
2241         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2242         time if it was NONE before.
2243         (gst_pipeline_change_state): Only munge the base time if
2244         stream_time != GST_CLOCK_TIME_NONE.
2245
2246         * check/gst/gstpipeline.c (test_base_time): Punt around the
2247         problem of the probe not being called, because that's not the
2248         issue I'm looking at. Add a check that setting stream_time to NONE
2249         disables base time management.
2250         
2251 2005-11-15  Wim Taymans  <wim@fluendo.com>
2252
2253         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2254         segment_stop == -1 at startup.
2255
2256         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2257         (gst_base_transform_change_state):
2258         Init segment values at start.
2259
2260 2005-11-15  Wim Taymans  <wim@fluendo.com>
2261
2262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2263         0 segment values are 0 in any format.
2264
2265         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2266         * gst/base/gstbasetransform.h:
2267         Parse newsegment correctly in basetransform
2268
2269         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2270         Sync to clock using updated segment values.
2271
2272 2005-11-15  Andy Wingo  <wingo@pobox.com>
2273
2274         * check/gst/gstpipeline.c (test_base_time): Add check that the
2275         base time and stream time are reset correctly.
2276
2277 2005-11-15  Wim Taymans  <wim@fluendo.com>
2278
2279         * docs/design/part-TODO.txt:
2280         Some more TODO items.
2281
2282 2005-11-15  Andy Wingo  <wingo@pobox.com>
2283
2284         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2285         error if the user selected "no clock" as the clocking method.
2286
2287         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2288         timestamps with live capture.
2289
2290         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2291         is 0 but we are a live source, timestamp the buffers using the
2292         element's clock.
2293
2294 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2295
2296         * docs/gst/gstreamer-sections.txt:
2297         * gst/gsterror.c:
2298         * gst/gstghostpad.c:
2299         * gst/gstobject.h:
2300         * gst/gstxml.c:
2301           more section docs
2302
2303 2005-11-14  Wim Taymans  <wim@fluendo.com>
2304
2305         * common/gst.supp:
2306           add suppressions from Wim's Debian machine
2307
2308 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2309
2310         * common/gst.supp:
2311           add suppressions from Andy's AMD64 Ubuntu machine
2312
2313 2005-11-14  Andy Wingo  <wingo@pobox.com>
2314
2315         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2316         STATE_LOCK not necessary. Fixes #311489.
2317
2318         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2319         #305291.
2320
2321         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2322         this function is not implemented.
2323
2324 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2325
2326         * gst/base/gstbasetransform.c:
2327         (gst_base_transform_prepare_output_buf):
2328         Ref the source pad caps while we need them.
2329         Fixes (#321386)
2330
2331 2005-11-11  Wim Taymans  <wim@fluendo.com>
2332
2333         * docs/gst/gstreamer-sections.txt:
2334         Added some docs for GstCollectData.
2335
2336         * gst/base/gstadapter.c:
2337         Some small code example fix.
2338
2339         * gst/base/gstcollectpads.c:
2340         * gst/base/gstcollectpads.h:
2341         Document some more.
2342
2343 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2344
2345         * configure.ac: back to HEAD
2346
2347 === release 0.9.5 ===
2348
2349 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2350
2351         * configure.ac:
2352           releasing 0.9.5, "Bike Lunch Day"
2353
2354 2005-11-11  Wim Taymans  <wim@fluendo.com>
2355
2356         * gst/gstbuffer.c: (_gst_buffer_copy):
2357         Copy more flags.
2358
2359         * gst/gstcaps.c: (gst_caps_is_equal):
2360         Fix some docs.
2361         Make _is_equal fast in the trivial cases.
2362
2363         * gst/gstminiobject.c:
2364         * gst/gstminiobject.h:
2365         More docs. Spifify .h file.
2366
2367         * gst/gstutils.c:
2368         Small doc update.
2369
2370 2005-11-11  Wim Taymans  <wim@fluendo.com>
2371
2372         * gst/base/gstbasetransform.c:
2373         (gst_base_transform_prepare_output_buf),
2374         (gst_base_transform_handle_buffer):
2375         Small cleanups.
2376         If we're processing a buffer and need to allocate an output
2377         buffer, we cannot accept a format change. If we did get a 
2378         format change, we have to alloc a buffer ourselves of the 
2379         right size.
2380
2381 2005-11-11  Wim Taymans  <wim@fluendo.com>
2382
2383         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2384         While checking the flag for reentrancy in the gstcaps function
2385         is nice to detect recursive invocations, it also makes it 
2386         impossible to call getcaps from multiple threads, which must be
2387         possible. So, checking for recursive calls has to go.
2388
2389 2005-11-11  Michael Smith <msmith@fluendo.com>
2390
2391         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2392           Don't sync on buffers that fall partially outside our current
2393           segment. Prevents an assertion failure/abort playing some files.
2394
2395 2005-11-10  Andy Wingo  <wingo@pobox.com>
2396
2397         * check/gst/gstbin.c (test_message_state_changed_children): Style
2398         fix..
2399
2400         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2401         gst_bus_poll with the signal watch. Ensures that poll and a signal
2402         watch see the same messages.
2403
2404         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2405         a poll and a watch at the same time get the same messages.
2406
2407 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2408
2409         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2410         * gst/gstcaps.c: (gst_caps_intersect):
2411           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2412           and it's not needed.
2413
2414 2005-11-10  Wim Taymans  <wim@fluendo.com>
2415
2416         * docs/design/part-TODO.txt:
2417         Updated todo.
2418
2419 2005-11-10  Wim Taymans  <wim@fluendo.com>
2420
2421         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2422         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2423         (gst_base_src_do_sync), (gst_base_src_get_range):
2424         Implement clock sync in base class.
2425
2426 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2427
2428         patch by: Tim-Philipp Müller <tim at centricular dot net>
2429
2430         * gst/gststructure.c: (gst_structure_parse_field),
2431         (gst_structure_from_string):
2432           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2433           so that gst_parse_launch() can deal with spaces in filtered link
2434           caps (fixes #164479)
2435         * check/gst/capslist.h:
2436         * check/gst/gststructure.c: (GST_START_TEST):
2437           add unit tests for this change
2438
2439 2005-11-10  Wim Taymans  <wim@fluendo.com>
2440
2441         * docs/gst/gstreamer-sections.txt:
2442         * gst/gstelement.c:
2443         * gst/gstelement.h:
2444         Fix docs, move some STATE macros to private.
2445
2446 2005-11-10  Wim Taymans  <wim@fluendo.com>
2447
2448         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2449         Added check for bug #317341
2450
2451         * gst/gstbuffer.c:
2452         * gst/gstbuffer.h:
2453         Some more spiffifying.
2454
2455         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2456         Call peer linkfunction if we are a source pad. Totally fixes
2457         #317341
2458
2459         * gst/gstpad.c:
2460         Update docs, source pads should call the peer linkfunction
2461         so they can atomically perform the pad link.
2462
2463 2005-11-09  Wim Taymans  <wim@fluendo.com>
2464
2465         * gst/gstbuffer.c:
2466         * gst/gstbuffer.h:
2467         Uber-spiffy-spiffify some more.
2468
2469 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2470
2471         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2472         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2473         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2474         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2475         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2476         * gst/gstpad.c: (gst_pad_init):
2477           Use GST_DEBUG_FUNCPTR() more extensively.
2478
2479 2005-11-09  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/gstobject.c: (gst_object_class_init):
2482         * gst/gstobject.h:
2483         Documentation fixes.
2484
2485 2005-11-09  Edward Hervey  <edward@fluendo.com>
2486
2487         * gst/gsttypefindfactory.c:
2488         Fix docs.
2489         
2490 2005-11-09  Edward Hervey  <edward@fluendo.com>
2491
2492         * gst/base/gsttypefindhelper.c:
2493         * gst/gsttypefind.c:
2494         * gst/gsttypefind.h:
2495         Fix docs.
2496
2497 2005-11-09  Wim Taymans  <wim@fluendo.com>
2498
2499         * gst/gstiterator.c:
2500         Fix revision data.
2501
2502         * gst/gsttask.c:
2503         * gst/gsttask.h:
2504         Fix docs.
2505
2506 2005-11-09  Wim Taymans  <wim@fluendo.com>
2507
2508         * gst/gstevent.h:
2509         * gst/gsturi.h:
2510         Fix docs.
2511
2512 2005-11-09  Wim Taymans  <wim@fluendo.com>
2513
2514         * docs/gst/gstreamer-sections.txt:
2515         Moved the message async delivery private lock and cond
2516         to the private section.
2517
2518         * gst/gstmessage.c:
2519         * gst/gstmessage.h:
2520         Fixed docs.
2521
2522 2005-11-09  Edward Hervey  <edward@fluendo.com>
2523
2524         * docs/gst/gstreamer-sections.txt:
2525         * gst/gsturi.c:
2526         * gst/gsturi.h:
2527         Document GstURIHandler
2528
2529 2005-11-09  Wim Taymans  <wim@fluendo.com>
2530
2531         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2532         (gst_iterator_find_custom):
2533         * gst/gstiterator.h:
2534         Fix iterator docs.
2535
2536 2005-11-09  Wim Taymans  <wim@fluendo.com>
2537
2538         * gst/gstbin.h:
2539         Document another field.
2540
2541         * gst/gststructure.c:
2542         * gst/gststructure.h:
2543         Document.
2544
2545 2005-11-09  Wim Taymans  <wim@fluendo.com>
2546
2547         * gst/gstbin.h:
2548         Documented structs.
2549
2550 2005-11-09  Wim Taymans  <wim@fluendo.com>
2551
2552         * docs/gst/gstreamer-sections.txt:
2553         Added some new macros.
2554
2555         * gst/gstclock.c:
2556         * gst/gstclock.h:
2557         * gst/gstobject.h:
2558         Docs updates.
2559
2560 2005-11-09  Wim Taymans  <wim@fluendo.com>
2561
2562         * docs/design/part-TODO.txt:
2563         Some more items for the TODO
2564
2565         * gst/gstcaps.c:
2566         * gst/gstcaps.h:
2567         Document GstCaps.
2568
2569 2005-11-09  Andy Wingo  <wingo@pobox.com>
2570
2571         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2572         to work on something else now tho...
2573
2574         * gst/base/gstadapter.c: More adapter docs.
2575
2576         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2577         (gst_file_sink_stop): New functions, replace the state change
2578         handler.
2579         (gst_file_sink_class_init): Hook up the start and stop functions.
2580         (gst_file_sink_base_init): Don't set the state change handler any
2581         more. It was a bit ugly too, being set from here...
2582         (gst_file_sink_get_property, gst_file_sink_set_property):
2583         Cleanups...
2584         (gst_file_sink_set_location): More robust check that doesn't call
2585         GST_STATE. Ugggggg.
2586
2587 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2588
2589         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2590           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2591
2592 2005-11-08  Wim Taymans  <wim@fluendo.com>
2593
2594         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2595         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2596         (gst_base_sink_chain), (gst_base_sink_change_state):
2597         * gst/base/gstbasesink.h:
2598         * gst/base/gstbasesrc.h:
2599         * gst/gstelement.h:
2600         * gst/gstevent.h:
2601         Avoid excessive typechecking in macros.
2602
2603         * gst/gstminiobject.c: (gst_mini_object_get_type),
2604         (gst_mini_object_init), (gst_mini_object_new),
2605         (gst_mini_object_free):
2606         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2607         (gst_object_finalize):
2608         Remove cruft code, optimize alloc_trace.
2609
2610 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2611
2612         * docs/faq/gst-uninstalled:
2613           fix up PS1 for systems that try to reset it
2614
2615 2005-11-07  Wim Taymans  <wim@fluendo.com>
2616
2617         * gst/base/gstbasesrc.c: (gst_base_src_init),
2618         (gst_base_src_get_range):
2619         Set the segment_end to -1 initially. Fixed typefind.
2620
2621 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2622
2623         * gst/base/gstadapter.c:
2624           Debug category should be 'adapter', not 'GstAdapter'.
2625           
2626         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2627         (gst_collectpads_class_init), (gst_collectpads_init),
2628         (gst_collectpads_peek), (gst_collectpads_pop),
2629         (gst_collectpads_event), (gst_collectpads_chain):
2630           Add debug category and some debugging output. Use boilerplate
2631           macros. Remove some extraneous words from docs.
2632
2633 2005-11-05  Andy Wingo  <wingo@pobox.com>
2634
2635         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2636         macro.
2637
2638 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2639
2640         * docs/gst/gstreamer-sections.txt:
2641         * gst/gstcaps.h:
2642         * gst/gstinfo.c:
2643         * gst/gstminiobject.h:
2644         * gst/gstobject.h:
2645         * gst/gstutils.h:
2646           more docs added
2647
2648 2005-11-04  Wim Taymans  <wim@fluendo.com>
2649
2650         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2651         Small update to stop at the configured segment_end
2652         position.
2653
2654 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2655
2656         * gst/gstregistry.c:
2657         * gst/gstregistry.h:
2658           added missing docs
2659
2660 2005-11-04  Edward Hervey  <edward@fluendo.com>
2661
2662         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2663         Check if we are doing a segment seek and have arrived at the
2664         end of that segment.
2665
2666 2005-11-04  Wim Taymans  <wim@fluendo.com>
2667
2668         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2669         Don't leak a mutex unlock in case of an error.
2670
2671         * gst/gstbus.h:
2672         Doc fixes.
2673
2674 2005-11-04  Wim Taymans  <wim@fluendo.com>
2675
2676         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2677         (gst_bus_post):
2678         Get the context to wake up only once.
2679
2680 2005-11-03  Wim Taymans  <wim@fluendo.com>
2681
2682         * check/states/sinks.c: (GST_START_TEST):
2683         Uncomment fixed check.
2684
2685         * docs/design/part-TODO.txt:
2686         Updated TODO.
2687
2688         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2689         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2690         (gst_base_sink_get_position):
2691         If we are going to PLAYING, post the right pending state
2692         when we post the intermediate paused message.
2693
2694         * gst/gstelement.c: (gst_element_continue_state),
2695         (gst_element_set_state_func), (gst_element_change_state):
2696         Don't post state changes that were between the same state
2697         and were not ASYNC.
2698
2699 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2700
2701         * docs/gst/gstreamer-sections.txt:
2702         * gst/gstcaps.h:
2703         * gst/gstinfo.c:
2704         * gst/gstminiobject.h:
2705         * gst/gstobject.h:
2706         * gst/gstutils.h:
2707           more docs and doc style fixes
2708
2709 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2710
2711         * docs/gst/gstreamer-sections.txt:
2712         * gst/gstelement.c:
2713         * gst/gstminiobject.c:
2714         doc fixes
2715
2716 2005-11-03  Andy Wingo  <wingo@pobox.com>
2717
2718         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2719         state-changed messages actually have the right order and the right
2720         values.
2721
2722 2005-11-03  Wim Taymans  <wim@fluendo.com>
2723
2724         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2725         Added some more checks. Specifically the case where NO_PREROLL
2726         elements are in the pipeline.
2727
2728         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2729         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2730         (gst_base_sink_get_position):
2731         Post READY->PAUSED state change messages too.
2732         Fix bug where VOID was posted as pending state...
2733
2734         * gst/gstbin.c: (gst_bin_recalc_state):
2735         use _element_continue_state() to continue the state change.
2736
2737         * gst/gstelement.c: (gst_element_continue_state),
2738         (gst_element_commit_state), (gst_element_set_state_func),
2739         (gst_element_change_state), (gst_element_change_state_func):
2740         Lots of state change cleanups, assign the STATE_RETURN in
2741         a new continue_state() function that also propagates the
2742         last return value from a state change to the app.
2743         Update some debug statements with proper category.
2744
2745 2005-11-03  Wim Taymans  <wim@fluendo.com>
2746
2747         * docs/design/part-events.txt:
2748         * docs/design/part-gstpipeline.txt:
2749         * docs/design/part-messages.txt:
2750         * docs/design/part-overview.txt:
2751         * docs/design/part-seeking.txt:
2752         * docs/design/part-states.txt:
2753         * docs/design/part-trickmodes.txt:
2754         * docs/manual/advanced-position.xml:
2755         Small docs updates.
2756
2757         * gst/gstobject.h:
2758         People think !! is ugly, this looks better.
2759
2760         * gst/gstpad.c: (gst_pad_set_blocked_async):
2761         Remove !! since it's fixed elsewhere now.
2762
2763 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2764
2765         * gst/gstminiobject.h:
2766         * gst/gstobject.h:
2767           Add !! to _FLAG_IS_SET macros to make the result boolean.
2768
2769 2005-11-03  Edward Hervey  <edward@fluendo.com>
2770
2771         * gst/gstpad.c: (gst_pad_set_blocked_async):
2772         comparing a flag and a gboolean rarely returns coherent results...
2773         Added two characters (!!) to make that work correctly.
2774         
2775 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2776
2777         * gst/gstbus.c: (gst_bus_class_init):
2778           Fix some typos.
2779           
2780         * gst/gstqueue.c: (gst_queue_loop):
2781           Don't assume a miniobject that isn't a buffer is an
2782           event (it could be that there is a refcounting
2783           problem somewhere and the pointer is stale and
2784           refers to an already destroyed miniobject).
2785
2786 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2787
2788         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2789
2790 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2791
2792         * docs/manual/advanced-position.xml:
2793           Update seek example and explanations to current 0.9 API.
2794
2795         * gst/elements/gsttypefindelement.c:
2796         (gst_type_find_element_activate):
2797           Remove FIXME comment now that the found caps
2798           are unreffed.
2799
2800 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2801
2802         * gst/gstregistryxml.c: (load_feature):
2803           Add another GST_STR_NULL instance
2804
2805 2005-11-02  Edward Hervey  <edward@fluendo.com>
2806
2807         * gst/gstpad.c: (handle_pad_block):
2808         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2809         
2810 2005-11-02  Wim Taymans  <wim@fluendo.com>
2811
2812         * gst/gstbin.c:
2813         Fix typo in docs.
2814
2815         * gst/gstelement.c: (gst_element_commit_state):
2816         Remove unused value.
2817
2818         * gst/gstiterator.c:
2819         Mention that the returned element is reffed in the docs.
2820
2821 2005-11-02  Wim Taymans  <wim@fluendo.com>
2822
2823         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2824         (gst_pad_push), (gst_pad_push_event):
2825         Unlock blocked pads when they are flushed.
2826
2827 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2828
2829         * docs/README:
2830         * docs/gst/gstreamer-sections.txt:
2831         * gst/gstbin.c:
2832           doc updates
2833         * gst/gstregistry.c: (gst_registry_scan_path_level):
2834           fix for a nasty little missed situation where an installed plug-in
2835           which was in the cache did not get overridden by an uninstalled one
2836           which was earlier in the plugin path because the newly created plugin
2837           for the uninstalled one (not in the registry) didn't get its
2838           ->registered set to TRUE
2839
2840 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2841
2842         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2843         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2844         (gst_collectpads_is_active), (gst_collectpads_collect),
2845         (gst_collectpads_collect_range), (gst_collectpads_start),
2846         (gst_collectpads_stop), (gst_collectpads_peek),
2847         (gst_collectpads_pop), (gst_collectpads_available),
2848         (gst_collectpads_read), (gst_collectpads_flush):
2849           Guard public API with assertions.
2850         
2851         * gst/gstpad.c:
2852           Fix docs for gst_pad_set_link_function().
2853
2854 2005-11-02  Johan Dahlin  <johan@gnome.org>
2855
2856         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2857         Unref found_caps after we used it.
2858
2859 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2860
2861         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2862           Don't try to ref NULL.
2863
2864 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2865
2866         * win32/common/config.h.in:
2867           provide a GST_FUNCTION that just gives a string for now
2868
2869 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2870
2871         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2872         (gst_object_flags_get_type), (register_gst_bin_flags),
2873         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2874         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2875         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2876         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2877         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2878         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2879         (gst_clock_flags_get_type), (register_gst_state),
2880         (gst_state_get_type), (register_gst_state_change_return),
2881         (gst_state_change_return_get_type), (register_gst_state_change),
2882         (gst_state_change_get_type), (register_gst_element_flags),
2883         (gst_element_flags_get_type), (register_gst_core_error),
2884         (gst_core_error_get_type), (register_gst_library_error),
2885         (gst_library_error_get_type), (register_gst_resource_error),
2886         (gst_resource_error_get_type), (register_gst_stream_error),
2887         (gst_stream_error_get_type), (register_gst_event_type),
2888         (gst_event_type_get_type), (register_gst_seek_type),
2889         (gst_seek_type_get_type), (register_gst_seek_flags),
2890         (gst_seek_flags_get_type), (register_gst_format),
2891         (gst_format_get_type), (register_gst_index_certainty),
2892         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2893         (gst_index_entry_type_get_type),
2894         (register_gst_index_lookup_method),
2895         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2896         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2897         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2898         (gst_index_flags_get_type), (register_gst_debug_level),
2899         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2900         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2901         (gst_iterator_result_get_type), (register_gst_iterator_item),
2902         (gst_iterator_item_get_type), (register_gst_message_type),
2903         (gst_message_type_get_type), (register_gst_mini_object_flags),
2904         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2905         (gst_pad_link_return_get_type), (register_gst_flow_return),
2906         (gst_flow_return_get_type), (register_gst_activate_mode),
2907         (gst_activate_mode_get_type), (register_gst_pad_direction),
2908         (gst_pad_direction_get_type), (register_gst_pad_flags),
2909         (gst_pad_flags_get_type), (register_gst_pad_presence),
2910         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2911         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2912         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2913         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2914         (gst_plugin_flags_get_type), (register_gst_rank),
2915         (gst_rank_get_type), (register_gst_query_type),
2916         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2917         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2918         (gst_tag_flag_get_type), (register_gst_task_state),
2919         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2920         (gst_alloc_trace_flags_get_type),
2921         (register_gst_type_find_probability),
2922         (gst_type_find_probability_get_type), (register_gst_uri_type),
2923         (gst_uri_type_get_type), (register_gst_parse_error),
2924         (gst_parse_error_get_type):
2925         * win32/common/gstversion.h:
2926           update win32 copies
2927
2928 2005-11-01  Luca Ognibene  <luogni@tin.it>
2929
2930         * gst/gst.c:
2931           fix docs. popt is dead, long live GOption.
2932
2933 2005-10-31  Wim Taymans  <wim@fluendo.com>
2934
2935         * gst/gstbuffer.h:
2936         Small doc fix.
2937
2938 2005-10-31  Andy Wingo  <wingo@pobox.com>
2939
2940         * Boo!
2941
2942         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2943
2944         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2945         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2946         the possibility of deadlocks here if code calling notify() or
2947         set() has a lock that can be taken in another notify handler (ABBA
2948         with class lock and e.g. python GIL state lock).
2949
2950 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2951
2952         * gst/gstbus.c: Doc updates.
2953
2954 2005-10-28  Wim Taymans  <wim@fluendo.com>
2955
2956         * docs/design/part-TODO.txt:
2957         * gst/gstiterator.c:
2958         * gst/gstsystemclock.c:
2959         * gst/gstsystemclock.h:
2960         Doc updates.
2961
2962 2005-10-28  Edward Hervey  <edward@fluendo.com>
2963
2964         * docs/gst/gstreamer-docs.sgml:
2965         * docs/gst/gstreamer-sections.txt:
2966         the GstURIType documentation page is private, it only defines GstURIType
2967         which should be defined in the GstURIHandler page
2968         
2969 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2970
2971         * gst/gstbin.c: (gst_bin_class_init):
2972         * gst/gstbin.h:
2973         * gst/gstutils.c:
2974         Documentation updates.
2975
2976 2005-10-28  Wim Taymans  <wim@fluendo.com>
2977
2978         * docs/gst/gstreamer-sections.txt:
2979         * gst/gstclock.c:
2980         * gst/gstclock.h:
2981         Documented the clocks.
2982
2983 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2984
2985         * docs/gst/gstreamer-sections.txt:
2986           move some macros to private sections
2987         * gst/gstminiobject.c:
2988         * gst/gstminiobject.h:
2989           add descriptions provided by ds and some more
2990         * gst/gstpad.h:
2991           mark macro as to be removed
2992
2993 2005-10-28  Wim Taymans  <wim@fluendo.com>
2994
2995         * docs/design/part-TODO.txt:
2996         Add an item to TODO.
2997
2998         * gst/gstiterator.c: (gst_iterator_fold),
2999         (gst_iterator_find_custom):
3000         * gst/gstiterator.h:
3001         Add iterator docs.
3002
3003 2005-10-28  Wim Taymans  <wim@fluendo.com>
3004
3005         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3006         (gst_base_transform_init):
3007         Don't leak class.
3008
3009         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3010         An EOS event marks the queue as completely filled.
3011
3012 2005-10-27  Wim Taymans  <wim@fluendo.com>
3013
3014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3015         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3016         Some more debugging.
3017
3018         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3019         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3020         (gst_base_transform_event), (gst_base_transform_getrange),
3021         (gst_base_transform_chain):
3022         * gst/base/gstbasetransform.h:
3023         Fix debugging,
3024         Protect transform and concurrent buffer alloc with a new lock.
3025         Try not to break ABI/API.
3026
3027 2005-10-27  Wim Taymans  <wim@fluendo.com>
3028
3029         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3030         (gst_base_src_init), (gst_base_src_query),
3031         (gst_base_src_default_newsegment),
3032         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3033         (gst_base_src_send_event), (gst_base_src_event_handler),
3034         (gst_base_src_pad_get_range), (gst_base_src_loop),
3035         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3036         (gst_base_src_start), (gst_base_src_deactivate),
3037         (gst_base_src_activate_push), (gst_base_src_change_state):
3038         Move some stuff around and cleanup things.
3039
3040 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3041
3042         * gst/base/gstbasesrc.c: (gst_base_src_query):
3043           Add missing break statements.
3044
3045 2005-10-27  Wim Taymans  <wim@fluendo.com>
3046
3047         * check/gst/gstbin.c: (GST_START_TEST):
3048         An extra refcount is taken in basesrc.
3049
3050         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3051         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3052         (gst_base_src_loop):
3053         Small cleanups, check for flushing after being unlocked from the 
3054         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3055         Don't send out EOS when going to READY.
3056
3057 2005-10-27  Wim Taymans  <wim@fluendo.com>
3058
3059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3060         (gst_base_sink_get_position):
3061         Some more debug.
3062
3063         * gst/gstbin.c: (message_check), (bin_replace_message),
3064         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3065         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3066         (bin_query_duration_init), (bin_query_duration_fold),
3067         (bin_query_duration_done), (bin_query_generic_fold),
3068         (gst_bin_query):
3069         * tools/gst-launch.c: (main):
3070         Remove old option.
3071
3072 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3073
3074         * examples/controller/audio-example.c: (main):
3075         * examples/queue/queue.c: (event_loop):
3076         * gst/base/gstbasetransform.h:
3077         * gst/gstelement.c: (gst_element_send_event):
3078         * gst/gstevent.h:
3079         * gst/gstpad.c: (gst_pad_send_event):
3080           fixing examples
3081           fixing docs typos
3082           changing log priority in error situations
3083
3084 2005-10-25  Wim Taymans  <wim@fluendo.com>
3085
3086         * gst/gstbin.c: (message_check), (bin_replace_message),
3087         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3088         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3089         (bin_query_duration_init), (bin_query_duration_fold),
3090         (bin_query_duration_done), (bin_query_generic_fold),
3091         (gst_bin_query):
3092         Some doc and debug updates.
3093         Cache previously requested query DURATION for speed. invalidate
3094         cached duration if element posts a DURATION message.
3095
3096 2005-10-25  Wim Taymans  <wim@fluendo.com>
3097
3098         * docs/design/part-TODO.txt:
3099         Update TODO.
3100
3101         * gst/gstbin.c: (message_check), (bin_replace_message),
3102         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3103         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3104         (bin_query_duration_init), (bin_query_duration_fold),
3105         (bin_query_duration_done), (bin_query_generic_fold),
3106         (gst_bin_query):
3107         Handle SEGMENT_START/DONE messages correctly.
3108         More evolved query algorithm that handles duration queries
3109         correctly.
3110
3111         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3112         (gst_element_get_state_func), (gst_element_abort_state),
3113         (gst_element_commit_state), (gst_element_lost_state):
3114         Some more debugging.
3115
3116         * gst/gstmessage.h:
3117         Added doc.
3118
3119 2005-10-25  Wim Taymans  <wim@fluendo.com>
3120
3121         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3122         Don't use invalid stream_time.
3123
3124         * gst/gstevent.c: (gst_event_new_newsegment):
3125         stream_time in newsegment cannot be undefined.
3126
3127 2005-10-24  Wim Taymans  <wim@fluendo.com>
3128
3129         * gst/gstbus.c:
3130         Doc fix.
3131
3132         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3133         (gst_queue_loop):
3134         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3135
3136 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3137
3138         * docs/libs/tmpl/gstdparam.sgml:
3139         * docs/libs/tmpl/gstdplinint.sgml:
3140         * docs/libs/tmpl/gstdpman.sgml:
3141         * docs/libs/tmpl/gstdpsmooth.sgml:
3142         * docs/libs/tmpl/gstunitconvert.sgml:
3143           these are obsolete
3144
3145 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * configure.ac:
3148           back to HEAD
3149
3150 === release 0.9.4 ===
3151
3152 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3153
3154         * configure.ac:
3155           releasing 0.9.4, "Tyrannosaurus Rex"
3156
3157 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3158
3159         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3160         (gst_file_sink_get_current_offset):
3161           Use fseeko() and ftello() if available. When falling back on
3162           lseek() to get the current offset, fflush() first to make sure
3163           everything is up-to-date and we get the right offset.
3164
3165 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3168         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3169         * gst/gsterror.c: (_gst_stream_errors_init):
3170         * gst/gsterror.h:
3171         * gst/gstqueue.c: (gst_queue_loop):
3172         * po/POTFILES.in:
3173           remove prematurely added error category and clean up the instances
3174
3175 2005-10-21  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3178         (gst_base_sink_get_position), (gst_base_sink_query),
3179         (gst_base_sink_change_state):
3180         Simply set the right flag when going to playing, that's all
3181         we need to do instead of calling a function inside the object
3182         lock (that could take the lock as well and deadlock)
3183
3184 2005-10-21  Wim Taymans  <wim@fluendo.com>
3185
3186         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3187         (gst_base_src_loop):
3188         Don't warn, the peer element knows what to do best when
3189         the seek failed, it might try something else.
3190
3191 2005-10-21  Wim Taymans  <wim@fluendo.com>
3192
3193         * gst/base/gstbasesrc.c: (gst_base_src_init),
3194         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3195         Fix seeking.
3196
3197 2005-10-21  Wim Taymans  <wim@fluendo.com>
3198
3199         * docs/design/part-segments.txt:
3200         More docs.
3201
3202         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3203         Correctly set caps, even on the subbufer.
3204
3205 2005-10-21  Wim Taymans  <wim@fluendo.com>
3206
3207         * docs/gst/gstreamer-docs.sgml:
3208         * docs/gst/gstreamer-sections.txt:
3209         * gst/gstelement.h:
3210         * gst/gstevent.c:
3211         * gst/gstevent.h:
3212         * gst/gstmessage.h:
3213         * gst/gstpad.h:
3214         * gst/gstparse.h:
3215         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3216         * gst/gsttask.h:
3217         * gst/gstutils.c:
3218         * gst/gstutils.h:
3219         And 2% more doc coverage.
3220
3221 2005-10-21  Andy Wingo  <wingo@pobox.com>
3222
3223         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3224         position reporting.
3225
3226 2005-10-20  Wim Taymans  <wim@fluendo.com>
3227
3228         * gst/gsterror.c: (gst_error_get_message):
3229         * gst/gstparse.h:
3230         * gst/gstquery.h:
3231         * gst/gststructure.c:
3232         * gst/gsttrace.c:
3233         * gst/gstutils.c:
3234         More docs.
3235
3236 2005-10-20  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/gstbuffer.h:
3239         * gst/gstpad.c:
3240         * gst/gstparse.c:
3241         Another 1% more coverage.
3242
3243 2005-10-20  Wim Taymans  <wim@fluendo.com>
3244
3245         * docs/gst/gstreamer-sections.txt:
3246         * gst/gstelement.c: (gst_element_get_state_func),
3247         (gst_element_abort_state), (gst_element_commit_state),
3248         (gst_element_lost_state):
3249         * gst/gstevent.h:
3250         * gst/gstquery.c: (gst_query_set_position),
3251         (gst_query_parse_position), (gst_query_set_duration),
3252         (gst_query_parse_duration), (gst_query_new_convert):
3253         * gst/gstutils.c:
3254         Yay! 1% more docs coverage.
3255
3256 2005-10-20  Wim Taymans  <wim@fluendo.com>
3257
3258         * gst/gstpad.h:
3259         * gst/gstquery.c: (gst_query_set_position),
3260         (gst_query_parse_position), (gst_query_set_duration),
3261         (gst_query_parse_duration), (gst_query_new_convert):
3262         * gst/gstquery.h:
3263         * gst/gstutils.c: (gst_element_query_convert):
3264         * gst/gstutils.h:
3265         Docs and consistency fixes.
3266
3267 2005-10-20  Wim Taymans  <wim@fluendo.com>
3268
3269         * gst/gsttask.c:
3270         * gst/gsttask.h:
3271         More docs.
3272
3273 2005-10-20  Wim Taymans  <wim@fluendo.com>
3274
3275         * gst/gstbin.c: (message_check), (bin_replace_message),
3276         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3277         (update_degree), (gst_bin_sort_iterator_next),
3278         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3279         Reworked the message handling a bit, cache the messages instead of
3280         only the senders. alows us to do more in the future.
3281
3282 2005-10-20  Wim Taymans  <wim@fluendo.com>
3283
3284         * docs/design/part-TODO.txt:
3285         Update TODO
3286
3287         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3288         (gst_base_sink_query):
3289         Don't use clock time to report position when in EOS.
3290
3291 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3292
3293         * tools/gst-inspect.c: (print_interfaces),
3294         (print_element_properties_info), (print_element_info):
3295           Fix interface output with gst-inspect -a; don't print
3296           newlines after double/float properties.
3297
3298 2005-10-20  Wim Taymans  <wim@fluendo.com>
3299
3300         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3301         (gst_base_sink_query):
3302         Speed up current position calculation.
3303
3304         * gst/base/gstbasesrc.c: (gst_base_src_query),
3305         (gst_base_src_default_newsegment):
3306         Correctly set stream position in newsegment.
3307
3308         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3309         (update_degree), (gst_bin_sort_iterator_next),
3310         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3311         * gst/gstmessage.c: (gst_message_new_custom):
3312         Clean up debugging info
3313
3314         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3315         (gst_queue_loop), (gst_queue_handle_src_query):
3316         Pause task faster.
3317
3318 2005-10-19  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3321         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3322         Fix query handling again.
3323
3324 2005-10-19  Wim Taymans  <wim@fluendo.com>
3325
3326         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3327         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3328         * gst/base/gstbasesrc.c: (gst_base_src_query):
3329         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3330         * gst/elements/gsttypefindelement.c:
3331         (gst_type_find_handle_src_query), (find_element_get_length),
3332         (gst_type_find_element_activate):
3333         API change fix.
3334
3335         * gst/gstquery.c: (gst_query_new_position),
3336         (gst_query_set_position), (gst_query_parse_position),
3337         (gst_query_new_duration), (gst_query_set_duration),
3338         (gst_query_parse_duration), (gst_query_set_segment),
3339         (gst_query_parse_segment):
3340         * gst/gstquery.h:
3341         Bundling query position/duration is not a good idea since duration
3342         does not change much and we don't want to recalculate it for every
3343         position query, so they are separated again..
3344         Base value in segment query is not needed.
3345
3346         * gst/gstqueue.c: (gst_queue_handle_src_query):
3347         * gst/gstutils.c: (gst_element_query_position),
3348         (gst_element_query_duration), (gst_pad_query_position),
3349         (gst_pad_query_duration):
3350         * gst/gstutils.h:
3351         Updates for query API change.
3352         Added some docs here and there.
3353
3354 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3355
3356         * check/gst/gstbin.c: (GST_START_TEST):
3357         * check/gst/gstghostpad.c: (GST_START_TEST):
3358         * check/pipelines/cleanup.c: (GST_START_TEST):
3359           wait on thread to die so we can check refcount correctly
3360
3361 2005-10-18  Wim Taymans  <wim@fluendo.com>
3362
3363         * check/pipelines/stress.c: (GST_START_TEST):
3364         Make check a little more time consuming.
3365
3366 2005-10-18  Wim Taymans  <wim@fluendo.com>
3367
3368         * check/Makefile.am:
3369         * check/pipelines/stress.c: (GST_START_TEST),
3370         (simple_launch_lines_suite), (main):
3371         Small state change torture test.
3372
3373         * docs/design/part-states.txt:
3374         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3375         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3376         (gst_base_sink_change_state):
3377         Never take state lock from streaming thread, clean up ugly
3378         hacks. Unfortunatly core does not yet support nice ways to
3379         async commit state.
3380         
3381         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3382         (bin_bus_handler):
3383         Start state recalc if a STATE_DIRTY message is posted, but only
3384         on the toplevel bin.
3385
3386         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3387         (gst_element_get_state_func), (gst_element_abort_state),
3388         (gst_element_commit_state), (gst_element_lost_state),
3389         (gst_element_set_state_func), (gst_element_change_state):
3390         * gst/gstelement.h:
3391         State variables are now protected with the LOCK, the state
3392         lock is only used to serialize _set_state().
3393
3394 2005-10-18  Wim Taymans  <wim@fluendo.com>
3395
3396         * check/gst/gstbin.c: (GST_START_TEST):
3397         * check/gst/gstmessage.c: (GST_START_TEST):
3398         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3400         (bin_bus_handler):
3401         * gst/gstelement.c: (gst_element_abort_state),
3402         (gst_element_commit_state), (gst_element_lost_state):
3403         * gst/gstmessage.c: (gst_message_new_state_changed),
3404         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3405         (gst_message_new_segment_done), (gst_message_new_duration),
3406         (gst_message_parse_state_changed),
3407         (gst_message_parse_segment_start),
3408         (gst_message_parse_segment_done), (gst_message_parse_duration):
3409         * gst/gstmessage.h:
3410         * tools/gst-launch.c: (event_loop):
3411         Seriously, this is better than a previous commit as we only need
3412         to notify the fact that an element changed state in a streaming
3413         thread, marking the state of the parents dirty, hence the 
3414         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3415         message.
3416
3417 2005-10-18  Wim Taymans  <wim@fluendo.com>
3418
3419         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3420         (gst_bin_recalc_func):
3421         * gst/gstelement.c: (gst_element_set_clock),
3422         (gst_element_abort_state), (gst_element_lost_state):
3423         Cleanups, prepare for state change fixes.
3424
3425 2005-10-18  Wim Taymans  <wim@fluendo.com>
3426
3427         * gst/gstbin.h:
3428         * gst/gstelement.c: (gst_element_class_init),
3429         (gst_element_set_state), (gst_element_set_state_func):
3430         * gst/gstelement.h:
3431         Pending ABI changes.
3432         GThreadPool in GstBinClass to monitor async state changes.
3433         state_cookie in GstElement to detect concurrent gst/set state.
3434         set_state is now virtual too in case a very complicated element
3435         has to be constructed.
3436
3437 2005-10-18  Wim Taymans  <wim@fluendo.com>
3438
3439         * check/gst/gstbin.c: (GST_START_TEST):
3440         * check/gst/gstmessage.c: (GST_START_TEST):
3441         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3442         * gst/gstbin.c: (bin_bus_handler):
3443         * gst/gstelement.c: (gst_element_commit_state),
3444         (gst_element_lost_state):
3445         * gst/gstmessage.c: (gst_message_new_state_changed),
3446         (gst_message_new_segment_start), (gst_message_new_segment_done),
3447         (gst_message_new_duration), (gst_message_parse_state_changed),
3448         (gst_message_parse_segment_start),
3449         (gst_message_parse_segment_done), (gst_message_parse_duration):
3450         * gst/gstmessage.h:
3451         * tools/gst-launch.c: (event_loop):
3452         Make messages future proof.
3453         state-change gets a flag if it was a message comming from the
3454         streaming thread.
3455         segment-start/stop can also be specified in other formats.
3456         A message to notify an app that a pipeline changed playback 
3457         duration.
3458         Also fix a GstMessage leak in -launch
3459
3460 2005-10-18  Andy Wingo  <wingo@pobox.com>
3461
3462         * gst/gstelement.c (gst_element_dispose): More helpful message.
3463
3464 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3465
3466         reviewed by: <delete if not using a buddy>
3467
3468         * common/gtk-doc.mak:
3469
3470 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3471
3472         * gst/gstregistry.c: (gst_registry_scan_path_level):
3473           unref a plug-in we get that was already initialized
3474
3475 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3476
3477         * docs/gst/gstreamer-sections.txt:
3478         * docs/libs/gstreamer-libs-sections.txt:
3479         * gst/gstelement.h:
3480           add new api entries
3481           hide internal macro
3482
3483 2005-10-17  Andy Wingo  <wingo@pobox.com>
3484
3485         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3486         cleanup.
3487
3488         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3489
3490         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3491
3492         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3493         (gst_element_get_state_func): Better debug message.
3494         (gst_element_commit_state): s/INFO/DEBUG/.
3495         (gst_element_lost_state, gst_element_change_state): 
3496
3497         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3498         (gst_message_new_custom): s/INFO/LOG/.
3499
3500 2005-10-17  Michael Smith <msmith@fluendo.com>
3501
3502         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3503           Check if end time is valid using end time, not start time.
3504
3505 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3506
3507         * check/gst-libs/controller.c: (GST_START_TEST),
3508         (gst_controller_suite):
3509         * libs/gst/controller/gstcontroller.c:
3510         (gst_controlled_property_set_interpolation_mode):
3511         * libs/gst/controller/gstcontroller.h:
3512         * libs/gst/controller/gstinterpolation.c:
3513         * testsuite/controller/.cvsignore:
3514         * testsuite/controller/Makefile.am:
3515         * testsuite/controller/interpolator.c:
3516           merge controller testsuites
3517           fix broken tests
3518           remove mem-chunk from docs
3519
3520 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3521
3522         * gst/gstmemchunk.c:
3523         * gst/gstmemchunk.h:
3524         * gst/gsttrashstack.c:
3525         * gst/gsttrashstack.h:
3526           out.  get out.  you're fired.  to the Attic !
3527
3528 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3529
3530         * gst/gstcaps.c: (gst_caps_intersect):
3531           fix signedness issues in a (hopefully) correct way
3532         * gst/gstelement.c: (gst_element_pads_activate):
3533           some debugging
3534         * gst/gstobject.c: (gst_object_set_parent):
3535           some debugging
3536
3537 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3538
3539         * gst/gstvalue.h: Fix prototypes.
3540
3541 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3542
3543         * docs/gst/gstreamer-sections.txt:
3544         * gst/gst.c: (gst_version_string):
3545         * gst/gst.h:
3546         * gst/gstversion.h.in:
3547         * win32/common/libgstreamer.def:
3548           add gst_version_string ()
3549
3550 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3551
3552         * configure.ac:
3553           clean up further
3554         * gst/gst.c: (init_post):
3555         * win32/common/config.h.in:
3556           it's PLUGINDIR now
3557         * gst/gstcaps.c: (gst_caps_intersect):
3558           use gint64, the range could be bigger than a guint
3559
3560 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3561
3562         * gst/gstclock.h:
3563           document potential problem in 2038
3564
3565 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3566
3567         * gst/gstcaps.c: (gst_caps_intersect):
3568           Fix guint j diving under 0
3569
3570 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3571
3572         * configure.ac:
3573         * win32/common/config.h:
3574         * win32/common/config.h.in:
3575           check for process.h, declares getpid() on Windows
3576         * gst/gstinfo.c:
3577           include process.h if we have it
3578         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3579         * gst/gstmemchunk.h:
3580           fix signedness issues
3581         * win32/common/libgstreamer.def:
3582           fix get_type's
3583
3584 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3585
3586         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3587         fix. Because of unsigned ints, caps intersection was going nuts and
3588         trying to access structures with G_MAXUINT index. That fixes
3589         videotestsrc ! ffmpegcolorspace ! fakesink
3590         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3591         consistency.
3592
3593 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3594
3595         * configure.ac:
3596           use the gettext macro
3597         * gst/elements/gstelements.c:
3598         * gst/gst.c:
3599         * gst/indexers/gstindexers.c:
3600           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3601         * win32/common/config.h:
3602           updated config.h
3603         * win32/common/config.h.in:
3604           add the template to generate config.h
3605         * win32/common/gstenumtypes.c:
3606         * win32/common/gstversion.h:
3607           updated copies
3608
3609 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3610
3611         * gst/gst.c: (gst_version):
3612         * gst/gstversion.h.in:
3613           add the nano
3614
3615 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3616
3617         * gst/gstevent.h:
3618           Oops, add missing closing bracket.
3619
3620 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3621
3622         * configure.ac:
3623           use common m4's for argument checking
3624
3625 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3626
3627         * docs/gst/gstreamer-sections.txt:
3628         * gst/gstevent.h:
3629           Add GST_EVENT_TYPE_NAME() macro.
3630
3631 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3632
3633         * gst/gstinfo.c:
3634         * gst/gstpluginfeature.c:
3635         * gst/gsttask.c:
3636           privatize more symbols
3637
3638 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         * configure.ac:
3641           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3642           everything that uses GStreamer API should have the includes
3643
3644 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3645
3646         * docs/gst/gstreamer-sections.txt:
3647         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3648         * gst/gstvalue.h:
3649           give each value a _get_type, removes the DATA exports
3650
3651 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3652
3653         * gst/gst.c:
3654         * gst/gst.h:
3655           remove _gst_registry_auto_load, not used anymore
3656         * gst/gstbin.c: (gst_bin_get_type):
3657         * gst/gstbin.h:
3658         * gst/gstelement.c: (gst_element_get_type):
3659         * gst/gstelement.h:
3660         * gst/gstobject.c: (gst_object_get_type):
3661         * gst/gstobject.h:
3662         * gst/gstpad.c: (gst_pad_get_type):
3663         * gst/gstpad.h:
3664           make _get_type functions similar, fixes data export from library
3665
3666 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3667
3668         * configure.ac:
3669           correctly make conditionals
3670         * gst/elements/Makefile.am:
3671         * gst/elements/gstelements.c:
3672           fix typo causing fdsrc not to build
3673
3674 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3675
3676         * testsuite/Makefile.am:
3677         * testsuite/bytestream/.cvsignore:
3678         * testsuite/bytestream/Makefile.am:
3679         * testsuite/bytestream/filepadsink.c:
3680         * testsuite/bytestream/gstbstest.c:
3681         * testsuite/bytestream/test1.c:
3682         * testsuite/bytestream/testfile1:
3683         * testsuite/caps/normalisation.c:
3684         * testsuite/caps/random.c: (main):
3685         * testsuite/cleanup/.cvsignore:
3686         * testsuite/cleanup/Makefile.am:
3687         * testsuite/cleanup/cleanup1.c:
3688         * testsuite/cleanup/cleanup2.c:
3689         * testsuite/cleanup/cleanup3.c:
3690         * testsuite/cleanup/cleanup4.c:
3691         * testsuite/cleanup/cleanup5.c:
3692         * testsuite/controller/interpolator.c:
3693         * testsuite/debug/printf_extension.c: (main):
3694         * testsuite/elements/tee.c:
3695         * testsuite/negotiation/.cvsignore:
3696         * testsuite/negotiation/Makefile.am:
3697         * testsuite/negotiation/pad_link.c:
3698         * testsuite/pad/Makefile.am:
3699         * testsuite/pad/chainnopull.c:
3700         * testsuite/pad/getnopush.c:
3701         * testsuite/pad/link.c:
3702         * testsuite/refcounting/sched.c: (create_pipeline):
3703         * testsuite/registry/Makefile.am:
3704         * testsuite/registry/gst-print-formats.c:
3705         * testsuite/schedulers/.cvsignore:
3706         * testsuite/schedulers/142183-2.c:
3707         * testsuite/schedulers/142183.c:
3708         * testsuite/schedulers/143777-2.c:
3709         * testsuite/schedulers/143777.c:
3710         * testsuite/schedulers/147713.c:
3711         * testsuite/schedulers/147819.c:
3712         * testsuite/schedulers/147894-2.c:
3713         * testsuite/schedulers/147894.c:
3714         * testsuite/schedulers/Makefile.am:
3715         * testsuite/schedulers/group_link.c:
3716         * testsuite/schedulers/queue_link.c:
3717         * testsuite/schedulers/relink.c:
3718         * testsuite/schedulers/unlink.c:
3719         * testsuite/schedulers/unref.c:
3720         * testsuite/schedulers/useless_iteration.c:
3721         * testsuite/states/bin.c:
3722           clean out/remove some stuff from the testsuite directories
3723
3724 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3725
3726         * configure.ac:
3727           check for some headers
3728         * gst/elements/Makefile.am:
3729         * gst/elements/gstelements.c:
3730           don't compile fdsrc without sys/socket.h
3731         * gst/indexers/Makefile.am:
3732         * gst/indexers/gstindexers.c: (plugin_init):
3733           don't compile fileindex without mmap
3734
3735 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * configure.ac:
3738           reorganize
3739           clean up
3740           document more
3741           remove cruft
3742         * check/Makefile.am:
3743         * docs/gst/Makefile.am:
3744         * examples/helloworld/Makefile.am:
3745         * gst/Makefile.am:
3746         * gst/base/Makefile.am:
3747         * gst/check/Makefile.am:
3748         * gst/elements/Makefile.am:
3749         * gst/indexers/Makefile.am:
3750         * gst/parse/Makefile.am:
3751         * libs/gst/controller/Makefile.am:
3752         * libs/gst/dataprotocol/Makefile.am:
3753         * examples/helloworld/helloworld.c: (event_loop):
3754           compile fixes, though it's not being compiled currently
3755
3756 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3757
3758         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3759           Add some simple tests for the new taglist date API.
3760
3761 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3762
3763         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3764         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3765           Beautify 'last-message' output: print 'none' for buffer timestamps
3766           and durations if none is set; improve alignment with next messages.
3767
3768 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3769
3770         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3771         * gst/gstpluginfeature.h:
3772         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3773         * gst/gstregistry.h:
3774         * docs/gst/gstreamer-sections.txt:
3775           Add new API to check plugin feature version requirements.
3776
3777         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3778           Some basic tests for the above.         
3779
3780 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3781
3782         * gst/gststructure.c: (gst_structure_to_string):
3783           guard against NULL printf - happens when for example
3784           a message structure with GstClock gets serialized
3785
3786 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3789           Fix presumable copy'n'pasto.
3790
3791 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3792
3793         * gst/elements/gstfakesrc.h:
3794         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3795         * gst/elements/gsttypefindelement.c:
3796           fix some signedness
3797         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3798           I wonder if this could actually write +2GB files before
3799
3800 2005-10-13  Andy Wingo  <wingo@pobox.com>
3801
3802         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3803         Fix Timmeke Waymans bug.
3804         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3805         string of the proper length to gst_caps_from_string. There's a
3806         potential for, before this fix, that this could cause someone
3807         connecting over the network to cause a segfault if the payload is
3808         not NUL-terminated.
3809
3810 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3811
3812         * docs/design/draft-push-pull.txt:
3813         * docs/design/part-overview.txt:
3814         * docs/random/TODO-pre-0.9:
3815         * docs/random/old/ChangeLog.gstreamer:
3816         * gst/base/gstpushsrc.c:
3817         * gst/gstclock.c:
3818           fixed typos
3819
3820 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3821
3822         * gst/glib-compat.c: (gst_flags_get_first_value):
3823         * gst/glib-compat.h:
3824         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3825         (gst_value_compare_double), (gst_value_serialize_flags):
3826           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3827           infinite loop
3828
3829 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3830
3831         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3832         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3833           fix up debugging
3834         * tools/gst-launch.c: (event_loop):
3835           print out clock nicely
3836
3837 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3838
3839         * docs/gst/gstreamer-sections.txt:
3840         * gst/gsttaglist.h:
3841         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3842         (gst_tag_list_get_date_index):
3843           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3844           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3845
3846 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3847
3848         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3849         (gst_collectpads_chain):
3850         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3851         in CollectData.
3852
3853 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3854
3855         * docs/gst/gstreamer-sections.txt:
3856         * gst/gst.c:
3857         * gst/gsterror.h:
3858         * tools/gst-inspect.c: (main):
3859         * tools/gst-launch.c: (main):
3860         * tools/gst-run.c: (main):
3861         * tools/gst-xmlinspect.c: (main):
3862           fix GOption context leaks
3863           doc fixes
3864
3865 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3866
3867         * gst/gstbus.c:
3868           use HAVE_UNISTD_H
3869         * win32/common/config.h:
3870           update config
3871         * win32/vs6/grammar.dsp:
3872         * win32/vs6/libgstelements.dsp:
3873         * win32/vs6/libgstreamer.dsp:
3874           update vs6 files
3875
3876 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3877
3878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3879         * gst/base/gstbasesrc.c: (gst_base_src_query):
3880           fix more guint64<->gdouble conversions
3881
3882 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3883
3884         * Makefile.am:
3885           add win32-update target
3886         * win32/common/gstconfig.h:
3887         * win32/common/gstenumtypes.c:
3888         * win32/common/gstenumtypes.h:
3889         * win32/common/gstversion.h:
3890           add files that visual studio can't generate
3891
3892 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3893
3894         * Makefile.am:
3895           add a win32-update target
3896         * configure.ac:
3897
3898 2005-10-12  Wim Taymans  <wim@fluendo.com>
3899
3900         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3901         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3902         * gst/gstelement.c: (gst_element_commit_state),
3903         (gst_element_set_state):
3904         Protect flags with proper lock.
3905         unref provided cached clock in dispose.
3906
3907 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3908
3909         * gst/gst.c:
3910         * gst/gstminiobject.h:
3911         * gst/gstpad.h:
3912         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3913           removed unused flags from miniobject
3914           doc fixes
3915
3916 2005-10-12  Wim Taymans  <wim@fluendo.com>
3917
3918         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3919         (gst_file_sink_event), (gst_file_sink_render):
3920         Flush before seeking.
3921
3922 2005-10-12  Andy Wingo  <wingo@pobox.com>
3923
3924         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3925         always been the case.
3926
3927 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3928
3929         * check/gst/gstbin.c: (GST_START_TEST):
3930         * docs/gst/gstreamer-sections.txt:
3931         * gst/base/gstbasesink.c: (gst_base_sink_init):
3932         * gst/base/gstbasesrc.c: (gst_base_src_init),
3933         (gst_base_src_get_range), (gst_base_src_check_get_range),
3934         (gst_base_src_start), (gst_base_src_stop):
3935         * gst/base/gstbasesrc.h:
3936         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3937         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3938         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3939         (bin_bus_handler):
3940         * gst/gstbin.h:
3941         * gst/gstbuffer.h:
3942         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3943         * gst/gstbus.h:
3944         * gst/gstelement.c: (gst_element_is_locked_state),
3945         (gst_element_set_locked_state), (gst_element_commit_state),
3946         (gst_element_set_state):
3947         * gst/gstelement.h:
3948         * gst/gstindex.c: (gst_index_init):
3949         * gst/gstindex.h:
3950         * gst/gstminiobject.h:
3951         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3952         (gst_object_set_parent):
3953         * gst/gstobject.h:
3954         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3955         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3956         * gst/gstpad.h:
3957         * gst/gstpadtemplate.h:
3958         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3959         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3960         * gst/gstpipeline.h:
3961         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3962         (gst_file_index_commit):
3963         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3964         * testsuite/pad/link.c: (gst_test_src_init),
3965         (gst_test_filter_init), (gst_test_sink_init):
3966         * testsuite/states/locked.c: (main):
3967           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3968           moved bitshift from macro to enum definition
3969
3970 2005-10-12  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3973         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3974         (gst_file_sink_render):
3975         Some more debugging info.
3976
3977 2005-10-12  Wim Taymans  <wim@fluendo.com>
3978
3979         * docs/design/part-states.txt:
3980         * tools/gst-launch.c: (main):
3981         Some doc updates.
3982         Revert non-intentional change.
3983
3984 2005-10-12  Wim Taymans  <wim@fluendo.com>
3985
3986         * check/gst/gstbin.c: (GST_START_TEST):
3987         * check/gst/gstelement.c: (GST_START_TEST):
3988         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3989         * check/gst/gstghostpad.c: (GST_START_TEST):
3990         * check/gst/gstpipeline.c: (GST_START_TEST):
3991         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3992         * check/states/sinks.c: (GST_START_TEST):
3993         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3994         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3995         (gst_bin_remove_func), (gst_bin_get_state_func),
3996         (gst_bin_recalc_state), (gst_bin_change_state_func),
3997         (bin_bus_handler):
3998         * gst/gstelement.c: (gst_element_get_state_func),
3999         (gst_element_get_state), (gst_element_abort_state),
4000         (gst_element_commit_state), (gst_element_set_state),
4001         (gst_element_change_state), (gst_element_change_state_func):
4002         * gst/gstelement.h:
4003         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4004         (gst_pipeline_provide_clock_func):
4005         * gst/gstutils.c: (gst_element_link_pads_filtered):
4006         * tools/gst-launch.c: (main):
4007         * tools/gst-typefind.c: (main):
4008         Use GstClockTime in _get_state() instead of GTimeVal.
4009         Remove old code in gstutils.c
4010
4011 2005-10-12  Andy Wingo  <wingo@pobox.com>
4012
4013         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4014         removed.
4015
4016         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4017         there is no task. Shouldn't affect any code, as nothing in our
4018         plugins checks this return value.
4019         (gst_pad_stop_task): Also take the stream lock if the pad has no
4020         task. Docs updated.
4021
4022 2005-10-12  Wim Taymans  <wim@fluendo.com>
4023
4024         * gst/gstpad.c: (pre_activate), (post_activate),
4025         (gst_pad_activate_pull), (gst_pad_activate_push):
4026         Cleanup activation code. Reset old state if
4027         activation failed.
4028
4029 2005-10-12  Wim Taymans  <wim@fluendo.com>
4030
4031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4032         (gst_base_sink_change_state):
4033         No need to prerol after receiving EOS.
4034
4035         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4036         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4037         * gst/elements/gstidentity.c: (gst_identity_event):
4038         Print events more verbosely.
4039
4040 2005-10-12  Wim Taymans  <wim@fluendo.com>
4041
4042         * check/Makefile.am:
4043         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4044         * check/states/sinks2.c:
4045         Moved sinks2 testcode in sinks check.
4046
4047         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4048         (gst_bin_remove_func), (gst_bin_recalc_state),
4049         (gst_bin_change_state_func), (bin_bus_handler):
4050         Fix potential race condition when _get_state() iterated over an
4051         ASYNC element right before it posted a state completion.
4052
4053         * gst/gstclock.h:
4054         Do proper cast here.
4055
4056         * gst/gstevent.c: (gst_event_new_newsegment),
4057         (gst_event_parse_newsegment):
4058         A playback rate of 0.0 is not allowed.
4059
4060 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4061
4062         * win32/common/config.h:
4063         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4064         (_trewinddir), (_ttelldir), (_tseekdir):
4065         * win32/common/dirent.h:
4066         * win32/common/gtchar.h:
4067         * win32/common/libgstbase.def:
4068         * win32/common/libgstreamer.def:
4069         * win32/vs6/grammar.dsp:
4070         * win32/vs6/gst_inspect.dsp:
4071         * win32/vs6/gst_launch.dsp:
4072         * win32/vs6/gstreamer.dsw:
4073         * win32/vs6/libgstbase.dsp:
4074         * win32/vs6/libgstelements.dsp:
4075         * win32/vs6/libgstreamer.dsp:
4076           Visual Studio 6 project files, and a new common directory.
4077           Phear.
4078
4079 2005-10-11  Wim Taymans  <wim@fluendo.com>
4080
4081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4082         (gst_base_sink_do_sync), (gst_base_sink_query),
4083         (gst_base_sink_change_state):
4084         * gst/base/gstbasesink.h:
4085         Correctly parse newsegment info.
4086
4087 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4088
4089         * gst/gst.c: (init_post):
4090           split plugin paths correctly
4091
4092 2005-10-11  Wim Taymans  <wim@fluendo.com>
4093
4094         * check/gst/gstevent.c: (GST_START_TEST):
4095         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4096         (gst_base_sink_change_state):
4097         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4098         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4099         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4100         * gst/gstevent.c: (gst_event_new_newsegment),
4101         (gst_event_parse_newsegment):
4102         * gst/gstevent.h:
4103         Added extra flag to newsegment for future API freeze.
4104         Updated check and base elements.
4105
4106 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4107
4108         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4109         (gst_collectpads_add_pad), (gst_collectpads_pop),
4110         (gst_collectpads_event), (gst_collectpads_chain):
4111         * gst/base/gstcollectpads.h: Handle EOS correctly.
4112
4113 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4114
4115         * tools/gst-launch.c: (main):
4116           more null protecting
4117
4118 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4119
4120         * gst/gst-i18n-lib.h:
4121           check for ENABLE_NLS, not GETTEXT_PACKAGE
4122         * gst/gstregistry.c: (gst_registry_add_plugin),
4123         (gst_registry_scan_path_level),
4124         (_gst_registry_remove_cache_plugins):
4125           protect possibly NULL strings
4126         * gst/parse/types.h:
4127           config.h already included before
4128         * tools/gst-inspect.c: (main):
4129           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4130           check for ENABLE_NLS, not GETTEXT_PACKAGE
4131         * tools/gst-launch.c: (main):
4132           check for ENABLE_NLS, not GETTEXT_PACKAGE
4133
4134 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * configure.ac:
4137           if we don't have glib, fail before testing 2.8
4138         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4139           fix a leak, should fix plugins-base testsuite
4140
4141 2005-10-11  Andy Wingo  <wingo@pobox.com>
4142
4143         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4144         take the mode we're going to as an arg. Go head and set the mode
4145         and flushing flags now, so that if the activate function starts a
4146         thread all the flags will be in the right state.
4147         (post_activate): Renamed also. Just handle making sure streaming
4148         finishes for the deactivation case, and setting the deactivated
4149         mode.
4150         (gst_pad_set_active): Complain loudly if deactivation fails.
4151         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4152         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4153         remove the terrible hack.
4154
4155 2005-10-11  Wim Taymans  <wim@fluendo.com>
4156
4157         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4158         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4159         (gst_bin_recalc_state), (gst_bin_change_state_func),
4160         (gst_bin_dispose), (bin_bus_handler):
4161         * gst/gstbin.h:
4162         Prepare to make current EOS message queue more generic.
4163         Fix some typos.
4164
4165         * gst/gstevent.c: (gst_event_new_newsegment),
4166         (gst_event_parse_newsegment):
4167         * gst/gstevent.h:
4168         Rename base to stream_time.
4169
4170         * gst/gstmessage.h:
4171         Fix typo in docs.
4172
4173 2005-10-11  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4176         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4177         (gst_bin_change_state_func), (bin_bus_handler):
4178         * gst/gstbin.h:
4179         Work on proper clock selection.
4180
4181 2005-10-11  Edward Hervey  <edward@fluendo.com>
4182
4183         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4184         * libs/gst/controller/gstcontroller.h:
4185         Added GList* version of _remove_properties() in order to be able to wrap
4186         it in bindings.
4187
4188 2005-10-11  Wim Taymans  <wim@fluendo.com>
4189
4190         * docs/design/part-states.txt:
4191         Some more docs.
4192
4193         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4194         (gst_bin_change_state_func), (bin_bus_handler):
4195         Doc updates. Don't distribute the same clock over and over again.
4196
4197         * gst/gstclock.c:
4198         * gst/gstclock.h:
4199         Doc updates.
4200
4201         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4202         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4203         (gst_pad_send_event):
4204         * gst/gstpad.h:
4205         Make probe emission threadsafe again.
4206         Register quarks and move _get_name() from utils.
4207         Doc updates.
4208
4209         * gst/gstpipeline.c: (gst_pipeline_class_init),
4210         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4211         Only redistribute the clock of it changed.
4212
4213         * gst/gstsystemclock.h:
4214         Doc updates. 
4215
4216         * gst/gstutils.c:
4217         * gst/gstutils.h:
4218         Moved the _flow_get_name() to GstPad.
4219
4220 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4221
4222         * check/gst-libs/gdp.c: (GST_START_TEST):
4223         * check/gst/gstcaps.c: (GST_START_TEST):
4224         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4225         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4226         (gst_dp_packet_from_caps):
4227           fix more valgrind warnings before turning up the heat
4228
4229 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4230
4231         * gst/parse/grammar.y:
4232           some cleanup before the hacking
4233
4234 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4235
4236         * gst/base/gstbasesrc.c: (gst_base_src_query):
4237           use conversions
4238         * gst/gstutils.c: (gst_guint64_to_gdouble),
4239         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4240         * gst/gstutils.h:
4241           externalize, basesrc uses it
4242           obviously the implementation needs testing
4243
4244 2005-10-10  Wim Taymans  <wim@fluendo.com>
4245
4246         * tests/sched/Makefile.am:
4247         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4248         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4249
4250 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4253           apparently converting from guint64 to double is not implemented
4254           on MSVC
4255
4256 2005-10-10  Wim Taymans  <wim@fluendo.com>
4257
4258         * check/Makefile.am:
4259         * check/generic/states.c: (GST_START_TEST):
4260         * check/gst/gstbin.c: (GST_START_TEST):
4261         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4262         * check/states/sinks.c: (GST_START_TEST):
4263         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4264         (main):
4265         Check fixes, use API as stated in design docs, remove hacks.
4266
4267         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4268         (gst_base_sink_change_state):
4269         Catch stopping our task while we're shutting down.
4270
4271         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4272         (gst_bin_remove_func), (gst_bin_get_state_func),
4273         (gst_bin_recalc_state), (gst_bin_change_state_func),
4274         (bin_bus_handler):
4275         * gst/gstbin.h:
4276         * gst/gstelement.c: (gst_element_init),
4277         (gst_element_get_state_func), (gst_element_abort_state),
4278         (gst_element_commit_state), (gst_element_lost_state),
4279         (gst_element_set_state), (gst_element_change_state),
4280         (gst_element_change_state_func):
4281         * gst/gstelement.h:
4282         New state change algorithm (see #318116)
4283
4284         * gst/gstpipeline.c: (gst_pipeline_class_init),
4285         (gst_pipeline_init), (gst_pipeline_set_property),
4286         (gst_pipeline_get_property), (do_pipeline_seek),
4287         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4288         * gst/gstpipeline.h:
4289         Remove crude state change hacks.
4290
4291         * gst/gstutils.h:
4292         Remove crude hacks.
4293
4294         * tools/gst-launch.c: (main):
4295         Fixes for state change. Needs some more work to fully use the
4296         new stuff.
4297
4298 2005-10-10  Andy Wingo  <wingo@pobox.com>
4299
4300         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4301
4302         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4303         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4304         issue.
4305
4306 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4307
4308         * gst/gstiterator.c: (gst_iterator_new):
4309           Fix my previous commit: GTypes passed to gst_iterator_new()
4310           can be fundamental types.
4311
4312 2005-10-10  Wim Taymans  <wim@fluendo.com>
4313
4314         * gst/gstelement.c: (gst_element_iterate_pad_list),
4315         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4316         (gst_element_iterate_sink_pads):
4317         Use src/sink pads lists for the respective iterators instead
4318         of filtering.
4319
4320 2005-10-10  Andy Wingo  <wingo@pobox.com>
4321
4322         Merged in popt removal + GOption addition patch from Ronald, bug
4323         #169772.
4324
4325         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4326         GstElement macros around, remove popt-related symbols, add goption
4327         stuff.
4328
4329         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4330         
4331         * docs/gst/Makefile.am:
4332         * docs/libs/Makefile.am: No POPT_CFLAGS.
4333         
4334         * examples/manual/Makefile.am:
4335         * docs/manual/basics-init.xml: Doc updates with an example.
4336         
4337         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4338         (gst_init), (parse_one_option), (parse_goption_arg):
4339         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4340         bit of hand merging and debugging to get the GOption stuff working
4341         tho.
4342         
4343         * tests/Makefile.am:
4344         * tools/Makefile.am:
4345         * tools/gst-inspect.c: (main):
4346         * tools/gst-launch.c: (main):
4347         * tools/gst-run.c: (main):
4348         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4349
4350 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4351
4352         * gst/gstiterator.c: (gst_iterator_new):
4353           Add assertions to make sure passed GType is likely to really
4354           be a GType (as the compiler won't catch it if the size and
4355           GType arguments get mixed up, see #318447).
4356
4357 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4358
4359         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4360
4361         * gst/gstbin.c: (gst_bin_iterate_sorted):
4362           Pass GType and size arguments to gst_iterator_new() in the right
4363           order (maybe we should make _new() take the GType as first argument
4364           just like _new_list()?) (#318447).
4365           
4366
4367 2005-10-10  Wim Taymans  <wim@fluendo.com>
4368
4369         * gst/gstelement.c: (gst_element_finalize):
4370         And free the GStaticRecMutex too
4371
4372 2005-10-10  Andy Wingo  <wingo@pobox.com>
4373
4374         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4375         Allocate and free the mutex properly.
4376
4377         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4378         New macros.
4379         (GstElement): The state_lock is now recursive. Rebuild your
4380         plugins, suckers. Old macros adapted.
4381
4382         * docs/gst/gstreamer-sections.txt: Doc updates.
4383
4384         * gst/gstutils.h:
4385         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4386         (g_static_rec_cond_wait): Ported from state changes patch, while
4387         we wait on bug #317802 to be solved in a well-distributed GLib.
4388
4389         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4390         gst_element_change_state, variable name changes.
4391         (gst_element_change_state): Split out of gst_element_set_state in
4392         preparation for the state change merge. Doesn't pay attention to
4393         the 'transition' argument.
4394         (gst_element_set_state): Updates, hopefully purely cosmetic.
4395         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4396         state change patch.
4397         (gst_element_get_state_func): Renamed from get_state, cosmetic
4398         changes.
4399
4400 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4401
4402         * gst/elements/gstelements.c:
4403         * win32/GStreamer.vcproj:
4404         * win32/config.h:
4405         * win32/dirent.c: (_tseekdir):
4406         * win32/gst-inspect.vcproj:
4407         * win32/gst-launch.vcproj:
4408         * win32/gstconfig.h:
4409         * win32/gstelements.vcproj:
4410         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4411         * win32/gstreamer.def:
4412         * win32/msvc71.sln:
4413           updates for the win32 build (patch from Sebastien Moutte)
4414
4415 2005-10-10  Andy Wingo  <wingo@pobox.com>
4416
4417         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4418         gst_bin_get_state, cleaned up (but no logic changes).
4419         (bin_element_is_sink): Comment updates.
4420         (sink_iterator_filter): Remove needless cast.
4421         (gst_bin_iterate_sinks): Doc update.
4422         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4423         cleaned up (but no logic changes).
4424
4425         * check/states/sinks.c (test_src_sink): Cleanups from the state
4426         change patch.
4427         (test_livesrc_sink): Sync on the state.
4428
4429         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4430         the state change patch.
4431
4432         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4433         change patch.
4434
4435         * check/gst/gstbin.c: Merge in some style fixes and additional
4436         checks from Wim's state change patch.
4437
4438 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4439
4440         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4441         (gst_type_find_helper):
4442           Check whether we have the requested data already in our list of
4443           cached buffers before pulling a new buffer; also make the buffer
4444           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4445
4446 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4447
4448         * gst/gstcaps.c:
4449         * gst/gstevent.c:
4450           doc updates
4451         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4452           don't use long long, it's not portable.  Replacing with
4453           gint64 seems to work; let's hope no skeletons fall out of the closet.
4454
4455 2005-10-10  Andy Wingo  <wingo@pobox.com>
4456
4457         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4458
4459 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4460
4461         * docs/gst/gstreamer-sections.txt:
4462         * gst/gstevent.c:
4463         * gst/gstevent.h:
4464         * gst/gstinfo.c:
4465         * gst/gstinfo.h:
4466         * gst/gstmessage.c: (gst_message_parse_state_changed):
4467         * gst/gstpad.c:
4468         * gst/gstpad.h:
4469           more docs, fix compilation
4470
4471 2005-10-09  Philippe Khalaf <burger@speedy.org>
4472         * gst/gstmessage.c:
4473           Fixed a few forgotten variables on previous commit
4474
4475 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4476
4477         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4478           Fix evil typefind crasher: getrange() might return a short
4479           buffer at the end of a file, but gst_type_find_peek() must
4480           either return the full data as requested or NULL, but
4481           never a short buffer.
4482
4483 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         * gst/gstmessage.c: (gst_message_new_state_changed),
4486         (gst_message_parse_state_changed):
4487         * gst/gstmessage.h:
4488           don't use "new", it's a C++ keyword
4489
4490 2005-10-08  Wim Taymans  <wim@fluendo.com>
4491
4492         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4493         * gst/gstelement.c: (gst_element_post_message):
4494         * gst/gstpipeline.c: (gst_pipeline_change_state):
4495         Small docs and debug updates.
4496
4497 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4498
4499         * docs/gst/gstreamer-sections.txt:
4500         * gst/gstelementfactory.c:
4501         * gst/gstevent.c:
4502         * gst/gsttaglist.c:
4503           more docs
4504
4505 2005-10-08  Wim Taymans  <wim@fluendo.com>
4506
4507         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4508         (gst_bin_dispose), (bin_bus_handler):
4509         Fix typos, add comments.
4510         Clear EOS list when going to PAUSED from any direction and do it
4511         in a threadsafe way.
4512         Get base time in a threadsafe way too.
4513         Fix confusing debug in the change_state function.
4514         Various other small cleanups.
4515         
4516         * gst/gstelement.c: (gst_element_post_message):
4517         Fix very verbose bus posting code.
4518
4519         * gst/gstpipeline.c: (gst_pipeline_class_init),
4520         (gst_pipeline_set_property), (gst_pipeline_get_property),
4521         (gst_pipeline_change_state):
4522         Small ARG_ -> PROP_ cleanup
4523
4524 2005-10-08  Wim Taymans  <wim@fluendo.com>
4525
4526         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4527         Do a less CPU demanding EOS check because we can.
4528
4529 2005-10-08  Wim Taymans  <wim@fluendo.com>
4530
4531         * libs/gst/dataprotocol/dataprotocol.c:
4532         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4533         (gst_dp_packet_from_event):
4534         * libs/gst/dataprotocol/dataprotocol.h:
4535         * libs/gst/dataprotocol/dp-private.h:
4536         It's about time we bump the version number.
4537         Since event types don't fit in the guint8 anymore describing
4538         the payload type, make payload type 16 bits wide.
4539
4540 2005-10-08  Wim Taymans  <wim@fluendo.com>
4541
4542         * docs/design/part-TODO.txt:
4543         * docs/design/part-clocks.txt:
4544         * docs/design/part-events.txt:
4545         * docs/design/part-gstbin.txt:
4546         * docs/design/part-gstelement.txt:
4547         * docs/design/part-gstpipeline.txt:
4548         * docs/design/part-live-source.txt:
4549         * docs/design/part-messages.txt:
4550         * docs/design/part-overview.txt:
4551         * docs/design/part-states.txt:
4552         Many doc updates.
4553
4554 2005-10-08  Wim Taymans  <wim@fluendo.com>
4555
4556         * gst/gstevent.c:
4557         * gst/gstevent.h:
4558         Fix event quark registration.
4559         Add some space between events so we can insert them in the
4560         right groups.
4561
4562 2005-10-08  Wim Taymans  <wim@fluendo.com>
4563
4564         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4565         (gst_base_sink_handle_buffer):
4566         Better log message.
4567
4568         * gst/gstbus.h:
4569         * gst/gstelement.h:
4570         More docs.
4571
4572         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4573         (gst_queue_set_property), (gst_queue_get_property):
4574         * gst/gstqueue.h:
4575         Remove old unused properties.
4576
4577 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4578         * docs/gst/gstreamer-sections.txt:
4579         * gst/gstmessage.c:
4580         * gst/gstmessage.h:
4581         * gst/gstminiobject.c:
4582         * gst/gstminiobject.h:
4583         * gst/gstobject.h:
4584         * gst/gstpad.h:
4585         * gst/gstutils.h:
4586           lots of new docs and doc fixes
4587
4588 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4591         * gst/gstplugin.h:
4592         * gst/gstregistry.c: (gst_registry_lookup_locked),
4593         (gst_registry_scan_path_level):
4594         * gst/gstregistryxml.c: (load_plugin):
4595           Only ever load one plugin for a given plugin basename.
4596           This ensures correct overriding of GST_PLUGIN_PATH over
4597           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4598           system installed plugins.
4599
4600 2005-10-08  Wim Taymans  <wim@fluendo.com>
4601
4602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4603         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4604         Prepare for doing QOS.
4605
4606 2005-10-08  Wim Taymans  <wim@fluendo.com>
4607
4608         * check/gst/gstbin.c: (GST_START_TEST):
4609         * check/pipelines/cleanup.c: (GST_START_TEST):
4610         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4611         Allow new clock message too.
4612
4613 2005-10-08  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/gstmessage.c: (gst_message_new_error),
4616         (gst_message_new_warning), (gst_message_new_tag),
4617         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4618         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4619         (gst_message_new_segment_start), (gst_message_new_segment_done),
4620         (gst_message_parse_state_changed),
4621         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4622         (gst_message_parse_new_clock):
4623         * gst/gstmessage.h:
4624         Also carry the clock in question.
4625
4626 2005-10-08  Wim Taymans  <wim@fluendo.com>
4627
4628         * gst/gstmessage.c: (gst_message_new_custom),
4629         (gst_message_new_eos), (gst_message_new_error),
4630         (gst_message_new_warning), (gst_message_new_tag),
4631         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4632         (gst_message_new_new_clock), (gst_message_new_segment_start),
4633         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4634         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4635         * gst/gstmessage.h:
4636         Clean up.
4637         Added clock related messages.
4638
4639         * gst/gstpipeline.c: (gst_pipeline_change_state):
4640         Post message when the clock changed.
4641
4642         * tools/gst-launch.c: (event_loop):
4643         Print new clock.
4644
4645 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4646
4647         * tools/gst-inspect.c: (print_element_properties_info):
4648           Can't pass NULL strings to g_print() on windows.
4649
4650 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4651
4652         * docs/Makefile.am:
4653         * docs/gst/Makefile.am:
4654         * docs/gst/gstreamer-docs.sgml:
4655         * docs/gst/running.xml:
4656         * docs/version.entities.in:
4657           add a chapter on running GStreamer.
4658           document GST_DEBUG and GST_PLUGIN* env vars
4659
4660 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4661
4662         * Makefile.am:
4663           remove include dir
4664         * configure.ac:
4665           remove PLUGINS_BUILDDIR stuff
4666         * gst/gst.c: (init_post):
4667           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4668         * idiottest.mak:
4669           remove, it was condescending and not needed
4670
4671 2005-10-08  Wim Taymans  <wim@fluendo.com>
4672
4673         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4674         (gst_base_sink_handle_object), (gst_base_sink_event),
4675         (gst_base_sink_wait), (gst_base_sink_handle_event),
4676         (gst_base_sink_change_state):
4677         * gst/base/gstbasesink.h:
4678         Repost EOS message while going to PLAYING if still EOS.
4679         Make sure that when receiving a FLUSH_START we don't attempt
4680         to sync on the clock anymore.
4681
4682 2005-10-08  Wim Taymans  <wim@fluendo.com>
4683
4684         * tools/gst-launch.c: (event_loop):
4685         Better message printout.
4686
4687 2005-10-08  Wim Taymans  <wim@fluendo.com>
4688
4689         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4690         (gst_bin_child_proxy_get_children_count):
4691         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4692         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4693         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4694         (gst_child_proxy_set_valist):
4695         * gst/parse/grammar.y:
4696         Make ChildProxy threadsafe and fix mem leaks.
4697
4698 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         * gst/gst.c: (init_post):
4701           debug the GST_PLUGIN_ env vars
4702
4703 2005-10-08  Wim Taymans  <wim@fluendo.com>
4704
4705         * check/gst/gstbin.c: (GST_START_TEST):
4706         * check/gst/gstmessage.c: (GST_START_TEST):
4707         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4708         * gst/gstelement.c: (gst_element_commit_state),
4709         (gst_element_lost_state):
4710         * gst/gstmessage.c: (gst_message_new_state_changed),
4711         (gst_message_parse_state_changed):
4712         * gst/gstmessage.h:
4713         * tools/gst-launch.c: (event_loop):
4714         Added extra field to STATE_CHANGE message with the pending
4715         state, which will be different from the new state soon.
4716
4717 2005-10-08  Wim Taymans  <wim@fluendo.com>
4718
4719         * gst/gstbus.c: (gst_bus_pop):
4720         * gst/gstclock.c:
4721         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4722         Small cleanups and doc updates.
4723
4724 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4725
4726         * gst/gst.c: (init_pre):
4727         * gst/gstbin.c: (gst_bin_add_func):
4728           log distributing clocks and base time
4729         * gst/gstregistry.c: (gst_registry_add_plugin),
4730         (gst_registry_scan_path_level), (gst_registry_scan_path):
4731           clean up the debugging output a little
4732         * gst/gstutils.c: (gst_element_state_get_name):
4733           warn about a memleak (I've actually seen this be used, though
4734           it was probably a bug)
4735
4736 2005-10-07  Wim Taymans  <wim@fluendo.com>
4737
4738         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4739         (gst_base_src_init), (gst_base_src_default_newsegment),
4740         (gst_base_src_newsegment), (gst_base_src_do_seek),
4741         (gst_base_src_loop), (gst_base_src_start):
4742         * gst/base/gstbasesrc.h:
4743         Make the newsegment event customizable by subclasses.
4744
4745 2005-10-07  Wim Taymans  <wim@fluendo.com>
4746
4747         * gst/gstevent.c: (gst_event_new_buffersize),
4748         (gst_event_parse_buffersize):
4749         * gst/gstevent.h:
4750         New event for future idea.
4751
4752 2005-10-07  Andy Wingo  <wingo@pobox.com>
4753
4754         * gst/gstelement.c (gst_element_post_message): Doc update.
4755
4756         * docs/gst/gstreamer-sections.txt: Update.
4757
4758         * gst/gstmessage.c (gst_message_new_application): Made into a
4759         function like honest API calls.
4760         (gst_message_new_element): New message type.
4761
4762         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4763
4764         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4765         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4766         times.
4767
4768         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4769         NO_PREROLL from gst_element_change_state to fall through.
4770
4771 2005-10-07  Wim Taymans  <wim@fluendo.com>
4772
4773         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4774         (gst_ghost_pad_do_activate_push):
4775         Activating a ghostpad with no internal pad in push mode
4776         is ok.
4777
4778 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * gst/gstobject.h:
4781           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4782           Fixes compilation on Windows.
4783
4784 2005-10-07  Michael Smith <msmith@fluendo.com>
4785
4786         * tools/gst-inspect.c:
4787           Print out feature and plugin count at the end when printing out
4788           all features.
4789
4790 2005-10-04  Michael Smith <msmith@fluendo.com>
4791
4792         * gst/gsterror.c: (_gst_stream_errors_init):
4793           Add another error string used in a few existing plugins.
4794
4795         * gst/gstplugin.c:
4796         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4797         * tools/gst-inspect.c: (print_element_info):
4798           When a feature disappears from a plugin (and the feature exists in
4799           the cached registry file), things went horribly wrong. This isn't a
4800           complete fix, we should actually be removing the 'missing' features
4801           from the features list when we load the actual plugin. That's not
4802           yet implemented. 
4803
4804 2005-10-04  Johan Dahlin  <johan@gnome.org>
4805
4806         * check/gst/gstiterator.c: (GST_START_TEST):
4807         * gst/gstbin.c: (gst_bin_iterate_elements),
4808         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4809         * gst/gstelement.c: (gst_element_iterate_pads):
4810         * gst/gstformat.c: (gst_format_iterate_definitions):
4811         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4812         (gst_iterator_new_list), (gst_iterator_filter):
4813         * gst/gstiterator.h:
4814         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4815         Add a GType to GstIterator, update callsites and tests.
4816
4817 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4818
4819         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4820           give events a chance to be handled by event probes when the pad
4821           is not linked
4822
4823 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * gst/gstevent.c: (gst_event_type_get_name),
4826         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4827         * gst/gstevent.h:
4828           add string representations for event types
4829
4830 2005-10-06  Wim Taymans  <wim@fluendo.com>
4831
4832         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4833         Don't use NULL pointers.
4834
4835 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4836
4837         * gst/gst_private.h:
4838         * gst/gstbus.c:
4839         * gst/gstelement.c:
4840         * gst/gstinfo.c:
4841         * gst/gstpluginfeature.c:
4842           widen the debug category in output to fit the biggest one we have
4843           add a bus category and use it
4844           play with the colors
4845           fix up some categories
4846
4847 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4848
4849         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4850           add push activation of sink ghost pads.
4851           Andye, please verify
4852
4853 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * gst/gstutils.c: (gst_element_link_pads):
4856           fix a bug in the case where neither element has a pad
4857         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4858           add a test for that case
4859
4860 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4861
4862         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4863           emit have-data before checking for peers.  This allows
4864           for probe handlers to connect elements.  This helps autopluggers.
4865         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4866         (gst_pad_suite):
4867           add six checks, linked/unlinked with no/true/false probe
4868
4869 2005-10-04  Wim Taymans  <wim@fluendo.com>
4870
4871         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4872         (gst_fake_sink_event), (gst_fake_sink_preroll),
4873         (gst_fake_sink_render), (gst_fake_sink_change_state):
4874         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4875         (gst_fake_src_get_property), (gst_fake_src_create),
4876         (gst_fake_src_stop):
4877         * gst/elements/gstidentity.c: (gst_identity_stop):
4878         Protect last_message with lock.
4879
4880 2005-10-04  Edward Hervey  <edward@fluendo.com>
4881
4882         * gst/gstformat.h: 
4883         Added precision in the comments for GST_FORMAT_DEFAULT
4884
4885 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4886
4887         * tools/gst-launch.c: (main):
4888           Don't try to run erroneous pipelines.
4889
4890 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4891
4892         * gst/gstbus.c: We don't need this header.
4893
4894 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * configure.ac:
4897           back to development
4898
4899 === release 0.9.3 ===
4900
4901 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * README:
4904         * configure.ac:
4905           Releasing 0.9.3, "Unregistered"
4906
4907 2005-10-03  Andy Wingo  <wingo@pobox.com>
4908
4909         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4910         whereby calling a pad's activatepush() function can start a thread
4911         that starts to push or pull before the pad gets the FLUSHING flag
4912         unset. Hack around it by holding the stream lock until the flag is
4913         set. Need to replace this with a proper solution. Together with
4914         the ghost pad fixes, this fixes mp3 playing/tagreading.
4915
4916         * docs/design/part-gstghostpad.txt: Add a note about activation of
4917         proxy pads outside of ghost pads.
4918
4919         * gst/gstghostpad.c: Implement the ghost pad activation design.
4920
4921 2005-10-02  Andy Wingo  <wingo@pobox.com>
4922
4923         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4924         It is volatile, after all.
4925
4926         * docs/design/part-gstghostpad.txt: Flesh out activation with
4927         ghost pads.
4928
4929         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4930         GST_DEBUG_FUNCPTR.
4931
4932 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * configure.ac:
4935           Fix (unused) AM_CONDITIONAL tests.
4936
4937 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4938
4939         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4940
4941         * gst/gstutils.c: (gst_pad_query_convert):
4942           Add assertion that makes sure src_val is >=0, just like
4943           gst_query_new_convert() has. (#315895)
4944
4945 2005-09-30  Edward Hervey  <edward@fluendo.com>
4946
4947         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4948         Let's not iterate pads we're not interested in, it avoids getting 
4949         sky-high refcounts on sinkpad.
4950
4951 2005-09-30  Wim Taymans  <wim@fluendo.com>
4952
4953         * gst/gstelement.c: (gst_element_set_state),
4954         (gst_element_change_state):
4955         Small tweak, element in ASYNC remains ASYNC.
4956
4957 2005-09-30  Wim Taymans  <wim@fluendo.com>
4958
4959         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4960         Only error is an error.
4961
4962         * gst/gstbin.c: (gst_bin_change_state):
4963         Better debugging.
4964
4965         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4966         Also call pad_block in pad alloc.
4967
4968         * gst/gstutils.c: (gst_flow_get_name):
4969         Better debugging.
4970
4971 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4972
4973         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4974         (gst_base_src_get_range):
4975           Fix documentation typos. Add some more debug info.
4976
4977 2005-09-29  David Schleef  <ds@schleef.org>
4978
4979         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4980           more end-user friendly.
4981         * tools/gst-inspect.c: (main): Check if command-line argument is
4982           a file and attempt to load that file as a plugin.
4983
4984 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4985
4986         * check/gst/gstbin.c:
4987         * check/states/sinks.c:
4988           fix tests for the new warning
4989         * check/gst/gstpipeline.c:
4990           add a test for pipeline and bus interaction
4991         * gst/gstelement.c:
4992           elements should be NULL if they get disposed; add a warning if not
4993
4994 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4995
4996         * gst/gstobject.c:
4997           for 2.6 refcounting, make debug log more correct by printing
4998           the actual refcounts at the time of swap (Wim)
4999
5000 2005-09-29  Andy Wingo  <wingo@pobox.com>
5001
5002         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5003         removes signal watches previously added via
5004         gst_bus_add_signal_watch.
5005         (gst_bus_add_signal_watch): Don't return the source id, just store
5006         it on the bus if there wasn't an id already.
5007
5008         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5009         add_signal_watch and remove_signal_watch.
5010
5011 2005-09-29  Edward Hervey  <edward@fluendo.com>
5012
5013         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5014         Better if we actually iterate the list :)
5015
5016 2005-09-29  Wim Taymans  <wim@fluendo.com>
5017
5018         * check/gst/gstbin.c: (GST_START_TEST):
5019         Change for new bus API.
5020
5021         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5022         (send_messages), (GST_START_TEST), (gstbus_suite):
5023         Change for new bus signal API.
5024
5025         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5026         (gst_bus_source_prepare), (gst_bus_source_check),
5027         (gst_bus_create_watch), (gst_bus_add_watch_full),
5028         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5029         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5030         * gst/gstbus.h:
5031         Remove support for multiple GSources operating on different
5032         message types as it is too complex and unneeded when using
5033         signals.
5034         Added support for receiving signals from the bus.
5035
5036 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * docs/libs/tmpl/gstdataprotocol.sgml:
5039         * docs/manual/advanced-dataaccess.xml:
5040         * gst/elements/gstcapsfilter.c:
5041         * gst/gstutils.c:
5042           rename filter-caps to caps property
5043
5044 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5045
5046         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5047           More robust fraction string parsing.
5048
5049         * docs/pwg/appendix-porting.xml:
5050           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5051
5052 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5053
5054         * gst/gstcaps.c: (gst_caps_do_simplify):
5055           Thou shalt not free a structure and then continue using it
5056           in the next loop iteration.
5057
5058         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5059         (gst_caps_suite):
5060           Add test case for caps simplification.
5061
5062 2005-09-29  Wim Taymans  <wim@fluendo.com>
5063
5064         * check/gst/gstbin.c: (GST_START_TEST):
5065         Oops.
5066
5067 2005-09-29  Wim Taymans  <wim@fluendo.com>
5068
5069         * check/gst/gstbin.c: (GST_START_TEST):
5070         Add bus to bin.
5071
5072         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5073         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5074         (find_element), (gst_bin_sort_iterator_next),
5075         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5076         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5077         (gst_bin_change_state), (gst_bin_dispose):
5078         A bin does not have a bus, it gets the bus from the parent.
5079
5080         * gst/gstelement.c: (gst_element_requires_clock),
5081         (gst_element_provides_clock), (gst_element_is_indexable),
5082         (gst_element_is_locked_state), (gst_element_change_state),
5083         (gst_element_set_bus_func):
5084         Small cleanups.
5085
5086         * gst/gstpipeline.c: (gst_pipeline_class_init),
5087         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5088         The pipeline provides a bus.
5089
5090 2005-09-28  Johan Dahlin  <johan@gnome.org>
5091
5092         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5093         gst_structure_get_enum instead of gst_structure_get_int
5094
5095         * gst/gststructure.c (gst_structure_get_enum): Impl.
5096
5097         * gst/gststructure.h (gst_structure_get_enum): Add
5098
5099         * docs/gst/gstreamer-sections.txt: Ditto
5100
5101         * gst/gstmessage.c (gst_message_new_state_changed): Use
5102         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5103         which does introspection.
5104         Reviewed by Christian Schaller
5105
5106 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5107
5108         * gst/gstinfo.c: (gst_debug_log_default):
5109           don't do dummy g_strdup()s
5110         * libs/gst/controller/gstcontroller.c:
5111         (on_object_controlled_property_changed),
5112         (gst_controlled_property_new), (gst_controller_new_valist),
5113         (gst_controller_new_list),
5114         (gst_controller_remove_properties_valist), (gst_controller_set),
5115         (gst_controller_get), (gst_controller_sync_values),
5116         (gst_controller_get_value_array), (_gst_controller_class_init),
5117         (gst_controller_get_type):
5118         * libs/gst/controller/gstcontroller.h:
5119         * libs/gst/controller/gstinterpolation.c:
5120         (gst_controlled_property_find_timed_value_node):
5121           convert // to /**/ comments
5122
5123 2005-09-28  Wim Taymans  <wim@fluendo.com>
5124
5125         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5126         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5127         (gst_bus_sync_signal_handler):
5128         * gst/gstbus.h:
5129         Added async-message and sync-message signals to the bus.
5130         Added helper BusFunc to emit signals for all posted messages.
5131
5132         * gst/gstmessage.c: (gst_message_type_get_name),
5133         (gst_message_type_to_quark), (gst_message_get_type):
5134         * gst/gstmessage.h:
5135         Register quarks for message names.
5136
5137 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5138
5139         * docs/libs/gstreamer-libs-sections.txt:
5140         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5141         (gst_controller_new_list):
5142         * libs/gst/controller/gstcontroller.h:
5143           added another constructor for language bindings
5144
5145 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5146
5147         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5148           add another check
5149         * gst/gstbus.c:
5150           add some doc
5151         * gst/gstinfo.c: (_gst_debug_init):
5152           slightly more readable color for refcount debugging
5153
5154 2005-09-28  Wim Taymans  <wim@fluendo.com>
5155
5156         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5157         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5158         (find_element), (gst_bin_sort_iterator_next),
5159         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5160         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5161         (gst_bin_change_state), (gst_bin_dispose):
5162         Small doc fixes. get_clock -> provide_clock.
5163
5164         * gst/gstelement.c: (gst_element_class_init),
5165         (gst_element_provides_clock), (gst_element_provide_clock),
5166         (gst_element_get_clock), (gst_element_commit_state),
5167         (gst_element_lost_state):
5168         * gst/gstelement.h:
5169         Make get/set_clock() symetric. Add provide_clock vmethod since
5170         that is actually what this function does.
5171
5172         * gst/gstpipeline.c: (gst_pipeline_class_init),
5173         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5174         (gst_pipeline_get_clock):
5175         get_clock -> provide_clock.
5176
5177 2005-09-28  Andy Wingo  <wingo@pobox.com>
5178
5179         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5180         lieu of real docs...
5181
5182         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5183
5184 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/elements/gstcapsfilter.c:
5187         * gst/elements/gstfakesink.c:
5188         * gst/elements/gstfakesrc.c:
5189         * gst/elements/gstfdsink.c:
5190         * gst/elements/gstfdsrc.c:
5191         * gst/elements/gstfilesink.c:
5192         * gst/elements/gstfilesrc.c:
5193         * gst/elements/gstidentity.c:
5194         * gst/elements/gsttee.c:
5195         * gst/elements/gsttypefindelement.c:
5196           Make element details static.
5197
5198 2005-09-28  Wim Taymans  <wim@fluendo.com>
5199
5200         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5201         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5202         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5203         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5204         (gst_bin_change_state), (gst_bin_dispose):
5205         Some documentation updates.
5206         Clean up dispose handlers.
5207
5208         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5209         * gst/gstpad.c: (gst_pad_dispose):
5210         Clean up dispose handler.
5211
5212         * gst/gstpipeline.c: (gst_pipeline_change_state):
5213         Removed spurious UNLOCK.
5214
5215 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5216
5217         * docs/gst/gstreamer-sections.txt:
5218         * gst/base/gstbasesrc.h:
5219         * gst/gstelement.h:
5220         * gst/gstevent.h:
5221         * gst/gstobject.h:
5222         * gst/gstpad.h:
5223         * gst/gstpipeline.c:
5224         * gst/gstpipeline.h:
5225         * gst/gstutils.h:
5226         * gst/gstxml.h:
5227           added two new functions to the docs
5228                 documents all undocumented GstXXXFlags
5229                 completed some incomplete docs 
5230
5231 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5232
5233         * gst/gstbin.c: (gst_bin_dispose):
5234         * gst/gstelement.c: (gst_element_dispose):
5235           remove now useless and leaky resurrection code in dispose
5236         * gst/base/gstbasesrc.c: (gst_base_src_init):
5237         * gst/gstelementfactory.c: (gst_element_factory_create):
5238         * gst/gstobject.c: (gst_object_set_parent):
5239           add some debugging
5240
5241 2005-09-27  Wim Taymans  <wim@fluendo.com>
5242
5243         * docs/design/part-TODO.txt:
5244         Update TODO.
5245
5246         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5247         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5248         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5249         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5250         (gst_bin_change_state):
5251         * gst/gstelement.h:
5252         Remove element variable, we keep element info in the iterator now.
5253
5254 2005-09-27  Andy Wingo  <wingo@pobox.com>
5255
5256         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5257         values.
5258
5259 2005-09-27  Wim Taymans  <wim@fluendo.com>
5260
5261         * check/gst/gstbin.c: (GST_START_TEST):
5262         Enable check that works now.
5263
5264         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5265         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5266         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5267         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5268         (gst_bin_change_state):
5269         * gst/gstbin.h:
5270         Redid the state change algorithm using a topological sort algo.
5271         Handles all cases correctly.
5272         Exposed iterator for state change order.
5273
5274         * gst/gstelement.h:
5275         Temp storage for state changes. Need to get rid of this soon.
5276
5277 2005-09-27  Wim Taymans  <wim@fluendo.com>
5278
5279         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5280         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5281         (link_fold_func), (gst_pad_proxy_setcaps):
5282         Leak fixes, the fold functions need to unref the passed object and
5283         _get_parent_*() returns ref to parent.
5284
5285 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5286
5287         * check/gst/gstbuffer.c: (test_make_writable):
5288           Plug leak in test case and fix 'make check-valgrind'
5289
5290 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5291
5292         * gst/gstbuffer.c: (gst_subbuffer_init):
5293           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5294           works correctly in all circumstances (we could have just copied
5295           the parent buffer's readonly flag, but conceptually it seems
5296           cleaner to mark all subbuffers as read-only). (based on patch
5297           by Alessandro Decina, #314710).
5298         
5299         * check/gst/gstbuffer.c: (create_read_only_buffer),
5300         (test_make_writable), (test_subbuffer_make_writable),
5301         (gst_test_suite):
5302           Add some tests for gst_buffer_make_writable().
5303
5304 2005-09-27  Wim Taymans  <wim@fluendo.com>
5305
5306         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5307         use gst_object_has_ancestor().
5308
5309         * gst/gstobject.c: (gst_object_has_ancestor):
5310         * gst/gstobject.h:
5311         gst_object_has_ancestor() copied from gstbin.c as it is a
5312         usefull function.
5313
5314         * tests/instantiate/create.c: (create_all_elements):
5315         * tests/lat.c: (handoff_src), (handoff_sink):
5316         * tests/sched/runxml.c: (main):
5317         * tests/seeking/seeking1.c: (main):
5318         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5319         (main):
5320         Fix compilation of some tests.
5321
5322 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5323
5324         * gst/gsterror.h:
5325           Remove comment. GST_TYPE_G_ERROR is here to stay,
5326           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5327           (#316961, #300610).
5328
5329 2005-09-26  Wim Taymans  <wim@fluendo.com>
5330
5331         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5332         Added check that shows error in state change order.
5333
5334 2005-09-26  Wim Taymans  <wim@fluendo.com>
5335
5336         * gst/gstbin.c: (gst_bin_change_state):
5337         Make state change function use 3 queues again, we were
5338         adding elements in the wrong order.
5339
5340         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5341         Some debug info,
5342
5343         * gst/gstpad.c: (gst_pad_dispose):
5344         Added some debug info first.
5345
5346 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5347
5348         * docs/design/draft-push-pull.txt:
5349         * docs/design/part-events.txt:
5350         * docs/design/part-overview.txt:
5351         * docs/design/part-scheduling.txt:
5352           Replace all _pull_region() with _pull_range()
5353           
5354 2005-09-26  Andy Wingo  <wingo@pobox.com>
5355
5356         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5357
5358         * check/gst-libs/controller.c: Update for controller api change.
5359
5360         * configure.ac: 
5361         * tests/Makefile.am:
5362         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5363         over by GLib bug 118439.
5364         
5365         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5366         routines to a function.
5367
5368         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5369
5370         * libs/gst/controller/gsthelper.c:
5371         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5372         (gst_object_sync_values): Renamed from sink_values. Ugh.
5373
5374         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5375
5376         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5377         Renamed from controller_key, as it is exported.
5378
5379         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5380
5381 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5382
5383         * gst/Makefile.am:
5384         * gst/gst.h:
5385         * gst/gstpad.h:
5386         * gst/gstpadtemplate.h:
5387         * gst/gstquery.c:
5388         * gst/gstquery.h:
5389         * gst/gstqueryutils.c:
5390         * gst/gstqueryutils.h:
5391           remove queryutils headers after moving the two used functions
5392           to gstquery.  also fixes build problem for gstsiddec
5393
5394 2005-09-26  Michael Smith <msmith@fluendo.com>
5395
5396         * tools/gst-launch.1.in:
5397         Correct documentation in manpage of debug syntax
5398
5399 2005-09-26  Wim Taymans  <wim@fluendo.com>
5400
5401         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5402         (gst_base_src_is_seekable), (gst_base_src_change_state):
5403         Some more debugging info.
5404
5405 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5406
5407         * docs/gst/gstreamer-sections.txt:
5408         * gst/base/gstbasetransform.h:
5409         * gst/gstindex.h:
5410           added more docs
5411
5412 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5413
5414         * docs/gst/.cvsignore:
5415         * docs/gst/tmpl/.cvsignore:
5416         * docs/gst/tmpl/gstpipeline.sgml:
5417         * docs/gst/tmpl/gstplugin.sgml:
5418         * gst/gstpipeline.c:
5419         * gst/gstplugin.c:
5420         * gst/gstplugin.h:
5421           inlined the last two docs files
5422           removed the tmpl directory from cvs (no more conflicts here!)
5423
5424 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5425
5426         * docs/gst/gstreamer-sections.txt:
5427         * docs/gst/tmpl/.cvsignore:
5428         * docs/gst/tmpl/gstpad.sgml:
5429         * docs/gst/tmpl/gstpadtemplate.sgml:
5430         * gst/Makefile.am:
5431         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5432         (gst_pad_finalize), (gst_pad_set_pad_template):
5433         * gst/gstpad.h:
5434         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5435         (gst_pad_template_class_init), (gst_pad_template_init),
5436         (gst_pad_template_dispose), (name_is_valid),
5437         (gst_static_pad_template_get), (gst_pad_template_new),
5438         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5439         (gst_pad_template_pad_created):
5440         * gst/gstpadtemplate.h:
5441           inlined two more docs
5442           factored gstpadtemplate out of gstpad
5443
5444 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5445
5446         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5447         (test_children_state_change_order_semi_sink):
5448           Fix test case: we can't rely on a fixed state change order when
5449           going from READY => PAUSED because the sink might commit its 
5450           new state first when the first buffer created by the source 
5451           reaches the sink before the source has finished its change state.
5452           (Test case still fails at times, see #316856, comment 5 onwards)
5453
5454 2005-09-24  Wim Taymans  <wim@fluendo.com>
5455
5456         * docs/design/part-events.txt:
5457         * docs/design/part-gstbus.txt:
5458         * docs/design/part-gstpipeline.txt:
5459         * docs/design/part-messages.txt:
5460         * docs/design/part-overview.txt:
5461         * docs/design/part-segments.txt:
5462         * gst/gstbin.c:
5463         * gst/gstbuffer.c:
5464         * gst/gstclock.c:
5465         * gst/gstelement.c:
5466         * gst/gstevent.c:
5467         * gst/gstfilter.c:
5468         * gst/gstiterator.c:
5469         Various documentation updates.
5470
5471 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * gst/gstclock.h:
5474           Well, that's embarassing.  Luckily we weren't using
5475           GST_CLOCK_DIFF anywhere.
5476
5477 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5478
5479         * common/gtk-doc.mak:
5480           don't fail on building XML, FC4 slave shows a bunch of doc
5481           missing bits that I don't get
5482         * gst/gstpad.c:
5483         * gst/gstpipeline.c:
5484         * gst/gststructure.c:
5485           some doc updates
5486
5487 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5488
5489         * docs/design/part-gstbin.txt:
5490         * docs/design/part-gstbus.txt:
5491         * gst/gstbus.c:
5492           Add blurb about how the bus goes into flushing mode and
5493           drops all messages when its bin goes from READY into NULL 
5494           state.
5495
5496 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5497
5498         * docs/gst/gstreamer-sections.txt:
5499         * gst/gststructure.c: (gst_structure_get_clock_time):
5500         * gst/gststructure.h:
5501           add a method to get a GstClockTime out of a structure
5502
5503 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5506         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5507           Added test to check state change order in bins (can still be made
5508           to fail here under heavy disk load; bails out with 'Push on pad
5509           fakesink:sink0, but it was not activated in push mode').
5510
5511         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5512           Fix state change order when there is only a semi sink (#316856)
5513
5514         * gst/gstbus.c: (gst_bus_class_init):
5515           Use _class_peek_parent(), not _class_ref(); fix docs to say
5516           'default main context' instead of 'mainloop' where that is
5517           what's meant.
5518
5519         * gst/gstelement.c: (gst_element_commit_state),
5520         (gst_element_set_state):
5521           Fix typos in debug messages
5522
5523 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5524
5525         * docs/README:
5526         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5527         * gst/gstpluginfeature.c:
5528         * gst/gstutils.c:
5529           various doc updates
5530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5531           change an assert into an error until it gets fixed properly
5532
5533 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5534
5535         * docs/gst/gstreamer-sections.txt:
5536         * docs/gst/tmpl/.cvsignore:
5537         * docs/gst/tmpl/gstelement.sgml:
5538         * docs/gst/tmpl/gstinfo.sgml:
5539         * docs/gst/tmpl/gstobject.sgml:
5540         * gst/gstelement.c:
5541         * gst/gstelement.h:
5542         * gst/gstinfo.c:
5543         * gst/gstinfo.h:
5544         * gst/gstobject.c: (gst_object_class_init):
5545         * gst/gstobject.h:
5546           inlined 3 more biiiig doc files and added some missing docs on the fly
5547
5548 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5549
5550         * check/gst/.cvsignore:
5551         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5552         * gst/gstregistryxml.c: (load_plugin),
5553         (gst_registry_xml_save_plugin):
5554           put back source in registry.  add checks for find_plugin.
5555         * testsuite/states/bin.c: (assert_state), (empty_bin),
5556         (test_adding_one_element), (main):
5557         * testsuite/states/locked.c: (main):
5558           some compile/run fixes
5559
5560 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5561
5562         * check/gst/gstvalue.c: (GST_START_TEST):
5563           fix leaks in the test itself
5564
5565 2005-09-22  Wim Taymans  <wim@fluendo.com>
5566
5567         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5568         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5569         (gst_base_sink_query):
5570         Prepare for more accurate position reporting and query
5571         handling.
5572
5573         * gst/gstelement.c: (gst_element_send_event),
5574         (gst_element_set_state):
5575         Add some comment.
5576
5577 2005-09-22  Wim Taymans  <wim@fluendo.com>
5578
5579         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5580         (gst_query_parse_segment):
5581         * gst/gstquery.h:
5582         More documentation.
5583         Add segment query for future use.
5584
5585 2005-09-22  Wim Taymans  <wim@fluendo.com>
5586
5587         * gst/gstbin.c: (gst_bin_add_func):
5588         Some more debug info.
5589
5590         * gst/gstelement.c: (gst_element_send_event):
5591         Simplify send_event
5592
5593         * gst/gstelement.h:
5594         Don't know how flags got broken.
5595
5596         * gst/gstquery.h:
5597         Added new query.
5598
5599 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5600
5601         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5602           Add simplistic test suite for GST_TYPE_DATE serialisation and
5603           deserialisation.
5604
5605 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5606
5607         * docs/gst/gstreamer-sections.txt:
5608         * gst/gststructure.c: (gst_structure_set_valist),
5609         (gst_structure_get_date):
5610         * gst/gststructure.h:
5611         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5612         (gst_date_copy), (gst_value_compare_date),
5613         (gst_value_serialize_date), (gst_value_deserialize_date),
5614         (gst_value_transform_date_string),
5615         (gst_value_transform_string_date), (_gst_value_initialize):
5616         * gst/gstvalue.h:
5617           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5618           bunch of utility functions along with a hack that checks that
5619           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5620           is required. Part of the grand scheme in #170777.
5621
5622 2005-09-22  Andy Wingo  <wingo@pobox.com>
5623
5624         * gst/gstconfig.h.in: Psych out gtk-doc.
5625
5626         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5627
5628         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5629
5630         * tools/gst-inspect.c (print_element_list): Plug some
5631         inconsequential leaks.
5632
5633         * gst/gstregistry.c (gst_registry_get_default): Doc.
5634
5635         * check/gst/gstplugin.c: 
5636         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5637         * gst/gstelementfactory.c (gst_element_factory_create): 
5638         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5639         refcount changes.
5640
5641         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5642         (gst_plugin_feature_load): Doc, don't eat refs.
5643
5644         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5645         (gst_plugin_list_free): Doc.
5646         (gst_plugin_load_file): Doc updates.
5647
5648         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5649         accessors returning refcounted objects, return a ref.
5650
5651         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5652         accessor for caps. IDEMPOTENCE. Oh yes.
5653
5654 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5655
5656         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5657
5658         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5659         (_gst_debug_register_funcptr):
5660           Add mutex to serialise access to the hash table with
5661           the function pointer => function name string mapping;
5662           make that hash table static scope (#316809).
5663
5664         * gst/registries/.cvsignore:
5665           Remove left-over file.
5666
5667 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5668
5669         * docs/pwg/appendix-porting.xml:
5670           And something about newsegment events and caps-on-buffers to
5671           the porting guide (feel free to improve).
5672
5673 2005-09-21  Andy Wingo  <wingo@pobox.com>
5674
5675         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5676         data and event probes on the same pad.
5677         (test_buffer_probe_once): Test that removing probes from within
5678         the probe functions works.
5679
5680 2005-09-21  Andy Wingo  <wingo@pobox.com>
5681
5682         * check/gst/gstutils.c: New file.
5683         (test_buffer_probe_n_times): A simple buffer probe test. More to
5684         come, foolios.
5685
5686         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5687         have-data::buffer, not have-data.
5688         (gst_pad_add_event_probe): Likewise for have-data::event.
5689         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5690         peer' isn't quite right yet though.
5691         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5692         (gst_pad_remove_data_probe): Change to take the guint handler_id
5693         as their arg, not the function+data, which is more glib-like.
5694
5695         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5696         the signal emission to indicate if the data is a buffer or an
5697         event.
5698         (gst_pad_get_type): Initialize buffer and event quarks.
5699         (gst_pad_class_init): have-data is now a detailed signal, yes it
5700         is.
5701
5702 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5703
5704         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5705         * gst/gstutils.c: (gst_util_set_value_from_string),
5706         (gst_util_set_object_arg):
5707           Don't put functional code in g_return_if_fail() or
5708           g_return_val_if_fail() statements, otherwise things will 
5709           break when G_DISABLE_CHECKS is defined during compilation.
5710
5711 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5712
5713         * docs/gst/tmpl/.cvsignore:
5714         * docs/gst/tmpl/gstvalue.sgml:
5715         * gst/gstvalue.c:
5716         * gst/gstvalue.h:
5717           inlied another one and added  some obvious docs
5718
5719 2005-09-21  Wim Taymans  <wim@fluendo.com>
5720
5721         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5722         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5723         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5724         (gst_fdsrc_get_property), (gst_fdsrc_create):
5725         * gst/elements/gstfdsrc.h:
5726         Properly implement fdsrc. Removed signal and timeout,
5727         better implemented somewhere else.
5728
5729 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5730
5731         * docs/gst/tmpl/.cvsignore:
5732         * docs/gst/tmpl/gstimplementsinterface.sgml:
5733         * gst/gstinterface.c:
5734           inlined more docs
5735
5736 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * docs/gst/gstreamer-sections.txt:
5739         * docs/gst/tmpl/.cvsignore:
5740         * docs/gst/tmpl/gstenumtypes.sgml:
5741           remove obsolete doc file
5742
5743 2005-09-21  David Schleef  <ds@schleef.org>
5744
5745         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5746         little beer, fix a little leak.
5747
5748 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5749
5750         * docs/gst/gstreamer-docs.sgml:
5751         * docs/gst/gstreamer-sections.txt:
5752         * docs/gst/tmpl/.cvsignore:
5753         * gst/Makefile.am:
5754         * gst/gst.h:
5755         * gst/gstbin.c:
5756         * gst/gstelement.h:
5757         * gst/gstindex.c: (gst_index_class_init):
5758         * gst/gstindex.h:
5759         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5760         (gst_index_factory_class_init), (gst_index_factory_init),
5761         (gst_index_factory_finalize), (gst_index_factory_new),
5762         (gst_index_factory_destroy), (gst_index_factory_find),
5763         (gst_index_factory_create), (gst_index_factory_make):
5764         * gst/gstindexfactory.h:
5765         * gst/gstpluginfeature.c:
5766         * gst/gstpluginfeature.h:
5767         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5768           more docs inlined, splitted gstindex.{c,h}
5769
5770 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5771
5772         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5773           fix a leak
5774
5775 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5776
5777         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5778           Set sync to FALSE by default.
5779
5780 2005-09-20  Wim Taymans  <wim@fluendo.com>
5781
5782         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5783         (gst_base_sink_init):
5784         Make sync property settable from subclass.
5785
5786         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5787         (gst_fake_sink_change_state):
5788         Set sync to FALSE by default.
5789
5790 2005-09-20  Wim Taymans  <wim@fluendo.com>
5791
5792         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5793         * tools/gst-launch.c: (main):
5794         The timeout handler should have lower priority than the source
5795         so we don't timeout before popping a message with 0 timeout.
5796         Dump error messages after failed state change.
5797
5798 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5799
5800         * tools/gst-inspect.c: (print_element_properties_info):
5801           Fix two typos.
5802
5803 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5804
5805         * check/gst/gstevent.c:
5806         * gst/elements/gstfakesink.c:
5807         * gst/elements/gstfakesink.h:
5808           remove the sync property from fakesink.
5809           has the side effect of setting sync TRUE
5810           for fakesink, which is a change.  Anyone who knows how
5811           to fix this nicely in a GObject-y way, feel free.
5812
5813 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5814
5815         * docs/gst/gstreamer-docs.sgml:
5816           remove probe refsection
5817
5818 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5819
5820         * check/Makefile.am:
5821           disable valgrinding the controller test again
5822         * docs/gst/gstreamer-sections.txt:
5823           update for api-changes
5824
5825 2005-09-20  Wim Taymans  <wim@fluendo.com>
5826
5827         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5828         (gst_base_sink_set_property), (gst_base_sink_get_property),
5829         (gst_base_sink_do_sync):
5830         * gst/base/gstbasesink.h:
5831         Added sync property to basesink to disable clock sync.
5832
5833 2005-09-20  Andy Wingo  <wingo@pobox.com>
5834
5835         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5836         eating the caller's refcount.
5837
5838         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5839         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5840         refcount.
5841
5842         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5843         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5844         of GLib 2.8 public, so we can know which refcount to check in
5845         tests.
5846
5847         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5848         (gst_object_init): Only set the gst refcount if we're going ahead
5849         with the refcount hack.
5850
5851 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5852
5853         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5854         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5855           more leaks plumbed, added more debug-logging
5856         * gst/gstmacros.h:
5857           whitespace fix
5858
5859 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5860
5861         * gst/gstmessage.c:
5862           remove include of gstmemchunk.h
5863
5864 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * gst/gstclock.c: (_gst_clock_id_free):
5867           Commit from the Political Party For More Atomic CVS Commits,
5868           so that people don't waste too much of their day fishing
5869           out obvious leaks out of massive commits.
5870           Oh, and fix a pretty damn obvious leak in the memchunk
5871           removal code.
5872
5873 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5874
5875         * check/Makefile.am:
5876         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5877           plug mem-leak, re-add to valgrindable tests
5878
5879 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5880
5881         * gst/gstplugin.h:
5882           unbreak the build for those who have chronic arthritis
5883           and typing "make check" is just too taxing on the hands
5884
5885 2005-09-20  Andy Wingo  <wingo@pobox.com>
5886
5887         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5888         really want it out, you should fix plugins at the same time.
5889
5890 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5891
5892         * configure.ac:
5893         * docs/gst/gstreamer-sections.txt:
5894         * gst/gstobject.c:
5895           added missing symbols to api docs
5896           disable ref-count hack if we have glib >= 2.8
5897
5898 2005-09-19  David Schleef  <ds@schleef.org>
5899
5900         * docs/gst/Makefile.am: Ignore a few more internal headers
5901         * docs/gst/gstreamer-docs.sgml: Remove old sections
5902         * docs/gst/gstreamer-sections.txt: Remove old sections
5903         * docs/gst/tmpl/gstobject.sgml: update
5904         * docs/gst/tmpl/gstplugin.sgml: update
5905         * docs/gst/tmpl/gstpluginfeature.sgml: update
5906         * docs/random/ds/0.9-suggested-changes: update.
5907         * gst/Makefile.am: remove memchunk and trashstack, since they're
5908           not used.
5909         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5910         * gst/gst.h: don't include some headers
5911         * gst/gstchildproxy.c: add gstmarshal.h
5912         * gst/gstclock.c: Don't use memchunks
5913         * gst/gstminiobject.c: Add some docs
5914         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5915         * gst/gstobject.h: same
5916         * gst/gstplugin.c: include gstmacros.h
5917         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5918         * gst/gstquery.c: don't use memchunks
5919         * gst/gstregistry.c: rename gst_registry_deinit()
5920         * gst/gstregistry.h: same
5921
5922 2005-09-19  David Schleef  <ds@schleef.org>
5923
5924         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5925         * docs/libs/gstreamer-libs-sections.txt:
5926         * docs/libs/tmpl/gstgetbits.sgml:
5927         * docs/libs/tmpl/gstputbits.sgml:
5928
5929 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5930
5931         * win32/gstenumtypes.c:
5932         * win32/gstenumtypes.h:
5933           Update.
5934
5935 2005-09-19  Wim Taymans  <wim@fluendo.com>
5936
5937         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5938         Automatically PAUSE and RESUME a pipeline when a flushing seek
5939         is performed.
5940
5941 2005-09-19  Andy Wingo  <wingo@pobox.com>
5942
5943         * gst/gstregistry.h: Spacing fixen.
5944
5945 2005-09-19  Wim Taymans  <wim@fluendo.com>
5946
5947         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5948         Handle state change failure more correctly.
5949
5950 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5951
5952         * check/Makefile.am:
5953         * check/pipelines/cleanup.c: (run_pipeline):
5954         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5955         (GST_START_TEST):
5956           enable cleanup again after fixing the leak
5957         * docs/README:
5958           some more info on docs
5959
5960 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5961
5962         * check/Makefile.am:
5963           re-enable tests now that leaks are plugged
5964         * check/gst/gst.c:
5965         * check/gst/gstbin.c:
5966         * check/gst/gstpipeline.c:
5967           add some more tests while fixing leaks
5968         * common/check.mak:
5969           make sure binaries are uptodate when valgrinding/gdbing
5970         * gst/gst.c:
5971         * gst/gstelementfactory.c:
5972           remove a ref too many, and add a FIXME for when we get
5973           round to disposing of classes
5974         * gst/gstplugin.c:
5975           fix the refcounting when loading a plugin from a file and
5976           the code pretends that the pointer is the same even though
5977           of course it can change
5978         * gst/gstpluginfeature.c:
5979           unref plugins marked cached (a bit confusing as a name)
5980           as the docs state should be done
5981           various doc additions to explain refcounting
5982         * gst/gstregistry.c:
5983         * gst/gstregistryxml.c:
5984           debugging
5985
5986 2005-09-19  Wim Taymans  <wim@fluendo.com>
5987
5988         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5989         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5990         (send_messages), (GST_START_TEST), (gstbus_suite):
5991         * check/gst/gstpipeline.c: (GST_START_TEST):
5992         * check/pipelines/cleanup.c: (run_pipeline):
5993         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5994         (GST_START_TEST):
5995         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5996         (gst_bus_source_check), (gst_bus_source_dispatch),
5997         (gst_bus_create_watch), (gst_bus_add_watch_full),
5998         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5999         * gst/gstbus.h:
6000         * tools/gst-launch.c: (event_loop):
6001         * tools/gst-md5sum.c: (event_loop):
6002         GstBusHandler -> GstBusFunc, return value has the same meaning as
6003         any other GSource (FALSE == remove source).
6004         _add_watch() and _add_watch_full() now take a MessageType mask to
6005         only handle specific types of messages.
6006         _poll() returns the GstMessage instead of the message type to avoid
6007         race conditions.
6008         _have_pending() takes a MessageType mask now too.
6009         Added testsuite for multiple bus watches.
6010         Fix testsuites and applications for new bus API.
6011
6012 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6013
6014         * check/Makefile.am:
6015           mark a bunch of the tests as to fix until we fix them
6016
6017 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6018
6019         * common/check.mak:
6020           use GST_PLUGIN settings for valgrind tests as well, so we're
6021           valgrinding the correct thing
6022         * gst/gst.c: (init_post):
6023           plug another leak
6024
6025 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6026
6027         * gst/gst.c: (init_post), (gst_deinit):
6028         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6029         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6030         * gst/gstindex.c: (gst_index_factory_class_init),
6031         (gst_index_factory_finalize):
6032         * gst/gstobject.c: (gst_object_dispose):
6033         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6034         (gst_plugin_load_file), (gst_plugin_desc_free):
6035         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6036         (gst_plugin_feature_finalize):
6037         * gst/gstregistry.c: (gst_registry_class_init),
6038         (gst_registry_init), (gst_registry_finalize),
6039         (gst_registry_get_default), (gst_registry_deinit):
6040         * gst/gstregistry.h:
6041         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6042           various cleanups and memleak plugging.  make valgrind is happy now.
6043
6044 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6045
6046         * common/check.mak:
6047           add a check-valgrind target
6048
6049 2005-09-18  David Schleef  <ds@schleef.org>
6050
6051         * tools/gst-inspect.c: Revert the GOption code.
6052
6053 2005-09-17  David Schleef  <ds@schleef.org>
6054
6055         * check/Makefile.am: Fix environment variables.
6056         * check/gst/gstplugin.c: Fix for API changes.
6057         * tools/gst-inspect.c: Fix for API changes.
6058         * tools/gst-xmlinspect.c: Fix for API changes.
6059         * gst/gstelementfactory.c:
6060         * gst/gstplugin.c:
6061         * gst/gstplugin.h:
6062         * gst/gstpluginfeature.c:
6063         * gst/gstpluginfeature.h:
6064         * gst/gstregistry.c:
6065         * gst/gstregistry.h:
6066         * gst/gstregistryxml.c:
6067         * gst/gsttypefind.c:
6068         * gst/gsttypefindfactory.c:
6069         * gst/indexers/gstfileindex.c:
6070         * gst/indexers/gstmemindex.c:
6071         * gst/schedulers/Makefile.am:
6072           Change registry to keep track of both plugins and features,
6073           removing the feature tracking from plugins themselves.
6074
6075 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6076
6077         * check/Makefile.am:
6078         * tools/gst-register.1.in:
6079           remove gst-register
6080
6081 2005-09-15  David Schleef  <ds@schleef.org>
6082
6083         * check/gst/gstplugin.c:
6084         * gst/gstelementfactory.c:
6085         * gst/gstplugin.c:
6086         * gst/gstpluginfeature.c:
6087         * gst/gstregistry.c:
6088           Getting tired of debugging.  Disabled all the unreffing of
6089           plugins and features, which fixes the segfaults, but of
6090           course leaks like crazy.  At least playbin works.
6091
6092 2005-09-15  David Schleef  <ds@schleef.org>
6093
6094         * check/gst/gstplugin.c: (register_check_elements),
6095         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6096         More testing
6097         * gst/elements/gsttypefindelement.c: Fix refcounting.
6098         * gst/gsttypefind.c:
6099         * gst/gsttypefindfactory.c:
6100         * gst/gsttypefindfactory.h:
6101
6102 2005-09-15  David Schleef  <ds@schleef.org>
6103
6104         * gst/gstindex.c: get refcounting correct.
6105         * gst/gstregistry.c: Handle the case where a feature/plugin is
6106           not found.
6107
6108 2005-09-15  David Schleef  <ds@schleef.org>
6109
6110         * check/Makefile.am:
6111         * check/gst/gstplugin.c: Add test
6112         * gst/gstplugin.c: Fix problems noticed by testsuite
6113         * gst/gstplugin.h:
6114         * gst/gstregistry.c: 
6115         * gst/gstregistry.h:
6116
6117 2005-09-15  David Schleef  <ds@schleef.org>
6118
6119         * gst/gstplugin.c: Implement semi-decent recounting and locking
6120           in plugins and plugin features.
6121         * gst/gstplugin.h:
6122         * gst/gstpluginfeature.c:
6123         * gst/gstpluginfeature.h:
6124         * gst/gstregistry.c:
6125
6126 2005-09-15  Michael Smith <msmith@fluendo.com>
6127
6128         * gst/gstregistry.c: (gst_registry_get_feature_list):
6129           Implement this. Makes oggdemux work; decodebin still broken.
6130
6131 2005-09-14  David Schleef  <ds@schleef.org>
6132
6133         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6134           #316076)
6135         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6136         * gst/check/Makefile.am:
6137         * libs/gst/controller/Makefile.am:
6138         * libs/gst/dataprotocol/Makefile.am:
6139
6140 2005-09-14  David Schleef  <ds@schleef.org>
6141
6142         * configure.ac: Remove getbits library.  Nothing uses it, and
6143           it should be in something like liboil if someone did want
6144           to use it.
6145         * libs/gst/Makefile.am:
6146         * libs/gst/getbits/Makefile.am:
6147         * libs/gst/getbits/gbtest.c:
6148         * libs/gst/getbits/getbits.c:
6149         * libs/gst/getbits/getbits.h:
6150         * libs/gst/getbits/gstgetbits_generic.c:
6151         * libs/gst/getbits/gstgetbits_i386.s:
6152         * libs/gst/getbits/gstgetbits_inl.h:
6153
6154 2005-09-14  David Schleef  <ds@schleef.org>
6155
6156         * gst/Makefile.am: Dist glib-compat.h
6157
6158 2005-09-14  David Schleef  <ds@schleef.org>
6159
6160         * configure.ac: Remove gst/registries, since it's no longer used.
6161         * gst/registries/Makefile.am:
6162         * gst/registries/gstlibxmlregistry.c:
6163         * gst/registries/gstlibxmlregistry.h:
6164         * gst/registries/gstxmlregistry.c:
6165         * gst/registries/gstxmlregistry.h:
6166         * gst/registries/registrytest.c:
6167
6168 2005-09-14  David Schleef  <ds@schleef.org>
6169
6170         * gst/glib-compat.h:
6171         * gst/gstregistryxml.c:
6172           Convergence is near.  Seriously.
6173
6174 2005-09-14  David Schleef  <ds@schleef.org>
6175
6176         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6177         * gst/glib-compat.h:
6178           Attempt #4 to appease the buildbots.
6179
6180 2005-09-14  David Schleef  <ds@schleef.org>
6181
6182         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6183           Attempt #3.
6184
6185 2005-09-14  David Schleef  <ds@schleef.org>
6186
6187         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6188         Attempt #2.
6189
6190 2005-09-14  David Schleef  <ds@schleef.org>
6191
6192         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6193           the new functions.
6194
6195 2005-09-14  David Schleef  <ds@schleef.org>
6196
6197         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6198         * gst/glib-compat.h: Add some functions that are in newer versions
6199           of glib than we care to require.
6200         * gst/gstregistryxml.c: Use them.
6201
6202 2005-09-14  David Schleef  <ds@schleef.org>
6203
6204         * po/POTFILES.in: remove gst-register.c
6205
6206 2005-09-14  David Schleef  <ds@schleef.org>
6207
6208         * docs/gst/gstreamer-docs.sgml:
6209         * docs/gst/gstreamer-sections.txt:
6210         * docs/gst/gstreamer.types:
6211         * docs/gst/tmpl/gstelement.sgml:
6212         * docs/gst/tmpl/gstplugin.sgml:
6213         * docs/gst/tmpl/gstpluginfeature.sgml:
6214           Documentation updates for registry changes.
6215
6216 2005-09-14  David Schleef  <ds@schleef.org>
6217
6218         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6219           because we don't require glib-2.8.
6220
6221 2005-09-14  David Schleef  <ds@schleef.org>
6222
6223         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6224           registries directory.
6225
6226 2005-09-14  David Schleef  <ds@schleef.org>
6227
6228         * check/Makefile.am:
6229         * check/generic/states.c:
6230         * gst/Makefile.am:
6231         * gst/gst.c:
6232         * gst/gst.h:
6233         * gst/gst_private.h:
6234         * gst/gstelementfactory.c:
6235         * gst/gstindex.c:
6236         * gst/gstinfo.c:
6237         * gst/gstplugin.c:
6238         * gst/gstplugin.h:
6239         * gst/gstpluginfeature.c:
6240         * gst/gstpluginfeature.h:
6241         * gst/gstregistry.c:
6242         * gst/gstregistry.h:
6243         * gst/gstregistrypool.c: remove
6244         * gst/gstregistrypool.h: remove
6245         * gst/gsttypefind.c:
6246         * gst/gsttypefindfactory.c:
6247         * gst/gsturi.c:
6248         * tools/Makefile.am:
6249         * tools/gst-compprep.c:
6250         * tools/gst-inspect.c:
6251         * tools/gst-register.c: remove
6252         * tools/gst-xmlinspect.c:
6253           Registry rewrite.  Changes registry from being a file created
6254           by a tool into a simple cache file created automatically by 
6255           libgstreamer.  Removed gst-register (because it's no longer
6256           needed).  Remove registry pools, because we only have one
6257           registry implementation (XML).  Fix up other subsystems as
6258           necessary.
6259
6260 2005-09-13  Michael Smith <msmith@fluendo.com>
6261
6262         * gst/gstconfig.h.in:
6263           Don't Use windows linking attributes for MinGW. Fixes #316157
6264
6265 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6266
6267         * gst/gstutils.c: (set_state_async_thread_func),
6268         (gst_element_set_state_async):
6269           Apparently people think it's better if this function doesn't
6270           try to set the state to whatever state was asked for on the first
6271           call to this function for any object.  Seriously.
6272
6273 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6274
6275         * check/gst/gstpipeline.c: (GST_START_TEST):
6276         * docs/gst/gstreamer-sections.txt:
6277         * gst/gstutils.c: (set_state_async_thread_func),
6278         (gst_element_set_state_async):
6279         * gst/gstutils.h:
6280           add a "gst_element_set_state_async" method that
6281           sets the state and starts a thread to make sure the state
6282           change completes as best as it can
6283
6284 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6285
6286         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6287           codify design+behaviour in testsuite after discussion
6288
6289 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6290
6291         * docs/gst/tmpl/gstelement.sgml:
6292         * docs/manual/appendix-quotes.xml:
6293           add a quote
6294         * gst/gstelement.c: (gst_element_set_state):
6295           add some debug
6296
6297 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6298
6299         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6300         (gst_base_transform_prepare_output_buf),
6301         (gst_base_transform_handle_buffer):
6302         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6303         (gst_capsfilter_prepare_buf):
6304           Remove the requirement for sub-classes to call the parent
6305           implementation of prepare_output_buffer with a wrapper function.
6306           
6307         * gst/gsttaglist.h:
6308         * gst/gsttagsetter.h:
6309           Fix #define wrapper
6310
6311 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6312
6313         * docs/gst/gstreamer-sections.txt:
6314           more doc cleanups
6315
6316 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6317
6318         * docs/gst/gstreamer-sections.txt:
6319         * docs/gst/tmpl/gstelement.sgml:
6320         * docs/gst/tmpl/gstplugin.sgml:
6321         * gst/gstminiobject.c:
6322         * gst/gstvalue.h:
6323           docs now stop throwing warnings
6324
6325 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6326
6327         * docs/gst/gstreamer-sections.txt:
6328         * docs/gst/gstreamer.types:
6329         * docs/gst/tmpl/gstpad.sgml:
6330         * docs/gst/tmpl/gsttypes.sgml:
6331         * gst/base/gstadapter.h:
6332         * gst/base/gstbasesink.h:
6333         * gst/base/gstbasesrc.h:
6334         * gst/gstbin.h:
6335         * gst/gstbuffer.h:
6336         * gst/gstbus.h:
6337         * gst/gstcaps.h:
6338         * gst/gstclock.h:
6339         * gst/gstelement.h:
6340         * gst/gstevent.h:
6341         * gst/gstmessage.h:
6342         * gst/gstpad.h:
6343         * gst/gststructure.c:
6344         * gst/registries/gstlibxmlregistry.h:
6345           various documentation fixes
6346
6347 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6348
6349         * docs/gst/gstreamer-sections.txt:
6350         * docs/gst/tmpl/gstvalue.sgml:
6351           rearrange gstvalue section
6352         * gst/gstutils.c: (gst_element_state_get_name):
6353           NONE -> VOID
6354         * gst/gstvalue.c: (_gst_value_initialize):
6355         * gst/gstvalue.h:
6356           doc updates
6357
6358 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6359
6360         * check/gst-libs/controller.c:
6361           Header include fix.
6362         * gst/base/gstbasetransform.c:
6363         (gst_base_transform_default_prepare_buf),
6364         (gst_base_transform_handle_buffer):
6365         * gst/base/gstbasetransform.h:
6366           Some more basetransform changes and fixes to enable sub-classes
6367           that modify buffer metadata only.
6368         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6369         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6370         (gst_capsfilter_prepare_buf):
6371           If the output pad has fixed allowed caps and input buffers 
6372           don't have any, set the fixed caps on outgoing buffers.
6373
6374 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6375         * check/elements/identity.c: (GST_START_TEST):
6376           Make the error a little clearer when the test fails because
6377           identity made a copy of the buffer.
6378         * docs/gst/gstreamer-sections.txt:
6379           New symbols in gstbasetransform.h
6380         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6381         (gst_base_transform_init), (gst_base_transform_transform_size),
6382         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6383         (gst_base_transform_default_prepare_buf),
6384         (gst_base_transform_get_unit_size),
6385         (gst_base_transform_buffer_alloc),
6386         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6387         (gst_base_transform_change_state),
6388         (gst_base_transform_set_passthrough),
6389         (gst_base_transform_set_in_place),
6390         (gst_base_transform_is_in_place):
6391         * gst/base/gstbasetransform.h:
6392           Change BaseTransform to separate in_place operate from same_caps
6393           output. in_place implies that the element can perform the transform
6394           on incoming buffers in-place, even if the caps on the output are
6395           different.
6396           Sub-class elements can now implement special buffer allocation
6397           methods for outgoing buffers if they wish to.
6398           Big documentation addition.
6399         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6400         * gst/elements/gstelements.c:
6401           Changes for basetransform modifications.
6402         * gst/elements/Makefile.am:
6403         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6404           Compile fix. Extra debug output.
6405
6406 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6409         (gst_pad_suite):
6410           add tests for valid pad naming
6411         * gst/check/gstcheck.c: (gst_check_log_message_func),
6412         (gst_check_log_critical_func):
6413           add ASSERT_WARNING
6414           remove printing of code, it is fragile when the code contains
6415           % and the line number is enough info
6416         * gst/check/gstcheck.h:
6417         * gst/gstpad.c: (gst_pad_template_new):
6418           fix memleaks
6419
6420 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6421
6422         * configure.ac:
6423           say what CHECK flags we use
6424         * docs/libs/gstreamer-libs.types:
6425         * libs/gst/controller/Makefile.am:
6426         * libs/gst/controller/gst-controller.c:
6427         * libs/gst/controller/gst-controller.h:
6428         * libs/gst/controller/gst-helper.c:
6429         * libs/gst/controller/gst-interpolation.c:
6430         * libs/gst/controller/gstcontroller.c:
6431         * libs/gst/controller/gsthelper.c:
6432         * libs/gst/controller/gstinterpolation.c:
6433         * tools/gst-inspect.c: (print_plugin_info):
6434           we don't use dashes in header names
6435
6436 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6437
6438         * check/Makefile.am:
6439         * check/gst/.cvsignore:
6440         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6441         (gst_pipeline_suite), (main):
6442           adding a test for pipelines and state changes
6443         * gst/gstutils.c: (get_state_func):
6444           add some debugging
6445         * gstreamer.spec.in:
6446           fix up spec file
6447
6448 2005-09-08  Michael Smith <msmith@fluendo.com>
6449
6450         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6451         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6452         (gst_file_src_is_seekable), (gst_file_src_get_size),
6453         (gst_file_src_start):
6454         * gst/elements/gstfilesrc.h:
6455           Various fixes for unseekable, unmmapable, and non-normal files, so
6456           that fallback to read() rather than mmap() works.
6457         * gst/gstevent.c: (gst_event_new_newsegment):
6458           Allow newsegment events with segment_start == segment_end, as will
6459           correctly happen if you use filesrc on a zero-size file, for
6460           example.
6461
6462 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6463
6464         * gst/gstplugin.c: (gst_plugin_load_file):
6465           Call g_module_close when we don't load the module
6466
6467         * gst/registries/gstlibxmlregistry.c:
6468         (gst_xml_registry_get_property):
6469           Port leak fix from 0.8
6470
6471 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6472
6473         * docs/gst/gstreamer-docs.sgml:
6474         * docs/gst/tmpl/.cvsignore:
6475         * docs/gst/tmpl/gsttrace.sgml:
6476         * docs/gst/tmpl/gsttrashstack.sgml:
6477         * gst/Makefile.am:
6478         * gst/gst.h:
6479         * gst/gstelement.h:
6480         * gst/gstevent.h:
6481         * gst/gstmessage.c:
6482         * gst/gstmessage.h:
6483         * gst/gsttag.c:
6484         * gst/gsttag.h:
6485         * gst/gsttaginterface.c:
6486         * gst/gsttaginterface.h:
6487         * gst/gsttaglist.c:
6488         * gst/gsttaglist.h:
6489         * gst/gsttagsetter.c:
6490         * gst/gsttagsetter.h:
6491         * gst/gsttrace.c:
6492         * gst/gsttrace.h:
6493         * gst/gsttrashstack.c:
6494           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6495           inlined docs for gsttrace, gsttrashstack
6496
6497 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6498
6499         * gst/Makefile.am:
6500         * gst/elements/gstbufferstore.h:
6501         * gst/elements/gsttypefindelement.c:
6502         * gst/elements/gsttypefindelement.h:
6503         * gst/gst.h:
6504         * gst/gsttypefind.c:
6505         * gst/gsttypefind.h:
6506         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6507         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6508         (gst_type_find_factory_dispose),
6509         (gst_type_find_factory_unload_thyself),
6510         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6511         (gst_type_find_factory_get_caps),
6512         (gst_type_find_factory_get_extensions),
6513         (gst_type_find_factory_call_function):
6514         * gst/gsttypefindfactory.h:
6515         * gst/registries/gstlibxmlregistry.c:
6516         * gst/registries/gstxmlregistry.c:
6517           splitted gsttypefind into gsttypefind, gsttypefindfactory
6518
6519 2005-09-07  Andy Wingo  <wingo@pobox.com>
6520
6521         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6522         condition whereby the pad's task function is entered before the
6523         pad_mode variable was set.
6524
6525 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6526
6527         * gst/gstpad.c: (gst_pad_alloc_buffer):
6528           Catch misbehaving pad_alloc functions that don't
6529           set up caps and do it for them.
6530
6531 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6532
6533         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6534           test for pipe!=NULL
6535         * docs/gst/tmpl/.cvsignore:
6536         * docs/gst/tmpl/gstmemchunk.sgml:
6537         * docs/gst/tmpl/gstparse.sgml:
6538         * docs/gst/tmpl/gsttaglist.sgml:
6539         * docs/gst/tmpl/gsttagsetter.sgml:
6540         * docs/gst/tmpl/gsttypefind.sgml:
6541         * docs/gst/tmpl/gsttypefindfactory.sgml:
6542         * gst/gstmemchunk.c:
6543         * gst/gstparse.c:
6544         * gst/gsttag.c:
6545         * gst/gsttaginterface.c:
6546         * gst/gsttypefind.c:
6547         * gst/gsttypefind.h:
6548           inlined more docs
6549
6550 === release 0.9.2 ===
6551
6552 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * NEWS:
6555         * RELEASE:
6556         * configure.ac:
6557           releasing 0.9.2, "South"
6558
6559 2005-09-05  Andy Wingo  <wingo@pobox.com>
6560
6561         * gst/registries/gstxmlregistry.h:
6562         * gst/registries/gstxmlregistry.c: Um... resurrect...
6563         
6564         * gst/registries/gstxmlregistry.h:
6565         * gst/registries/gstxmlregistry.c: and update to newer API.
6566         Incidentally they should be a bit faster now that they don't have
6567         to parse the caps.
6568         
6569 2005-09-05  Andy Wingo  <wingo@pobox.com>
6570
6571         * gst/registries/gstxmlregistry.h:
6572         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6573         replaced by the libxml registry a while back
6574
6575 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6576
6577         * docs/gst/tmpl/gstplugin.sgml:
6578         * gst/elements/gstelements.c:
6579         * gst/gst.c:
6580         * gst/gstplugin.c: (gst_plugin_register_func),
6581         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6582         (gst_plugin_get_source):
6583         * gst/gstplugin.h:
6584         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6585         (gst_xml_registry_save_plugin):
6586         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6587         (gst_xml_registry_save_plugin):
6588         * tools/gst-inspect.c: (print_plugin_info):
6589           add a "source" plugin description field, to represent the source
6590           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6591           will set it to PACKAGE, which is automake's idea of the name of
6592           the source project.
6593
6594 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * Makefile.am:
6597         * autogen.sh:
6598         * configure.ac:
6599         * docs/Makefile.am:
6600         * docs/faq/Makefile.am:
6601         * docs/gst/tmpl/gstelement.sgml:
6602         * docs/gst/tmpl/gsttypes.sgml:
6603         * docs/htmlinstall.mak:
6604         * docs/manual/Makefile.am:
6605         * docs/pwg/Makefile.am:
6606           reorganize doc build a little
6607           split out docbook and gtk-doc stuff
6608           have two separate --enable's and enable them through autogen
6609           but disable by default in configure (to be similar to other
6610           projects)
6611         * gstreamer.spec.in:
6612           clean up docs install
6613         * po/af.po:
6614         * po/az.po:
6615         * po/ca.po:
6616         * po/cs.po:
6617         * po/de.po:
6618         * po/en_GB.po:
6619         * po/fr.po:
6620         * po/it.po:
6621         * po/nb.po:
6622         * po/nl.po:
6623         * po/ru.po:
6624         * po/sq.po:
6625         * po/sr.po:
6626         * po/sv.po:
6627         * po/tr.po:
6628         * po/uk.po:
6629         * po/vi.po:
6630           translation updates
6631
6632 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6633
6634         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6635           Add comment.
6636           
6637         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6638         (gst_fake_sink_change_state):
6639           Make state change function thread-safe.
6640           
6641         * gst/gstpad.c: (gst_pad_alloc_buffer):
6642           Set offset on generic buffer allocated by fallback.
6643
6644 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6645
6646         * docs/gst/gstreamer-sections.txt:
6647         * docs/gst/tmpl/gstelement.sgml:
6648         * gst/gstpad.c:
6649         * libs/gst/controller/gst-controller.c:
6650         (gst_controlled_property_set_interpolation_mode),
6651         (gst_controlled_property_new),
6652         (gst_controller_find_controlled_property):
6653          run the wingo-magic script against the docs
6654
6655 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6656
6657         * docs/gst/gstreamer-docs.sgml:
6658         * docs/gst/gstreamer-sections.txt:
6659         * docs/gst/tmpl/.cvsignore:
6660         * docs/gst/tmpl/gstelementdetails.sgml:
6661         * docs/gst/tmpl/gstelementfactory.sgml:
6662         * gst/gst.c:
6663         * gst/gstbus.c:
6664         * gst/gstelementfactory.c:
6665         * gst/gstelementfactory.h:
6666           merged elementdetails docs into elementfactory docs
6667           inlined both
6668
6669 2005-09-02  Andy Wingo  <wingo@pobox.com>
6670
6671         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6672         consider this enum an enum and not a flags.
6673
6674 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6675
6676         * docs/gst/gstreamer-docs.sgml:
6677         * docs/gst/tmpl/.cvsignore:
6678         * docs/gst/tmpl/gstghostpad.sgml:
6679         * docs/gst/tmpl/gstiterator.sgml:
6680         * docs/gst/tmpl/gstmacros.sgml:
6681         * docs/gst/tmpl/gstrealpad.sgml:
6682         * docs/gst/tmpl/gstregistry.sgml:
6683         * docs/gst/tmpl/gstregistrypool.sgml:
6684         * docs/gst/tmpl/gststructure.sgml:
6685         * docs/gst/tmpl/gstsystemclock.sgml:
6686         * docs/gst/tmpl/gsttrace.sgml:
6687         * gst/gstghostpad.c:
6688         * gst/gstmacros.h:
6689         * gst/gstmemchunk.c:
6690         * gst/gstmemchunk.h:
6691         * gst/gstqueue.c:
6692         * gst/gstregistry.c:
6693         * gst/gstregistrypool.c:
6694         * gst/gststructure.c:
6695         * gst/gstsystemclock.c:
6696           more docs inlined
6697
6698 2005-09-02  Andy Wingo  <wingo@pobox.com>
6699
6700         * gst/gstelement.h (GstState): Renamed from GstElementState,
6701         changed to be a normal enum instead of flags.
6702         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6703         munged to be GST_STATE_CHANGE_*.
6704         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6705         work with the new state representation.
6706         (GstStateChange): New enumeration of possible state transitions.
6707         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6708         (GstElementClass::change_state): Pass the GstStateChange along as
6709         an argument. Helps language bindings, so they don't have to use
6710         tricky lock-needing macros like GST_STATE_CHANGE ().
6711
6712         * scripts/update-states (file): New script. Run it on a file to
6713         update it for state naming and API changes. Updates files in
6714         place.
6715
6716         * All files updated for the new API.
6717
6718 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6719
6720         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6721         * gst/gstutils.c: (gst_util_set_value_from_string),
6722         (gst_util_set_object_arg):
6723           fix a bunch of unchecked return values
6724         * tools/gst-complete.c: (main):
6725         * gstreamer.spec.in:
6726           clean up a little
6727
6728 2005-09-01  Wim Taymans  <wim@fluendo.com>
6729
6730         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6731         (gst_base_sink_event), (gst_base_sink_do_sync),
6732         (gst_base_sink_handle_event):
6733         * gst/base/gstbasesink.h:
6734         Handle newsegments more correctly.
6735
6736         * gst/gstbus.c:
6737         Fix docs.
6738
6739         * gst/gstevent.c: (gst_event_new_newsegment):
6740         A newsegment cannot have a start_time of -1
6741
6742 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6743
6744         * win32/gstenumtypes.c:
6745         * win32/gstenumtypes.h:
6746           Update
6747
6748 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6749
6750         * libs/gst/controller/gst-controller.c:
6751         (gst_controlled_property_set_interpolation_mode),
6752         (gst_controlled_property_new):
6753          fixed boolean again
6754
6755 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * docs/faq/gst-uninstalled:
6758           add -good
6759         * gst/gstevent.c:
6760         * gst/gstevent.h:
6761           remove wrong docs
6762         * gst/gstutils.c: (gst_element_link_filtered):
6763         * gst/gstutils.h:
6764           add gst_element_link_filtered
6765
6766 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6767
6768         * docs/gst/gstreamer-docs.sgml:
6769         * docs/gst/gstreamer-sections.txt:
6770         * docs/gst/tmpl/.cvsignore:
6771         * docs/gst/tmpl/gsterror.sgml:
6772         * docs/gst/tmpl/gstfilter.sgml:
6773         * docs/gst/tmpl/gsturihandler.sgml:
6774         * docs/gst/tmpl/gsturitype.sgml:
6775         * docs/gst/tmpl/gstutils.sgml:
6776         * docs/gst/tmpl/gstxml.sgml:
6777         * gst/gsterror.c:
6778         * gst/gsterror.h:
6779         * gst/gstfilter.c:
6780         * gst/gsturi.c:
6781         * gst/gsturitype.c:
6782         * gst/gstutils.c:
6783         * gst/gstxml.c:
6784           inlined more docs, fixed double id-ref
6785
6786 2005-08-31  Wim Taymans  <wim@fluendo.com>
6787
6788         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6789         (gst_base_transform_handle_buffer):
6790         Passthrough elements don't need the caps as they don't care.
6791
6792 2005-08-31  Wim Taymans  <wim@fluendo.com>
6793
6794         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6795         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6796         Don't leak refcounts on buffers.
6797
6798 2005-08-31  Wim Taymans  <wim@fluendo.com>
6799
6800         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6801         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6802         (gst_base_transform_chain), (gst_base_transform_change_state):
6803         * gst/base/gstbasetransform.h:
6804         Handle the case where we are not negotiated more gracefully.
6805
6806 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6807
6808         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6809         (gst_file_src_map_region):
6810           Set READONLY flag on mmap'ed buffers, otherwise
6811           gst_buffer_make_writable() won't work properly (#314708).
6812
6813 2005-08-31  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6816         passthrough elements can even do inplace on non writable
6817         buffers (as they don't touch them).
6818
6819 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6820
6821         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6822         (gst_test_mono_source_set_property),
6823         (gst_test_mono_source_class_init), (GST_START_TEST),
6824         (gst_controller_suite):
6825           more tests (hehe I have the most)
6826         * gst/gstbus.c:
6827           describe popping messages whenusing mulltiple sources
6828         * libs/gst/controller/gst-controller.c:
6829         (gst_controlled_property_set_interpolation_mode),
6830         (gst_controlled_property_new):
6831         * libs/gst/controller/gst-controller.h:
6832         * libs/gst/controller/gst-interpolation.c:
6833           implement boolean properties
6834
6835 2005-08-31  Wim Taymans  <wim@fluendo.com>
6836
6837         * gst/gstminiobject.c: (gst_mini_object_ref):
6838         Cannot assert that the refcount has to be positive
6839         since a disposed object can be resurrected.
6840
6841 2005-08-31  Wim Taymans  <wim@fluendo.com>
6842
6843         * gst/gstpad.c: (gst_pad_init):
6844         Revert change, need to first fix badly behaving 
6845         apps.
6846
6847 2005-08-30  Wim Taymans  <wim@fluendo.com>
6848
6849         * check/elements/fakesrc.c: (setup_fakesrc):
6850         * check/elements/identity.c: (setup_identity):
6851         Activate pads before using them.
6852
6853 2005-08-30  Wim Taymans  <wim@fluendo.com>
6854
6855         * gst/base/gstadapter.c: (gst_adapter_flush):
6856         Flushing out 0 bytes is ok for this function.
6857
6858         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6859         no newsegment gives a warning and sets the start/stop to 
6860         invalid.
6861
6862         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6863         (gst_base_transform_set_passthrough):
6864         Some debug info.
6865
6866         * gst/gstminiobject.c: (gst_mini_object_ref):
6867         Check refcount here too.
6868
6869         * gst/gstpad.c: (gst_pad_init):
6870         Pads are initially flushing and refusing data.
6871
6872         * gst/gstutils.c: (gst_element_link_pads_filtered):
6873         When adding a capsfilter element make sure it has the
6874         same state as the parent bin.
6875
6876 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6877
6878         * docs/gst/tmpl/.cvsignore:
6879         * docs/gst/tmpl/gstformat.sgml:
6880         * docs/gst/tmpl/gstversion.sgml:
6881         * gst/gstbus.h:
6882         * gst/gstformat.c:
6883         * gst/gstformat.h:
6884         * gst/gstversion.h.in:
6885           more docs and two more inlined
6886
6887 2005-08-30  Wim Taymans  <wim@fluendo.com>
6888
6889         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6890         Don't sync to clock.
6891
6892 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6893
6894         * docs/gst/gstreamer-sections.txt:
6895           ultral33t func10ns deserve to appear in the docs actually
6896         * docs/gst/tmpl/.cvsignore:
6897         * docs/gst/tmpl/gstcompat.sgml:
6898         * docs/gst/tmpl/gstconfig.sgml:
6899         * gst/check/gstcheck.c:
6900         * gst/gstcompat.h:
6901         * gst/gstconfig.h.in:
6902           inlined more docs
6903
6904 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6905
6906         * docs/gst/tmpl/.cvsignore:
6907         * docs/gst/tmpl/gstquery.sgml:
6908         * docs/gst/tmpl/gstutils.sgml:
6909         * gst/gstquery.c:
6910         * gst/gstquery.h:
6911           inlined and extended docs
6912
6913 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * check/gst-libs/controller.c: (GST_START_TEST),
6916         (gst_controller_suite):
6917           more tests
6918         * docs/gst/tmpl/gstutils.sgml:
6919         * docs/libs/gstreamer-libs-sections.txt:
6920         * docs/libs/tmpl/gstdataprotocol.sgml:
6921           include path fixes
6922         * examples/controller/audio-example.c: (main):
6923           controller example works now
6924         * gst/gstclock.h:
6925           doc fixes
6926         * tools/gst-inspect.c: (print_element_properties_info):
6927           show param spec flags
6928
6929 2005-08-29  Andy Wingo  <wingo@pobox.com>
6930
6931         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6932
6933 2005-08-28  Andy Wingo  <wingo@pobox.com>
6934
6935         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6936         as having two arguments instead of just one. Allows superclasses
6937         to access information on subclasses -- see the terrible for() loop
6938         in gtype.c:g_type_create_instance for the reason why. All callers
6939         changed.
6940
6941 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6942
6943         * docs/design/part-messages.txt:
6944           update info
6945         * docs/gst/tmpl/.cvsignore:
6946         * docs/gst/tmpl/gstcaps.sgml:
6947         * docs/gst/tmpl/gstclock.sgml:
6948         * gst/gstbus.c:
6949         * gst/gstcaps.c:
6950         * gst/gstcaps.h:
6951         * gst/gstclock.c:
6952         * gst/gstclock.h:
6953         * gst/gstmessage.c:
6954           added descriptions for bus and message
6955           inline caps and clock docs
6956
6957 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6958
6959         * gst/gstmessage.c:
6960         * gst/gstmessage.h:
6961           doc fixes
6962
6963 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6964
6965         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6966           fix div-by-zero
6967
6968 2005-08-26  Andy Wingo  <wingo@pobox.com>
6969
6970         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6971         element_set_state's return val.
6972         (test_2_elements): Add test that's been disabled for months.
6973
6974         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6975         can-activate-pull properties.
6976
6977         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6978         can-activate-pull properties. Implement is_seekable so fakesrc can
6979         operate in pull mode.
6980
6981         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6982         properties.
6983         (gst_base_sink_activate, gst_base_sink_activate_pull)
6984         (gst_base_sink_activate_push): Make activation mode choosing work.
6985         Cleanups.
6986         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6987         is right. Make pull mode work. Post an eos before pausing in pull
6988         mode.
6989         (gst_base_sink_change_state): Pay attention to the core's
6990         change_state() return val.
6991         
6992         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6993         has-getrange properties. Cleanups.
6994         
6995         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6996         has_getrange and replace with can_activate_pull and
6997         can_activate_push.
6998
6999         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7000         locking comments. Remove has_loop, has_chain and replace with
7001         can_activate_pull and can_activate_push.
7002
7003 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7004
7005         * configure.ac:
7006         * examples/Makefile.am:
7007         * examples/metadata/Makefile.am:
7008         * examples/metadata/read-metadata.c: (message_loop),
7009         (have_pad_handler), (make_pipeline), (print_tag), (main):
7010           Add metadata reading example that loops over a list of filenames,
7011           dumping any tags found.
7012
7013         * gst/gstbus.c: (gst_bus_dispose):
7014         * gst/gstelement.c: (gst_element_dispose):
7015           Release a few potentially-held references in dispose.
7016
7017 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7018
7019         * docs/gst/tmpl/gstminiobject.sgml:
7020           do *not* add tmpl/*.sgml files to CVS!
7021
7022 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7023
7024         * libs/gst/bytestream/.cvsignore:
7025         * libs/gst/bytestream/Makefile.am:
7026         * libs/gst/bytestream/adapter.c:
7027         * libs/gst/bytestream/adapter.h:
7028         * libs/gst/bytestream/bytestream.c:
7029         * libs/gst/bytestream/bytestream.h:
7030         * libs/gst/bytestream/filepad.c:
7031         * libs/gst/bytestream/filepad.h:
7032           removing obsolete files
7033
7034 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7035
7036         * docs/gst/gstreamer-docs.sgml:
7037         * docs/libs/gstreamer-libs-docs.sgml:
7038           disabed additional index entries again, as this makes docs-gen just
7039           slow and they aren't useful yet
7040         * docs/libs/gstreamer-libs-sections.txt:
7041           little -section.txt cleanup for libs
7042
7043 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7044
7045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7046         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7047           fix up some debugging
7048         (gst_base_transform_get_unit_size),
7049         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7050         (gst_base_transform_handle_buffer):
7051         * gst/base/gstbasetransform.h:
7052           handle and store timed NEWSEGMENT events so that subclasses that
7053           calculate time by counting samples have a segment_start time they
7054           need to add to their timestamps - see audioresample
7055
7056 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7057
7058         * gst/gstbin.h:
7059           removed ';' from the end of macro defs
7060         * docs/gst/gstreamer-docs.sgml:
7061         * docs/gst/gstreamer-sections.txt:
7062         * docs/gst/tmpl/.cvsignore:
7063         * gst/gstbus.h:
7064         * gst/gstelement.c: (gst_element_class_init),
7065         (gst_element_set_state), (activate_pads),
7066         (gst_element_save_thyself):
7067         * gst/gstevent.c: (gst_event_new_newsegment):
7068         * gst/gstevent.h:
7069         * gst/gstiterator.c:
7070         * gst/gstiterator.h:
7071         * gst/gstpad.c:
7072         * gst/gstprobe.h:
7073         * gst/gstutils.c: (gst_pad_query_convert):
7074         * gst/gstutils.h:
7075           fixed parameter name mismatches between source, header and docs
7076           added some more docs, resolved the last batch of unused elements in
7077           docs (now someone needs to doc them)
7078
7079 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7080
7081         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7082         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7083           don't walk through the plugins backwards.  Where is all this
7084           reversed logic coming from ?
7085
7086 2005-08-25  Wim Taymans  <wim@fluendo.com>
7087
7088         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7089         (gst_base_transform_transform_size),
7090         (gst_base_transform_configure_caps),
7091         (gst_base_transform_get_unit_size),
7092         (gst_base_transform_buffer_alloc),
7093         (gst_base_transform_change_state):
7094         * gst/base/gstbasetransform.h:
7095         Cache caps unit_size.
7096         Make sure we cannot negotiate up and downstream at the
7097         same time.
7098
7099 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7100
7101         * gst/gst.c: (init_pre), (init_post):
7102           register the installed plugin path after the env var
7103         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7104         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7105           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7106           directories, so the tests can prefer uninstalled over installed
7107
7108 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7109
7110         * gst/base/gstbasetransform.h:
7111           comment
7112         * gst/gstpad.c:
7113           add to docs
7114
7115 2005-08-25  Wim Taymans  <wim@fluendo.com>
7116
7117         * gst/gstbin.c: (bin_bus_handler):
7118         Be a bit more conservative about the posted message.
7119         
7120         * gst/gstbus.c: (gst_bus_post):
7121         Some cleanups, warn wrong return values.
7122
7123 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7124
7125         * check/gst/gstbin.c: (GST_START_TEST):
7126         * gst/gstbin.c: (bin_bus_handler):
7127         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7128         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7129         (gst_message_new_warning), (gst_message_new_tag),
7130         (gst_message_new_state_changed), (gst_message_new_segment_start),
7131         (gst_message_new_segment_done), (gst_message_new_custom):
7132         * gst/gstmessage.h:
7133         * tools/gst-launch.c: (event_loop):
7134         * tools/gst-md5sum.c: (event_loop):
7135           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7136
7137 2005-08-25  Wim Taymans  <wim@fluendo.com>
7138
7139         * check/generic/states.c: (GST_START_TEST):
7140         Cleanup can be done at the end.
7141
7142         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7143         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7144         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7145         Oh boy.. Thanks for finding this, Thomas. 
7146
7147 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7148
7149         * docs/gst/gstreamer.types:
7150           added missing types
7151
7152 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7153
7154         * docs/gst/gstreamer-docs.sgml:
7155         * docs/gst/gstreamer-sections.txt:
7156         * docs/gst/tmpl/.cvsignore:
7157         * gst/gstbin.c:
7158         * gst/gstiterator.c:
7159         * gst/gstutils.c:
7160         * gst/registries/gstxmlregistry.h:
7161           added missing classes and symbols (123 more to go)
7162           removed removed symbols from section file
7163           fixed many doc-comments
7164
7165 2005-08-24  Wim Taymans  <wim@fluendo.com>
7166
7167         * check/generic/states.c: (GST_START_TEST):
7168         Make sure all tasks are stopped.
7169
7170         * check/gst/gstbin.c: (GST_START_TEST):
7171         Unref after usage for proper valgrinding.
7172
7173         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7174         Really wait for the task to stop before destroying the
7175         mutex.
7176
7177         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7178         (gst_queue_src_activate_push):
7179         Small cleanups. Don't stop the task when we did not start
7180         it.
7181
7182         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7183         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7184         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7185         (gst_task_join):
7186         * gst/gsttask.h:
7187         Protect the stream lock with the object lock.
7188         Disallow setting the stream lock when running.
7189         Add cleanup_all to wait for the threadpool to finish.
7190         Remove code to autoallocate a mutex if none was provided.
7191         Add _join() to wait for a task to stop.
7192         Protect the thread pool with a global lock.
7193
7194 2005-08-24  Wim Taymans  <wim@fluendo.com>
7195
7196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7197         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7198         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7199         * gst/base/gstbasesink.h:
7200         Handle newsegment events correctly.
7201         Drop buffers out of the segment range.
7202
7203 2005-08-22  Andy Wingo  <wingo@pobox.com>
7204
7205         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7206         macro, implements an interface and gstimplementsinterface for a
7207         new type.
7208
7209 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7210
7211         * check/Makefile.am:
7212         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7213           add a test that does a bunch of state changes on elements
7214           needs some fixing for valgrind
7215         * check/states/sinks.c: (gst_object_suite):
7216           whitespace
7217         * gst/gstcaps.h:
7218           add prototype for gst_caps_is_equal_fixed
7219         * gst/gstplugin.c:
7220         * gst/gstregistrypool.c:
7221           doc fixes
7222
7223 2005-08-24  Andy Wingo  <wingo@pobox.com>
7224
7225         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7226         convert a negative value. Doesn't make much sense. Mostly this is
7227         here to force callers to ensure -1 maps to -1.
7228
7229 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7230
7231         * docs/pwg/advanced-types.xml:
7232           Well done to Michael for catching my deliberate introduction
7233           of this spelling mistake. 
7234         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7235         * gst/gstelement.h:
7236           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7237           unlink pads before removing the element from the bin.
7238
7239 2005-08-24  Andy Wingo  <wingo@pobox.com>
7240
7241         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7242         the same thing as GST_DEBUG=*:4.
7243         (parse_debug_level, parse_debug_category): New helper parsers.
7244
7245 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7248         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7249         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7250         (gst_base_transform_buffer_alloc),
7251         (gst_base_transform_handle_buffer):
7252           use gboolean return values and pointers to size so we can use the
7253           full GST_BUFFER_SIZE range (guint) for buffer sizes
7254           use GstPadDirection for transform_caps
7255         * gst/base/gstbasetransform.h:
7256           rename get_size to get_unit_size since that's what it is
7257         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7258           use GstPadDirection for transform_caps
7259         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7260         * gst/gstutils.h:
7261           cleanup and debugging
7262
7263 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * gst/gstelement.c: (gst_element_class_init),
7266         (gst_element_set_state), (activate_pads),
7267         (gst_element_save_thyself):
7268         * tools/gst-compprep.c: (main):
7269         * tools/gst-inspect.c: (print_element_properties_info):
7270         * tools/gst-xmlinspect.c: (print_element_properties):
7271           Fixed long standing mem-leak
7272
7273 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7274
7275         * check/gst/gstbin.c: (GST_START_TEST):
7276         * gst/gstbin.c: (bin_bus_handler):
7277         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7278         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7279         (gst_message_new_warning), (gst_message_new_tag),
7280         (gst_message_new_state_changed), (gst_message_new_segment_start),
7281         (gst_message_new_segment_done), (gst_message_new_custom):
7282         * gst/gstmessage.h:
7283         * tools/gst-launch.c: (event_loop):
7284         * tools/gst-md5sum.c: (event_loop):
7285           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7286           that applications can sensibly post custom messages with references
7287           to their own objects.
7288
7289 2005-08-24  Andy Wingo  <wingo@pobox.com>
7290
7291         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7292         already.
7293
7294 2005-08-24  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7297         (gst_base_transform_transform_caps),
7298         (gst_base_transform_transform_size),
7299         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7300         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7301         (gst_base_transform_handle_buffer):
7302         * gst/base/gstbasetransform.h:
7303         Many fixes and new features added by Thomas. Can now also do
7304         transforms with variable sizes and a custom fixate_caps function.
7305
7306 2005-08-24  Wim Taymans  <wim@fluendo.com>
7307
7308         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7309         Some debugging.
7310
7311         * gst/gstclock.h:
7312         Cast to ClockTime before formatting to time.
7313
7314         * gst/gstutils.h:
7315         Cleanups.
7316
7317 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7318
7319         * check/gst-libs/controller.c: (GST_START_TEST),
7320         (gst_controller_suite):
7321         * docs/gst/tmpl/gstcaps.sgml:
7322         * docs/gst/tmpl/gstghostpad.sgml:
7323         * docs/gst/tmpl/gstquery.sgml:
7324         * docs/gst/tmpl/gstutils.sgml:
7325         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7326         (gst_object_sink_values), (gst_object_get_value_arrays),
7327         (gst_object_get_value_array):
7328           gracefully handle helper method calls to objects that are not beeing
7329           controlled, added test case for that          
7330
7331 2005-08-23  Wim Taymans  <wim@fluendo.com>
7332
7333         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7334         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7335         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7336         (gst_event_parse_qos), (gst_event_new_seek),
7337         (gst_event_parse_seek):
7338         * gst/gstevent.h:
7339         Some more debugging output and doc cleanups.
7340
7341         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7342         Fix possible deadlock.
7343
7344 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7345
7346         * docs/gst/gstreamer-docs.sgml:
7347         * docs/gst/gstreamer-sections.txt:
7348         * docs/gst/gstreamer.types:
7349         * docs/gst/tmpl/.cvsignore:
7350         * gst/gstbin.h:
7351         * gst/gstbus.c:
7352         * gst/gstelement.c:
7353         * gst/gstevent.h:
7354           added 100 symbols from gstreamer-unused.txt to the right sections
7355           fixed more broken comments
7356           added GstBus to docs
7357
7358 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7359
7360         * docs/gst/gstreamer-sections.txt:
7361         * docs/gst/tmpl/.cvsignore:
7362         * docs/gst/tmpl/gstbin.sgml:
7363         * docs/gst/tmpl/gstbuffer.sgml:
7364         * gst/base/gstbasesrc.c:
7365         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7366         * gst/gstbuffer.c:
7367         * gst/gstbuffer.h:
7368         * tools/gst-launch.1.in:
7369           inlined more doc comments, added missing comments and fixed comments
7370           fixed typos
7371
7372 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7373
7374         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7375           some debugging
7376         * gst/gstcaps.h:
7377           whitespace fixes
7378         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7379           more debugging
7380         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7381         * gst/gststructure.h:
7382           add a fixate function for booleans; add a FIXME that these func
7383           names should probably be gst_structure_fixate_*
7384
7385 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7386
7387         * docs/gst/gstreamer-docs.sgml:
7388         * docs/gst/gstreamer-sections.txt:
7389         * gst/Makefile.am:
7390         * gst/gstbin.c: (gst_bin_get_type),
7391         (gst_bin_child_proxy_get_child_by_index),
7392         (gst_bin_child_proxy_get_children_count),
7393         (gst_bin_child_proxy_init):
7394         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7395         (gst_child_proxy_get_child_by_index),
7396         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7397         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7398         (gst_child_proxy_get), (gst_child_proxy_set_property),
7399         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7400         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7401         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7402         * gst/gstchildproxy.h:
7403         * gst/parse/grammar.y:
7404         * tools/gst-inspect.c: (print_interfaces),
7405         (print_element_properties_info), (print_element_info):
7406           ported gstchildproxy over from 0.8
7407           ported gst-inspect fixes and enhancements over from 0.8
7408
7409 2005-08-22  Wim Taymans  <wim@fluendo.com>
7410
7411         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7412         (gst_base_transform_handle_buffer):
7413         Also call the transform function if we have ANY caps.
7414
7415         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7416         Fix debug info.
7417
7418 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7419
7420         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7421           Don't pretend to handle seek events if the source is not seekable
7422
7423 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7424
7425         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7426           Remove extra parameter to debug output
7427
7428         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7429         (gst_base_src_do_seek), (gst_base_src_activate_push):
7430           Fix seek event handling.
7431
7432         * gst/gstpipeline.c: (gst_pipeline_change_state):
7433         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7434         (gst_queue_src_activate_push):
7435           Don't start the src pad task on FLUSH_STOP if the pad
7436           isn't linked.
7437           Debug changes.
7438
7439 2005-08-22  Wim Taymans  <wim@fluendo.com>
7440
7441         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7442         Added check for gst_static_caps_get() refcounting.
7443
7444 2005-08-22  Wim Taymans  <wim@fluendo.com>
7445
7446         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7447         Make _static_caps_get() refcounting sane.
7448         
7449         * gst/gstelement.c: (gst_element_set_state):
7450         Add g_return_val_if_fail() to protect against segfaults.
7451
7452 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7453
7454         * docs/gst/tmpl/gstevent.sgml:
7455         * gst/gstevent.c:
7456         * gst/gstevent.h:
7457           inlined remaining docs, added missing doc comments
7458
7459 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7460
7461         * check/gst/gstbin.c: (GST_START_TEST):
7462           since we don't know when preroll is done, use refcount range
7463           check for the sink
7464         * gst/check/gstcheck.h:
7465           add macro for checking refcount range
7466
7467 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7468
7469         * check/Makefile.am:
7470           clean up environment for when registry gets built versus
7471           when actual tests are run; valgrind seems to not report
7472           leaks if GST_PLUGIN_PATH is set to some specific values
7473         * check/gst/gstbin.c: (GST_START_TEST):
7474           add more refcounting checks; maybe this exposes a
7475           preroll lock bug ?
7476         * common/check.mak:
7477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7478         * gst/check/gstcheck.h:
7479         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7480         (gst_bin_change_state):
7481         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7482           add/fix debugging/whitespace
7483
7484 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7485
7486         * check/gst/gstevent.c: (event_probe), (test_event),
7487         (GST_START_TEST):
7488          Er, don't call gst_bin_watch_for_state_change you idiot.
7489
7490 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7491
7492         * check/Makefile.am:
7493           Use CHECK_CFLAGS and CHECK_LIBS
7494         * check/gst/gstevent.c: (event_probe), (test_event),
7495         (GST_START_TEST):
7496           Don't leak events.
7497         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7498         (gst_base_src_start), (gst_base_src_stop),
7499         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7500         (gst_base_src_change_state):
7501           Sprinkle gst_base_src_stop liberally around error paths to fix
7502           problems reusing a source after failed state changes.
7503         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7504         (helper_find_suggest), (gst_type_find_helper):
7505           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7506         * gst/gstevent.h:
7507         * docs/gst/tmpl/gstevent.sgml:
7508           Migrate part of the docs from the SGML file. Wait for ensonic to
7509           tell me how I did it wrong ;)
7510         * tools/gst-typefind.c: (main):
7511           Extra robustness to state changes between files.
7512
7513 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7514
7515         * check/Makefile.am:
7516           don't valgrind the controller test - it's leaking - Stefan, HELP
7517         * gst/check/gstcheck.c: (gst_check_message_error),
7518         (gst_check_chain_func), (gst_check_setup_element),
7519         (gst_check_teardown_element), (gst_check_setup_src_pad),
7520         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7521         (gst_check_teardown_sink_pad):
7522         * gst/check/gstcheck.h:
7523           add a bunch of methods to set up elements, and src and sink pads
7524         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7525         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7526         (GST_START_TEST):
7527           use them
7528         * gst/gstmessage.c:
7529         * gst/gsttag.h:
7530           whitespace/doc fixes
7531
7532 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7533
7534         * gst/gstelement.h:
7535           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7536           be handled by the application and not always printed as well
7537
7538 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7539
7540         * check/Makefile.am:
7541           set GST_TOOLS_DIR
7542         * gst/check/gstcheck.c: (gst_check_message_error):
7543         * gst/check/gstcheck.h:
7544           add a fail_unless_equals_int
7545           add fail_unless for error messages
7546
7547 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7548
7549         * check/Makefile.am:
7550         * check/gst.supp:
7551         * common/Makefile.am:
7552         * common/check.mak:
7553         * common/gst.supp:
7554           factor out some of the common stuff so we can use it
7555
7556 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7557
7558         * check/Makefile.am:
7559         * check/gst/gstiterator.c: (GST_START_TEST):
7560         * check/gst/gstsystemclock.c: (GST_START_TEST),
7561         (gst_systemclock_suite):
7562         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7563         * gst/gstclock.c:
7564           valgrind more tests
7565
7566 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7567
7568         * check/elements/.cvsignore:
7569         * check/elements/gstfakesrc.c:
7570           rename to name of element
7571         * check/elements/identity.c: (chain_func), (event_func),
7572         (setup_identity), (cleanup_identity), (GST_START_TEST),
7573         (identity_suite), (main):
7574           add a test for identity
7575         * check/Makefile.am:
7576         * pkgconfig/Makefile.am:
7577         * pkgconfig/gstreamer-check.pc.in:
7578         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7579         * gst/check:
7580         * gst/Makefile.am:
7581         * configure.ac:
7582           move the check stuff to a library that gets installed
7583         * check/gst-libs/controller.c: (GST_START_TEST):
7584         * check/gst-libs/gdp.c:
7585         * check/gst/gst.c: (GST_START_TEST):
7586         * check/gst/gstbin.c:
7587         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7588         * check/gst/gstbus.c:
7589         * check/gst/gstcaps.c: (GST_START_TEST):
7590         * check/gst/gstelement.c:
7591         * check/gst/gstghostpad.c:
7592         * check/gst/gstiterator.c:
7593         * check/gst/gstmessage.c:
7594         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7595         * check/gst/gstobject.c:
7596         * check/gst/gstpad.c: (GST_START_TEST):
7597         * check/gst/gststructure.c: (GST_START_TEST):
7598         * check/gst/gstsystemclock.c: (GST_START_TEST),
7599         (gst_systemclock_suite):
7600         * check/gst/gsttag.c: (gst_tag_suite):
7601         * check/gst/gstvalue.c:
7602         * check/pipelines/cleanup.c:
7603         * check/pipelines/simple_launch_lines.c:
7604         * check/states/sinks.c:
7605           change include statement
7606
7607         * docs/gst/gstreamer-sections.txt:
7608         * docs/gst/tmpl/gstpad.sgml:
7609           document more pad stuff
7610         * gst/gstminiobject.c: (gst_mini_object_ref),
7611         (gst_mini_object_unref):
7612           debug refcounting
7613
7614 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7615
7616         * docs/gst/tmpl/gst.sgml:
7617         * gst/gst.c:
7618           eliminate another tmpl file, fix spelling in the long-description
7619
7620 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7621
7622         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7623         (test_event), (timediff), (gstevents_suite):
7624           Should fix build on 64-bit arch's
7625
7626 2005-08-18  Andy Wingo  <wingo@pobox.com>
7627
7628         Make sure that when a pipeline goes to PLAYING, that data has
7629         actually hit the sink.
7630
7631         * check/states/sinks.c (test_sink): A sink that doesn't get any
7632         data shouldn't return SUCCESS for going to either PLAYING or
7633         PAUSED. Test also the return values on the way back down.
7634
7635         * gst/gstelement.c (gst_element_set_state): When changing the
7636         state of an element currently changing state asynchronously, go to
7637         lost-state after commiting the pending state. Makes future calls
7638         to get_state continue to return ASYNC.
7639
7640         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7641         ASYNC when going to PLAYING if we still don't have preroll, as can
7642         happen with live sources.
7643
7644 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7645
7646         * docs/pwg/advanced-types.xml:
7647           Hack long paragraph into 2 chunks as a workaround for buggy
7648           jadetex version in sid and breezy that loops infinitely and
7649           eats all RAM.
7650
7651 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7652
7653         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7654         (test_event), (timediff), (gstevents_suite):
7655           Provide more error margin in clock measurements to allow for 
7656           g_get_current_time inaccuracies.
7657
7658 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7659
7660         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7661         (test_event), (timediff), (gstevents_suite):
7662            Fix error message output so I might be able to tell why the
7663            test works here but fails on the build farm.
7664
7665 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7666
7667         * check/Makefile.am:
7668         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7669         (test_event), (timediff), (gstevents_suite), (main):
7670           I wrote a test!
7671
7672         * docs/design/part-seeking.txt:
7673           Spelling correction
7674
7675         * docs/gst/tmpl/gstevent.sgml:
7676         * docs/gst/tmpl/gstfakesrc.sgml:
7677           Docs updates.
7678
7679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7680           Treat a buffer-without-newsegment the same as a receiving 
7681           a newsegment not in time format, and disable syncing to the clock
7682           with a warning.
7683
7684         * gst/gstbus.c: (gst_bus_set_sync_handler):
7685           Assert if anyone tries to replace the existing sync_handler for bus, 
7686           as only the owner should be setting it.
7687
7688         * gst/gstevent.h:
7689           Have a fixed set of custom event enums with events identified by
7690           their structure name (as in 0.8), rather than a free-for-all
7691           allowing collisions between enum values from different plugins.
7692
7693         * gst/gstpad.c: (gst_pad_class_init):
7694           Docs change.
7695           
7696         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7697           Handle out-of-band downstream events from the sending thread.
7698
7699 2005-08-17  Andy Wingo  <wingo@pobox.com>
7700
7701         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7702         play-timeout==0 to mean no timeout at all. In that case, don't
7703         bother with a get_state or a warning, just return directly, even
7704         if it's ASYNC.
7705
7706         * gst/base/gstbasetransform.c: Debug changes.
7707
7708         * gst/gstutils.h:
7709         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7710         ensure bins post state change messages. A bit of a hack but I can't
7711         think of a way to avoid it.
7712
7713         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7714
7715 2005-08-16  Andy Wingo  <wingo@pobox.com>
7716
7717         * gst/base/gstadapter.h:
7718         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7719         peek() but you own the data. Not terribly efficient atm.
7720
7721 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7722
7723         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7724         (gst_element_found_tags):
7725         * gst/gstutils.h:
7726           Add two utility functions for tag handling.
7727
7728 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7729
7730         * docs/manual/advanced-dataaccess.xml:
7731         * docs/manual/basics-helloworld.xml:
7732           Fix docs to use _bin_add() before _link(), which fixes the examples
7733           with recent core versions (reported by Madhan Raj M
7734           <raj_madan@rediffmail.com>, #313199).
7735
7736 2005-08-16  Wim Taymans  <wim@fluendo.com>
7737
7738         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7739         Added subtract checks.
7740
7741         * docs/design/part-events.txt:
7742         Some more docs about newsegment
7743
7744         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7745         Fix FIXME
7746
7747         * gst/gstcaps.c: (gst_caps_to_string):
7748         Add comments, cleanups.
7749         
7750         * gst/gstelement.c: (gst_element_save_thyself):
7751         cleanups
7752         
7753         * gst/gstvalue.c: (gst_value_collect_int_range),
7754         (gst_string_unwrap), (gst_value_union_int_int_range),
7755         (gst_value_union_int_range_int_range),
7756         (gst_value_intersect_int_int_range),
7757         (gst_value_intersect_int_range_int_range),
7758         (gst_value_intersect_double_double_range),
7759         (gst_value_intersect_double_range_double_range),
7760         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7761         (gst_value_subtract_int_range_int),
7762         (gst_value_subtract_double_range_double),
7763         (gst_value_subtract_double_range_double_range),
7764         (gst_value_subtract_from_list), (gst_value_subtract_list),
7765         (gst_value_can_compare), (gst_value_compare_fraction):
7766         Cleanups, add comments, remove unneeded asserts.
7767
7768 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7769
7770         * tools/gst-launch.c: (event_loop):
7771           don't convert NULL structures to strings
7772
7773 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7774
7775         * docs/gst/gstreamer-sections.txt:
7776           made some defines private
7777         * docs/gst/tmpl/gstconfig.sgml:
7778         * docs/gst/tmpl/gstqueue.sgml:
7779         * docs/gst/tmpl/gsttaglist.sgml:
7780         * docs/gst/tmpl/gsttypes.sgml:
7781         * docs/gst/tmpl/gstutils.sgml:
7782         * docs/pwg/appendix-porting.xml:
7783         * gst/base/gstbasesink.h:
7784         * gst/base/gstbasesrc.c:
7785         * gst/base/gstbasesrc.h:
7786         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7787         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7788         * gst/gstelement.c: (gst_element_class_init):
7789         * gst/gstpad.c: (gst_pad_class_init):
7790         * gst/gstqueue.c: (gst_queue_class_init):
7791         * gst/gstxml.c: (gst_xml_class_init):
7792           documented all undocumented signal inline
7793         * libs/gst/controller/gst-controller.h:
7794           added padding
7795
7796 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7797
7798         * docs/pwg/appendix-porting.xml:
7799           Document _set_link_function -> _set_setcaps_function.
7800
7801 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7802
7803         * check/Makefile.am:
7804           add a .check target for running the check
7805         * check/gst-libs/controller.c: (GST_START_TEST):
7806           cosmetic fixups
7807         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7808           complete checks for gstbuffer; would be nice if I could get the
7809           gcov stuff to work so I can see if I actually completed gstbuffer.c
7810         * check/gstcheck.h:
7811           add ASSERT_BUFFER_REFCOUNT
7812
7813 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7814
7815         * docs/gst/gstreamer-sections.txt:
7816         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7817         * gst/gsttag.h:
7818           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7819           spew out a warning if a tag that is already registered
7820           is re-registered, unless it is re-registered with a 
7821           different type (#308438).
7822
7823 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7824
7825         * docs/pwg/appendix-porting.xml:
7826         * docs/pwg/building-state.xml:
7827           Add some paragraphs about state changes in 0.9 to the PWG
7828           and the porting guide, in particular about the new meaning
7829           of GST_STATE_PAUSED and how to write state change functions
7830           with concurrent access by multiple threads in mind.
7831
7832 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7833
7834         * docs/gst/gstreamer-docs.sgml:
7835         * docs/libs/gstreamer-libs-docs.sgml:
7836           added deprecation and since indexes
7837         * libs/gst/controller/gst-controller.c:
7838         * libs/gst/controller/gst-helper.c:
7839           added since tags
7840
7841
7842 2005-08-11  Wim Taymans  <wim@fluendo.com>
7843
7844         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7845         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7846         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7847         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7848         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7849         (gst_ghost_pad_set_target):
7850         Actually implement (re)setting the target on a ghostpad
7851         as described in the docs.
7852
7853 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7854
7855         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7856           Check whether GST_DEBUG_NO_COLOR environment variable is
7857           set and disable coloured debug output if that is the case.
7858
7859 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7860
7861         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7862         (gst_type_find_helper):
7863           The memory returned by gst_type_find_peek() needs to
7864           stay valid until the end of a typefind function, and
7865           typefind functions may keep results from different 
7866           offsets around, so we can't just unref the buffer from
7867           the previous _peek(), but have to save all buffers 
7868           returned by _peek() until typefinding is done and only
7869           free them then.
7870
7871 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7872
7873         * docs/gst/gstreamer-sections.txt:
7874         * gst/gstutils.h:
7875           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7876
7877 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7878
7879         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7880           Fix a pretty good memleak.
7881
7882 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7883
7884         * gst/gstiterator.h:
7885           Fix wrong include and 'make distcheck'.
7886
7887 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7888
7889         * gst/gstbin.c: (bin_bus_handler):
7890           Use gst_element_post_message() instead.
7891
7892 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7893
7894         * gst/base/gstadapter.h:
7895         * gst/base/gstbasesink.h:
7896         * gst/base/gstbasesrc.h:
7897         * gst/base/gstbasetransform.h:
7898         * gst/base/gstcollectpads.h:
7899         * gst/base/gstpushsrc.h:
7900         * gst/gstiterator.h:
7901           Add padding to our base elements' class and instance structs and
7902           to GstIterator (you will need to rebuild all plugins and apps!)
7903
7904 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7905
7906         * gst/gstbin.c: (bin_bus_handler):
7907           Make default message forwarding from child->bus to bin->bus
7908           threadsafe and make it not emit warnings if the parent has no bus.
7909
7910 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7911
7912         * gst/gstelement.c: (activate_pads):
7913           On paused->ready, set pad->caps to NULL, as is the documented
7914           behaviour in this state change. Fixes playback of series of
7915           media files when visualization is enabled in Totem.
7916
7917 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7918
7919         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7920           Allow NULL as filter-caps (which means "any").
7921
7922 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7923
7924         * docs/libs/gstreamer-libs-sections.txt:
7925         * libs/gst/controller/gst-controller.c:
7926         * libs/gst/controller/gst-controller.h:
7927         * libs/gst/controller/gst-helper.c:
7928           adding more entries to the docs and fix small doc-bugs
7929
7930 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7931
7932         * docs/gst/gstreamer-docs.sgml:
7933         * docs/gst/gstreamer-sections.txt:
7934         * docs/gst/gstreamer.types:
7935         * docs/gst/tmpl/gstbasesink.sgml:
7936         * docs/gst/tmpl/gstbasesrc.sgml:
7937         * docs/gst/tmpl/gstbasetransform.sgml:
7938         * docs/gst/tmpl/gstfakesrc.sgml:
7939         * gst/base/gstcollectpads.c:
7940         * gst/base/gstcollectpads.h:
7941         * libs/gst/controller/gst-controller.c:
7942         * libs/gst/controller/gst-controller.h:
7943         * libs/gst/controller/gst-helper.c:
7944         * libs/gst/controller/gst-interpolation.c:
7945         * libs/gst/controller/lib.c:
7946           added long/short desc for controller docs
7947           added collectpads base class docs
7948           added correct includes to base-class docs
7949
7950 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7951
7952         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7953         (gst_test_mono_source_set_property),
7954         (gst_test_mono_source_class_init), (GST_START_TEST),
7955         (gst_controller_suite):
7956         * docs/gst/gstreamer-docs.sgml:
7957         * docs/gst/gstreamer-sections.txt:
7958         * docs/gst/gstreamer.types:
7959         * docs/libs/gstreamer-libs-docs.sgml:
7960         * docs/libs/gstreamer-libs-sections.txt:
7961         * gst/base/gstadapter.c:
7962         * libs/gst/controller/gst-controller.c:
7963         (gst_controlled_property_new), (gst_controlled_property_free),
7964         (gst_controller_new_valist),
7965         (gst_controller_remove_properties_valist),
7966         (gst_controller_sink_values), (_gst_controller_finalize):
7967         * libs/gst/controller/gst-controller.h:
7968         * libs/gst/controller/gst-helper.c:
7969         (gst_object_control_properties), (gst_object_uncontrol_properties),
7970         (gst_object_get_controller), (gst_object_set_controller),
7971         (gst_object_sink_values), (gst_object_get_value_arrays),
7972         (gst_object_get_value_array):
7973           more tests (and fixes) for the controller
7974           more docs for the controller
7975           integrated companies docs for the adapter 
7976
7977 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7978
7979         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7980         (GST_START_TEST), (fakesrc_suite):
7981           add tests for sizetype
7982
7983 2005-08-04  Andy Wingo  <wingo@pobox.com>
7984
7985         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7986         fixes buffer_alloc proxying among other things.
7987
7988         * gst/base/gstbasetransform.c:
7989         * gst/base/gstbasetransform.h:
7990         Revert patch to gstbasetransform from 7-28 removing
7991         delay_configure.
7992
7993         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7994         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7995         Semantics changed, should return not the size of the output buffer
7996         but the byte size of a buffer with a given caps.
7997
7998         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7999         debug object.
8000         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8001         out) are not the pad caps until setcaps finishes.
8002         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8003         not-in-place case as well. Deal with changing from in-place to
8004         not-in-place within calling pad_alloc_buffer. Still a bit
8005         concerned about the overhead here...
8006
8007 2005-08-03  Andy Wingo  <wingo@pobox.com>
8008
8009         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8010         fixating is an error.
8011
8012 2005-08-04  Edward Hervey  <edward@fluendo.com>
8013
8014         * gst/base/gstadapter.h: 
8015         Added gst_adapter_get_type() to the header
8016
8017 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8018
8019         * check/Makefile.am:
8020         * check/gst-libs/controller.c:
8021         * libs/gst/controller/gst-controller.c:
8022         (gst_controller_new_valist):
8023           added check test suite for the controller
8024         * gst/base/gstpushsrc.c:
8025           fixed a doc typo
8026
8027 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8028
8029         * docs/gst/Makefile.am:
8030         * docs/gst/gstreamer-docs.sgml:
8031         * docs/gst/gstreamer-sections.txt:
8032         * docs/gst/gstreamer.types:
8033         * docs/gst/tmpl/gstfakesrc.sgml:
8034         * gst/base/README:
8035         * gst/base/gstbasesink.c:
8036         * gst/base/gstbasesink.h:
8037         * gst/base/gstbasesrc.c:
8038         * gst/base/gstbasesrc.h:
8039         * gst/base/gstbasetransform.c:
8040         * gst/base/gstpushsrc.c:
8041         * gst/base/gstpushsrc.h:
8042           add short/long description docs to base classes
8043           add pushsrc to the docs
8044           remove consolidated doc fragments
8045
8046 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8047
8048         * configure.ac:
8049         * docs/libs/Makefile.am:
8050         * docs/libs/gstreamer-libs-docs.sgml:
8051         * docs/libs/gstreamer-libs-sections.txt:
8052         * docs/libs/gstreamer-libs.types:
8053         * examples/Makefile.am:
8054         * examples/controller/.cvsignore:
8055         * examples/controller/Makefile.am:
8056         * examples/controller/audio-example.c: (main):
8057         * libs/gst/Makefile.am:
8058         * libs/gst/controller/.cvsignore:
8059         * libs/gst/controller/Makefile.am:
8060         * libs/gst/controller/gst-controller.c:
8061         (on_object_controlled_property_changed), (gst_timed_value_compare),
8062         (gst_timed_value_find),
8063         (gst_controlled_property_set_interpolation_mode),
8064         (gst_controlled_property_new), (gst_controlled_property_free),
8065         (gst_controller_find_controlled_property),
8066         (gst_controller_new_valist), (gst_controller_new),
8067         (gst_controller_remove_properties_valist),
8068         (gst_controller_remove_properties), (gst_controller_set),
8069         (gst_controller_set_from_list), (gst_controller_unset),
8070         (gst_controller_get), (gst_controller_get_all),
8071         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8072         (gst_controller_get_value_array),
8073         (gst_controller_set_interpolation_mode),
8074         (_gst_controller_finalize), (_gst_controller_init),
8075         (_gst_controller_class_init), (gst_controller_get_type):
8076         * libs/gst/controller/gst-controller.h:
8077         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8078         (g_object_uncontrol_properties), (g_object_get_controller),
8079         (g_object_set_controller), (g_object_sink_values),
8080         (g_object_get_value_arrays), (g_object_get_value_array):
8081         * libs/gst/controller/gst-interpolation.c:
8082         (gst_controlled_property_find_timed_value_node),
8083         (interpolate_none_get), (interpolate_trigger_get),
8084         (interpolate_trigger_get_value_array):
8085         * libs/gst/controller/lib.c: (gst_controller_init):
8086         * pkgconfig/Makefile.am:
8087         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8088         * pkgconfig/gstreamer-control.pc.in:
8089         * testsuite/Makefile.am:
8090         * testsuite/controller/.cvsignore:
8091         * testsuite/controller/Makefile.am:
8092         * testsuite/controller/interpolator.c: (main):
8093           added controller code
8094           removed dparam pc files
8095
8096 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8097         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8098         (gst_collectpads_stop):
8099           Broadcast the condition when shutting down, to make sure we wake all
8100           threads up. Shut down pads on finalize, for safety.
8101
8102 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8103         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8104         (gst_base_transform_handle_buffer),
8105         (gst_base_transform_change_state):
8106           Handle PAUSED->READY->PAUSED transition after negotiation
8107           occurred already.
8108         * gst/gstmessage.c: (gst_message_init):
8109           Extra piece of debug for new messages.
8110
8111 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8112
8113         * configure.ac:
8114         * docs/gst/tmpl/gstbasesrc.sgml:
8115         * docs/gst/tmpl/gstelement.sgml:
8116         * docs/gst/tmpl/gstevent.sgml:
8117         * docs/gst/tmpl/gstfakesrc.sgml:
8118         * docs/gst/tmpl/gstformat.sgml:
8119         * docs/gst/tmpl/gstghostpad.sgml:
8120         * docs/gst/tmpl/gstpad.sgml:
8121         * docs/gst/tmpl/gstquery.sgml:
8122         * docs/gst/tmpl/gststructure.sgml:
8123         * docs/gst/tmpl/gsttaglist.sgml:
8124         * docs/gst/tmpl/gstvalue.sgml:
8125         * docs/libs/gstreamer-libs-docs.sgml:
8126         * docs/libs/gstreamer-libs-sections.txt:
8127         * docs/libs/gstreamer-libs.types:
8128         * libs/gst/Makefile.am:
8129         * libs/gst/control/.cvsignore:
8130         * libs/gst/control/Makefile.am:
8131         * libs/gst/control/control.c:
8132         * libs/gst/control/control.h:
8133         * libs/gst/control/dparam.c:
8134         * libs/gst/control/dparam.h:
8135         * libs/gst/control/dparam_smooth.c:
8136         * libs/gst/control/dparam_smooth.h:
8137         * libs/gst/control/dparamcommon.h:
8138         * libs/gst/control/dparammanager.c:
8139         * libs/gst/control/dparammanager.h:
8140         * libs/gst/control/dplinearinterp.c:
8141         * libs/gst/control/dplinearinterp.h:
8142         * libs/gst/control/unitconvert.c:
8143         * libs/gst/control/unitconvert.h:
8144         * testsuite/Makefile.am:
8145         * testsuite/dynparams/.cvsignore:
8146         * testsuite/dynparams/Makefile.am:
8147         * testsuite/dynparams/dparamstest.c:
8148         * tools/Makefile.am:
8149         * tools/gst-inspect.c: (print_element_info), (main):
8150         * tools/gst-xmlinspect.c: (print_element_info), (main):
8151           deactivate and remove dparams (libgstcontrol)
8152
8153 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8154
8155         * gst/elements/gsttypefindelement.c:
8156         (gst_type_find_element_have_type), (gst_type_find_element_init),
8157         (stop_typefinding), (gst_type_find_element_handle_event),
8158         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8159         * gst/elements/gsttypefindelement.h:
8160           Set caps on all outgoing buffers, not just the first one.
8161
8162 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8163
8164         * gst/elements/gsttypefindelement.c:
8165         (gst_type_find_element_have_type),
8166         (gst_type_find_element_check_set_buffer_caps),
8167         (gst_type_find_element_init), (stop_typefinding),
8168         (gst_type_find_element_handle_event),
8169         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8170         * gst/elements/gsttypefindelement.h:
8171           Set caps on first outgoing buffer when we've found the type.
8172
8173 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8174
8175         * docs/gst/gstreamer-docs.sgml:
8176         * docs/gst/gstreamer-sections.txt:
8177         * docs/gst/tmpl/gstscheduler.sgml:
8178         * docs/gst/tmpl/gstschedulerfactory.sgml:
8179           Remove some old cruft from docs.
8180
8181 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8182
8183         * gst/gstpad.h:
8184           Fix inline docs for GstPadLinkReturn.
8185           
8186         * gst/gststructure.c: (gst_structure_has_name):
8187         * gst/gststructure.h:
8188         * docs/gst/gstreamer-sections.txt:
8189           New API: gst_structure_has_name().
8190
8191 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8192
8193         * configure.ac:
8194           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8195           and _LARGEFILE_SOURCE in config.h as required. Do not 
8196           export those flags in our .pc files any longer (#142209).
8197
8198           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8199
8200         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8201         (gst_file_sink_do_seek), (gst_file_sink_event),
8202         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8203           Redo seek/tell calls with large file support in mind; add some
8204           debugging messages; add log message that tells us when large
8205           file support is unavailable or not enabled for some reason.
8206
8207         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8208           Add log message that tells us when large file support 
8209           is unavailable or not enabled for some reason.
8210
8211 2005-07-29  Wim Taymans  <wim@fluendo.com>
8212
8213         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8214         Added test for removing an element with ghostpad from a bin.
8215         Fixed test as current implementation does the right thing.
8216
8217         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8218         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8219         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8220         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8221         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8222         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8223         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8224         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8225         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8226         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8227         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8228         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8229         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8230         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8231         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8232         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8233         * gst/gstghostpad.h:
8234         Clean up ghostpads, remove properties for internal stuff.
8235         Make threadsafe.
8236         Fix refcounting.
8237         Prepare for switching targets, not all use cases work yet.
8238
8239 2005-07-29  Wim Taymans  <wim@fluendo.com>
8240
8241         * docs/design/part-gstghostpad.txt:
8242         Small update.
8243
8244         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8245         (gst_bin_remove_func):
8246         Unlinking pads while holding the bin LOCK is not a good
8247         idea.
8248
8249         * gst/gstpad.c: (gst_pad_class_init),
8250         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8251         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8252         No prob setting template after creating the pad.
8253
8254 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8255
8256         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8257         (gst_bus_peek), (gst_bus_source_dispatch),
8258         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8259         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8260           gst_bus_poll may be called from other threads. Handle
8261           this nicely by not making poll_data disappear off the
8262           stack once gst_bus_poll returns.
8263           gst_bus_peek now increments the refcount on the returned
8264           message.
8265
8266 2005-07-29  Wim Taymans  <wim@fluendo.com>
8267
8268         * docs/design/part-gstghostpad.txt:
8269         Overview of current GhostPad datastructures and use
8270         cases for changing the target.
8271
8272 2005-07-28  Wim Taymans  <wim@fluendo.com>
8273
8274         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8275         Added checks for hierarchy consistency whan adding linked
8276         elements to bins.
8277
8278         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8279         Added check to test element scheduling without bin/pipeline.
8280
8281         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8282         First add elements to bin, then link.
8283         
8284         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8285         (gst_bin_remove_func):
8286         Unlink pads from elements added/removed from bin to maintain
8287         hierarchy consistency.
8288
8289 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8290
8291         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8292         (gst_base_transform_handle_buffer):
8293         * gst/base/gstbasetransform.h:
8294           Remove broken delay_configure (fixes renegotiation of software
8295           scaling pipelines); remove some leftover printf()s.
8296
8297 2005-07-28  Wim Taymans  <wim@fluendo.com>
8298
8299         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8300         Added some more tests for wrong hierarchy
8301
8302         * docs/design/part-overview.txt:
8303         Some updates.
8304
8305         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8306         Cleanups.
8307
8308         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8309         (gst_element_dispose):
8310         Some more cleanups.
8311
8312         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8313         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8314         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8315         (gst_pad_set_caps), (gst_pad_send_event):
8316         Check for correct hierarchy when linking pads. Moving to
8317         strict requirement for ghostpads when linking elements in
8318         different bins.
8319
8320         * gst/gstpad.h:
8321         Clean ups. Added WRONG_HIERARCHY return value.
8322
8323 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8324
8325         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8326           Better debug if no transform is possible.
8327
8328 2005-07-27  Wim Taymans  <wim@fluendo.com>
8329
8330         * docs/random/wtay/network-transp:
8331         Some old doc I had.
8332
8333 2005-07-27  Wim Taymans  <wim@fluendo.com>
8334
8335         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8336         (gst_dp_event_from_packet):
8337         Fix serialization of seek events.
8338
8339 2005-07-27  Wim Taymans  <wim@fluendo.com>
8340
8341         * check/gst-libs/gdp.c: (GST_START_TEST):
8342         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8343         Fix compilation and fix event serialization.
8344
8345 2005-07-27  Wim Taymans  <wim@fluendo.com>
8346
8347         * CHANGES-0.9:
8348         * docs/design/part-TODO.txt:
8349         * docs/design/part-events.txt:
8350         Some docs updates
8351
8352         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8353         (gst_base_sink_event), (gst_base_sink_do_sync),
8354         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8355         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8356         (gst_base_src_do_seek), (gst_base_src_event_handler),
8357         (gst_base_src_loop):
8358         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8359         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8360         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8361         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8362         (gst_base_transform_set_passthrough),
8363         (gst_base_transform_is_passthrough):
8364         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8365         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8366         Event updates.
8367
8368         * gst/gstbuffer.h:
8369         Use faster casts.
8370
8371         * gst/gstelement.c: (gst_element_seek):
8372         * gst/gstelement.h:
8373         Update gst_element_seek.
8374
8375         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8376         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8377         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8378         (gst_event_new_eos), (gst_event_new_newsegment),
8379         (gst_event_parse_newsegment), (gst_event_new_tag),
8380         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8381         (gst_event_parse_qos), (gst_event_new_seek),
8382         (gst_event_parse_seek), (gst_event_new_navigation):
8383         * gst/gstevent.h:
8384         Make GstEvent use GstStructure. Add parsing code, make sure the
8385         API is sufficiently generic.
8386         Mark possible directions of events and serialization.
8387
8388         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8389         (_gst_message_copy), (gst_message_new_segment_start),
8390         (gst_message_new_segment_done), (gst_message_new_custom),
8391         (gst_message_parse_segment_start),
8392         (gst_message_parse_segment_done):
8393         Small cleanups.
8394
8395         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8396         (gst_pad_set_caps), (gst_pad_send_event):
8397         Update for new events. 
8398         Catch events sent in wrong directions.
8399
8400         * gst/gstqueue.c: (gst_queue_link_src),
8401         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8402         (gst_queue_handle_src_query):
8403         Event updates.
8404
8405         * gst/gsttag.c:
8406         * gst/gsttag.h:
8407         Remove event code from this file.
8408
8409         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8410         (gst_dp_event_from_packet):
8411         Event updates.
8412
8413 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8414
8415         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8416         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8417         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8418           Make debugging actually useful.
8419
8420 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8421
8422         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8423         (gst_pad_fixate_caps):
8424           Implement default fixation once again, so that gst_pad_fixate()
8425           actually does anything at all. This probably needs to be some
8426           sort of a last resort, and use profile-based fixation first, but
8427           since that doesn't exist yet, this is the best we have. Fixes
8428           visualization in Totem.
8429
8430 2005-07-22  Wim Taymans  <wim@fluendo.com>
8431
8432         * docs/design/part-events.txt:
8433         Small update.
8434
8435         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8436         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8437         (gst_base_sink_activate_pull):
8438         Some more comments.
8439
8440         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8441         (gst_fake_src_create):
8442         Fix handoff marshall.
8443
8444         * gst/elements/gstidentity.c: (gst_identity_class_init),
8445         (gst_identity_transform_ip):
8446         We're a real inplace element.
8447
8448         * gst/gstbus.c: (gst_bus_post):
8449         Added some comments.
8450
8451         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8452         * tests/muxing/case1.c: (main):
8453         * tests/sched/dynamic-pipeline.c: (main):
8454         * tests/sched/interrupt1.c: (main):
8455         * tests/sched/interrupt2.c: (main):
8456         * tests/sched/interrupt3.c: (main):
8457         * tests/sched/runxml.c: (main):
8458         * tests/sched/sched-stress.c: (main):
8459         * tests/seeking/seeking1.c: (event_received), (main):
8460         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8461         (main):
8462         * tests/threadstate/threadstate3.c: (main):
8463         * tests/threadstate/threadstate4.c: (main):
8464         * tests/threadstate/threadstate5.c: (main):
8465         Fix the tests.
8466
8467 2005-07-21  Wim Taymans  <wim@fluendo.com>
8468
8469         * docs/design/part-seeking.txt:
8470         Some small additions.
8471
8472         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8473         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8474         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8475         * gst/base/gstbasesink.h:
8476         discont values are gint64, handle the math correctly.
8477
8478         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8479         Make the basesrc report error if the source pad is not linked.
8480
8481         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8482         (gst_queue_loop), (gst_queue_handle_src_query),
8483         (gst_queue_src_activate_push):
8484         Make queue collect data even if the srcpad is not linked.
8485         Start pushing out data as soon as it is linked.
8486
8487         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8488         * gst/gstutils.h:
8489         Added gst_flow_get_name() to ease error reporting.
8490
8491 2005-07-20  Wim Taymans  <wim@fluendo.com>
8492
8493         * gst/gstmessage.c: (gst_message_new_segment_start),
8494         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8495         (gst_message_parse_segment_done):
8496         * gst/gstmessage.h:
8497         Added a bunch of messages for advanced seeking.
8498
8499         * gst/parse/grammar.y:
8500         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8501         (gst_dpman_state_changed):
8502         Fix some new-pad -> pad-added signals
8503
8504 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8505
8506         * docs/manual/appendix-porting.xml:
8507         * docs/pwg/appendix-porting.xml:
8508           Document new-pad/state-change signal renames and the FixedList
8509           type rename.
8510
8511 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8512
8513         * docs/manual/advanced-autoplugging.xml:
8514         * docs/manual/basics-helloworld.xml:
8515         * docs/manual/basics-pads.xml:
8516         * docs/random/ds/0.9-suggested-changes:
8517         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8518         * gst/gstelement.h:
8519         * gst/gstevent.h:
8520         * gst/gstformat.h:
8521         * gst/gstquery.h:
8522         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8523         (gst_structure_parse_array), (gst_structure_parse_value):
8524         * gst/gstvalue.c: (gst_type_is_fixed),
8525         (gst_value_list_prepend_value), (gst_value_list_append_value),
8526         (gst_value_list_get_size), (gst_value_list_get_value),
8527         (gst_value_transform_array_string), (gst_value_serialize_array),
8528         (gst_value_deserialize_array), (gst_value_intersect_array),
8529         (gst_value_is_fixed), (_gst_value_initialize):
8530         * gst/gstvalue.h:
8531           GstElement::new-pad -> pad-added, GstElement::state-change ->
8532           state-changed, GstValueFixedList -> GstValueArray, add format and
8533           flags as their own arguments in gst_element_seek() (should improve
8534           "bindeability"), remove function generators since they don't work
8535           under a whole bunch of compilers (they were deprecated already
8536           anyway).
8537
8538 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8539
8540         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8541         (_gst_debug_register_funcptr):
8542         * gst/gstinfo.h:
8543           Fix illegal cast on some platforms (#309253).
8544
8545 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8546
8547         * gst/gstmessage.c: (gst_message_new_custom):
8548         * gst/gstmessage.h:
8549           Add _new_custom, make _new_application a macro to _new_custom.
8550
8551 2005-07-20  Wim Taymans  <wim@fluendo.com>
8552
8553         * gst/base/gstbasesrc.c: (gst_base_src_init),
8554         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8555         * gst/base/gstbasesrc.h:
8556         Add a gboolean to decide when to push out a discont.
8557
8558         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8559         (gst_queue_loop), (gst_queue_handle_src_query),
8560         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8561         (gst_queue_set_property), (gst_queue_get_property):
8562         Some cleanups.
8563
8564         * tests/threadstate/threadstate1.c: (main):
8565         Make a thread test compile and run... very silly..
8566
8567
8568 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8569
8570         * docs/manual/appendix-porting.xml:
8571           Mention removal of libgstgconf-0.9.la and existence of gconf
8572           elements.
8573
8574 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8575
8576         * docs/pwg/advanced-clock.xml:
8577         * docs/pwg/appendix-porting.xml:
8578         * docs/pwg/intro-preface.xml:
8579         * docs/pwg/other-base.xml:
8580         * docs/pwg/other-manager.xml:
8581         * docs/pwg/other-nton.xml:
8582         * docs/pwg/other-ntoone.xml:
8583         * docs/pwg/other-oneton.xml:
8584         * docs/pwg/pwg.xml:
8585           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8586           demuxer), remove n-to-n (was never written), fix some code examples
8587           and links and update the porting section to include all this.
8588
8589 2005-07-19  Wim Taymans  <wim@fluendo.com>
8590
8591         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8592         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8593         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8594         (gst_queue_src_activate_push), (gst_queue_change_state),
8595         (gst_queue_get_property):
8596         * gst/gstqueue.h:
8597         Propagate GstFlowReturn more intelligently upstream and output
8598         an ERROR/EOS when streaming stopped due to fatal error.
8599
8600 2005-07-19  Wim Taymans  <wim@fluendo.com>
8601
8602         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8603         Don't block forever for the state change to complete, the
8604         pipeline already did with a sensible timeout.
8605
8606 2005-07-19  Wim Taymans  <wim@fluendo.com>
8607
8608         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8609         Make sure we never call the create function is we
8610         got deactivated.
8611
8612 2005-07-19  Andy Wingo  <wingo@pobox.com>
8613
8614         * gst/parse/parse.l: Attempt to solve bug #172815.
8615
8616 2005-07-19  Wim Taymans  <wim@fluendo.com>
8617
8618         * docs/design/part-clocks.txt:
8619         * docs/design/part-events.txt:
8620         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8621         Small docs updates.
8622         Only update the seeking values when we are not
8623         busy streaming.
8624
8625 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8626
8627         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8628           Oops, ignore the result of gst_pad_push_event here.
8629
8630 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8631
8632         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8633         (gst_base_src_activate_push):
8634           Send discont event from the loop function, as pads
8635           aren't activated yet in the activate_push handler.
8636
8637         * gst/gstbin.c: (bin_bus_handler):
8638           Don't leak element name.
8639
8640 2005-07-18  Andy Wingo  <wingo@pobox.com>
8641
8642         * configure.ac: Use AS_LIBTOOL_TAGS.
8643
8644 2005-07-18  Wim Taymans  <wim@fluendo.com>
8645
8646         * docs/gst/gstreamer.types:
8647         Remove deleted types.
8648
8649 2005-07-18  Wim Taymans  <wim@fluendo.com>
8650
8651         * check/elements/gstfakesrc.c: (GST_START_TEST):
8652         * configure.ac:
8653         * gst/Makefile.am:
8654         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8655         (init_popt_callback):
8656         * gst/gst.h:
8657         * gst/gst_private.h:
8658         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8659         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8660         * gst/gstbin.h:
8661         * gst/gstbus.h:
8662         * gst/gstconfig.h.in:
8663         * gst/gstelement.c: (gst_element_class_init),
8664         (gst_element_set_base_time), (gst_element_get_base_time),
8665         (iterator_fold_with_resync), (gst_element_change_state),
8666         (gst_element_dispose), (gst_element_get_bus):
8667         * gst/gstelement.h:
8668         * gst/gstelementfactory.h:
8669         * gst/gsterror.c: (_gst_core_errors_init):
8670         * gst/gsterror.h:
8671         * gst/gstevent.h:
8672         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8673         * gst/gstindex.c:
8674         * gst/gstinfo.c: (_gst_debug_init):
8675         * gst/gstmessage.c: (_gst_message_copy):
8676         * gst/gstmessage.h:
8677         * gst/gstminiobject.h:
8678         * gst/gstobject.c:
8679         * gst/gstobject.h:
8680         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8681         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8682         * gst/gstpad.h:
8683         * gst/gstparse.h:
8684         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8685         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8686         (gst_pipeline_get_last_stream_time):
8687         * gst/gstpipeline.h:
8688         * gst/gstpluginfeature.h:
8689         * gst/gstquery.h:
8690         * gst/gstscheduler.c:
8691         * gst/gstscheduler.h:
8692         * gst/gststructure.h:
8693         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8694         (gst_task_finalize), (gst_task_func), (gst_task_create),
8695         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8696         (gst_task_stop), (gst_task_pause):
8697         * gst/gsttask.h:
8698         * gst/gsttypefind.h:
8699         * gst/gsttypes.h:
8700         * gst/registries/gstlibxmlregistry.c: (load_feature),
8701         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8702         * gst/registries/gstxmlregistry.c:
8703         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8704         * gst/schedulers/threadscheduler.c:
8705         * libs/gst/control/dparammanager.h:
8706         * tools/gst-inspect.c: (print_element_list),
8707         (print_plugin_features), (print_element_features):
8708         * tools/gst-xmlinspect.c: (print_element_list),
8709         (print_plugin_info), (main):
8710         Removed plugable schedulers.
8711         Removed Scheduler/Manager from elements.
8712         Removed gsttypes.h, rearranged includes.
8713         Removed dependency pad<->element, element<>pipeline, and
8714         various others,  fix includes.
8715         implement gst_pad_get_parent() with gst_object_get_parent()
8716         Make GstTask sefcontained.
8717         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8718         timeout.
8719         Fix endless loop in iterator_fold_with_resync.
8720
8721
8722 2005-07-18  Wim Taymans  <wim@fluendo.com>
8723
8724         * gst/Makefile.am:
8725         * gst/gstarch.h:
8726         Remove old file.
8727
8728 2005-07-18  Wim Taymans  <wim@fluendo.com>
8729
8730         * gst/Makefile.am:
8731         No more cothreads.h
8732
8733 2005-07-18  Wim Taymans  <wim@fluendo.com>
8734
8735         * gst/cothreads.c:
8736         * gst/cothreads.h:
8737         Let's remove these.
8738
8739 2005-07-18  Wim Taymans  <wim@fluendo.com>
8740
8741         * docs/design/part-dynamic.txt:
8742         * docs/design/part-events.txt:
8743         * docs/design/part-seeking.txt:
8744         Some more docs in the works.
8745
8746         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8747         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8748         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8749         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8750         (gst_base_transform_handle_buffer),
8751         (gst_base_transform_sink_activate_push),
8752         (gst_base_transform_src_activate_pull),
8753         (gst_base_transform_set_passthrough),
8754         (gst_base_transform_is_passthrough):
8755         Refcounting fixes.
8756
8757         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8758         Cleanups.
8759
8760         * gst/gstevent.c: (gst_event_finalize):
8761         Set SRC to NULL.
8762
8763         * gst/gstutils.c: (gst_element_unlink),
8764         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8765         (gst_pad_proxy_setcaps):
8766         * gst/gstutils.h:
8767         Add _get_parent_element() to get a pads parent as an element.
8768
8769 2005-07-18  Wim Taymans  <wim@fluendo.com>
8770
8771         * check/gst/gstbin.c: (GST_START_TEST):
8772         Remove bogus test.
8773
8774 2005-07-18  Wim Taymans  <wim@fluendo.com>
8775
8776         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8777         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8778         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8779         (gst_base_sink_event), (gst_base_sink_do_sync),
8780         (gst_base_sink_chain), (gst_base_sink_loop),
8781         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8782         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8783         Refcounting fixes.
8784         Fix logic for returning ASYNC when not prerolled.
8785
8786 2005-07-18  Wim Taymans  <wim@fluendo.com>
8787
8788         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8789         Fix nasty refcount bug.
8790
8791 2005-07-16 Philippe Khalaf <burger@speedy.org>
8792
8793         * gst/elements/gstfdsrc.c:
8794         * gst/elements/gstfdsrc.h:
8795         * gst/elements/gstelements.c:
8796         * gst/elements/Makefile.am:
8797         Ported fdsrc to 0.9.
8798
8799 2005-07-16  Wim Taymans  <wim@fluendo.com>
8800
8801         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8802         (gst_base_sink_do_sync):
8803         Fix compile error.
8804
8805 2005-07-16  Wim Taymans  <wim@fluendo.com>
8806
8807         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8808         (gst_base_sink_event), (gst_base_sink_get_times),
8809         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8810         * gst/base/gstbasesink.h:
8811         Store and use discont values when syncing buffers as described
8812         in design docs.
8813         
8814         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8815         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8816         (gst_base_src_activate_push):
8817         Push discont event when starting.
8818
8819         * gst/elements/gstidentity.c: (gst_identity_transform):
8820         Small cleanups.
8821
8822         * gst/gstbin.c: (gst_bin_change_state):
8823         Small cleanups in base_time  distribution.
8824
8825         * gst/gstelement.c: (gst_element_set_base_time),
8826         (gst_element_get_base_time), (gst_element_change_state):
8827         * gst/gstelement.h:
8828         Added methods for the base_time of the element.
8829         Some MT fixes.
8830
8831         * gst/gstpipeline.c: (gst_pipeline_send_event),
8832         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8833         (gst_pipeline_get_last_stream_time):
8834         * gst/gstpipeline.h:
8835         MT fixes.
8836         Handle seeking as described in design doc, remove stream_time
8837         hack.
8838         Cleanups clock and stream_time selection code. Added accessors
8839         for the stream_time.
8840         
8841
8842 2005-07-16  Andy Wingo  <wingo@pobox.com>
8843
8844         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8845         (#305291).
8846
8847 2005-07-16  Wim Taymans  <wim@fluendo.com>
8848
8849         * check/gst/gstbin.c: (GST_START_TEST):
8850         Make elements silent as the deep_notify refs the
8851         parent, which might make the test fail.
8852
8853         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8854         Don't hold the lock for too long.
8855
8856 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8857
8858         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8859           Don't unref the caps we passed to gst_caps_make_writable() after
8860           passing them. gst_caps_make_writable() will do that for us.
8861
8862 2005-07-15  Andy Wingo  <wingo@pobox.com>
8863
8864         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8865         (#157311).
8866
8867         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8868         own marshalling function for the handoff signal. Properly type the
8869         buffer as a buffer. Fixes some warnings. Should do a more general
8870         solution.
8871         (gst_identity_class_init): Plug into the right marshaller.
8872
8873 2005-07-15  Wim Taymans  <wim@fluendo.com>
8874
8875         * docs/design/part-TODO.txt:
8876         * docs/design/part-clocks.txt:
8877         * docs/design/part-element-sink.txt:
8878         * docs/design/part-events.txt:
8879         * docs/design/part-gstpipeline.txt:
8880         Updated docs, mostly DISCONT related.
8881
8882 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8883
8884         * docs/pwg/building-pads.xml:
8885           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8886
8887 2005-07-15  Andy Wingo  <wingo@pobox.com>
8888
8889         * tools/gst-typefind.c: Update, add copyright block.
8890
8891         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8892         Normalize and truncate caps before fixation.
8893
8894         * gst/gstcaps.h:
8895         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8896         discards all but the first structure from its argument.
8897
8898 2005-07-15  Wim Taymans  <wim@fluendo.com>
8899
8900         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8901         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8902         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8903         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8904         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8905         (gst_base_transform_chain), (gst_base_transform_change_state),
8906         (gst_base_transform_set_passthrough),
8907         (gst_base_transform_is_passthrough):
8908         * gst/base/gstbasetransform.h:
8909         Make passthrough work using the bufferpools.
8910         Changed API a bit, subclasses have to write into a buffer
8911         provided by the base class.
8912         More debug info in nego functions.
8913         
8914         * gst/elements/gstidentity.c: (gst_identity_init),
8915         (gst_identity_transform):
8916         Port to new base class.
8917
8918 2005-07-15  Wim Taymans  <wim@fluendo.com>
8919
8920         * gst/gstmessage.c: (gst_message_new_state_changed):
8921         * tools/gst-launch.c: (event_loop), (main):
8922         Totally dump messages in -launch with the -m option.
8923         Fix message name for State messages,
8924
8925 2005-07-14  Wim Taymans  <wim@fluendo.com>
8926
8927         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8928         Post error messages on errors.
8929
8930 2005-07-14  Wim Taymans  <wim@fluendo.com>
8931
8932         * gst/gstcaps.c: (gst_caps_do_simplify):
8933         Remove debug info.
8934
8935         * gst/gsterror.h:
8936         Define error for stream stopped.
8937
8938         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8939         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8940         Do proper return values.
8941
8942         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8943         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8944         (gst_pad_get_range):
8945         Better return values.
8946
8947         * gst/gstpad.h:
8948         Reorganise return values, add macro to check for fatal errors.
8949
8950         * gst/gstqueue.c: (gst_queue_chain):
8951         Return proper GstFlowReturn values,
8952
8953 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8954
8955         * docs/gst/gstreamer-sections.txt:
8956         * docs/gst/gstreamer.types:
8957         * docs/gst/tmpl/gst.sgml:
8958         * docs/gst/tmpl/gstbasesink.sgml:
8959         * docs/gst/tmpl/gstbasesrc.sgml:
8960         * docs/gst/tmpl/gstbasetransform.sgml:
8961         * docs/gst/tmpl/gstbin.sgml:
8962         * docs/gst/tmpl/gstbuffer.sgml:
8963         * docs/gst/tmpl/gstcaps.sgml:
8964         * docs/gst/tmpl/gstclock.sgml:
8965         * docs/gst/tmpl/gstcompat.sgml:
8966         * docs/gst/tmpl/gstconfig.sgml:
8967         * docs/gst/tmpl/gstelement.sgml:
8968         * docs/gst/tmpl/gstelementdetails.sgml:
8969         * docs/gst/tmpl/gstelementfactory.sgml:
8970         * docs/gst/tmpl/gstenumtypes.sgml:
8971         * docs/gst/tmpl/gsterror.sgml:
8972         * docs/gst/tmpl/gstevent.sgml:
8973         * docs/gst/tmpl/gstfakesink.sgml:
8974         * docs/gst/tmpl/gstfakesrc.sgml:
8975         * docs/gst/tmpl/gstfilesink.sgml:
8976         * docs/gst/tmpl/gstfilesrc.sgml:
8977         * docs/gst/tmpl/gstfilter.sgml:
8978         * docs/gst/tmpl/gstformat.sgml:
8979         * docs/gst/tmpl/gstghostpad.sgml:
8980         * docs/gst/tmpl/gstimplementsinterface.sgml:
8981         * docs/gst/tmpl/gstindex.sgml:
8982         * docs/gst/tmpl/gstindexfactory.sgml:
8983         * docs/gst/tmpl/gstinfo.sgml:
8984         * docs/gst/tmpl/gstiterator.sgml:
8985         * docs/gst/tmpl/gstmacros.sgml:
8986         * docs/gst/tmpl/gstmemchunk.sgml:
8987         * docs/gst/tmpl/gstminiobject.sgml:
8988         * docs/gst/tmpl/gstobject.sgml:
8989         * docs/gst/tmpl/gstpad.sgml:
8990         * docs/gst/tmpl/gstpadtemplate.sgml:
8991         * docs/gst/tmpl/gstparse.sgml:
8992         * docs/gst/tmpl/gstpipeline.sgml:
8993         * docs/gst/tmpl/gstplugin.sgml:
8994         * docs/gst/tmpl/gstpluginfeature.sgml:
8995         * docs/gst/tmpl/gstquery.sgml:
8996         * docs/gst/tmpl/gstqueue.sgml:
8997         * docs/gst/tmpl/gstregistry.sgml:
8998         * docs/gst/tmpl/gstregistrypool.sgml:
8999         * docs/gst/tmpl/gstscheduler.sgml:
9000         * docs/gst/tmpl/gstschedulerfactory.sgml:
9001         * docs/gst/tmpl/gststructure.sgml:
9002         * docs/gst/tmpl/gstsystemclock.sgml:
9003         * docs/gst/tmpl/gsttaglist.sgml:
9004         * docs/gst/tmpl/gsttagsetter.sgml:
9005         * docs/gst/tmpl/gsttrace.sgml:
9006         * docs/gst/tmpl/gsttrashstack.sgml:
9007         * docs/gst/tmpl/gsttypefind.sgml:
9008         * docs/gst/tmpl/gsttypefindfactory.sgml:
9009         * docs/gst/tmpl/gsttypes.sgml:
9010         * docs/gst/tmpl/gsturihandler.sgml:
9011         * docs/gst/tmpl/gsturitype.sgml:
9012         * docs/gst/tmpl/gstutils.sgml:
9013         * docs/gst/tmpl/gstvalue.sgml:
9014         * docs/gst/tmpl/gstversion.sgml:
9015         * docs/gst/tmpl/gstxml.sgml:
9016         * docs/libs/tmpl/gstcontrol.sgml:
9017         * docs/libs/tmpl/gstdataprotocol.sgml:
9018         * docs/libs/tmpl/gstdparam.sgml:
9019         * docs/libs/tmpl/gstdplinint.sgml:
9020         * docs/libs/tmpl/gstdpman.sgml:
9021         * docs/libs/tmpl/gstdpsmooth.sgml:
9022         * docs/libs/tmpl/gstgetbits.sgml:
9023         * docs/libs/tmpl/gstunitconvert.sgml:
9024         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9025         (gst_push_src_base_init), (gst_push_src_class_init),
9026         (gst_push_src_init), (gst_push_src_create):
9027         * gst/base/gstpushsrc.h:
9028         * gst/elements/gstelements.c:
9029         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9030         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9031         (gst_fake_sink_init), (gst_fake_sink_set_property),
9032         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9033         (gst_fake_sink_event), (gst_fake_sink_preroll),
9034         (gst_fake_sink_render), (gst_fake_sink_change_state):
9035         * gst/elements/gstfakesink.h:
9036         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9037         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9038         (gst_fake_src_base_init), (gst_fake_src_class_init),
9039         (gst_fake_src_init), (gst_fake_src_event_handler),
9040         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9041         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9042         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9043         (gst_fake_src_create_buffer), (gst_fake_src_create),
9044         (gst_fake_src_start), (gst_fake_src_stop):
9045         * gst/elements/gstfakesrc.h:
9046         * gst/elements/gstfilesink.c: (_do_init),
9047         (gst_file_sink_base_init), (gst_file_sink_class_init),
9048         (gst_file_sink_init), (gst_file_sink_dispose),
9049         (gst_file_sink_set_location), (gst_file_sink_set_property),
9050         (gst_file_sink_get_property), (gst_file_sink_open_file),
9051         (gst_file_sink_close_file), (gst_file_sink_query),
9052         (gst_file_sink_event), (gst_file_sink_render),
9053         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9054         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9055         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9056         * gst/elements/gstfilesink.h:
9057         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9058         (gst_file_src_class_init), (gst_file_src_init),
9059         (gst_file_src_finalize), (gst_file_src_set_location),
9060         (gst_file_src_set_property), (gst_file_src_get_property),
9061         (gst_file_src_map_region), (gst_file_src_map_small_region),
9062         (gst_file_src_create_mmap), (gst_file_src_create_read),
9063         (gst_file_src_create), (gst_file_src_is_seekable),
9064         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9065         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9066         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9067         (gst_file_src_uri_handler_init):
9068         * gst/elements/gstfilesrc.h:
9069           more autistic cleanliness in functions/names/defines
9070
9071 2005-07-13  Andy Wingo  <wingo@pobox.com>
9072
9073         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9074         source couldn't negotiate.
9075
9076         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9077         connections again.
9078
9079         * gst/gstutils.h:
9080         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9081         function. I am channeling Hades. Put your boots on suckers!!!
9082
9083 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9084
9085         * testsuite/caps/Makefile.am:
9086         * testsuite/caps/value_compare.c:
9087         * testsuite/caps/value_intersect.c:
9088         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9089           move two testsuite apps over to the check dir
9090
9091 2005-07-12  Wim Taymans  <wim@fluendo.com>
9092
9093         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9094         Added more debug info in the negotiate process.
9095
9096         * gst/gstmessage.h:
9097         Prepare for segment playback.
9098
9099         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9100         Better debugging.
9101
9102         * gst/gstutils.c:
9103         Some more docs.
9104
9105         * tools/gst-launch.c: (main):
9106         NULL pipeline on errors.
9107
9108 2005-07-12  Andy Wingo  <wingo@pobox.com>
9109
9110         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9111         not it comes from a malloc region. Make sure our copy gets freed.
9112
9113 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9116         * check/gst/gstmessage.c: (GST_START_TEST):
9117         * check/gst/gststructure.c: (GST_START_TEST),
9118         (gst_structure_suite), (main):
9119           more testing
9120         * gst/gstelement.c: (gst_element_message_full):
9121           clean up GError and debug string now that they get copied
9122         * gst/gstmessage.c: (gst_message_new_error),
9123         (gst_message_new_warning), (gst_message_parse_error),
9124         (gst_message_parse_warning):
9125           use GST_TYPE_G_ERROR for structure_new, and take copies of
9126           arguments, so that we don't mess up refcounting
9127
9128 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * check/Makefile.am:
9131           add per-test valgrind targets
9132         * check/gst-libs/gdp.c: (GST_START_TEST),
9133         (gst_data_protocol_suite), (main):
9134           clean up
9135
9136 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9137
9138         * check/Makefile.am:
9139           instate more valgrindable tests
9140         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9141         (GST_START_TEST), (fakesrc_suite):
9142         * check/gst/gstpad.c: (GST_START_TEST):
9143         * check/gst/gststructure.c: (GST_START_TEST):
9144           fix test leaks
9145         * docs/gst/tmpl/gstminiobject.sgml:
9146         * gst/gstpad.c: (gst_pad_finalize):
9147           fix the static mutex leak
9148
9149 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9150
9151         * check/Makefile.am:
9152           add two more tests for valgrinding
9153         * check/gst/gstvalue.c: (GST_START_TEST):
9154           test refcount of deserialized buffer, found a leak
9155         * docs/gst/gstreamer-docs.sgml:
9156         * docs/gst/gstreamer-sections.txt:
9157         * docs/gst/gstreamer.types:
9158         * docs/gst/tmpl/gstminiobject.sgml:
9159           add miniobject to docs
9160         * gst/gstminiobject.c:
9161           add some docs
9162         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9163         (gst_string_unwrap):
9164           fix a hard-to-find invalid write for one of the tests
9165           fix a leak for deserialized buffers
9166
9167 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9168
9169         * docs/pwg/advanced-events.xml:
9170         * docs/pwg/advanced-request.xml:
9171         * docs/pwg/advanced-scheduling.xml:
9172         * docs/pwg/appendix-porting.xml:
9173         * docs/pwg/building-boiler.xml:
9174         * docs/pwg/intro-preface.xml:
9175         * docs/pwg/other-ntoone.xml:
9176           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9177           of example code and explanation for pad activation, loop() and
9178           getrange() functions and a bit more. Remove old comments pointing
9179           to loop-functions.
9180         * examples/pwg/Makefile.am:
9181           Add loop/getrange examples.
9182
9183 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9184
9185         * configure.ac:
9186           check for valgrind binary + some fixes
9187         * check/gst.supp:
9188           valgrind suppressions for the tests
9189         * check/Makefile.am:
9190           add a valgrind: target that valgrinds the unit tests
9191         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9192         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9193         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9194         * check/gst/gstghostpad.c:
9195           added some cleanup
9196         * check/gst/gstdata.c:
9197           removed
9198         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9199         (thread_unref), (gst_mini_object_suite), (main):
9200           added
9201         * gst/gst.c: (gst_deinit):
9202         * gst/gst.h:
9203           add a method to clean up.
9204         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9205         (gst_system_clock_obtain):
9206           allow for disposing the system clock.
9207         * tools/gst-launch.c: (main):
9208           deinit
9209
9210 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9211
9212         * docs/gst/tmpl/gstbasesrc.sgml:
9213         * docs/gst/tmpl/gstfakesrc.sgml:
9214         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9215         (gst_base_src_init), (gst_base_src_set_property),
9216         (gst_base_src_get_property), (gst_base_src_get_range),
9217         (gst_base_src_start):
9218         * gst/base/gstbasesrc.h:
9219           add num-buffers property
9220         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9221         (gst_fakesrc_init), (gst_fakesrc_set_property),
9222         (gst_fakesrc_get_property), (gst_fakesrc_create),
9223         (gst_fakesrc_start):
9224           remove num-buffers property
9225
9226 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9227
9228         * docs/gst/gstreamer-sections.txt:
9229         * docs/gst/tmpl/gstbasesink.sgml:
9230         * docs/gst/tmpl/gstbasesrc.sgml:
9231         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9232         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9233         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9234         (gst_base_sink_set_property), (gst_base_sink_get_property),
9235         (gst_base_sink_handle_object), (gst_base_sink_event),
9236         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9237         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9238         (gst_base_sink_loop), (gst_base_sink_deactivate),
9239         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9240         (gst_base_sink_change_state):
9241         * gst/base/gstbasesink.h:
9242         * gst/base/gstbasesrc.h:
9243         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9244         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9245         (gst_filesink_init):
9246           more macro splitting
9247
9248 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9249
9250         * gst/gstelement.c: (gst_element_get_bus):
9251           add debug
9252         * tools/gst-launch.c: (check_intr), (event_loop):
9253           fix bus leaks
9254
9255 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9256
9257         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9258           fix a caps leak
9259
9260 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9263         (gst_base_src_finalize):
9264           add finalize method and clean up properly
9265         * gst/gstpipeline.c: (gst_pipeline_dispose):
9266           add debug
9267
9268 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9269
9270         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9271         (gst_bin_suite):
9272           add more things to check
9273         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9274         * gst/gstelement.c:
9275           more debug
9276
9277 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9278
9279         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9280         (GST_START_TEST), (fakesrc_suite):
9281         * check/gst-libs/gdp.c: (GST_START_TEST):
9282         * check/gst/gst.c: (GST_START_TEST):
9283         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9284         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9285         * check/gst/gstbus.c: (GST_START_TEST):
9286         * check/gst/gstcaps.c: (GST_START_TEST):
9287         * check/gst/gstdata.c: (GST_START_TEST):
9288         * check/gst/gstelement.c: (GST_START_TEST):
9289         * check/gst/gstghostpad.c: (GST_START_TEST):
9290         * check/gst/gstiterator.c: (GST_START_TEST):
9291         * check/gst/gstmessage.c: (GST_START_TEST):
9292         * check/gst/gstobject.c: (GST_START_TEST):
9293         * check/gst/gstpad.c: (GST_START_TEST):
9294         * check/gst/gststructure.c: (GST_START_TEST):
9295         * check/gst/gstsystemclock.c: (GST_START_TEST),
9296         (gst_systemclock_suite):
9297         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9298         * check/gst/gstvalue.c: (GST_START_TEST):
9299         * check/pipelines/cleanup.c: (GST_START_TEST):
9300         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9301         * check/states/sinks.c: (GST_START_TEST):
9302         * check/gstcheck.c: (gst_check_init):
9303         * check/gstcheck.h:
9304           add debugging category
9305           use GST_START_TEST now, so we add a debug line
9306
9307 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9308
9309         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9310           add test for state change message on a bin
9311         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9312           add another test
9313         * gst/gstbin.c: (gst_bin_init):
9314         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9315         * gst/gstelement.c: (gst_element_post_message),
9316         (gst_element_set_state):
9317         * gst/gstelementfactory.c: (gst_element_factory_create):
9318         * gst/gstmessage.c: (gst_message_new):
9319         * gst/gstscheduler.c:
9320           various debugging additions and cleanups
9321
9322 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9323
9324         * check/Makefile.am:
9325         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9326         (main):
9327           adding tests for elements
9328         * gst/gstelement.c: (gst_element_dispose):
9329
9330 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9331
9332         * gst/registries/gstlibxmlregistry.c: (load_feature):
9333           plug more leaks.  A simple gst_init() now is leakfree, yay.
9334
9335 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9338         (gst_xml_registry_load):
9339           plug another memleak
9340
9341 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9342
9343         * configure.ac:
9344           use GST_SET_ERROR_CFLAGS
9345         * docs/faq/cvs.xml:
9346           change to ERROR_CFLAGS
9347
9348 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9349
9350         * configure.ac:
9351           make GST_ERROR_CFLAGS overridable and re-enable Werror
9352         * docs/faq/cvs.xml:
9353           add a note about error CFLAGS
9354         * docs/gst/tmpl/gstfakesrc.sgml:
9355         * gst/elements/gstfakesrc.c:
9356           comment out some unused code
9357         * gst/gst.c: (split_and_iterate):
9358         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9359         (load_feature):
9360           plug some memleaks
9361
9362 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9363
9364         * common/Makefile.am:
9365         * common/gtk-doc.mak:
9366         * docs/gst/Makefile.am:
9367           factor out gtk-doc.mak
9368
9369 2005-07-07  Wim Taymans  <wim@fluendo.com>
9370
9371         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9372         (gst_thread_scheduler_dispose):
9373         Unlock the STREAM_LOCK completely.
9374
9375 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * check/Makefile.am:
9378         * check/elements/.cvsignore:
9379         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9380         (START_TEST), (fakesrc_suite), (main):
9381         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9382         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9383         (gst_fakesrc_create), (gst_fakesrc_start):
9384         * gst/elements/gstfakesrc.h:
9385           adding a first element test
9386
9387 2005-07-07  Andy Wingo  <wingo@pobox.com>
9388
9389         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9390         debug message.
9391
9392 2005-07-07  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/gstquery.c:
9395         * gst/gstquery.h:
9396         Remove old types
9397
9398 2005-07-07  Wim Taymans  <wim@fluendo.com>
9399
9400         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9401         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9402         Allow subclasses to implement their own negotiation.
9403
9404 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9405
9406         * docs/design/part-gstbin.txt:
9407         * docs/design/part-gstpipeline.txt:
9408           Update design notes to reflect the movement of
9409           responsibility for bus handling from GstPipeline to
9410           GstBin
9411
9412 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9413
9414         * configure.ac:
9415           Remove unnecessary queue2/3/4 examples.
9416
9417 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9418
9419         * examples/Makefile.am:
9420         * examples/helloworld/helloworld.c: (event_loop), (main):
9421         * examples/queue/queue.c: (event_loop), (main):
9422         * examples/queue2/queue2.c: (main):
9423           Update a couple of the examples to work again.
9424
9425         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9426         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9427          Spelling corrections and extra debug.
9428         
9429         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9430         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9431         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9432         * gst/gstbin.h:
9433         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9434         (gst_pipeline_change_state):
9435         * gst/gstpipeline.h:
9436           Move the bus handler for children to the GstBin, and create a
9437           separate bus for receiving messages from children to the one the
9438           bus sends 'upwards' on.
9439
9440 2005-07-06  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/base/README:
9443         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9444         (gst_base_sink_handle_object), (gst_base_sink_loop),
9445         (gst_base_sink_change_state):
9446         * gst/base/gstbasesink.h:
9447         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9448         (gst_base_src_init), (gst_base_src_setcaps),
9449         (gst_base_src_getcaps), (gst_base_src_loop),
9450         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9451         (gst_base_src_start), (gst_base_src_change_state):
9452         * gst/base/gstbasesrc.h:
9453         Make basesrc negotiate.
9454         Handle the case where preroll fails in basesink.
9455         Update README.
9456
9457 2005-07-06  Wim Taymans  <wim@fluendo.com>
9458
9459         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9460         Implement the fixate function.
9461         Clean up acceptcaps.
9462
9463 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9464
9465         * docs/pwg/building-filterfactory.xml:
9466         * docs/pwg/pwg.xml:
9467           Remove never-written filter-factory chapter; I'll add the various
9468           base classes to part 4 ("other element types") later on.
9469
9470 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9471
9472         * docs/pwg/advanced-negotiation.xml:
9473         * docs/pwg/building-boiler.xml:
9474         * docs/pwg/building-pads.xml:
9475         * docs/pwg/pwg.xml:
9476         * examples/pwg/Makefile.am:
9477           Add a chapter on caps negotiation, simplify the original code
9478           samples a bit w.r.t. caps negotiation, add link to the advanced
9479           section. Add a bunch of examples showing different use cases of
9480           different types of caps negotiation. Upstream renegotiation isn't
9481           fully documented yet since nobody knows how that works.
9482
9483 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9484
9485         * check/gst/gstpad.c:
9486         * check/gstcheck.c:
9487         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9488           if pad has no parent, return NULL as list of internal links
9489
9490 2005-07-05  Andy Wingo  <wingo@pobox.com>
9491
9492         * gst/elements/gstfilesrc.c:
9493         * gst/elements/gstfakesrc.c: 
9494         * gst/base/gstpushsrc.c:
9495         * gst/base/gstbasesrc.h: 
9496         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9497         
9498 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9499
9500         * Makefile.am:
9501           better report generation target (lcov needs a patch)
9502
9503 2005-07-05  Andy Wingo  <wingo@pobox.com>
9504
9505         * gst/elements, testsuite: Null if we got it...
9506
9507 2005-07-05  Wim Taymans  <wim@fluendo.com>
9508
9509         * configure.ac:
9510         * libs/gst/dataprotocol/Makefile.am:
9511         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9512         * libs/gst/dataprotocol/dataprotocol.h:
9513         * pkgconfig/Makefile.am:
9514         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9515         * pkgconfig/gstreamer-dataprotocol.pc.in:
9516         Ported dataprotol to 0.9. 
9517         Added pkgconfig files.
9518
9519 2005-07-05  Andy Wingo  <wingo@pobox.com>
9520
9521         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9522         Default to returning TRUE for the case when tranform_caps returns
9523         a fixed caps, like for identity or volume.
9524
9525         * check/gst/gstbus.c (pound_bus_with_messages): 
9526         * check/gst/gstmessage.c (START_TEST): 
9527         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9528         message API change.
9529
9530         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9531         logic weaks here: always run transform_caps, trying passthrough
9532         operation only if the original caps intersects with the transform.
9533
9534         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9535         source and sink caps.
9536
9537         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9538         Intersect the peer caps with the pad template before going into
9539         transform_caps.
9540         (gst_base_transform_transform_caps): More debugging.
9541
9542         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9543         src argument.
9544
9545 2005-07-04  Edward Hervey  <edward@fluendo.com>
9546
9547         * gst/gstutils.c:
9548         * gst/gstutils.h:
9549         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9550         in bindings.
9551
9552 2005-07-04  Andy Wingo  <wingo@pobox.com>
9553
9554         * check/gst/gstpad.c: Only set explicit caps on pads.
9555
9556 2005-07-01  Andy Wingo  <wingo@pobox.com>
9557
9558         * tests/network-clock.scm: Commentary update.
9559
9560         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9561         Didn't really make sense, not implementable with basetransform,
9562         etc.
9563         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9564         attempt at implementing the sync property, needs an unlock method.
9565
9566         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9567         New func, by default returns the same caps (the identity
9568         transformation).
9569         (gst_base_transform_getcaps): Uses transform_caps to return
9570         something sensible.
9571         (gst_base_transform_setcaps): Complicated logic to get caps on
9572         both pads, even if they are different, and to call set_caps once
9573         for every time both pads get their caps set.
9574         (gst_base_transform_handle_buffer): Give the ref to the transform
9575         function. Allows in-place modification of the buffer.
9576
9577         * gst/base/gstbasetransform.h (transform_caps): New class method.
9578         Given caps on one side, what can I do on the other.
9579         (set_caps): Take two caps, one for each side of the element.
9580
9581         * gst/gstpad.h:
9582         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9583         caps in place. This is safe because we can check the mutability of
9584         the caps, and a good idea because fixate functions are just called
9585         as a matter of last resort. (Not actually implemented.)
9586         (gst_pad_set_caps): If the caps we're setting is actually the same
9587         as the existing pad caps, just update the pointer without calling
9588         setcaps. Assert that caps is either NULL or fixed, as per the
9589         docs.
9590
9591         * gst/gstghostpad.c: Update for fixate changes.
9592
9593 2005-07-02  Andy Wingo  <wingo@pobox.com>
9594
9595         * gst/gstcaps.c:
9596         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9597         two refcounts makes it immutable, which is enough. Doc more.
9598
9599 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9600
9601         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9602           Put the mini_object into GValue as a mini_object,
9603           not a gpointer, since that's how we declared
9604           the signal.
9605
9606 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9607
9608         * examples/pwg/Makefile.am:
9609           Fix buildbot again.
9610
9611 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9612
9613         * docs/pwg/building-testapp.xml:
9614           Add extra check.
9615         * examples/pwg/Makefile.am:
9616           Fix buildbot.
9617
9618 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9619
9620         * configure.ac:
9621         * examples/Makefile.am:
9622         * examples/pwg/Makefile.am:
9623         * examples/pwg/extract.pl:
9624           Enable building the PWG examples.
9625         * docs/pwg/advanced-interfaces.xml:
9626           Add URI interface stub.
9627         * docs/pwg/advanced-types.xml:
9628         * docs/pwg/other-autoplugger.xml:
9629         * docs/pwg/appendix-porting.xml:
9630         * docs/pwg/pwg.xml:
9631           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9632         * docs/pwg/building-boiler.xml:
9633         * docs/pwg/building-chainfn.xml:
9634         * docs/pwg/building-pads.xml:
9635         * docs/pwg/building-props.xml:
9636         * docs/pwg/building-state.xml:
9637         * docs/pwg/building-testapp.xml:
9638           Update the building-*.xml parts for 0.9 changes. All examples
9639           code blocks compile in examples/pwg/*.
9640
9641 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9642
9643         * docs/manual/advanced-autoplugging.xml:
9644         * docs/manual/appendix-checklist.xml:
9645         * docs/manual/appendix-integration.xml:
9646         * docs/manual/highlevel-components.xml:
9647           Fix playbin/decodebin examples, update docs a bit, mention bus
9648           instead of signals in various places, mention kmplayer and
9649           kaffeine since they have a working GStreamer backend in the KDE
9650           section.
9651
9652 2005-06-30  Wim Taymans  <wim@fluendo.com>
9653
9654         * CHANGES-0.9:
9655         * docs/design/draft-ghostpads.txt:
9656         * docs/design/draft-push-pull.txt:
9657         * docs/design/draft-query.txt:
9658         * docs/design/part-TODO.txt:
9659         * docs/design/part-query.txt:
9660         Added CHANGES-0.9 doc, updated status of other docs.
9661         
9662         * gst/gstquery.h:
9663         Remove "hmm" macro
9664
9665 2005-06-30  Wim Taymans  <wim@fluendo.com>
9666
9667         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9668         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9669         (gst_base_sink_change_state):
9670         * gst/base/gstbasesink.h:
9671         Some tweaks, only EOS and a buffer complete a preroll.
9672
9673 2005-06-30  Andy Wingo  <wingo@pobox.com>
9674
9675         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9676         activate_push down to the internal pad as well.
9677
9678 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9679
9680         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9681
9682         * gst/gsttaginterface.c:
9683           Some documentation fixes (#307394 and #307397).
9684
9685 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9686
9687         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9688
9689         * gst/gstvalue.c: (gst_value_intersect_list):
9690           Fix memleak (#309125).
9691
9692 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9693
9694         * docs/manual/advanced-dataaccess.xml:
9695           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9696         * docs/manual/basics-pads.xml:
9697           Add reference for filtered caps to above chapter.
9698
9699 2005-06-30  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9702         (gst_bin_change_state):
9703         Probes are gone.
9704         Lame attempt at making the state change function a bit
9705         more readable.
9706
9707 2005-06-30  Wim Taymans  <wim@fluendo.com>
9708
9709         * docs/design/part-clocks.txt:
9710         * docs/design/part-element-sink.txt:
9711         * docs/design/part-events.txt:
9712         * docs/design/part-preroll.txt:
9713         * docs/design/part-states.txt:
9714         Some more tweeks and additions to the docs.
9715
9716 2005-06-30  Wim Taymans  <wim@fluendo.com>
9717
9718         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9719         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9720         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9721         (gst_pad_check_pull_range), (gst_pad_get_range),
9722         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9723         * gst/gstpad.h:
9724         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9725         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9726         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9727         (gst_pad_remove_buffer_probe):
9728         Removed atomic operations, use existing LOCK.
9729         Move exception handling out of main code path.
9730
9731 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9732
9733         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9734         (silly_return_true_function), (gst_pad_class_init),
9735         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9736         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9737         (gst_pad_send_event):
9738           Fix accumulator, add default value by using _emitv() instead
9739           of _emit() for signal emission.
9740
9741 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9742
9743         * docs/manual/advanced-dataaccess.xml:
9744         * examples/manual/Makefile.am:
9745           Add probe example.
9746         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9747           Make work (??).
9748
9749 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9750
9751         * gst/elements/gstfilesink.c: (gst_filesink_render):
9752           Simplify code so that we don't have to handle short
9753           writes and return GST_FLOW_ERROR if an error occured.
9754
9755 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9756
9757         * docs/gst/gstreamer-docs.sgml:
9758           Remove probes more.
9759
9760 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9761
9762         * docs/gst/gstreamer-sections.txt:
9763         * docs/gst/tmpl/gstpad.sgml:
9764         * docs/gst/tmpl/gstprobe.sgml:
9765         * gst/Makefile.am:
9766         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9767         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9768         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9769         (gst_pad_push_event), (gst_pad_send_event):
9770         * gst/gstpad.h:
9771         * gst/gstutils.c: (gst_pad_add_data_probe),
9772         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9773         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9774         (gst_pad_remove_buffer_probe):
9775         * gst/gstutils.h:
9776           Remove old probes, add new g-signal-based probes and some utility
9777           functions.
9778
9779 2005-06-29  Edward Hervey  <edward@fluendo.com>
9780
9781         * gst/gstelementfactory.c:
9782         * gst/gstutils.h:
9783         * gst/gstutils.c:
9784         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9785         the definition to the header file.
9786
9787 2005-06-29  Andy Wingo  <wingo@pobox.com>
9788
9789         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9790         plugins from the source directory.
9791
9792 2005-06-29  Wim Taymans  <wim@fluendo.com>
9793
9794         * docs/gst/tmpl/gstbuffer.sgml:
9795         * docs/gst/tmpl/gstclock.sgml:
9796         Some fixings for blantently wrong text.
9797
9798 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9799
9800         * check/Makefile.am:
9801         * gst/gst.c: (add_path_func), (init_pre):
9802         * gst/gstregistry.c: (gst_registry_add_path):
9803           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9804           only scan the GST_PLUGIN_PATH locations, and not add
9805           system locations
9806
9807 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9808
9809         * docs/gst/gstreamer-sections.txt:
9810         * docs/gst/tmpl/gstbasesrc.sgml:
9811         * gst/gstelement.c:
9812         * gst/gstelement.h:
9813         * gst/gstevent.c:
9814         * gst/gstutils.c:
9815           doc fixes
9816
9817 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9818
9819         * docs/manual/advanced-autoplugging.xml:
9820           Fix autoplugging example.
9821
9822 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9823
9824         * docs/manual/advanced-autoplugging.xml:
9825         * docs/manual/mime-world.fig:
9826           Try to get autoplugging working, fix type detection. Fix text
9827           in hello-world image.
9828
9829 2005-06-29  Wim Taymans  <wim@fluendo.com>
9830
9831         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9832         (gst_base_sink_change_state):
9833         Small debug line.
9834
9835         * gst/gstclock.h:
9836         map SIGNAL and BROADCAST to the right function.
9837
9838         * gst/gstobject.h:
9839         Remove redundant braces.
9840
9841         * gst/gstpad.c: (gst_pad_set_caps):
9842         Don't call setcaps function when reseting caps to NULL.
9843
9844         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9845         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9846         (gst_system_clock_id_unschedule):
9847         Use BROADCAST as this is what we do.
9848
9849 2005-06-29  Wim Taymans  <wim@fluendo.com>
9850
9851         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9852         We are actually prerolling before commiting the state
9853         change. 
9854
9855 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9856
9857         * docs/manual/advanced-clocks.xml:
9858         * docs/manual/advanced-interfaces.xml:
9859         * docs/manual/advanced-metadata.xml:
9860         * docs/manual/advanced-position.xml:
9861         * docs/manual/advanced-schedulers.xml:
9862         * docs/manual/advanced-threads.xml:
9863         * docs/manual/appendix-porting.xml:
9864         * docs/manual/basics-bins.xml:
9865         * docs/manual/basics-bus.xml:
9866         * docs/manual/basics-elements.xml:
9867         * docs/manual/basics-helloworld.xml:
9868         * docs/manual/basics-pads.xml:
9869         * docs/manual/highlevel-components.xml:
9870         * docs/manual/manual.xml:
9871         * docs/manual/thread.fig:
9872           Update (until threads/scheduling) Application Development Manual;
9873           remove GstThread, add GstBus, add simple porting checklist, add
9874           documentation for tag writing, clocks, make all examples until this
9875           part compile and run.
9876         * examples/manual/Makefile.am:
9877           Update from changes to Application Development Manual; add bus
9878           example, remove thread example.
9879
9880 2005-06-28  Wim Taymans  <wim@fluendo.com>
9881
9882         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9883         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9884         (gst_bus_source_dispatch):
9885         Add debugging messages.
9886         Make internal methods static.
9887         Handle the case where the bus is flushed in the handler.
9888         
9889         * gst/gstelement.c: (gst_element_get_bus):
9890         Fix refcount in _get_bus();
9891
9892         * gst/gstpipeline.c: (gst_pipeline_change_state),
9893         (gst_pipeline_get_clock_func):
9894         Clock refcounting fixes.
9895         Handle the case where preroll timed out more gracefully.
9896         
9897         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9898         Clean up the internal thread in dispose. This is needed
9899         for subclasses that actually get disposed.
9900         
9901         * gst/schedulers/threadscheduler.c:
9902         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9903         (gst_thread_scheduler_dispose):
9904         Free thread pool in dispose.
9905
9906 2005-06-28  Andy Wingo  <wingo@pobox.com>
9907
9908         * tests/network-clock-utils.scm (debug, print-event): New utils.
9909
9910         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9911         (*packet-loss*): Unified loss probability.
9912         (network-time): Report out-of-band events.
9913
9914         * tests/plot-data: Add support for out-of-band events. Hack it
9915         into this script instead of passing it down the pipe; should fix
9916         this later.
9917
9918 2005-06-28  Wim Taymans  <wim@fluendo.com>
9919
9920         * docs/gst/gstreamer.types:
9921         * docs/gst/tmpl/gstbasesrc.sgml:
9922         * docs/gst/tmpl/gstpad.sgml:
9923         Docs fixes.
9924
9925 2005-06-28  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9928         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9929         (gst_proxy_pad_do_fixatecaps):
9930         Correctly proxy the check_pull_range function.
9931
9932 2005-06-28  Andy Wingo  <wingo@pobox.com>
9933
9934         * tests/network-clock.scm: Removed need for slib.
9935         
9936 2005-06-28  Wim Taymans  <wim@fluendo.com>
9937
9938         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9939         (gst_basesink_preroll_queue_flush):
9940         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9941         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9942         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9943         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9944         (gst_proxy_pad_set_property):
9945         * gst/gstpad.c:
9946         * gst/gstpad.h:
9947         * gst/gstqueue.c: (gst_queue_init):
9948         The deprecated pad loop function is removed now.
9949
9950 2005-06-28  Andy Wingo  <wingo@pobox.com>
9951
9952         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9953         New parameters, simulate network packet loss.
9954
9955         * tests/network-clock-utils.scm: Initialize the RNG.
9956
9957 2005-06-28  Wim Taymans  <wim@fluendo.com>
9958
9959         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9960         (gst_basesink_event), (gst_basesink_deactivate):
9961         Flushing the preroll queue always needs to unlock the waiters.
9962
9963 2005-06-28  Edward Hervey  <edward@fluendo.com>
9964
9965         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9966         Wheen a seek was successful on a pipeline, set the stream_time to the
9967         seek offset in order to have a synchronized stream_time.
9968
9969 2005-06-28  Wim Taymans  <wim@fluendo.com>
9970
9971         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9972         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9973         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9974         (gst_proxy_pad_do_fixatecaps):
9975         Call wrapper function instead of just calling the function
9976         pointers. This takes care of any locking and whatmore.
9977
9978 2005-06-28  Wim Taymans  <wim@fluendo.com>
9979
9980         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9981         (gst_pad_pull_range):
9982         * gst/gstpad.h:
9983         CONNECTED -> LINKED.
9984
9985 2005-06-28  Andy Wingo  <wingo@pobox.com>
9986
9987         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9988         source-munging commit!!!
9989
9990         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9991         (gst_object_sink): Take gpointer arguments, not GstObject --
9992         avoids casts. Like GLib.
9993
9994         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9995         activate.
9996
9997 2005-06-27  Andy Wingo  <wingo@pobox.com>
9998
9999         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10000         remaining buffer.
10001
10002         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10003         returns a sorted copy of the trace list.
10004         (gst_alloc_trace_print_live): New API, only prints traces with
10005         live objects. Sort the list.
10006         (gst_alloc_trace_print_all): Sort the list.
10007         (gst_alloc_trace_print): Align columns.
10008
10009         * gst/elements/gstttypefindelement.c:
10010         * gst/elements/gsttee.c:
10011         * gst/base/gstbasesrc.c:
10012         * gst/base/gstbasesink.c:
10013         * gst/base/gstbasetransform.c:
10014         * gst/gstqueue.c: Adapt for pad activation changes.
10015
10016         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10017         sched.
10018         (gst_pipeline_dispose): Drop ref on sched.
10019
10020         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10021         (gst_pad_activate_default): Push mode by default.
10022         (pre_activate_switch, post_activate_switch): New stubs, things to
10023         do before and after switching activation modes on pads.
10024         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10025         the pad's activate function to choose which mode to activate.
10026         Shortcut on deactivation and call the right function directly.
10027         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10028         mode.
10029         (gst_pad_activate_push): New API, same for push mode.
10030         (gst_pad_set_activate_function) 
10031         (gst_pad_set_activatepull_function) 
10032         (gst_pad_set_activatepush_function): Setters for new API.
10033
10034         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10035         Trace all miniobjects.
10036         (gst_mini_object_make_writable): Unref the arg if we copy, like
10037         gst_caps_make_writable.
10038
10039         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10040
10041         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10042         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10043         Adapt for new pad API.
10044
10045         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10046
10047         * gst/gstelement.h:
10048         * gst/gstelement.c (gst_element_iterate_src_pads) 
10049         (gst_element_iterate_sink_pads): New API functions.
10050         
10051         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10052         should fold into gstiterator.c in some form.
10053         (gst_element_pads_activate): Simplified via use of fold and
10054         delegation of decisions to gstpad->activate.
10055
10056         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10057         help in debugging.
10058
10059         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10060         class once in init, like gstmessage. Didn't run into this issue
10061         but it seems correct. Don't initialize a trace, gstminiobject does
10062         that.
10063
10064         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10065         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10066         to the bus.
10067         (assert_live_count): New util function, uses alloc traces to check
10068         cleanup.
10069
10070         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10071         To be modified when unlink drops the internal pad.
10072
10073 2005-06-27  Wim Taymans  <wim@fluendo.com>
10074
10075         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10076         (gst_bin_change_state):
10077         Cleanup the get_state() function a little, make sure it
10078         iterates the same set of elements.
10079         Added stub iterate_state_order().
10080
10081 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10082
10083         * docs/gst/gstreamer-docs.sgml:
10084         * docs/gst/gstreamer-sections.txt:
10085         * docs/gst/gstreamer.types:
10086         * docs/gst/tmpl/gstbasesink.sgml:
10087         * docs/gst/tmpl/gstbasesrc.sgml:
10088         * docs/gst/tmpl/gstbasetransform.sgml:
10089         * docs/gst/tmpl/gstelement.sgml:
10090         * docs/gst/tmpl/gstiterator.sgml:
10091         * gst/base/gstbasesrc.c:
10092         * gst/base/gstbasesrc.h:
10093         * gst/base/gstbasetransform.h:
10094         * gst/gstelement.c:
10095         * gst/gstiterator.h:
10096           adding basetransform and iterator docs
10097
10098 2005-06-27  Andy Wingo  <wingo@pobox.com>
10099
10100         * docs/design/part-activation.txt: Notes on how activation should
10101         work -- not quite implemented yet.
10102
10103 2005-06-25  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10106         At least get the chain function correct, needs more
10107         fixing.
10108
10109 2005-06-25  Wim Taymans  <wim@fluendo.com>
10110
10111         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10112         (gst_basesink_handle_object), (gst_basesink_event),
10113         (gst_basesink_do_sync), (gst_basesink_handle_event),
10114         (gst_basesink_change_state):
10115         * gst/gsttask.h:
10116         Right, two problems here: ghostpads don't take locks and
10117         glib _rec_mutex_lock_full() with depth==0 still locks.
10118         Catch illegal locking and g_warn them.
10119
10120 2005-06-25  Wim Taymans  <wim@fluendo.com>
10121
10122         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10123         Have to check for completion now...
10124
10125 2005-06-25  Wim Taymans  <wim@fluendo.com>
10126
10127         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10128         (gst_basesink_handle_object), (gst_basesink_event),
10129         (gst_basesink_do_sync), (gst_basesink_handle_event),
10130         (gst_basesink_change_state):
10131         * gst/gstpad.h:
10132         Unlock STREAM_LOCK whatever the recursion was.
10133
10134 2005-06-25  Wim Taymans  <wim@fluendo.com>
10135
10136         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10137         (gst_basesink_preroll_queue_empty),
10138         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10139         (gst_basesink_event), (gst_basesink_do_sync),
10140         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10141         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10142         (gst_basesink_change_state):
10143         Reworked the base sink, handle event and buffer serialisation
10144         correctly and removed possible deadlock.
10145         Handle EOS correctly.
10146
10147 2005-06-25  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10150         (gst_pipeline_change_state):
10151         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10152         Allow elements to post EOS in the state change function.
10153         Fix up -launch, make it exit the poll loop when the
10154         pipeline actually changed state.
10155         Fix up warning parsing in -launch.
10156
10157 2005-06-25  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10160         (gst_tee_sink_activate):
10161         Core takes STREAM_LOCK for us now.
10162
10163 2005-06-25  Wim Taymans  <wim@fluendo.com>
10164
10165         * gst/gstelement.c: (gst_element_get_state_func),
10166         (gst_element_set_state):
10167         * gst/gstelement.h:
10168         * gst/gstmessage.c: (gst_message_parse_error),
10169         (gst_message_parse_warning):
10170         Keep track of current target state while performing a state
10171         change so that subclasses can do something interesting.
10172         Fix parsing of warning/error messages when GError is NULL.
10173
10174 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10175
10176         * docs/gst/Makefile.am:
10177         * docs/gst/gstreamer-docs.sgml:
10178         * docs/gst/gstreamer-sections.txt:
10179         * docs/gst/gstreamer.types:
10180         * docs/gst/tmpl/gstbasesink.sgml:
10181         * docs/gst/tmpl/gstbasesrc.sgml:
10182         * docs/gst/tmpl/gstbin.sgml:
10183         * docs/gst/tmpl/gstcompat.sgml:
10184         * docs/gst/tmpl/gstfakesink.sgml:
10185         * docs/gst/tmpl/gstfakesrc.sgml:
10186         * docs/gst/tmpl/gstfilesink.sgml:
10187         * docs/gst/tmpl/gstfilesrc.sgml:
10188         * docs/gst/tmpl/gstindex.sgml:
10189         * docs/manual/appendix-quotes.xml:
10190         * gst/base/gstbasesrc.h:
10191         * gst/elements/gstfakesrc.h:
10192         * gst/gstmessage.h:
10193           start pulling in base classes and elements in our docs
10194
10195 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10196
10197         * docs/gst/Makefile.am:
10198         * docs/libs/Makefile.am:
10199           fixed make distcheck with gtk-doc 1.3
10200
10201 2005-06-23  Wim Taymans  <wim@fluendo.com>
10202
10203         * gst/gstelement.c: (gst_element_get_state_func),
10204         (gst_element_set_state), (gst_element_change_state):
10205         When the state did not change, also report NO_PREROLL
10206         when it matters.
10207
10208 2005-06-23  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/gstpad.c: (gst_pad_event_default):
10211         * gst/gstqueue.c: (gst_queue_loop):
10212         No unsafe task pausing please.
10213
10214 2005-06-23  Wim Taymans  <wim@fluendo.com>
10215
10216         * gst/schedulers/threadscheduler.c:
10217         (gst_thread_scheduler_task_start),
10218         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10219         Ref the task before pushing it on the threadpool. This
10220         makes sure that we have a ref when the threadfunction is
10221         actually called.
10222
10223 2005-06-23  Andy Wingo  <wingo@pobox.com>
10224
10225         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10226         offset is greater than the file's size.
10227
10228         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10229         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10230         * gst/gstobject.c (gst_object_class_init): Make the class lock
10231         recursive. Wim won't let me drop deep_notify. Decodebin works
10232         again, whoopdy doo.
10233
10234         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10235         internal pad, and hacks accordingly. Doesn't do it on the target
10236         pad because we change its caps. Probably catches all cases of
10237         interest tho.
10238         (gst_ghost_pad_set_property): Connect to notify::caps as
10239         appropritate.
10240
10241         * tests/network-clock.scm (plot-simulation): Pipe data to the
10242         elite python skript.
10243
10244         * tests/network-clock-utils.scm (define-parameter): New macro,
10245         defines a parameter that can be set via the command line.
10246         (set-parameter!, parse-parameter-arguments): Command line args
10247         parser.
10248
10249         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10250         stdin.
10251
10252 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10253
10254         * gst/elements/gsttypefindelement.c:
10255         (gst_type_find_element_handle_event):
10256           Don't restart typefinding on a discont.
10257         * gst/gstelement.c: (gst_element_set_state):
10258           Debug spelling fix.
10259         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10260           Allow changing mode of an active pad.
10261           Debug output fixes.
10262         * gst/registries/gstlibxmlregistry.c: (load_feature):
10263           Don't cast a static pad template to a normal pad template.
10264
10265 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10266
10267         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10268         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10269           remove gst_strtoll completely, since it didn't actually do
10270           anything more than what g_ascii_strtoull already does.
10271           check for range errors when deserializing
10272           do a cast for the unsigned cases; but further fixing needs
10273           a decision on what the interpretation of "(int)" and
10274           deserialization should be for values that fall outside the
10275           type's boundaries (ie, refuse, or interpret as casting)
10276
10277 2005-06-23  Wim Taymans  <wim@fluendo.com>
10278
10279         * check/Makefile.am:
10280         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10281         * docs/design/part-live-source.txt:
10282         * docs/design/part-states.txt:
10283         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10284         (gst_basesrc_set_live), (gst_basesrc_is_live),
10285         (gst_basesrc_get_range), (gst_basesrc_activate),
10286         (gst_basesrc_change_state):
10287         * gst/base/gstbasesrc.h:
10288         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10289         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10290         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10291         * gst/gstelement.c: (gst_element_get_state_func),
10292         (gst_element_set_state):
10293         * gst/gstelement.h:
10294         * gst/gsttypes.h:
10295         * tools/gst-launch.c: (event_loop), (main):
10296         Added support for live sources and other elements that
10297         cannot do preroll.
10298         Updated design docs, added live-source design doc.
10299         Implemented live source functionality in basesrc
10300         Fix error condition in _bin_get_state()
10301         Implement live source handling in -launch.
10302         Added check for live sources.
10303         Fixed case in GstBin where elements were changed state
10304         multiple times.
10305
10306
10307 2005-06-23  Andy Wingo  <wingo@pobox.com>
10308
10309         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10310         borken refcounting.
10311
10312         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10313         gst_caps_replace takes care of this for us.
10314
10315         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10316         gst_pad_set_caps on the target, not just its setcaps() function.
10317
10318         * tests/network-clock.scm: 
10319         * tests/network-clock-utils.scm: A network clock simulator.
10320         Something of an algorithmic testbed before doing something in C.
10321
10322 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * check/Makefile.am:
10325         * check/gst/capslist.h:
10326           copy over from 0.8, and add two with bitmasks specified with
10327           (int) 0xFF...
10328         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10329           add test to parse everything from capslist.h
10330         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10331         (main):
10332           add test for structure deserialization
10333         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10334           add tests for deserialization of strings to int types
10335         * gst/gststructure.c: (gst_structure_nth_field_name):
10336         * gst/gststructure.h:
10337           add a way to get the name of a field referenced by index
10338         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10339           instead of checking if the resulting long long lies between
10340           min and max, we check if the long long would fit into
10341           a number of bytes for the final type.
10342           This fixes cases where a string represents 2^32 - 1, which
10343           when cast to int would be the (valid) -1, but is bigger than
10344           G_MAXINT
10345
10346 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * gst/parse/grammar.y:
10349           add a log line for type deserialization
10350
10351 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10352
10353         * check/gst/gstvalue.c: (START_TEST):
10354         * gst/gstvalue.c: (gst_value_deserialize):
10355           return long long, not int, so gint64 deserialization actually
10356           works.  Is there any flag that makes the compiler check this ?
10357           Fixes #308559
10358
10359 2005-06-22  Wim Taymans  <wim@fluendo.com>
10360
10361         * gst/gstbuffer.h:
10362         Added convenience macros for setting buffers in GValue.
10363
10364 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10365
10366         * check/gst/.cvsignore:
10367         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10368           add a test deserializing int64, and comment part out because
10369           it fails, yay !
10370
10371 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10372
10373         * check/Makefile.am:
10374         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10375         * testsuite/Makefile.am:
10376         * testsuite/caps/Makefile.am:
10377         * testsuite/caps/value_serialize.c:
10378         * testsuite/test_gst_init.c:
10379           move a value_serialize test over
10380
10381 2005-06-20  Wim Taymans  <wim@fluendo.com>
10382
10383         * gst/gstpad.c:
10384         Small doc updates.
10385         
10386         * gst/gstvalue.c: (gst_value_compare_buffer),
10387         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10388         (gst_value_compare_flags), (gst_value_serialize_flags),
10389         (gst_value_deserialize_flags), (_gst_value_initialize):
10390         Fix serialisation of buffers, they are not boxed types anymore
10391
10392 2005-06-20  Wim Taymans  <wim@fluendo.com>
10393
10394         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10395         Testcase to show error in buffer-on-caps serialisation.
10396
10397 2005-06-20  Andy Wingo  <wingo@pobox.com>
10398
10399         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10400         will be adding to later.
10401
10402         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10403         if its socks fill with rocks.
10404         (gst_system_clock_obtain): Set the name on object construction.
10405         Avoid double-checked locking.
10406
10407 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10408
10409         * gst/gsturi.c: (gst_element_make_from_uri):
10410           Fix potential endless loop.
10411
10412 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10413
10414         * check/Makefile.am:
10415           add gsttag
10416         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10417         (main):
10418           move over from testsuite dir and clean up
10419         * configure.ac:
10420         * gst/gsttag.c:
10421         * testsuite/Makefile.am:
10422         * testsuite/tags/.cvsignore:
10423         * testsuite/tags/Makefile.am:
10424         * testsuite/tags/merge.c:
10425           remove testsuite/tags
10426
10427 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * docs/gst/gstreamer-sections.txt:
10430         * docs/gst/tmpl/gstenumtypes.sgml:
10431         * win32/gstenumtypes.c:
10432           clean up documentation build a little
10433
10434 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * check/gstcheck.h:
10437           add macros for checking refcounts on objects and caps
10438         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10439           add some more unit tests
10440         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10441         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10442           fix leaked refcounts (I hope :)) so unittest works
10443         * gst/gstpad.h:
10444           whitespace removal
10445
10446 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10447
10448         * configure.ac: back to HEAD
10449
10450 === release 0.9.1 ===
10451
10452 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10453
10454         * NEWS:
10455         * RELEASE:
10456           updated
10457
10458 2005-06-17  Andy Wingo  <wingo@pobox.com>
10459
10460         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10461         assert; it's always possible that the pad gets deactivated in
10462         between the checks in gstpad.c and the implementation. Rely on
10463         finish_preroll() to return a FLUSHING or similar instead of on the
10464         assert.
10465         
10466         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10467         clock and post an EOS message if we come out of finish_preroll in
10468         the playing state.
10469
10470 2005-06-16  David Schleef  <ds@schleef.org>
10471
10472         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10473         (gst_capsfilter_set_property): Allow NULL as possible value
10474         for filter_caps property, indicating GST_CAPS_ANY.
10475
10476 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10477
10478         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10479           fix debug output
10480         * gst/schedulers/Makefile.am:
10481           use libgst prefix
10482         * gstreamer.spec.in:
10483           fix spec for it
10484
10485 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10486
10487         * gstreamer.spec.in:
10488           clean up
10489
10490 2005-06-08  Andy Wingo  <wingo@pobox.com>
10491
10492         * gst/gstutils.c: RPAD fixes all around.
10493         (gst_element_link_pads): Refcounting fixes.
10494
10495         * tools/gst-inspect.c:
10496         * tools/gst-xmlinspect.c:
10497         * parse/grammar.y:
10498         * gst/base/gsttypefindhelper.c:
10499         * gst/base/gstbasesink.c:
10500         * gst/gstqueue.c: RPAD fixes.
10501
10502         * gst/gstghostpad.h:
10503         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10504         pads. The tricky thing is they provide both source and sink
10505         interfaces, since they proxy the internal pad for the external
10506         pad, and vice versa. Implement with lower-level ProxyPad objects,
10507         with the interior proxy pad as a child of the exterior ghost pad.
10508         Should write a doc on this.
10509         
10510         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10511         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10512         gst_object API.
10513         
10514         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10515         pads are real pads. No ghost pads in this file. Not documenting
10516         the myriad s/RPAD/PAD/ and REALIZE fixes.
10517         (gst_pad_class_init): Add properties for "direction" and
10518         "template". Both are construct-only, so they can't change during
10519         the life of the pad. Fixes properly deriving from GstPad.
10520         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10521         derived objects, just set properties when creating the objects via
10522         g_object_new.
10523         (gst_pad_get_parent): Implement as a function, return NULL if the
10524         parent is not an element.
10525         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10526         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10527         
10528         * gst/gstobject.c (gst_object_class_init): Make name a construct
10529         property. Don't set it in the object init.
10530
10531         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10532         with UNKNOWN direction.
10533         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10534         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10535         (gst_element_remove_pad): Remove ghost-pad special cases.
10536         (gst_element_pads_activate): Remove rpad cruft.
10537
10538         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10539         catch the pad's-parent-not-an-element case.
10540
10541         * gst/gst.h: Include gstghostpad.h.
10542
10543         * gst/gst.c (init_post): No more real, ghost pads.
10544
10545         * gst/Makefile.am: Add gstghostpad.[ch].
10546
10547         * check/Makefile.am:
10548         * check/gst/gstbin.c:
10549         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10550         into a bin creates ghost pads, and that the refcounts are right.
10551         Partly moved from gstbin.c.
10552
10553 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10554
10555         * check/gst-libs/.cvsignore:
10556         * check/gst/.cvsignore:
10557         * check/pipelines/.cvsignore:
10558           ignore more
10559         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10560         (START_TEST), (cleanup_suite), (main):
10561           add some tests related to cleanup after running pipelines
10562
10563 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10566           add a testsuite for GstBuffer
10567
10568 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * gst/gstminiobject.h:
10571           add defines for accessing the refcount
10572
10573 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10574
10575         * Makefile.am: added support for html unit test coverage reports
10576
10577 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10578
10579         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10580           Free existing caps if the capsfilter changes. Add a FIXME about
10581           setting those caps on the pads.
10582
10583         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10584           Before adding a ghost pad to a parent bin, check that there isn't
10585           already one for the element on the bin. Prevents infinite recursion
10586           when using decodebin in parse pipelines. Andy says he'll rewrite the
10587           way this works anyway, so ignore the hack.
10588
10589 2005-06-02  Andy Wingo  <wingo@pobox.com>
10590
10591         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10592         file size, pass it on to the type find helper.
10593
10594         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10595         segment_start and segment_end properly according to the seek
10596         method. Segment_end is still a bit flaky because offset can be
10597         negative for CUR and END cases, but it takes -1 as an "unset"
10598         value.
10599
10600 2005-06-02  Wim Taymans  <wim@fluendo.com>
10601
10602         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10603         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10604         (gst_basesink_activate):
10605         * gst/base/gstbasesink.h:
10606         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10607         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10608         (gst_pad_query), (gst_pad_start_task):
10609         * gst/gstpad.h:
10610         * gst/gstqueue.c: (gst_queue_bufferalloc),
10611         (gst_queue_handle_sink_event), (gst_queue_chain):
10612         Bufferalloc: return GstFlowReturn to more accuratly report
10613         why allocation failed.
10614
10615 2005-06-02  Wim Taymans  <wim@fluendo.com>
10616
10617         * gst/gstpipeline.c: (gst_pipeline_send_event):
10618         Take snapshot of state without blocking.
10619
10620 2005-06-02  Wim Taymans  <wim@fluendo.com>
10621
10622         * docs/design/part-TODO.txt:
10623         * docs/design/part-caps.txt:
10624         * docs/design/part-clocks.txt:
10625         * docs/design/part-negotiation.txt:
10626         * docs/design/part-preroll.txt:
10627         Small doc updates 
10628
10629 2005-05-30  Wim Taymans  <wim@fluendo.com>
10630
10631         * gst/elements/gstidentity.c: (gst_identity_event),
10632         (gst_identity_transform), (gst_identity_get_property):
10633         Protect last_message property as it is accessed from
10634         multiple threads.
10635
10636 2005-05-30  Wim Taymans  <wim@fluendo.com>
10637
10638         * gst/gstelement.c: (gst_element_init),
10639         (gst_element_pads_activate), (gst_element_change_state):
10640         Slicker pad activation code.
10641
10642 2005-05-30  Wim Taymans  <wim@fluendo.com>
10643
10644         * gst/Makefile.am:
10645         * gst/gstelement.h:
10646         * gst/gstelementfactory.h:
10647         * gst/gsttypes.h:
10648         Move elementfactory methods to separate .h file.
10649
10650 2005-05-30  Wim Taymans  <wim@fluendo.com>
10651
10652         * docs/design/part-overview.txt:
10653         * gst/gstsystemclock.h:
10654         Small typo fixes, doc updates.
10655
10656 2005-05-30  Wim Taymans  <wim@fluendo.com>
10657
10658         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10659         (init_popt_callback):
10660         Remove cpu-opt flag.
10661
10662 2005-05-30  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10665         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10666         * gst/gstbuffer.h:
10667         Avoid typechecking in places where not needed.
10668         Added accessor for malloc_data.
10669
10670 2005-05-30  Wim Taymans  <wim@fluendo.com>
10671
10672         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10673         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10674         (gst_pad_configure_sink), (gst_pad_configure_src),
10675         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10676         (gst_pad_start_task):
10677         Propagate errors from _set_caps() in configure_src/sink
10678         functions instead of returning TRUE.
10679         FLUSH events can travel up and downstream
10680
10681
10682 2005-05-30  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10685         (gst_basesink_activate):
10686         Handle EOS in preroll.
10687
10688 2005-05-30  Wim Taymans  <wim@fluendo.com>
10689
10690         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10691         (gst_queue_loop), (gst_queue_handle_src_event):
10692         Remove old pieces of code
10693         Flushing the queue in an upstream event is a very bad idea.
10694
10695 2005-05-26  Andy Wingo  <wingo@pobox.com>
10696
10697         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10698         gst_value_set_mini_object so as to add a ref on the object (which
10699         will be removed when the value is unset).
10700
10701         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10702         arg type in ::handoff.
10703
10704         * gst/gstelement.c (gst_element_change_state): Also deactivate
10705         pads in READY->NULL, just in case the element didn't make it to
10706         PAUSED. Wingo tested, Wim approved.
10707
10708 2005-05-26  Wim Taymans  <wim@fluendo.com>
10709
10710         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10711         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10712         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10713         A flushing pad cannot be used to alloc_buffer from.
10714
10715 2005-05-26  Wim Taymans  <wim@fluendo.com>
10716
10717         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10718         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10719         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10720         (gst_bus_create_watch), (gst_bus_add_watch_full):
10721         * gst/gstbus.h:
10722         Implement a real GSource and use g_main_context_wakeup() to
10723         signal new messages instead of the socketpair.
10724
10725 2005-05-25  Wim Taymans  <wim@fluendo.com>
10726
10727         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10728         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10729         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10730         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10731         (gst_pad_send_event), (gst_pad_start_task):
10732         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10733         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10734         (gst_queue_sink_activate), (gst_queue_src_activate),
10735         (gst_queue_change_state):
10736         * gst/gstqueue.h:
10737         Fix state changes for non sinks. We now change sinks, then elements
10738         with unconnected srcpads, then the rest.
10739         More efficient queue unlocking in flush and state changes.
10740         Set the pad activate mode even if it does not have an activate
10741         function.
10742
10743 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10744
10745         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10746           Don't go in pull mode for non-seekable sources.
10747         * gst/elements/gsttypefindelement.h:
10748         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10749         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10750         (free_entry), (stop_typefinding),
10751         (gst_type_find_element_handle_event), (find_peek),
10752         (gst_type_find_element_chain), (do_pull_typefind),
10753         (gst_type_find_element_change_state):
10754           Allow typefinding (w/o seeking) in push-mode, simplified version
10755           of what was in 0.8.
10756         * gst/gstutils.c: (gst_buffer_join):
10757         * gst/gstutils.h:
10758           gst_buffer_join() from 0.8.
10759
10760 2005-05-25  Wim Taymans  <wim@fluendo.com>
10761
10762         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10763         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10764         (gst_pad_send_event), (gst_pad_start_task):
10765         Disable attempt at mode switching until it is figured out.
10766
10767 2005-05-25  Wim Taymans  <wim@fluendo.com>
10768
10769         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10770         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10771         (gst_basesink_finish_preroll), (gst_basesink_chain),
10772         (gst_basesink_loop), (gst_basesink_activate),
10773         (gst_basesink_change_state):
10774         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10775         (gst_basesrc_get_range), (gst_basesrc_loop),
10776         (gst_basesrc_activate):
10777         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10778         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10779         (gst_real_pad_init), (gst_real_pad_set_property),
10780         (gst_real_pad_get_property), (gst_pad_set_active),
10781         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10782         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10783         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10784         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10785         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10786         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10787         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10788         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10789         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10790         (gst_pad_stop_task):
10791         * gst/gstpad.h:
10792         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10793         (gst_queue_loop), (gst_queue_src_activate):
10794         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10795         (gst_task_get_state):
10796         * gst/gsttask.h:
10797         * gst/schedulers/threadscheduler.c:
10798         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10799         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10800         in task function.
10801         Remove ACTIVE pad flag, use FLUSHING everywhere
10802         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10803         functions.
10804         Add locks around IS_FLUSHING when reading.
10805         Take STREAM lock in chain(), get_range() functions so plugins
10806         don't need to take it anymore.
10807         
10808
10809
10810 2005-05-25  Wim Taymans  <wim@fluendo.com>
10811
10812         * tools/gst-launch.c: (event_loop):
10813         Unref message after using its contents instead of
10814         before.
10815
10816 2005-05-24  Wim Taymans  <wim@fluendo.com>
10817
10818         * docs/design/draft-ghostpads.txt:
10819         * docs/design/draft-push-pull.txt:
10820         * docs/design/draft-query.txt:
10821         * docs/design/part-overview.txt:
10822         Docs updates, added general overview doc.
10823
10824 2005-05-21  David Schleef  <ds@schleef.org>
10825
10826         * docs/gst/tmpl/old/GstBin.sgml:
10827         * docs/gst/tmpl/old/GstBuffer.sgml:
10828         * docs/gst/tmpl/old/GstCaps.sgml:
10829         * docs/gst/tmpl/old/GstClock.sgml:
10830         * docs/gst/tmpl/old/GstCompat.sgml:
10831         * docs/gst/tmpl/old/GstData.sgml:
10832         * docs/gst/tmpl/old/GstElement.sgml:
10833         * docs/gst/tmpl/old/GstEvent.sgml:
10834         * docs/gst/tmpl/old/GstIndex.sgml:
10835         * docs/gst/tmpl/old/GstStructure.sgml:
10836         * docs/gst/tmpl/old/GstTag.sgml:
10837         * docs/gst/tmpl/old/cothreads.sgml:
10838         * docs/gst/tmpl/old/cothreads_compat.sgml:
10839         * docs/gst/tmpl/old/gettext.sgml:
10840         * docs/gst/tmpl/old/gobject2gtk.sgml:
10841         * docs/gst/tmpl/old/grammar.tab.sgml:
10842         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10843         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10844         * docs/gst/tmpl/old/gst_private.sgml:
10845         * docs/gst/tmpl/old/gstaggregator.sgml:
10846         * docs/gst/tmpl/old/gstarch.sgml:
10847         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10848         * docs/gst/tmpl/old/gstbufferstore.sgml:
10849         * docs/gst/tmpl/old/gstdata_private.sgml:
10850         * docs/gst/tmpl/old/gstdisksink.sgml:
10851         * docs/gst/tmpl/old/gstdisksrc.sgml:
10852         * docs/gst/tmpl/old/gstelementfactory.sgml:
10853         * docs/gst/tmpl/old/gstextratypes.sgml:
10854         * docs/gst/tmpl/old/gstfakesink.sgml:
10855         * docs/gst/tmpl/old/gstfakesrc.sgml:
10856         * docs/gst/tmpl/old/gstfdsink.sgml:
10857         * docs/gst/tmpl/old/gstfdsrc.sgml:
10858         * docs/gst/tmpl/old/gstfilesink.sgml:
10859         * docs/gst/tmpl/old/gstfilesrc.sgml:
10860         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10861         * docs/gst/tmpl/old/gstidentity.sgml:
10862         * docs/gst/tmpl/old/gstindexfactory.sgml:
10863         * docs/gst/tmpl/old/gstmarshal.sgml:
10864         * docs/gst/tmpl/old/gstmd5sink.sgml:
10865         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10866         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10867         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10868         * docs/gst/tmpl/old/gstpipefilter.sgml:
10869         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10870         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10871         * docs/gst/tmpl/old/gstshaper.sgml:
10872         * docs/gst/tmpl/old/gstspider.sgml:
10873         * docs/gst/tmpl/old/gstspideridentity.sgml:
10874         * docs/gst/tmpl/old/gststatistics.sgml:
10875         * docs/gst/tmpl/old/gsttee.sgml:
10876         * docs/gst/tmpl/old/gsttimecache.sgml:
10877         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10878         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10879         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10880         * docs/gst/tmpl/old/types.sgml:
10881           I didn't intend to add these or check them in.
10882
10883 2005-05-19  David Schleef  <ds@schleef.org>
10884
10885         * configure.ac: Use -no-common everywhere.  In a sane world, it
10886           would be the default in libtool, because without it, you can't
10887           build DLLs on Windows.
10888         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10889         * docs/gst/gstreamer-sections.txt:
10890         * docs/gst/tmpl/gstcpu.sgml:
10891         * docs/gst/tmpl/gstdata.sgml:
10892         * docs/gst/tmpl/gstthread.sgml:
10893
10894 2005-05-19  David Schleef  <ds@schleef.org>
10895
10896         * gst/gstminiobject.c: (gst_value_set_mini_object),
10897         (gst_value_take_mini_object), (gst_value_get_mini_object):
10898         * gst/gstminiobject.h: Add GValue set/get functions.
10899
10900 2005-05-19  Wim Taymans  <wim@fluendo.com>
10901
10902         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10903         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10904         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10905         * gst/gstbuffer.h:
10906         * gst/gstbus.c: (gst_bus_post):
10907         * gst/gstelement.c: (gst_element_get_random_pad):
10908         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10909         Make subbufer unref the parent in finalize.
10910         some more debugging info.
10911
10912
10913 2005-05-19  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10916         (gst_basesink_init), (gst_basesink_finalize),
10917         (gst_basesink_activate), (gst_basesink_change_state):
10918         Don't free preroll queue too early.
10919
10920 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10921
10922         * gst/Makefile.am:
10923         * gst/ROADMAP:
10924           Hi, I'm outdated. Please shoot me.
10925
10926 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10927
10928         * gst/gstpipeline.c: (gst_pipeline_send_event):
10929           Do not access variables after they have been deleted.
10930
10931 2005-05-19  Wim Taymans  <wim@fluendo.com>
10932
10933         * tools/gst-inspect.c: (print_plugin_features):
10934         A plugin feature does unfortunatly not use the
10935         object name yet...
10936
10937 2005-05-18  Wim Taymans  <wim@fluendo.com>
10938
10939         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10940         Port _span() functions to new subbuffers.
10941
10942 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10943
10944         * gst/gstbin.c: (gst_bin_add_func):
10945           Fix clock settery in bins when adding kids after the clock has
10946           been selected.
10947
10948 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10949
10950         * gst/elements/gstidentity.c: (gst_identity_class_init):
10951           Workaround until signals support GstMiniObject.
10952
10953 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10954
10955         * gst/gstbuffer.c:
10956         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10957
10958 2005-05-18  Wim Taymans  <wim@fluendo.com>
10959
10960         * gst/base/Makefile.am:
10961         * gst/base/gstadapter.c: (gst_adapter_base_init),
10962         (gst_adapter_class_init), (gst_adapter_init),
10963         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10964         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10965         (gst_adapter_flush), (gst_adapter_available),
10966         (gst_adapter_available_fast):
10967         * gst/base/gstadapter.h:
10968         Ported and added adapter to the base classes.
10969
10970 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10971
10972         * gst/gst.c:
10973         * gst/gstmessage.c:
10974           Make sure the class is reffed/unreffed once before threads can be
10975           used.  Fixes #304551.
10976
10977 2005-05-17  Wim Taymans  <wim@fluendo.com>
10978
10979         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10980         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10981         * gst/gstminiobject.c: (gst_mini_object_get_type),
10982         (gst_mini_object_free):
10983         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10984         (gst_pad_push), (gst_pad_push_event):
10985         * gst/gstqueue.c: (gst_queue_change_state):
10986         Don't queue buffers in basesink when we are flushing.
10987         Unref buffer when flushing in basesink.
10988         Flush queue when going to READY
10989         Unref buffer when _push() returns an error.
10990         Don't free MiniObject instance when refcount is incremented
10991         in _finalize() so that we can recover objects.
10992
10993 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10994
10995         * docs/manual/advanced-schedulers.xml:
10996         * docs/manual/appendix-checklist.xml:
10997         * docs/pwg/advanced-clock.xml:
10998         * docs/pwg/advanced-interfaces.xml:
10999         * docs/pwg/advanced-request.xml:
11000         * docs/pwg/advanced-types.xml:
11001         * docs/pwg/intro-preface.xml:
11002         * examples/plugins/example.c: (gst_example_get_type),
11003         (gst_example_class_init), (gst_example_chain),
11004         (gst_example_set_property), (gst_example_get_property),
11005         (gst_example_change_state), (plugin_init):
11006         * examples/plugins/example.h:
11007           small doc fixes
11008
11009 2005-05-17  Wim Taymans  <wim@fluendo.com>
11010
11011         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11012         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11013         * gst/gstqueue.c: (gst_queue_change_state):
11014         Clear queue when going to READY.
11015         Remove IN_SETCAPS flag too.
11016
11017 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11018
11019         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11020           Remove implicit cast from gboolean to GstElementStateReturn;
11021           make sure we still return failure in paused => ready case if
11022           the parent class fails to change state and our own stop 
11023           vfunc succeeds.
11024
11025 2005-05-17  Wim Taymans  <wim@fluendo.com>
11026
11027         * tools/gst-launch.c: (event_loop):
11028         Message was unreffed too soon.
11029
11030 2005-05-16  Andy Wingo  <wingo@pobox.com>
11031
11032         * gst/gstbin.c (sink_iterator_filter): Err... um...
11033
11034         * check/gst/gstbin.c (test_ghost_pads): New test for the
11035         ghosting-if-elements-not-in-same-bin behavior.
11036
11037 2005-05-16  David Schleef  <ds@schleef.org>
11038
11039         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11040         accessing refcount directly.
11041
11042 2005-05-15  David Schleef  <ds@schleef.org>
11043
11044         * check/Makefile.am: remove GstData checks
11045         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11046         * gst/Makefile.am: add miniobject, remove data
11047         * gst/gst.h: add miniobject, remove data
11048         * gst/gstdata.c: remove
11049         * gst/gstdata.h: remove
11050         * gst/gstdata_private.h: remove
11051         * gst/gsttypes.h: remove GstEvent and GstMessage
11052         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11053         * gst/gstmarshal.list: change BOXED -> OBJECT
11054
11055         Implement GstMiniObject.
11056         * gst/gstminiobject.c:
11057         * gst/gstminiobject.h:
11058
11059         Modify to be subclasses of GstMiniObject.
11060         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11061         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11062         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11063         (gst_subbuffer_get_type), (gst_subbuffer_init),
11064         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11065         (gst_buffer_span):
11066         * gst/gstbuffer.h:
11067         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11068         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11069         (_gst_event_copy), (gst_event_new):
11070         * gst/gstevent.h:
11071         * gst/gstmessage.c: (_gst_message_initialize),
11072         (gst_message_get_type), (gst_message_class_init),
11073         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11074         (gst_message_new), (gst_message_new_error),
11075         (gst_message_new_warning), (gst_message_new_tag),
11076         (gst_message_new_state_changed), (gst_message_new_application):
11077         * gst/gstmessage.h:
11078         * gst/gstprobe.c: (gst_probe_perform),
11079         (gst_probe_dispatcher_dispatch):
11080         * gst/gstprobe.h:
11081         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11082         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11083         (_gst_query_copy), (gst_query_new):
11084
11085         Update elements for GstData -> GstMiniObject changes
11086         * gst/gstquery.h:
11087         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11088         (gst_queue_chain), (gst_queue_loop):
11089         * gst/elements/gstbufferstore.c:
11090         (gst_buffer_store_add_buffer_func),
11091         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11092         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11093         (gst_fakesink_render):
11094         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11095         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11096         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11097         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11098         (gst_filesrc_create_read):
11099         * gst/elements/gstidentity.c: (gst_identity_class_init):
11100         * gst/elements/gsttypefindelement.c:
11101         (gst_type_find_element_src_event), (free_entry_buffers),
11102         (gst_type_find_element_handle_event):
11103         * libs/gst/dataprotocol/dataprotocol.c:
11104         (gst_dp_header_from_buffer):
11105         * libs/gst/dataprotocol/dataprotocol.h:
11106         * libs/gst/dataprotocol/dp-private.h:
11107
11108 2005-05-15  David Schleef  <ds@schleef.org>
11109
11110         * gst/elements/gstelements.c: Don't include headers that were
11111         just removed.
11112
11113 2005-05-15  David Schleef  <ds@schleef.org>
11114
11115         * gst/elements/Makefile.am: Remove some elements that don't
11116         need to be in the core (or even exist at all).
11117         * gst/elements/gstaggregator.c:
11118         * gst/elements/gstaggregator.h:
11119         * gst/elements/gstmd5sink.c:
11120         * gst/elements/gstmd5sink.h:
11121         * gst/elements/gstmultifilesrc.c:
11122         * gst/elements/gstmultifilesrc.h:
11123         * gst/elements/gstpipefilter.c:
11124         * gst/elements/gstpipefilter.h:
11125         * gst/elements/gstshaper.c:
11126         * gst/elements/gstshaper.h:
11127         * gst/elements/gststatistics.c:
11128         * gst/elements/gststatistics.h:
11129         * po/POTFILES.in: Remove above files.
11130
11131 2005-05-14  Andy Wingo  <wingo@pobox.com>
11132
11133         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11134         so as to get the refs right.
11135         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11136         unreffing objects that don't pass the filter.
11137
11138         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11139         gst_element_set_bus.
11140         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11141         normal cases, this will destroy the bus.
11142
11143         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11144         object.
11145
11146         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11147         has no sinks.
11148
11149 2005-05-13  Andy Wingo  <wingo@pobox.com>
11150
11151         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11152         gst_pad_link, call pad_link_maybe_ghosting,
11153         (pad_link_maybe_ghosting): Links pads, making sure that the
11154         elements being linked are in the same bin.
11155         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11156         Helpers for pad_link_maybe_ghosting.
11157
11158 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11159
11160         * configure.ac:
11161           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11162
11163 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11164
11165         * docs/design/part-element-source.txt:
11166           Mention GstPushSrc
11167
11168 2005-05-12  Wim Taymans  <wim@fluendo.com>
11169
11170         * gst/base/gstbasesink.c: (gst_basesink_init),
11171         (gst_basesink_activate):
11172         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11173         (gst_basesrc_is_seekable):
11174         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11175         (bin_element_is_sink), (gst_bin_change_state):
11176         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11177         * gst/gstelement.h:
11178         Identify sinks by their flag to avoid overly complicated
11179         checks (fow now).
11180         Do state changes even for elements not reachable from the
11181         sinks.
11182         BaseSink is a sink now :)
11183         Some more debugging info in the basesrc.
11184
11185
11186 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11187
11188         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11189           Implement _query on a bin, similar to _send_event.
11190
11191 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11192
11193         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11194           Discont event offset format should be GST_FORMAT_BYTES,
11195           not GST_FORMAT_TIME.
11196
11197 2005-05-12  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11200         Same fix as Ronald's but without the signal. 
11201
11202 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11203
11204         * gst/gstutils.c: (gst_element_query_position):
11205           No, an element is not a pad.
11206
11207 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11208
11209         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11210         (gst_bin_get_state):
11211           If a child is removed from a bin while we remove the child from
11212           the bin and while we're retrieving its state, signal this to the
11213           get_state function so we abort the wait (instead of waiting for
11214           a timeout) and can immediately re-iterate over all other elements.
11215
11216 2005-05-12  Wim Taymans  <wim@fluendo.com>
11217
11218         * gst/base/Makefile.am:
11219         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11220         (gst_basesrc_start):
11221         * gst/base/gstbasesrc.h:
11222         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11223         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11224         (gst_pushsrc_init), (gst_pushsrc_create):
11225         * gst/base/gstpushsrc.h:
11226         Added is_seekable to BaseSrc
11227         Added simple PushSrc.
11228
11229 2005-05-11  Wim Taymans  <wim@fluendo.com>
11230
11231         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11232         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11233         (gst_element_link_pads), (gst_element_query_position),
11234         (gst_element_query_convert), (intersect_caps_func),
11235         (gst_pad_query_position), (gst_pad_query_convert):
11236         Fix refcounting in utils function.
11237         No point in trying to activate a pad when it's added, it could
11238         be added from the state change function and then we deadlock, the
11239         element has to decide what to do.
11240
11241 2005-05-10  Andy Wingo  <wingo@pobox.com>
11242
11243         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11244         *all* the arguments.
11245
11246         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11247         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11248         lock (according to the docs -- if this is wrong change the docs).
11249
11250         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11251         flush messages in the NULL state.
11252
11253         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11254         message immediately and return.
11255         (gst_bus_set_flushing): New function. If a bus is flushing, it
11256         flushes out any queued messages and immediately unrefs new
11257         messages. This is so when an element goes to NULL, all of the
11258         unhandled messages coming from it can be freed, and their
11259         references to the element dropped. In other words: message source
11260         ref considered harmful :P
11261
11262         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11263         we're finished with it.
11264
11265         * gst/gstmessage.c (gst_message_new_state_changed): 
11266
11267 2005-05-10  Wim Taymans  <wim@fluendo.com>
11268
11269         * gst/gstvalue.c: (gst_value_compare_flags),
11270         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11271         (_gst_value_initialize):
11272         Added flags serialize/deserialize/compare code.
11273
11274 2005-05-09  Andy Wingo  <wingo@pobox.com>
11275
11276         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11277         Intersect the peer's caps with our caps.
11278
11279 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11280
11281         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11282         * gst/elements/gsttypefindelement.c: (find_peek):
11283           Handle negative offsets better. Fixes decodebin.
11284
11285 2005-05-09  Wim Taymans  <wim@fluendo.com>
11286
11287         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11288         (gst_base_transform_event):
11289         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11290         Implement accept_caps.
11291         Fix silly lock/unlock mismatch in base class.
11292
11293 2005-05-09  Wim Taymans  <wim@fluendo.com>
11294
11295         * docs/design/draft-push-pull.txt:
11296         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11297         * gst/elements/gstfilesink.c: (gst_filesink_init),
11298         (gst_filesink_query):
11299         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11300         (gst_type_find_handle_src_query), (find_element_get_length):
11301         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11302         * gst/gstelement.h:
11303         * gst/gstmessage.c:
11304         * gst/gstmessage.h:
11305         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11306         (gst_real_pad_get_caps_unlocked),
11307         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11308         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11309         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11310         (gst_real_pad_dispose), (gst_real_pad_finalize),
11311         (gst_pad_load_and_link), (gst_pad_save_thyself),
11312         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11313         (gst_pad_check_pull_range), (gst_pad_pull_range),
11314         (gst_pad_template_get_type), (gst_pad_template_class_init),
11315         (gst_pad_template_init), (gst_pad_template_dispose),
11316         (name_is_valid), (gst_static_pad_template_get),
11317         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11318         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11319         (gst_pad_get_element_private), (gst_pad_start_task),
11320         (gst_pad_pause_task), (gst_pad_stop_task),
11321         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11322         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11323         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11324         (gst_ghost_pad_new):
11325         * gst/gstpad.h:
11326         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11327         (gst_query_new_position), (gst_query_set_position),
11328         (gst_query_parse_position), (gst_query_new_convert),
11329         (gst_query_set_convert), (gst_query_parse_convert):
11330         * gst/gstquery.h:
11331         * gst/gstqueryutils.c:
11332         * gst/gstqueryutils.h:
11333         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11334         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11335         (gst_queue_handle_src_query):
11336         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11337         (gst_element_query_position), (gst_element_query_convert),
11338         (intersect_caps_func), (gst_pad_query_position),
11339         (gst_pad_query_convert):
11340         * gst/gstutils.h:
11341         * tools/gst-inspect.c: (print_pad_info):
11342         * tools/gst-xmlinspect.c: (print_element_info):
11343         Remove old query functions. Ported old code.
11344         Added position/convert helper functions to gstutils.
11345         Reordered gstpad.c code, grouping relevant things.
11346         Remove gst_message_new(), always need to speficy a specific
11347         message.
11348
11349
11350 2005-05-09  Andy Wingo  <wingo@pobox.com>
11351
11352         * gst/gstiterator.h: Add some includes.
11353
11354         * gst/gstqueryutils.h: Include more headers.
11355
11356         * gst/gstpad.h:
11357         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11358         some uses of gst_pad_query.
11359
11360         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11361         NULL out parameters.
11362         (gst_query_new_position): New proc, allocates a new position
11363         query.
11364
11365         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11366         gstqueryutils.c to the build.
11367
11368         * gst/gststructure.c (gst_structure_set_valist): Implement with
11369         the generic G_VALUE_COLLECT.
11370         
11371 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11372
11373         * gst/Makefile.am: (gst_headers):
11374         Added gstqueryutils.h to the list of headers to install, that was
11375         a 'nachty' move wingo :)
11376
11377 2005-05-06  Andy Wingo  <wingo@pobox.com>
11378
11379         * gst/gstquery.h
11380         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11381         GstData, init a memchunk.
11382         (standard_definitions): Add a few query types, deprecate a few.
11383         (gst_query_get_type): New proc.
11384         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11385         implementation.
11386         (gst_query_new_application, gst_query_get_structure): New public
11387         procs.
11388
11389         * docs/design/draft-query.txt: Removed LINKS from the query types,
11390         because all the rest can be dispatched to other pads -- seemed
11391         ugly to have a query that couldn't be dispatched. internal_links
11392         is fine as a pad method.
11393
11394         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11395         in gstpad.c, but maintain binary compatibility for the moment.
11396         Will fix before 0.9 is out.
11397
11398         * gst/gstqueryutils.c: 
11399         * gst/gstqueryutils.h: New files, implement 3 methods for each
11400         query type: parse_query, parse_response, and set. Probably need an
11401         allocator as well.
11402
11403         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11404
11405         * gst/elements/gstfilesink.c (gst_filesink_query2):
11406         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11407         query_types, and formats methods.
11408
11409         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11410         (gst_pad_set_query2_function): New functions.
11411         (gst_real_pad_init): Set query2_default as the default query2
11412         function. Basically just dispatches to internally linked pads.
11413
11414         Needs review!
11415         
11416         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11417         without using the atomic operations. Only one thread can possibly
11418         be accessing the data at this point. Changed so as to avoid
11419         gst_atomic operations.
11420
11421 2005-05-06  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11424         Also set caps if we use the fallback buffer alloc.
11425
11426 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11427
11428         * docs/gst/Makefile.am:
11429         * docs/gst/gstreamer-docs.sgml:
11430         * docs/gst/gstreamer-sections.txt:
11431         * docs/gst/tmpl/gstatomic.sgml:
11432         * docs/gst/tmpl/gstmemchunk.sgml:
11433         * testsuite/elements/struct_i386.h:
11434         * win32/GStreamer.vcproj:
11435         * win32/Makefile:
11436           Purge GstAtomic stuff from docs and win32 makefiles as well
11437
11438 2005-05-06  Wim Taymans  <wim@fluendo.com>
11439
11440         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11441         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11442         * gst/gstpad.c: (gst_pad_peer_get_caps):
11443         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11444         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11445         (gst_queue_src_activate), (gst_queue_change_state):
11446         * gst/gstqueue.h:
11447         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11448         (intersect_caps_func):
11449         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11450         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11451         Some fixes for the peer_get_caps() change.
11452
11453 2005-05-06  Wim Taymans  <wim@fluendo.com>
11454
11455         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11456         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11457         (gst_basesink_activate):
11458         Actually do something with error codes returned from the push
11459         functions.
11460
11461 2005-05-06  Wim Taymans  <wim@fluendo.com>
11462
11463         * docs/design/part-element-sink.txt:
11464         * docs/design/part-element-source.txt:
11465         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11466         (gst_basesink_event), (gst_basesink_activate):
11467         * gst/base/gstbasesink.h:
11468         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11469         (gst_basesrc_activate):
11470         * gst/base/gstbasesrc.h:
11471         * gst/gstelement.c: (gst_element_pads_activate):
11472         Some more documentation.
11473         Fixed scheduling decision in _pads_activate().
11474
11475 2005-05-05  Andy Wingo  <wingo@pobox.com>
11476
11477         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11478         the test suite.
11479
11480 2005-05-05  Wim Taymans  <wim@fluendo.com>
11481
11482         * gst/base/Makefile.am:
11483         * gst/base/gstbasesink.h:
11484         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11485         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11486         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11487         (gst_collectpads_class_init), (gst_collectpads_init),
11488         (gst_collectpads_finalize), (gst_collectpads_new),
11489         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11490         (find_pad), (gst_collectpads_remove_pad),
11491         (gst_collectpads_is_active), (gst_collectpads_collect),
11492         (gst_collectpads_collect_range), (gst_collectpads_start),
11493         (gst_collectpads_stop), (gst_collectpads_peek),
11494         (gst_collectpads_pop), (gst_collectpads_available),
11495         (gst_collectpads_read), (gst_collectpads_flush),
11496         (gst_collectpads_chain):
11497         * gst/base/gstcollectpads.h:
11498         * gst/elements/Makefile.am:
11499         * gst/elements/gstelements.c:
11500         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11501         (gst_fakesink_get_times), (gst_fakesink_event),
11502         (gst_fakesink_preroll), (gst_fakesink_render):
11503         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11504         (gst_filesink_init), (gst_filesink_set_location),
11505         (gst_filesink_open_file), (gst_filesink_close_file),
11506         (gst_filesink_pad_query), (gst_filesink_event),
11507         (gst_filesink_render), (gst_filesink_change_state):
11508         * gst/elements/gstfilesink.h:
11509         Added object to help in making collect pad based elements.
11510         Ported filesink.
11511         Make event function in sink baseclass return gboolean.
11512
11513 2005-05-05  Wim Taymans  <wim@fluendo.com>
11514
11515         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11516         (gst_bin_get_by_name):
11517         * gst/gstbuffer.h:
11518         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11519         (gst_clock_finalize):
11520         * gst/gstdata.c: (gst_data_replace):
11521         * gst/gstdata.h:
11522         * gst/gstelement.c: (gst_element_request_pad),
11523         (gst_element_pads_activate):
11524         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11525         (gst_object_unref):
11526         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11527         (gst_pad_set_checkgetrange_function),
11528         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11529         (gst_pad_check_pull_range), (gst_pad_pull_range),
11530         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11531         (gst_pad_pause_task), (gst_pad_stop_task):
11532         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11533         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11534         Fix name lookup in GstBin.
11535         Added _data_replace() function and _buffer_replace()
11536         Use finalize method to clean up clock.
11537         Fix refcounting on request pads.
11538         Fix pad schedule mode error.
11539         Some more object refcounting debug info,
11540
11541
11542 2005-05-04  Andy Wingo <wingo@pobox.com>
11543
11544         * check/Makefile.am:
11545         * docs/gst/tmpl/gstatomic.sgml:
11546         * docs/gst/tmpl/gstplugin.sgml:
11547         * gst/base/gstbasesink.c: (gst_basesink_activate):
11548         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11549         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11550         (gst_basesrc_query), (gst_basesrc_set_property),
11551         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11552         (gst_basesrc_activate):
11553         * gst/base/gstbasesrc.h:
11554         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11555         (gst_base_transform_src_activate):
11556         * gst/elements/gstelements.c:
11557         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11558         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11559         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11560         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11561         (gst_type_find_element_checkgetrange),
11562         (gst_type_find_element_activate):
11563         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11564         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11565         (gst_caps_load_thyself):
11566         * gst/gstelement.c: (gst_element_pads_activate),
11567         (gst_element_save_thyself), (gst_element_restore_thyself):
11568         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11569         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11570         * gst/gstpad.h:
11571         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11572         (gst_xml_parse_file), (gst_xml_parse_memory),
11573         (gst_xml_get_element), (gst_xml_make_element):
11574         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11575         (_file_index_id_save_xml), (gst_file_index_commit):
11576         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11577         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11578         (load_paths):
11579         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11580         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11581         * tools/gst-complete.c: (main):
11582         * tools/gst-compprep.c: (main):
11583         * tools/gst-inspect.c: (print_element_properties_info):
11584         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11585         * tools/gst-xmlinspect.c: (print_element_properties):
11586         GCC 4 fixen.
11587         
11588 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11589
11590         * gst/gstplugin.c: (gst_plugin_check_module),
11591         (gst_plugin_check_file), (gst_plugin_load_file):
11592             apply patch from #172526 to make register work on MacOSX
11593
11594 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11595
11596         * docs/gst/tmpl/gstconfig.sgml:
11597         * gst/gstconfig.h.in:
11598           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11599         * testsuite/debug/printf_extension.c: (main):
11600           Do not use GST_PTR_FORMAT on pointers to types with
11601           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11602         * testsuite/elements/property.h:
11603           use correct printf format
11604
11605 2005-05-02  Wim Taymans  <wim@fluendo.com>
11606
11607         * docs/design/draft-push-pull.txt:
11608         * docs/design/draft-query.txt:
11609         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11610         (gst_basesrc_start):
11611         Added draft for new query API.
11612         Added draft for better selecting scheduling methods.
11613         Make basesrc ignore length if the subclass does not support
11614         it.
11615
11616 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11617
11618         * gst/Makefile.am:
11619           possible fixes for automake-1.5 - _LIBADD is reserved
11620
11621 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11622
11623         * docs/faq/Makefile.am:
11624         * docs/manual/Makefile.am:
11625         * docs/manuals.mak:
11626         * docs/pwg/Makefile.am:
11627         * gst/Makefile.am:
11628           possible fixes for automake-1.5
11629
11630 2005-04-28  Wim Taymans  <wim@fluendo.com>
11631
11632         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11633         (gst_basesink_pad_getcaps), (gst_basesink_init),
11634         (gst_basesink_do_sync):
11635         * gst/gstclock.c: (gst_clock_entry_new):
11636         * gst/gstevent.c: (gst_event_discont_get_value):
11637         * gst/gstpipeline.c: (pipeline_bus_handler),
11638         (gst_pipeline_change_state):
11639         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11640         Better debugging of clocking info.
11641         Allow NULL values when getting discont values.
11642
11643 2005-04-27  Wim Taymans  <wim@fluendo.com>
11644
11645         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11646         * check/gst/gstpad.c: (gst_pad_suite):
11647         Increase timeout for checks.
11648
11649 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11650
11651         * check/Makefile.am:
11652           fix the broken rule for cleanup.  Apparently this rule is
11653           only needed on FC2, so maybe this warrants further autotool
11654           inspection.
11655
11656 2005-04-26  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/gsttrashstack.h:
11659         Ooohh. a nasty one! After having a failed pop() from the stack,
11660         it's possible that the stack is empty. In that case, don't
11661         follow the NULL pointer.
11662
11663 2005-04-25  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11666         (gst_pad_set_checkgetrange_function),
11667         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11668         (gst_pad_check_pull_range), (gst_pad_pull_range),
11669         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11670         (gst_pad_pause_task), (gst_pad_stop_task):
11671         * gst/gstplugin.c: (gst_plugin_load):
11672         * gst/gstplugin.h:
11673         Remove gst_library_load as it does more harm than good with
11674         the new g_module flags.
11675         Revert bogus caps template check in pad linking, pad caps
11676         are important when linking not the template, which is more
11677         general than the current caps.
11678
11679 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11680
11681         * gst/autoplug/.cvsignore:
11682         * gst/autoplug/Makefile.am:
11683         * gst/autoplug/gstsearchfuncs.c:
11684         * gst/autoplug/gstsearchfuncs.h:
11685         * gst/autoplug/gstspider.c:
11686         * gst/autoplug/gstspider.h:
11687         * gst/autoplug/gstspideridentity.c:
11688         * gst/autoplug/gstspideridentity.h:
11689         * gst/autoplug/spidertest.c:
11690           Die, spider, die.
11691
11692 2005-04-25  Wim Taymans  <wim@fluendo.com>
11693
11694         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11695         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11696         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11697         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11698         * gst/gstpad.h:
11699         Added stubs for unimplemented functions. 
11700
11701 2005-04-24  David Schleef  <ds@schleef.org>
11702
11703         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11704         please fix.
11705
11706 2005-04-24  David Schleef  <ds@schleef.org>
11707
11708         Convert everything from GstAtomicInt to g_atomic_int_*, and
11709         remove gstatomic.
11710         * gst/Makefile.am:
11711         * gst/gstatomic.c:
11712         * gst/gstatomic.h:
11713         * gst/gstatomic_impl.h:
11714         * gst/gstbuffer.c:
11715         * gst/gstcaps.c:
11716         * gst/gstcaps.h:
11717         * gst/gstclock.c:
11718         * gst/gstclock.h:
11719         * gst/gstdata.c:
11720         * gst/gstdata.h:
11721         * gst/gstdata_private.h:
11722         * gst/gstevent.c:
11723         * gst/gstinfo.c:
11724         * gst/gstinfo.h:
11725         * gst/gstmessage.c:
11726         * gst/gstobject.c:
11727         * gst/gstobject.h:
11728         * gst/gststructure.c:
11729         * gst/gststructure.h:
11730         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11731         * gst/gstutils.h:
11732
11733 2005-04-24  David Schleef  <ds@schleef.org>
11734
11735         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11736         make the regressions tests work.  Remove some code that is no
11737         longer true.
11738         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11739         Disable warning for pads without templates.
11740
11741 2005-04-24  David Schleef  <ds@schleef.org>
11742
11743         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11744         functions that handle filtered links.
11745         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11746         removed functions.
11747         * gst/gstutils.c: Fix/remove utility functions that handle
11748         filtered caps.
11749         * gst/gstutils.h:
11750         * gst/gstvalue.c: Add serialization/deserialization of caps
11751         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11752         requires fixing so that the filter caps notation creates
11753         a capsfilter element and sets the filter_caps property.  I
11754         think everyone probably wants to keep the shorthand notation.
11755         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11756         * docs/gst/tmpl/gstpad.sgml:
11757
11758         * gst/elements/gstelements.c: Register capsfilter element.
11759         * gst/Makefile.am: fix spacing
11760         * docs/random/ds/0.9-suggested-changes: random
11761
11762 2005-04-23  David Schleef  <ds@schleef.org>
11763
11764         * gst/elements/Makefile.am:
11765         * gst/elements/gstcapsfilter.c: New element that acts like an
11766         identity, but filters caps.  Will eventually replace filtered
11767         caps in pad linking.
11768         * gst/gstutils.c: (gst_element_create_all_pads): New function
11769         to create all the ALWAYS pads that are registered with an
11770         element class.  This functionality should eventually be
11771         merged in with GstElement initialization.
11772         * gst/gstutils.h:
11773         * testsuite/trigger/README: part of trigger test code that should
11774         have been checked in a long time ago.
11775
11776 2005-04-23  David Schleef  <ds@schleef.org>
11777
11778         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11779         needed with new versions of libtool (nobody will confirm this),
11780         and hard to carry around.
11781         * gst/autoplug/Makefile.am:
11782         * gst/base/Makefile.am:
11783         * gst/elements/Makefile.am:
11784         * gst/indexers/Makefile.am:
11785         * gst/schedulers/Makefile.am:
11786         * libs/gst/bytestream/Makefile.am:
11787         * libs/gst/control/Makefile.am:
11788         * libs/gst/dataprotocol/Makefile.am:
11789         * libs/gst/getbits/Makefile.am:
11790
11791 2005-04-21  Wim Taymans  <wim@fluendo.com>
11792
11793         * docs/design/draft-push-pull.txt:
11794         * docs/design/part-MT-refcounting.txt:
11795         * docs/design/part-TODO.txt:
11796         * docs/design/part-caps.txt:
11797         * docs/design/part-events.txt:
11798         * docs/design/part-gstbus.txt:
11799         * docs/design/part-gstpipeline.txt:
11800         * docs/design/part-messages.txt:
11801         * docs/design/part-push-pull.txt:
11802         * docs/design/part-query.txt:
11803         Some more docs.
11804
11805 2005-04-21  Wim Taymans  <wim@fluendo.com>
11806
11807         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11808         (gst_message_new), (gst_message_new_error),
11809         (gst_message_new_warning), (gst_message_new_tag),
11810         (gst_message_new_state_changed), (gst_message_new_application),
11811         (gst_message_get_structure):
11812         * gst/gstmessage.h:
11813         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11814         (gst_structure_copy_conditional):
11815         Use parent refcount in GstMessage to ensure GstStructure
11816         consistency.
11817         Cleaned up headers a bit.
11818         
11819
11820 2005-04-20  Wim Taymans  <wim@fluendo.com>
11821
11822         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11823         (gst_basesink_pad_getcaps), (gst_basesink_init),
11824         (gst_basesink_chain_unlocked):
11825         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11826         (gst_type_find_helper):
11827         * gst/elements/gsttypefindelement.c:
11828         (gst_type_find_element_have_type), (gst_type_find_element_init),
11829         (stop_typefinding), (gst_type_find_element_handle_event),
11830         (find_suggest), (gst_type_find_element_chain),
11831         (gst_type_find_element_checkgetrange),
11832         (gst_type_find_element_getrange), (do_typefind),
11833         (gst_type_find_element_activate):
11834         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11835         (gst_buffer_default_free), (gst_buffer_default_copy),
11836         (gst_buffer_set_caps):
11837         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11838         (gst_caps_replace):
11839         * gst/gstmessage.c: (gst_message_new),
11840         (gst_message_new_state_changed):
11841         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11842         (gst_pad_set_checkgetrange_function),
11843         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11844         (gst_pad_set_caps), (gst_pad_check_pull_range),
11845         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11846         * gst/gstpad.h:
11847         * gst/gsttypefind.c: (gst_type_find_register):
11848         Make gst_caps_replace() work like other _replace() functions.
11849         Use _caps_replace() where possible.
11850         Make sure _message_new() initialises its field.
11851         Add gst_static_pad_template_get_caps()
11852
11853
11854 2005-04-18  Andy Wingo  <wingo@pobox.com>
11855
11856         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11857         on the peer, not the pad. I think that was a typo. Pass an extra
11858         arg to see if random access is possible. Activate the pads as
11859         PULL_RANGE if possible.
11860
11861         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11862
11863         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11864         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11865         to PROP_....
11866
11867 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11868
11869         * docs/faq/using.xml:
11870           Add note on gstreamer-properties (#154996).
11871
11872 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11873
11874         * docs/random/bbb/optional-properties:
11875           Some analysis on optional properties.
11876
11877 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11878
11879         * docs/gst/tmpl/gstelementfactory.sgml:
11880         * gst/gstelement.h:
11881         * gst/gstelementfactory.c: (gst_element_factory_init),
11882         (gst_element_factory_cleanup), (gst_element_register),
11883         (__gst_element_factory_add_static_pad_template),
11884         (gst_element_factory_get_static_pad_templates),
11885         (gst_element_factory_can_src_caps),
11886         (gst_element_factory_can_sink_caps):
11887         * gst/registries/Makefile.am:
11888         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11889         (gst_xml_registry_class_init), (gst_xml_registry_init),
11890         (gst_xml_registry_new), (gst_xml_registry_set_property),
11891         (gst_xml_registry_get_property), (get_time), (make_dir),
11892         (gst_xml_registry_get_perms_func),
11893         (plugin_times_older_than_recurse), (plugin_times_older_than),
11894         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11895         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11896         (add_to_char_array), (read_string), (read_uint), (read_enum),
11897         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11898         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11899         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11900         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11901         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11902         (gst_xml_registry_rebuild):
11903         * gst/registries/gstlibxmlregistry.h:
11904         * tools/gst-compprep.c: (main):
11905         * tools/gst-inspect.c: (print_pad_templates_info):
11906         * tools/gst-xmlinspect.c: (print_element_info):
11907           Use libxml2 for registry parsing, use staticpadtemplates in
11908           elementfactories. Makes gst_init() +/- 10x faster.
11909
11910 2005-04-12  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/base/Makefile.am:
11913         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11914         (gst_basesink_pad_getcaps), (gst_basesink_init),
11915         (gst_basesink_event), (gst_basesink_change_state):
11916         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11917         (gst_basesrc_init), (gst_basesrc_query),
11918         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11919         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11920         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11921         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11922         (gst_basesrc_stop), (gst_basesrc_activate),
11923         (gst_basesrc_change_state):
11924         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11925         (helper_find_suggest), (gst_type_find_helper):
11926         * gst/base/gsttypefindhelper.h:
11927         * gst/elements/Makefile.am:
11928         * gst/elements/gstelements.c:
11929         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11930         (gst_fakesink_get_times), (gst_fakesink_event),
11931         (gst_fakesink_preroll), (gst_fakesink_render):
11932         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11933         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11934         (gst_fakesrc_get_property), (gst_fakesrc_create),
11935         (gst_fakesrc_start), (gst_fakesrc_stop):
11936         * gst/elements/gstfakesrc.h:
11937         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11938         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11939         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11940         (gst_filesrc_create_read), (gst_filesrc_create),
11941         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11942         (gst_filesrc_start):
11943         * gst/elements/gsttypefindelement.c:
11944         (gst_type_find_element_have_type), (gst_type_find_element_init),
11945         (start_typefinding), (stop_typefinding), (push_buffer_store),
11946         (gst_type_find_element_handle_event),
11947         (gst_type_find_element_chain),
11948         (gst_type_find_element_checkgetrange),
11949         (gst_type_find_element_getrange), (do_typefind),
11950         (gst_type_find_element_activate),
11951         (gst_type_find_element_change_state):
11952         * gst/elements/gsttypefindelement.h:
11953         * gst/gstpipeline.c: (pipeline_bus_handler):
11954         Added typefind helper.
11955         Small preroll fix in the base sink.
11956         Disable typefind code in basesrc.
11957         Crude port of typefindelement.
11958         Fakesrc cleanups.
11959
11960
11961 2005-04-11  Wim Taymans  <wim@fluendo.com>
11962
11963         * check/gst/gstbus.c: (gstbus_suite):
11964         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11965         * check/gstcheck.h:
11966           Fix up the timeout so that the test does not fail.
11967
11968 2005-04-06  Wim Taymans  <wim@fluendo.com>
11969
11970         * gst/base/README:
11971         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11972         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11973         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11974         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11975         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11976         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11977         (gst_basesrc_stop), (gst_basesrc_activate),
11978         (gst_basesrc_change_state), (basesrc_find_peek),
11979         (basesrc_find_suggest), (gst_basesrc_type_find):
11980         * gst/base/gstbasesrc.h:
11981         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11982         (gst_filesrc_class_init), (gst_filesrc_init),
11983         (gst_filesrc_finalize), (gst_filesrc_set_location),
11984         (gst_filesrc_set_property), (gst_filesrc_get_property),
11985         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11986         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11987         (gst_filesrc_create_read), (gst_filesrc_create),
11988         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11989         * gst/elements/gstfilesrc.h:
11990         * gst/gstelement.c: (gst_element_get_state_func),
11991         (gst_element_lost_state), (gst_element_pads_activate):
11992         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11993         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11994         (gst_pad_pull_range):
11995         * gst/gstpad.h:
11996         More work on the generic source base class, implement seeking,
11997         query.
11998         Make filesrc extend the base source class.
11999         Added gst_pad_set_checkgetrange_function to GstPad.
12000
12001 2005-04-06  Andy Wingo  <wingo@pobox.com>
12002
12003         * pkgconfig/gstreamer-base.pc.in:
12004         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12005
12006         * pkgconfig/Makefile.am:
12007         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12008
12009 2005-04-04  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/base/Makefile.am:
12012         * gst/base/README:
12013         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12014         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12015         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12016         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12017         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12018         (gst_basesrc_base_init), (gst_basesrc_class_init),
12019         (gst_basesrc_init), (gst_basesrc_get_formats),
12020         (gst_basesrc_get_query_types), (gst_basesrc_query),
12021         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12022         (gst_basesrc_set_property), (gst_basesrc_get_property),
12023         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12024         (gst_basesrc_loop), (gst_basesrc_activate),
12025         (gst_basesrc_change_state):
12026         * gst/base/gstbasesrc.h:
12027         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12028         (gst_fakesrc_class_init), (gst_fakesrc_init),
12029         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12030         (gst_fakesrc_get_property), (gst_fakesrc_create):
12031         * gst/elements/gstfakesrc.h:
12032         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12033         (gst_filesrc_open_file), (gst_filesrc_loop),
12034         (gst_filesrc_activate), (filesrc_find_peek),
12035         (gst_filesrc_type_find):
12036         Made base source class, make fakesrc extend it.
12037         Add comments to basesink class.
12038         Some filesrc cleanup.
12039
12040 2005-03-31  David Schleef  <ds@schleef.org>
12041
12042         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12043         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12044         expected to link against libgstreamer.
12045         * gst/base/Makefile.am: link against libgstreamer
12046         * gst/elements/Makefile.am: same
12047
12048 2005-03-31  Andy Wingo  <wingo@pobox.com>
12049
12050         * tests/instantiate/Makefile.am:
12051         * tests/instantiate/caps.c: Add test to test speed of caps copy
12052         and free.
12053
12054         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12055         GMemChunk to be fair.
12056
12057         * gst/gsttrashstack.h: Remove warning about using the fallback
12058         trash stack implementation, it's still faster than malloc.
12059
12060 2005-03-30  Andy Wingo  <wingo@pobox.com>
12061
12062         * tests/complexity.c: Add a copyright.
12063
12064 2005-03-31  Wim Taymans  <wim@fluendo.com>
12065
12066         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12067         (gst_base_transform_class_init), (gst_base_transform_init),
12068         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12069         (gst_base_transform_get_property),
12070         (gst_base_transform_sink_activate),
12071         (gst_base_transform_src_activate),
12072         (gst_base_transform_change_state):
12073         * gst/base/gstbasetransform.h:
12074         * gst/elements/gstidentity.c: (gst_identity_class_init),
12075         (gst_identity_event), (gst_identity_check_perfect),
12076         (gst_identity_transform), (gst_identity_start),
12077         (gst_identity_stop):
12078         Added start/stop methods to transform base class so subclasses 
12079         don't need to deal with state changes even.
12080
12081 2005-03-31  Wim Taymans  <wim@fluendo.com>
12082
12083         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12084         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12085         * gst/gstevent.h:
12086         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12087         (gst_pad_pull_range):
12088         Added rate to the discont event to prepare for variable speed
12089         and reverse playback.
12090
12091 2005-03-29  David Schleef  <ds@schleef.org>
12092
12093         * configure.ac:
12094         * testsuite/trigger/Makefile.am:
12095         * testsuite/trigger/trigger.c: A little example program to show
12096         how trigger-based elements can work.
12097
12098 2005-03-29  Wim Taymans  <wim@fluendo.com>
12099
12100         * gst/base/Makefile.am:
12101         * gst/base/README:
12102         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12103         (gst_basesink_base_init), (gst_basesink_class_init),
12104         (gst_basesink_pad_getcaps), (gst_basesink_init),
12105         (gst_basesink_activate), (gst_basesink_change_state):
12106         * gst/base/gstbasesink.h:
12107         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12108         (gst_base_transform_base_init), (gst_base_transform_finalize),
12109         (gst_base_transform_class_init), (gst_base_transform_init),
12110         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12111         (gst_base_transform_event), (gst_base_transform_getrange),
12112         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12113         (gst_base_transform_set_property),
12114         (gst_base_transform_get_property),
12115         (gst_base_transform_sink_activate),
12116         (gst_base_transform_src_activate),
12117         (gst_base_transform_change_state):
12118         * gst/base/gstbasetransform.h:
12119         * gst/elements/gstidentity.c: (gst_identity_finalize),
12120         (gst_identity_class_init), (gst_identity_init),
12121         (gst_identity_event), (gst_identity_check_perfect),
12122         (gst_identity_transform), (gst_identity_set_property),
12123         (gst_identity_get_property), (gst_identity_change_state):
12124         * gst/elements/gstidentity.h:
12125         * gst/gstelement.c: (gst_element_get_state_func),
12126         (gst_element_lost_state), (gst_element_pads_activate):
12127         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12128         (gst_pad_check_pull_range), (gst_pad_pull_range):
12129         * gst/gstpad.h:
12130         Simplify pad activation.
12131         Added function to check if pull_range can be performed.
12132         Error out when pulling inactive or flushing pads.
12133         Removed const from refcounted types as it does not make sense.
12134         Simplify pad templates in basesink
12135         Added base class for simple 1-to-1 transforms.
12136         Make identity subclass the base transform.
12137
12138 2005-03-29  Andy Wingo  <wingo@pobox.com>
12139
12140         * docs/libs/gstreamer-libs-overrides.txt: 
12141         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12142         really don't understand what's going on, but like whatever. I want
12143         green buildbot!
12144
12145         * docs/gst/Makefile.am:
12146         * docs/libs/Makefile.am: Dist the overrides files.
12147
12148         * check/Makefile.am (clean-local): Remove .libs directories.
12149
12150         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12151         elements to EXTRA_DIST, so po/ files are happy.
12152
12153         * po/POTFILES.in: Er, remove it here.
12154
12155         * po/POTFILES: Remove gstspider.c.
12156
12157         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12158
12159         * docs/libs/gstreamer-libs-docs.sgml: 
12160         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12161         bytestream.
12162
12163         * tests/complexity.c (main): Set the length of the preroll queue
12164         on the sinks to prevent a lockup.
12165
12166         * libs/gst/dataprotocol/Makefile.am: 
12167         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12168         the same as the one in check/gst-libs/gdp.c.
12169
12170         * po/, docs/gst/: Commit automatic changes to docs and po files.
12171
12172         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12173         the versioned libgstbase.
12174
12175         * check/Makefile.am: Depend on an unversioned gst-register, seems
12176         to make autoconf happier.
12177
12178         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12179
12180 2005-03-28  Wim Taymans  <wim@fluendo.com>
12181
12182         * configure.ac:
12183         * docs/design/part-gstelement.txt:
12184         * docs/design/part-negotiation.txt:
12185         * docs/design/part-preroll.txt:
12186         * docs/design/part-scheduling.txt:
12187         * docs/design/part-states.txt:
12188         * gst/Makefile.am:
12189         * gst/base/Makefile.am:
12190         * gst/base/README:
12191         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12192         (gst_basesink_base_init), (gst_basesink_class_init),
12193         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12194         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12195         (gst_basesink_set_pad_functions),
12196         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12197         (gst_basesink_set_property), (gst_basesink_get_property),
12198         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12199         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12200         (gst_basesink_preroll_queue_push),
12201         (gst_basesink_preroll_queue_empty),
12202         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12203         (gst_basesink_event), (gst_basesink_get_times),
12204         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12205         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12206         (gst_basesink_loop), (gst_basesink_activate),
12207         (gst_basesink_change_state):
12208         * gst/base/gstbasesink.h:
12209         * gst/elements/Makefile.am:
12210         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12211         (gst_fakesink_class_init), (gst_fakesink_init),
12212         (gst_fakesink_set_property), (gst_fakesink_get_property),
12213         (gst_fakesink_get_times), (gst_fakesink_event),
12214         (gst_fakesink_preroll), (gst_fakesink_render),
12215         (gst_fakesink_change_state):
12216         * gst/elements/gstfakesink.h:
12217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12218         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12219         * gst/gstelement.c: (gst_element_add_pad),
12220         (gst_element_get_state_func), (gst_element_abort_state),
12221         (gst_element_commit_state), (gst_element_lost_state),
12222         (gst_element_set_state), (gst_element_pads_activate):
12223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12224         * gst/gstpipeline.c: (gst_pipeline_send_event),
12225         (gst_pipeline_change_state):
12226         Added state change code.
12227         Added/updated docs.
12228         Added sink base class, make fakesink extend the base class.
12229         Small cleanups in GstPipeline.
12230
12231 2005-03-26  David Schleef  <ds@schleef.org>
12232
12233         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12234         is broken and should be implemented in a different library.
12235         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12236         * gst/gst.h: remove gstcpu.h
12237         * gst/gstcpu.c: remove
12238         * gst/gstcpu.h: remove
12239         * gst/Makefile.am.future: Remove this file.  It's ancient.
12240
12241 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12242
12243         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12244         (gst_bin_send_event):
12245           Add default event/set_manager handlers. The set_manager handler
12246           takes care that the manager is distributed over kids that were
12247           already in the bin before the manager was set. The event handler
12248           is a utility virtual function that sends the event over all sinks,
12249           so that gst_element_send_event (bin, event); has the expected
12250           behaviour.
12251         * gst/gstpad.c: (gst_pad_event_default):
12252           Re-install default event handling for discontinuities, so that
12253           seeking works without requiring hacks in applications or extra
12254           code in sinks.
12255         * gst/gstpipeline.c: (gst_pipeline_class_init),
12256         (gst_pipeline_send_event):
12257           Half hack, half utility: set a pipeline to PAUSED for seek events,
12258           since that is the only way we can guarantee a/v sync. Means that
12259           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12260           and it "just works".
12261
12262 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12263
12264         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12265           Lock/unlock mismatch.
12266
12267 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * docs/faq/gst-uninstalled:
12270           add gst-plugins-base
12271         * docs/gst/Makefile.am:
12272           don't error out until docs are fixed
12273         * docs/gst/gstreamer.types:
12274           remove thread
12275
12276 2005-03-22  Wim Taymans  <wim@fluendo.com>
12277
12278         * check/Makefile.am:
12279         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12280         * gst/gststructure.c: (gst_structure_set_valist),
12281         (gst_structure_copy_conditional):
12282         Activated more tests.
12283         Added message test.
12284         Added G_TYPE_POINTER to GstStructure.
12285         
12286
12287 2005-03-22  Wim Taymans  <wim@fluendo.com>
12288
12289         * docs/design/part-TODO.txt:
12290         * docs/design/part-events.txt:
12291         * docs/design/part-gstbin.txt:
12292         * docs/design/part-gstbus.txt:
12293         * docs/design/part-gstpipeline.txt:
12294         * docs/design/part-messages.txt:
12295         * gst/gstbus.c:
12296         * gst/gstmessage.c:
12297         Docs updates
12298
12299 2005-03-21  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/gstbus.c: (gst_bus_post):
12302         Fix copy-and-paste error.
12303
12304 2005-03-21  Wim Taymans  <wim@fluendo.com>
12305
12306         * check/Makefile.am:
12307         * gst/Makefile.am:
12308         * gst/elements/Makefile.am:
12309         * gst/elements/gstelements.c:
12310         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12311         (gst_fakesink_event), (gst_fakesink_chain):
12312         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12313         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12314         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12315         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12316         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12317         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12318         (gst_fakesrc_loop), (gst_fakesrc_activate),
12319         (gst_fakesrc_change_state):
12320         * gst/elements/gstfakesrc.h:
12321         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12322         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12323         (gst_filesrc_open_file), (gst_filesrc_loop),
12324         (gst_filesrc_activate), (gst_filesrc_change_state),
12325         (filesrc_find_peek), (filesrc_find_suggest),
12326         (gst_filesrc_type_find):
12327         * gst/elements/gstidentity.c: (gst_identity_finalize),
12328         (gst_identity_class_init), (gst_identity_init),
12329         (gst_identity_proxy_getcaps), (identity_queue_push),
12330         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12331         (gst_identity_getrange), (gst_identity_chain),
12332         (gst_identity_sink_loop), (gst_identity_src_loop),
12333         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12334         (gst_identity_set_property), (gst_identity_get_property),
12335         (gst_identity_change_state):
12336         * gst/elements/gstidentity.h:
12337         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12338         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12339         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12340         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12341         (gst_tee_sink_activate):
12342         * gst/elements/gsttee.h:
12343         * gst/gst.c: (gst_register_core_elements), (init_post):
12344         * gst/gst.h:
12345         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12346         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12347         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12348         (gst_bin_change_state):
12349         * gst/gstbin.h:
12350         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12351         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12352         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12353         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12354         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12355         (bus_watch_callback), (bus_watch_destroy),
12356         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12357         (poll_timeout), (gst_bus_poll):
12358         * gst/gstbus.h:
12359         * gst/gstcaps.h:
12360         * gst/gstdata.h:
12361         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12362         (gst_element_post_message), (gst_element_message_full),
12363         (gst_element_get_state_func), (gst_element_get_state),
12364         (gst_element_abort_state), (gst_element_commit_state),
12365         (gst_element_lost_state), (gst_element_set_state),
12366         (gst_element_pads_activate), (gst_element_change_state),
12367         (gst_element_dispose), (gst_element_set_manager_func),
12368         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12369         (gst_element_set_manager), (gst_element_get_manager),
12370         (gst_element_set_bus), (gst_element_get_bus),
12371         (gst_element_set_scheduler), (gst_element_get_scheduler):
12372         * gst/gstelement.h:
12373         * gst/gstevent.c: (gst_event_new_segment_seek),
12374         (gst_event_new_flush):
12375         * gst/gstevent.h:
12376         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12377         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12378         (gst_message_new_eos), (gst_message_new_error),
12379         (gst_message_new_warning), (gst_message_new_tag),
12380         (gst_message_new_state_changed), (gst_message_new_application),
12381         (gst_message_get_structure), (gst_message_parse_tag),
12382         (gst_message_parse_state_changed), (gst_message_parse_error),
12383         (gst_message_parse_warning):
12384         * gst/gstmessage.h:
12385         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12386         (gst_real_pad_set_property), (gst_pad_set_active),
12387         (gst_pad_is_active), (gst_pad_set_blocked_async),
12388         (gst_pad_set_blocked), (gst_pad_is_blocked),
12389         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12390         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12391         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12392         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12393         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12394         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12395         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12396         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12397         (gst_pad_set_caps), (gst_pad_configure_sink),
12398         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12399         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12400         (gst_real_pad_dispose), (gst_real_pad_finalize),
12401         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12402         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12403         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12404         * gst/gstpad.h:
12405         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12406         (pipeline_bus_handler), (gst_pipeline_change_state),
12407         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12408         * gst/gstpipeline.h:
12409         * gst/gstprobe.h:
12410         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12411         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12412         (gst_queue_link_src), (gst_queue_bufferalloc),
12413         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12414         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12415         (gst_queue_loop), (gst_queue_handle_src_event),
12416         (gst_queue_handle_src_query), (gst_queue_src_activate),
12417         (gst_queue_change_state):
12418         * gst/gstqueue.h:
12419         * gst/gstscheduler.c: (gst_scheduler_init),
12420         (gst_scheduler_dispose), (gst_scheduler_create_task),
12421         (gst_scheduler_factory_create):
12422         * gst/gstscheduler.h:
12423         * gst/gststructure.c: (gst_structure_get_type),
12424         (gst_structure_copy_conditional):
12425         * gst/gststructure.h:
12426         * gst/gsttaginterface.h:
12427         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12428         (gst_task_init), (gst_task_dispose), (gst_task_create),
12429         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12430         (gst_task_pause):
12431         * gst/gsttask.h:
12432         * gst/gstthread.c:
12433         * gst/gstthread.h:
12434         * gst/gsttypes.h:
12435         * gst/schedulers/Makefile.am:
12436         * gst/schedulers/cothreads_compat.h:
12437         * gst/schedulers/entryscheduler.c:
12438         * gst/schedulers/faircothreads.c:
12439         * gst/schedulers/faircothreads.h:
12440         * gst/schedulers/fairscheduler.c:
12441         * gst/schedulers/gstbasicscheduler.c:
12442         * gst/schedulers/gstoptimalscheduler.c:
12443         * gst/schedulers/gthread-cothreads.h:
12444         * gst/schedulers/threadscheduler.c:
12445         (gst_thread_scheduler_task_get_type),
12446         (gst_thread_scheduler_task_class_init),
12447         (gst_thread_scheduler_task_init),
12448         (gst_thread_scheduler_task_start),
12449         (gst_thread_scheduler_task_stop),
12450         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12451         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12452         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12453         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12454         (plugin_init):
12455         * libs/gst/Makefile.am:
12456         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12457         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12458         (gst_file_pad_parent_set):
12459         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12460         (gst_dp_event_from_packet):
12461         * tests/complexity.c: (main):
12462         * tests/mass_elements.c: (main):
12463         * testsuite/states/locked.c: (message_received), (main):
12464         * testsuite/states/parent.c: (main):
12465         * tools/gst-inspect.c: (print_element_flag_info),
12466         (print_implementation_info), (print_pad_info):
12467         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12468         (main):
12469         * tools/gst-md5sum.c: (event_loop), (main):
12470         * tools/gst-typefind.c: (main):
12471         * tools/gst-xmlinspect.c: (print_element_info):
12472         Next big merge.
12473         Added GstBus for mainloop integration.
12474         Added GstMessage for sending notifications on the bus.
12475         Added GstTask as an abstraction for pipeline entry points.
12476         Removed GstThread.
12477         Removed Schedulers.
12478         Simplified GstQueue for multithreaded core.
12479         Made _link threadsafe, removed old capsnego.
12480         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12481         Added pad blocking functions.
12482         Reworked scheduling functions in GstPad to prepare for
12483         scheduling updates soon.
12484         Moved events out of data stream.
12485         Simplified GstEvent types.
12486         Added return values to push/pull.
12487         Removed clocking from GstElement.
12488         Added prototypes for state change function for next merge.
12489         Removed iterate from bins and state change management.
12490         Fixed some elements, disabled others for now.
12491         Fixed -inspect and -launch.
12492         Added check for GstBus.
12493
12494 2005-03-10  Wim Taymans  <wim@fluendo.com>
12495
12496         * docs/design/part-MT-refcounting.txt:
12497         * docs/design/part-clocks.txt:
12498         * docs/design/part-gstelement.txt:
12499         * docs/design/part-gstobject.txt:
12500         * docs/design/part-standards.txt:
12501         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12502         (gst_bin_remove_func), (gst_bin_remove):
12503         * gst/gstbin.h:
12504         * gst/gstbuffer.c:
12505         * gst/gstcaps.h:
12506         * testsuite/clock/clock1.c: (main):
12507         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12508         (main):
12509         * testsuite/dlopen/loadgst.c: (do_test):
12510         * testsuite/refcounting/bin.c: (add_remove_test1),
12511         (add_remove_test2), (main):
12512         * testsuite/refcounting/element.c: (main):
12513         * testsuite/refcounting/element_pad.c: (main):
12514         * testsuite/refcounting/pad.c: (main):
12515         * tools/gst-launch.c: (sigint_handler_sighandler):
12516         * tools/gst-typefind.c: (main):
12517         Doc updates.
12518         Added doc about clock.
12519         removed gst_bin_iterate_recurse_up(), marked methods
12520         for removal.
12521         Fix more testsuites.
12522
12523 2005-03-09  Wim Taymans  <wim@fluendo.com>
12524
12525         * gst/gstpad.c: (gst_pad_get_direction),
12526         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12527         (gst_pad_collect_valist):
12528         * testsuite/bins/interface.c: (main):
12529         * testsuite/caps/audioscale.c: (test_caps):
12530         * testsuite/caps/caps.c: (test1), (test2), (test3):
12531         * testsuite/caps/deserialize.c: (main):
12532         * testsuite/caps/enumcaps.c: (main):
12533         * testsuite/caps/filtercaps.c: (main):
12534         * testsuite/caps/intersect2.c: (main):
12535         * testsuite/caps/random.c: (main):
12536         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12537         * testsuite/caps/sets.c: (check_caps):
12538         * testsuite/caps/simplify.c: (check_caps), (main):
12539         * testsuite/caps/subtract.c: (check_caps):
12540         Fix _pad_get_direction wrt ghostpads.
12541         Fix caps testsuite.
12542
12543 2005-03-09  Wim Taymans  <wim@fluendo.com>
12544
12545         * check/Makefile.am:
12546         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12547         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12548         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12549         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12550         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12551         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12552         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12553         (bin_element_is_sink), (gst_bin_iterate_sinks),
12554         (gst_bin_iterate_all_by_interface):
12555         * gst/gstbin.h:
12556         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12557         (gst_element_change_state), (gst_element_dispose),
12558         (gst_element_finalize), (gst_element_set_loop_function):
12559         * gst/gstelement.h:
12560         * gst/gstiterator.c: (find_custom_fold_func):
12561         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12562         (gst_pad_collectv), (gst_pad_collect_valist),
12563         (gst_pad_template_new):
12564         * gst/gstpipeline.c: (gst_pipeline_class_init),
12565         (gst_pipeline_dispose), (gst_pipeline_set_property),
12566         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12567         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12568         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12569         * gst/gstutils.h:
12570         * gst/schedulers/entryscheduler.c:
12571         * gst/schedulers/gstbasicscheduler.c:
12572         (gst_basic_scheduler_cothreaded_chain),
12573         (gst_basic_scheduler_chain_add_element):
12574         * testsuite/bins/interface.c: (main):
12575         Added GstBin test.
12576         Added GstSystemClock test.
12577         Implemented clock distribution code in GstBin.
12578         Implemented iterate sinks method for future use.
12579         Rearranged gstelement.h
12580         Fix GstIterator comparison bug.
12581         Moved some code to GstPipeline, mostly clocking related.
12582
12583 2005-03-09  Wim Taymans  <wim@fluendo.com>
12584
12585         * configure.ac:
12586         * gst/gst_private.h:
12587         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12588         (gst_bin_remove_func), (gst_bin_remove),
12589         (gst_bin_get_by_name_recurse_up):
12590         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12591         (gst_clock_id_compare_func), (gst_clock_id_wait),
12592         (gst_clock_id_wait_async), (gst_clock_init),
12593         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12594         * gst/gstelement.h:
12595         * gst/gstinfo.c: (_gst_debug_init):
12596         * gst/gstobject.h:
12597         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12598         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12599         * gst/gstpad.h:
12600         Bump version number, we're now 0.9.0
12601         Add future debugging category.
12602         Fix NULL _unref() in _get_by_name_recurse_up
12603         Rearrange gstpad.h.
12604         Update some docs.
12605
12606 2005-03-08  Wim Taymans  <wim@fluendo.com>
12607
12608         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12609         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12610         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12611         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12612         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12613         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12614         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12615         * gst/elements/gstidentity.c: (gst_identity_class_init):
12616         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12617         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12618         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12619         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12620         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12621         (gst_tee_link):
12622         * gst/gstelement.c: (gst_element_class_init),
12623         (gst_element_base_class_init), (gst_element_init),
12624         (gst_element_get_random_pad), (gst_element_wait_state_change),
12625         (gst_element_change_state), (gst_element_dispose),
12626         (gst_element_finalize), (gst_element_set_loop_function):
12627         * gst/gstelement.h:
12628         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12629         * gst/gstthread.c: (gst_thread_class_init),
12630         (gst_thread_release_children_locks), (gst_thread_change_state):
12631         * gst/schedulers/gstbasicscheduler.c:
12632         (gst_basic_scheduler_loopfunc_wrapper),
12633         (gst_basic_scheduler_chain_wrapper),
12634         (gst_basic_scheduler_src_wrapper),
12635         (gst_basic_scheduler_remove_element):
12636         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12637         Remove threadsafe properties. Fix elements because GObject
12638         complains when installing a property before declaring a
12639         set/get_property handler.
12640         Rearrange gstelement.h file, use STATE macros for state locks.
12641         Free mutexes in the finalize method instead of dispose.
12642
12643 2005-03-08  Wim Taymans  <wim@fluendo.com>
12644
12645         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12646         * gst/gstthread.c: (gst_thread_release_children_locks):
12647         Added parentage check.
12648         Fix build og GstThread again.
12649
12650 2005-03-08  Wim Taymans  <wim@fluendo.com>
12651
12652         * docs/design/part-MT-refcounting.txt:
12653         * docs/design/part-conventions.txt:
12654         * docs/design/part-gstobject.txt:
12655         * docs/design/part-relations.txt:
12656         * docs/design/part-standards.txt:
12657         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12658         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12659         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12660         (gst_bin_iterate_all_by_interface):
12661         * gst/gstbuffer.h:
12662         * gst/gstclock.h:
12663         * gst/gstelement.c: (gst_element_class_init),
12664         (gst_element_change_state), (gst_element_set_loop_function):
12665         * gst/gstelement.h:
12666         * gst/gstiterator.c:
12667         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12668         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12669         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12670         (gst_object_set_parent), (gst_object_unparent),
12671         (gst_object_check_uniqueness):
12672         * gst/gstobject.h:
12673         Docs updates, clean up some headers.
12674
12675 2005-03-07  Wim Taymans  <wim@fluendo.com>
12676
12677         * check/.cvsignore:
12678         * check/Makefile.am:
12679         * check/gst-libs/.cvsignore:
12680         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12681         * check/gst/.cvsignore:
12682         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12683         (START_TEST), (gstbus_suite), (main):
12684         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12685         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12686         (gst_data_suite), (main):
12687         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12688         (add_fold_func), (gstiterator_suite), (main):
12689         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12690         (thread_name_object), (thread_name_object_default),
12691         (gst_object_name_compare), (gst_object_suite), (main):
12692         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12693         (gst_pad_suite), (main):
12694         * check/gstcheck.c: (gst_check_log_message_func),
12695         (gst_check_log_critical_func), (gst_check_init):
12696         * check/gstcheck.h:
12697         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12698         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12699         Added checks.
12700
12701 2005-03-07  Wim Taymans  <wim@fluendo.com>
12702
12703         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12704         (gst_list_iterator_next), (gst_list_iterator_resync),
12705         (gst_list_iterator_free), (gst_iterator_new_list),
12706         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12707         (gst_iterator_free), (gst_iterator_push), (filter_next),
12708         (filter_resync), (filter_uninit), (filter_free),
12709         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12710         (gst_iterator_foreach), (find_custom_fold_func),
12711         (gst_iterator_find_custom):
12712         * gst/gstiterator.h:
12713         Added missing files.
12714
12715 2005-03-07  Wim Taymans  <wim@fluendo.com>
12716
12717         * Makefile.am:
12718         * configure.ac:
12719         * docs/design/part-MT-refcounting.txt:
12720         * docs/design/part-conventions.txt:
12721         * docs/design/part-gstobject.txt:
12722         * docs/design/part-relations.txt:
12723         * examples/mixer/mixer.c: (main):
12724         * examples/thread/thread.c: (eos), (main):
12725         * gst/Makefile.am:
12726         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12727         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12728         (gst_spider_plug_from_srcpad):
12729         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12730         (gst_spider_identity_change_state),
12731         (gst_spider_identity_sink_loop_type_finding):
12732         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12733         * gst/elements/gstidentity.c: (gst_identity_init):
12734         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12735         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12736         * gst/elements/gsttypefindelement.c: (free_entry):
12737         * gst/gst.c:
12738         * gst/gst.h:
12739         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12740         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12741         (gst_bin_set_index), (gst_bin_set_element_sched),
12742         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12743         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12744         (gst_bin_iterate_elements), (iterate_child_recurse),
12745         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12746         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12747         (compare_interface), (gst_bin_get_by_interface),
12748         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12749         * gst/gstbin.h:
12750         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12751         (gst_buffer_default_free), (gst_buffer_default_copy),
12752         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12753         (gst_buffer_create_sub):
12754         * gst/gstbuffer.h:
12755         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12756         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12757         (gst_caps_unref), (gst_static_caps_get),
12758         (gst_caps_remove_and_get_structure), (gst_caps_append),
12759         (gst_caps_append_structure), (gst_caps_remove_structure),
12760         (gst_caps_copy_nth), (gst_caps_set_simple),
12761         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12762         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12763         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12764         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12765         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12766         (gst_caps_structure_figure_out_union),
12767         (gst_caps_switch_structures), (gst_caps_do_simplify),
12768         (gst_caps_replace), (gst_caps_from_string),
12769         (gst_caps_copy_conditional):
12770         * gst/gstcaps.h:
12771         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12772         (_gst_clock_id_free), (gst_clock_id_unref),
12773         (gst_clock_id_compare_func), (gst_clock_id_wait),
12774         (gst_clock_id_wait_async), (gst_clock_class_init),
12775         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12776         (gst_clock_get_time), (gst_clock_set_time_adjust),
12777         (gst_clock_set_property), (gst_clock_get_property):
12778         * gst/gstclock.h:
12779         * gst/gstcompat.h:
12780         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12781         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12782         * gst/gstdata.h:
12783         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12784         (gst_element_requires_clock), (gst_element_provides_clock),
12785         (gst_element_set_clock), (gst_element_clock_wait),
12786         (gst_element_wait), (gst_element_set_time_delay),
12787         (gst_element_is_indexable), (gst_element_add_pad),
12788         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12789         (pad_compare_name), (gst_element_get_static_pad),
12790         (gst_element_request_pad), (gst_element_get_request_pad),
12791         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12792         (gst_element_class_get_pad_template_list),
12793         (gst_element_class_get_pad_template), (gst_element_error_func),
12794         (gst_element_get_random_pad), (gst_element_get_event_masks),
12795         (gst_element_send_event), (gst_element_seek),
12796         (gst_element_get_query_types), (gst_element_query),
12797         (gst_element_get_formats), (gst_element_convert),
12798         (gst_element_is_locked_state), (gst_element_set_locked_state),
12799         (gst_element_sync_state_with_parent), (gst_element_change_state),
12800         (gst_element_finalize), (gst_element_yield),
12801         (gst_element_interrupt), (gst_element_set_scheduler),
12802         (gst_element_get_scheduler), (gst_element_set_loop_function):
12803         * gst/gstelement.h:
12804         * gst/gstevent.h:
12805         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12806         (gst_format_get_by_nick), (gst_format_get_details),
12807         (gst_format_iterate_definitions):
12808         * gst/gstformat.h:
12809         * gst/gstindex.c: (gst_index_gtype_resolver):
12810         * gst/gstinfo.c:
12811         * gst/gstinfo.h:
12812         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12813         (gst_mem_chunk_free):
12814         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12815         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12816         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12817         (gst_object_dispatch_properties_changed),
12818         (gst_object_set_name_default), (gst_object_set_name),
12819         (gst_object_get_name), (gst_object_set_name_prefix),
12820         (gst_object_get_name_prefix), (gst_object_set_parent),
12821         (gst_object_get_parent), (gst_object_unparent),
12822         (gst_object_check_uniqueness), (gst_object_save_thyself),
12823         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12824         (gst_object_set_property), (gst_object_get_property),
12825         (gst_object_get_path_string):
12826         * gst/gstobject.h:
12827         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12828         (gst_real_pad_init), (gst_real_pad_get_property),
12829         (gst_pad_custom_new), (gst_pad_get_direction),
12830         (gst_pad_set_active), (gst_pad_is_active),
12831         (gst_pad_set_event_function), (gst_pad_is_linked),
12832         (gst_pad_link_free), (gst_pad_link_intersect),
12833         (gst_pad_link_fixate), (gst_pad_set_caps),
12834         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12835         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12836         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12837         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12838         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12839         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12840         (gst_pad_realize), (gst_pad_get_allowed_caps),
12841         (gst_real_pad_dispose), (gst_real_pad_finalize),
12842         (gst_pad_collectv), (gst_pad_collect_valist),
12843         (gst_pad_template_dispose), (gst_pad_template_new),
12844         (gst_pad_get_internal_links):
12845         * gst/gstpad.h:
12846         * gst/gstpipeline.c: (gst_pipeline_dispose),
12847         (gst_pipeline_change_state):
12848         * gst/gstpipeline.h:
12849         * gst/gstplugin.c:
12850         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12851         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12852         * gst/gstpluginfeature.h:
12853         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12854         * gst/gstquery.c: (_gst_query_type_initialize),
12855         (gst_query_type_register), (gst_query_type_get_by_nick),
12856         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12857         * gst/gstquery.h:
12858         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12859         * gst/gstscheduler.c: (gst_scheduler_add_element),
12860         (gst_scheduler_factory_create):
12861         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12862         (gst_structure_free), (gst_structure_set_name),
12863         (gst_structure_id_set_value), (gst_structure_set_value),
12864         (gst_structure_set_valist), (gst_structure_remove_field),
12865         (gst_structure_remove_fields),
12866         (gst_structure_remove_fields_valist),
12867         (gst_structure_remove_all_fields), (gst_structure_foreach),
12868         (gst_structure_map_in_place),
12869         (gst_caps_structure_fixate_field_nearest_int),
12870         (gst_caps_structure_fixate_field_nearest_double):
12871         * gst/gststructure.h:
12872         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12873         (gst_system_clock_init), (gst_system_clock_dispose),
12874         (gst_system_clock_async_thread),
12875         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12876         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12877         * gst/gstsystemclock.h:
12878         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12879         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12880         * gst/gsttaginterface.c:
12881         * gst/gstthread.c: (gst_thread_dispose),
12882         (gst_thread_release_children_locks), (gst_thread_change_state),
12883         (gst_thread_main_loop):
12884         * gst/gsttrashstack.h:
12885         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12886         * gst/gsttypes.h:
12887         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12888         (gst_element_request_pad), (gst_element_get_pad_from_template),
12889         (gst_element_request_compatible_pad),
12890         (gst_element_get_compatible_pad_filtered),
12891         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12892         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12893         (gst_element_link_many), (gst_element_link),
12894         (gst_element_link_pads), (gst_element_unlink_pads),
12895         (gst_element_unlink_many), (gst_element_unlink),
12896         (gst_pad_can_link_filtered), (gst_pad_can_link),
12897         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12898         (gst_object_default_error), (gst_bin_add_many),
12899         (gst_bin_remove_many), (gst_element_populate_std_props),
12900         (gst_element_class_install_std_props), (gst_buffer_merge),
12901         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12902         (link_fold_func), (gst_pad_proxy_setcaps):
12903         * gst/gstutils.h:
12904         * gst/gstvalue.c: (gst_value_deserialize_string):
12905         * gst/parse/grammar.y:
12906         * gst/schedulers/gstbasicscheduler.c:
12907         (gst_basic_scheduler_cothreaded_chain),
12908         (gst_basic_scheduler_chain_recursive_add),
12909         (gst_basic_scheduler_pad_link):
12910         * gst/schedulers/gstoptimalscheduler.c:
12911         (get_group_schedule_function),
12912         (gst_opt_scheduler_state_transition),
12913         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12914         * libs/gst/bytestream/bytestream.c:
12915         * libs/gst/dataprotocol/dataprotocol.c:
12916         (gst_dp_header_from_buffer):
12917         * po/nb.po:
12918         * po/ru.po:
12919         * tests/threadstate/threadstate2.c: (eos):
12920         * tools/gst-compprep.c: (main):
12921         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12922         (print_pad_info), (print_children_info):
12923         * tools/gst-launch.c: (idle_func), (main):
12924         * tools/gst-md5sum.c: (idle_func), (main):
12925         * tools/gst-xmlinspect.c: (print_element_info):
12926         First THREADED backport attempt, focusing on adding locks and
12927         making sure the API is threadsafe. Needs more work. More docs
12928         follow this week.
12929
12930 2005-02-24  Andy Wingo  <wingo@pobox.com>
12931
12932         * tests/bench-complexity.scm:
12933         * tests/complexity.gnuplot: New files, good for running complexity
12934         benchmarks.
12935
12936         * tests/Makefile.am:
12937         * tests/complexity.c: New test, sets up N elements, at each level
12938         teeing into M streams per element. Eeeenteresting.
12939
12940         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12941         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12942         running bench-mass_elements.scm.
12943
12944         * tests/bench-mass_elements.scm: New script, runs mass_elements
12945         for various numbers of identities, outputting the results to a
12946         file. Requires guile 1.6. Just for testing.
12947
12948 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12949
12950         * gst/schedulers/fairscheduler.c:
12951           compile with debug disabled
12952
12953 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12954
12955         * configure.ac:
12956           hunting season on 0.9 is now OPEN